ConvectiveAdjustment¶
digraph inheritance2d60ccc464 { bgcolor=transparent; rankdir=LR; ratio=expand; size=""; "ConvectiveAdjustment" [URL="#climlab.convection.convadj.ConvectiveAdjustment",dirType=back,fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=14,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Hard Convective Adjustment to a prescribed lapse rate."]; "TimeDependentProcess" -> "ConvectiveAdjustment" [arrowsize=0.5,dirType=back,style="setlinewidth(0.5)"]; "Process" [URL="climlab.process.process.html#climlab.process.process.Process",dirType=back,fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=14,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A generic parent class for all climlab process objects."]; "TimeDependentProcess" [URL="climlab.process.time_dependent_process.html#climlab.process.time_dependent_process.TimeDependentProcess",dirType=back,fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=14,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A generic parent class for all time-dependent processes."]; "Process" -> "TimeDependentProcess" [arrowsize=0.5,dirType=back,style="setlinewidth(0.5)"]; }- class climlab.convection.convadj.ConvectiveAdjustment(adj_lapse_rate=None, **kwargs)[source]¶
Bases:
TimeDependentProcess
Hard Convective Adjustment to a prescribed lapse rate.
This process computes the instantaneous adjustment to conservatively remove any instabilities in each column.
Instability is defined as a temperature decrease with height that exceeds the prescribed critical lapse rate. This critical rate is set by input argument
adj_lapse_rate
, which can be either a numerical or string value.Numerical values for
adj_lapse_rate
are given in units of K / km. Both array and scalar values are valid. For scalar values, the assumption is that the critical lapse rate is the same at every level.If an array is given, it is assumed to represent the in-situ critical lapse rate (in K/km) at every grid point.
Alternatively, string arguments can be given as follows:
'DALR'
or'dry adiabat'
: critical lapse rate is set to g/cp = 9.8 K / km'MALR'
or'moist adiabat'
or'pseudoadiabat'
: critical lapse rate follows the in-situ moist pseudoadiabat at every level
Adjustment includes the surface if
'Ts'
is included in thestate
dictionary. This implicitly accounts for turbulent surface fluxes. Otherwise only the atmospheric temperature is adjusted.If
adj_lapse_rate
is an array, its size must match the number of vertical levels of the adjustment. This is number of pressure levels if the surface is not adjusted, or number of pressure levels + 1 if the surface is adjusted.This process implements the conservative adjustment algorithm described in Akmaev (1991) Monthly Weather Review.
- Attributes:
- Tcol
- adj_lapse_rate
- ccol
depth
Depth at grid centers (m)
depth_bounds
Depth at grid interfaces (m)
diagnostics
Dictionary access to all diagnostic variables
input
Dictionary access to all input variables
lat
Latitude of grid centers (degrees North)
lat_bounds
Latitude of grid interfaces (degrees North)
lev
Pressure levels at grid centers (hPa or mb)
lev_bounds
Pressure levels at grid interfaces (hPa or mb)
lon
Longitude of grid centers (degrees)
lon_bounds
Longitude of grid interfaces (degrees)
- pcol
timestep
The amount of time over which
step_forward()
is integrating in unit seconds.
Methods
add_diagnostic
(name[, value])Create a new diagnostic variable called
name
for this process and initialize it with the givenvalue
.add_input
(name[, value])Create a new input variable called
name
for this process and initialize it with the givenvalue
.add_subprocess
(name, proc)Adds a single subprocess to this process.
add_subprocesses
(procdict)Adds a dictionary of subproceses to this process.
compute
()Computes the tendencies for all state variables given current state and specified input.
compute_diagnostics
([num_iter])Compute all tendencies and diagnostics, but don't update model state.
declare_diagnostics
(diaglist)Add the variable names in
inputlist
to the list of diagnostics.declare_input
(inputlist)Add the variable names in
inputlist
to the list of necessary inputs.integrate_converge
([crit, verbose])Integrates the model until model states are converging.
integrate_days
([days, verbose])Integrates the model forward for a specified number of days.
integrate_years
([years, verbose])Integrates the model by a given number of years.
remove_diagnostic
(name)Removes a diagnostic from the
process.diagnostic
dictionary and also delete the associated process attribute.remove_subprocess
(name[, verbose])Removes a single subprocess from this process.
set_state
(name, value)Sets the variable
name
to a new statevalue
.set_timestep
([timestep, num_steps_per_year])Calculates the timestep in unit seconds and calls the setter function of
timestep()
step_forward
()Updates state variables with computed tendencies.
to_xarray
([diagnostics])Convert process variables to
xarray.Dataset
format.- property Tcol¶
- property adj_lapse_rate¶
- property ccol¶
- property pcol¶