column

Inheritance diagram of climlab.model.column

Object-oriented code for radiative-convective models with grey-gas radiation.

Code developed by Brian Rose, University at Albany brose@albany.edu

Note that the column models by default represent global, time averages. Thus the insolation is a prescribed constant.

Here is an example to implement seasonal insolation at 45 degrees North

Example:
import climlab

#  create the column model object
col = climlab.GreyRadiationModel()

#  create a new latitude axis with a single point
lat = climlab.domain.Axis(axis_type='lat', points=45.)

#  add this new axis to the surface domain
col.Ts.domain.axes['lat'] = lat

#  create a new insolation process using this domain
Q = climlab.radiation.insolation.DailyInsolation(domains=col.Ts.domain, **col.param)

#  replace the fixed insolation subprocess in the column model
col.add_subprocess('insolation', Q)

This model is now a single column with seasonally varying insolation calculated for 45N.

class climlab.model.column.BandRCModel(**kwargs)[source]

Bases: climlab.model.column.RadiativeConvectiveModel

Attributes:
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)

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 given value.
add_input(name[, value]) Create a new input variable called name for this process and initialize it with the given value.
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.
do_diagnostics() Set all the diagnostics from long and shortwave radiation.
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 state value.
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.
class climlab.model.column.GreyRadiationModel(num_lev=30, num_lat=1, lev=None, lat=None, water_depth=1.0, albedo_sfc=0.299, timestep=86400.0, Q=341.3, abs_coeff=0.0001229, **kwargs)[source]

Bases: climlab.process.time_dependent_process.TimeDependentProcess

Attributes:
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)

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 given value.
add_input(name[, value]) Create a new input variable called name for this process and initialize it with the given value.
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.
do_diagnostics() Set all the diagnostics from long and shortwave radiation.
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 state value.
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.
do_diagnostics()[source]

Set all the diagnostics from long and shortwave radiation.

class climlab.model.column.RadiativeConvectiveModel(adj_lapse_rate=6.5, **kwargs)[source]

Bases: climlab.model.column.GreyRadiationModel

Attributes:
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)

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 given value.
add_input(name[, value]) Create a new input variable called name for this process and initialize it with the given value.
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.
do_diagnostics() Set all the diagnostics from long and shortwave radiation.
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 state value.
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.
climlab.model.column.compute_layer_absorptivity(abs_coeff, dp)[source]

Compute layer absorptivity from a constant absorption coefficient.