crt1d.model

This module contains the model class Model, which can be used to conveniently solve CRT problems using different solvers with minimal boilerplate code needed. (At least that is the goal.)

This module also contains functions that operate on the model state, most of which are also attached as class methods. Functions that operate on xr.Dataset s created by Model.to_xr() are in diagnostics.

Classes

Model

A general class for testing 1-D canopy radiative transfer schemes.

Functions

run_sensitivity(m0, p_sets)

For model m, run multiple cases.

Module Contents

class crt1d.model.Model(scheme='2s', nlayers=60, **p_kwargs)

A general class for testing 1-D canopy radiative transfer schemes.

Create a model instance based on the default setup.

Parameters:
  • scheme (str) – Identifier for the desired canopy radiative transfer scheme.

  • psi (float) – Solar zenith angle (radians).

  • nlayers (int) – Number of in-canopy layers to use in the solver (interface levels).

  • **p_kwargs – Model parameter keyword arguments passed on to update_p().

assign_scheme(scheme_name, *, verbose=False)

Using the AVAILABLE_SCHEMES dict, assign scheme and necessary scheme attrs.

calc_absorption()

Calculate layerwise absorption variables.

copy_p()

Return a copy of the parameters dict.

plot_canopy()

Plot LAI and LAD profiles.

plot_leafsoil_spectra()

Plot the leaf and soil optical properties spectra used by the model.

plot_toc_spectra()

Plot the toc (top-of-canopy) irradiance spectra used for the upper boundary condition.

print_p()

Pretty print the parameters.

run(**extra_solver_kwargs)

TODO: could add verbose option

to_xr(*, info='')

Construct and return an xarray.Dataset.

Parameters:

info (str) – Extra information about the run/model to be stored in the dataset.

update_p(**kwargs)

Update parameters, if the validation passes.

Parameters:

**kwargs – Used to update the model parameters.

update_spectra(ds)

Update irradiance and leaf/soil optical property spectra from xarray.Dataset ds.

absorption = None

Absorption outputs calculated from the standard outputs out.

property cd

Canopy description.

out

Scheme standard outputs.

property out_all

Standard and extra outputs.

out_extra

Scheme extra outputs, such as absorption. Only some schemes provide any.

property p

Model parameters are indended to be read only (updated with update_p()). Invoking this just prints a message.

p_default

Default parameter settings dict.

required_input_keys

Required model inputs.

crt1d.model.run_sensitivity(m0, p_sets)

For model m, run multiple cases. Vary one or more attributes and create combined dataset.

m0model object

base case to branch off of

p_setsdict

keys: param to change; values: list of values for the param

Returns:

xarray.Dataset – With a new dimension for each key in p_sets