crt1d.leaf_area
#
Distribute leaf area amongst model layers.
Based on a quantitative description of the leaf area profile, and desired number of model layers, allocate equal increments of dlai to layers, and assign heights (z; m) to give the desired leaf area profile.
LAI is cumulative and defined at the model interface levels.
Module Contents#
Functions#
|
Create LAI profile using beta distribution for leaf area density. |
|
Beta distribution based on Bonan SP 2.1. |
|
Create LAI profile based on input descriptors of the leaf area distribution. |
|
Create LAI profile using Gamma distribution for leaf area density. |
|
Leaf area profile with equal LAI increments from the Weibull distribution |
|
Leaf area profile from Weibull distribution for given z grid. |
- crt1d.leaf_area.distribute_lai_beta(h_c, LAI, n, *, h_min=0.5)#
Create LAI profile using beta distribution for leaf area density. This uses a set fractional height of maximum LAD and corresponding beta distribution shape.
- Parameters:
- Returns:
NamedTuple
–- lainumpy.ndarray
cumulative LAI profile; accumulates from top, so decreasing with z
- ladnumpy.ndarray
leaf area density profile
- znumpy.ndarray
height above ground (increasing)
- crt1d.leaf_area.distribute_lai_beta_bonan(h_c, LAI, n, *, h_min=0.5, p=3.5, q=2.0)#
Beta distribution based on Bonan SP 2.1.
- Parameters:
- Returns:
NamedTuple
–- lainumpy.ndarray
cumulative LAI profile; accumulates from top, so decreasing with z
- ladnumpy.ndarray
leaf area density profile
- znumpy.ndarray
height above ground (increasing)
- crt1d.leaf_area.distribute_lai_from_cdd(cdd, n)#
Create LAI profile based on input descriptors of the leaf area distribution.
- crt1d.leaf_area.distribute_lai_gamma(h_c, LAI, n)#
Create LAI profile using Gamma distribution for leaf area density.
- Parameters:
- Returns:
NamedTuple
–- lainumpy.ndarray
cumulative LAI profile; accumulates from top, so decreasing with z
- ladnumpy.ndarray
leaf area density profile
- znumpy.ndarray
height above ground (increasing)
- crt1d.leaf_area.distribute_lai_weibull(h_c, LAI, n, *, h_min=0.5, b=None, c=None, species=None)#
Leaf area profile with equal LAI increments from the Weibull distribution using
distribute_lai_weibull_z()
and interpolation (as such, lad(z) and lai(z) might not be completely consistent).- Parameters:
h_c (
float
) – canopy heightn (
int
) – number of layers (LAI/interface levels)LAI (
float
) – total LAIh_min (
float
, optional) – Canopy minimum height above ground. The default is 0.5.b (
float
, optional) – Weibull shape parameter 1. The default is None.c (
TYPE
, optional) – Weibull shape parameter 2. The default is None.species (
str
, optional) – One of ‘spruce’, ‘spruce’, or ‘birch’. Used to look up typical shape parameter values. The default is None.
- Returns:
NamedTuple
–- lainumpy.ndarray
cumulative LAI profile; accumulates from top, so decreasing with z
- ladnumpy.ndarray
leaf area density profile
- znumpy.ndarray
height above ground (increasing)
- crt1d.leaf_area.distribute_lai_weibull_z(z, LAI, h, hb=0.0, *, b=None, c=None, species=None)#
Leaf area profile from Weibull distribution for given z grid.
Samuli’s notes:
Generates leaf-area density profile from Weibull-distribution Args: z: height array (m), monotonic and constant steps LAI: leaf-area index (m2m-2) h: canopy height (m), scalar hb: crown base height (m), scalar b: Weibull shape parameter 1, scalar c: Weibull shape parameter 2, scalar species: 'pine', 'spruce', 'birch' to use table values Returns: LAD: leaf-area density (m2m-3), array SOURCE: Teske, M.E., and H.W. Thistle, 2004, A library of forest canopy structure for use in interception modeling. Forest Ecology and Management, 198, 341-350. Note: their formula is missing brackets for the scale param. Here their profiles are used between hb and h AUTHOR: Gabriel Katul, 2009. Coverted to Python 16.4.2014 / Samuli Launiainen