Skip to content

The ability to use different state values in different modules #115

@HaynesStephens

Description

@HaynesStephens
  • CliMT version: 0.16.3
  • Python version: 3.6.5
  • Operating System: OSx

Description

Per Joy's request: I am trying to run a one-dimensional model that holds fixed the radiative properties of atmospheric water vapor. I've hacked a way to do it by creating two separate Adams-Bashforth tendency steppers, one for the radiative modules and one for the rest. In the radiative stepper, I prescribe a constant humidity profile at every step, whereas for the other stepper I allow the humidity to evolve. But if there were some wrapper or another method of being able to do this that were as easy as "humidity.rad=constant", that would help expand the innate capabilities of CliMT.

What I Did

time_stepper_phys = AdamsBashforth([slab, moist_convection])
time_stepper_rad = AdamsBashforth([radiation_lw, radiation_sw])

# Day length to match Shanshan
run_days = 10950
run_length = int((run_days * 24 * 60) / dt_minutes)

for i in range(run_length):
    rad_state_fixed_q = copy.deepcopy(state)
    phys_unfixed_q = rad_state_fixed_q['specific_humidity'].values[:].copy()
    rad_state_fixed_q['specific_humidity'].values[:] = control_q.copy()
    diagnostics, state = time_stepper_rad(rad_state_fixed_q, timestep)
    state['specific_humidity'].values[:] = phys_unfixed_q.copy()

    state.update(diagnostics)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions