=2, e_symp=3, psi=[1, 2, 3]) compute_turgor_from_psi(pi_ft
array([0., 0., 0.])
rs_comp (pi_ft:float, e_symp:float, p_min:float)
Compute Rs from pmin (resolution from Bartlet et al 2012 EcolLett and email Herve Cochard 19/06/2015)
Type | Details | |
---|---|---|
pi_ft | float | Osmotic potential at full turgor (MPa) |
e_symp | float | Modulus of elastoicoty of the Symplasm (MPa/%) |
p_min | float | Unknown parameter definition |
Returns | float |
turgor_comp (pi_ft:float, e_symp:float, r_stemp:float)
Turgor pressure
Type | Details | |
---|---|---|
pi_ft | float | Osmotic potential at full turgor (MPa) |
e_symp | float | Modulus of elastoicoty of the Symplasm (MPa/%) |
r_stemp | float | Unknown parameter definition |
Returns | float |
compute_turgor_from_psi (pi_ft:float, e_symp:float, psi:List)
Computes Turgor pressure from Pressure-Volume curves parameters and water potential
Type | Details | |
---|---|---|
pi_ft | float | Osmotic potential at full turgor (MPa) |
e_symp | float | Modulus of elastoicoty of the Symplasm (MPa/%) |
psi | typing.List | List of Water potential of the organ (MPa) |
Returns | array |
[0.]
[0.]
[0.]
[0.]
[0.]
[0.]
[0.]
[0.]
[0.]
osmo_comp (pi_ft:float, r_stemp:float)
Compute osmotic potential
Type | Details | |
---|---|---|
pi_ft | float | Osmotic potential at full turgor (MPa) |
r_stemp | float | Unknown parameter definition |
Returns | float |
psi_total_symp_comp (pi_ft:float, e_symp:float, r_stemp:float)
Compute Total potential
Type | Details | |
---|---|---|
pi_ft | float | Osmotic potential at full turgor (MPa) |
e_symp | float | Modulus of elastoicoty of the Symplasm (MPa/%) |
r_stemp | float | Unknown parameter definition |
Returns | float |
stomatal_regulation_turgor (turgor_pressure:float, max_turgor_pressure:float, e_max:float, e_cuti:float)
This function computes stomatal regulation if stomatal closure is limited (linearly) by turgor pressure
Type | Details | |
---|---|---|
turgor_pressure | float | Turgor pressure |
max_turgor_pressure | float | Maximum turgor pressure, |
e_max | float | Unknown parameter definition |
e_cuti | float | Residual Transpiration |
Returns | array |
array([1.5, 3. ])
plc_comp (p_min:float, slope:float, p50:float)
Compute Percentage loss of conductivity
Type | Details | |
---|---|---|
p_min | float | Unknown parameter definition |
slope | float | Unknown parameter definition |
p50 | float | Unknown parameter definition |
Returns | float |
plc_prime_comp (plc:float, slope:float)
This function computes PLC Prime from PLC current value
Type | Details | |
---|---|---|
plc | float | Computed using the plc_comp function |
slope | float | Unknown parameter definition |
Returns | float |
gs_curve (x:float, slope_gs:float, p50_gs:float, psi_start_closing:float, psi_close:float, pi_ft:float, e_symp:float, turgor_pressure_at_gs_max:float, gs_max:float, transpiration_model:str=['jarvis', 'granier'], stomatal_reg_formulation:str=['sigmoid', 'piecewise_linear', 'turgor'])
To obtain plots of the gs regulation curve
Type | Default | Details | |
---|---|---|---|
x | float | Unknown parameter definition | |
slope_gs | float | Unknown parameter definition | |
p50_gs | float | Unknown parameter definition | |
psi_start_closing | float | Unknown parameter definition | |
psi_close | float | Unknown parameter definition | |
pi_ft | float | Osmotic potential at full turgor (MPa) | |
e_symp | float | Modulus of elastoicoty of the Symplasm (MPa/%) | |
turgor_pressure_at_gs_max | float | Unknown parameter definition | |
gs_max | float | Unknown parameter definition | |
transpiration_model | str | [‘jarvis’, ‘granier’] | Transpiration model type |
stomatal_reg_formulation | str | [‘sigmoid’, ‘piecewise_linear’, ‘turgor’] | |
Returns | float | type of regulation to be used for stomatal response to leaf symplasmic water potential, either sigmoid or piecewise_linear |
compute_gmin (leaf_temp:float, gmin_20:float, t_phase:float, q10_1:float, q10_2:float, gmin_temp_off=False)
Calculate minimum conductance (gmin) following Cochard et al. (2019)
Type | Default | Details | |
---|---|---|---|
leaf_temp | float | Temperature of the leaf (degC) | |
gmin_20 | float | leaf conductance at 20 degC | |
t_phase | float | Temperature for phase transition of gmin | |
q10_1 | float | Q10 values for g_min= f(T) below T_phase | |
q10_2 | float | Q10 values for g_cuti = f(T) above T_phase | |
gmin_temp_off | bool | False | Unknown parameter definition |
Returns | float |
compute_emin (gmin:float, vpd:float, g_bl:float, g_crown:float, air_pressure:float=101.3)
Calculate minimum transpiration (emin)
Type | Default | Details | |
---|---|---|---|
gmin | float | minimum conductance | |
vpd | float | Vapor Pressure Deficit (kPa) | |
g_bl | float | Unknown parameter definition | |
g_crown | float | Unknown parameter definition. Use compute_g_crown |
|
air_pressure | float | 101.3 | Surface air pressure (kPa) |
Returns | float |
compute_dfmc (vpd:float, fm0=5.43, fm1=52.91, m=0.64)
Compute dead fuel moisture content from VPD following De Dios et al. (2015)
Type | Default | Details | |
---|---|---|---|
vpd | float | Vapor pressure deficit (kPA) | |
fm0 | float | 5.43 | Minimum fuel moisture content (% dry weight) |
fm1 | float | 52.91 | Maximum fuel moisture content (% dry weight) |
m | float | 0.64 | Rate of decay |
Returns | float | Fuel moisture content (% dry weight) |
distribute_conductances (k_plant_init:float, ri:float, frac_leaf_sym:float=0.4)
Calcultate hydraulic conductances in the different portions of the plant (trunk, leaf and root) according to predetermined rules
Type | Default | Details | |
---|---|---|---|
k_plant_init | float | Conductance of the plant from root to leaf | |
ri | float | Root distribution within the soil layers. | |
frac_leaf_sym | float | 0.4 | Proportion of k_plant_init assigned to the leaf (apoplasm to symplasm pathway) |
Returns | typing.Dict |
defaultdict(list,
{'k_slapo_init': 5.0,
'k_lsym_init': 2.5,
'k_rsapo_init': 5.0,
'k_plant_init': 1})
compute_g_crown (g_crown0:float, wind_speed:float)
Calcultate g_crown
Type | Details | |
---|---|---|
g_crown0 | float | Unknown parameter definition |
wind_speed | float | Unknown parameter definition |
Returns | float |
convert_flux_from_mmolm2s_to_mm (x:float, time_step:float, lai:float)
Convert an instantaneous flux in mmol.m-2Leaf.s-1 to a amount in mm (L.m2soil) over a defined time period
Type | Details | |
---|---|---|
x | float | The amount of water in mm (L.m-2soil) |
time_step | float | Time step (in hours) |
lai | float | Leaf area index of the stand (m2leaf.m-2soil) |
Returns | float |
convert_flux_from_mm_to_mmolm2s (x:float, time_step:float, lai:float)
Convert flux in L.m-2soil to an instantaneous flux in mmol/m-2leaf.s-1 over a defined time period
Type | Details | |
---|---|---|
x | float | The amount of water in mm (L.m-2soil) |
time_step | float | Time step (in hours) |
lai | float | Leaf area index of the stand (m2leaf.m-2soil) |
Returns | float |
calculate_ebound_mm_granier (etp:float, lai:float, a:float=-0.006, b:float=0.134, c:float=0)
No description found in R source code
Type | Default | Details | |
---|---|---|---|
etp | float | Unknown parameter definition | |
lai | float | Leaf area index of the stand (m2leaf.m-2soil) | |
a | float | -0.006 | Unknown parameter definition |
b | float | 0.134 | Unknown parameter definition |
c | float | 0 | Unknown parameter definition |
Returns | float |
calculate_ebound_granier (etp:float, lai:float, time_step:float)
No description found in R source code
Type | Details | |
---|---|---|
etp | float | Unknown parameter definition |
lai | float | Leaf area index of the stand (m2leaf.m-2soil) |
time_step | float | Time step (in hours) |
Returns | float |
convert_f_cm3_to_v_mm (x:float, rock_fragment_content:float, layer_thickness:float)
Convert soil parameter from from cm3.cm-3 to mm according to thickness and rock fragment content
Type | Details | |
---|---|---|
x | float | Soil value to be converted (in m3.m-3) |
rock_fragment_content | float | Rock fragment content of the soil layer (%) |
layer_thickness | float | Thickness of the soil layer (in m) |
Returns | float | y soil parameter in mm |
compute_tleaf (t_air:float, par:float, potential_par:float, wind_speed:float, relative_humidity:int, gs:float, g_cuti:float, e_inst:float, psi_leaf:float, leaf_size:float=50, leaf_angle:int=45, turn_off_eb:bool=False, transpiration_model:str=['jarvis', 'granier'])
Compute leaf temperature and Vapour Pressure deficit
Type | Default | Details | |
---|---|---|---|
t_air | float | Air temperature (degC) | |
par | float | Unknown parameter definition | |
potential_par | float | Unknown parameter definition. Calculated using potential_par function? |
|
wind_speed | float | Unknown parameter definition (m/s) | |
relative_humidity | int | Air relative_humidity(%) | |
gs | float | Stomatal conductance | |
g_cuti | float | leaf conductance | |
e_inst | float | Unknown parameter definition | |
psi_leaf | float | Unknown parameter definition | |
leaf_size | float | 50 | Characteristic dimension from vegetation params in mm i.e. 1 (pine needle) to 3000 (banana leaf) |
leaf_angle | int | 45 | Leaf angle (depuis le plan horizontal : 0-90 deg) |
turn_off_eb | bool | False | Unknown parameter definition. Tleaf Energy balance? |
transpiration_model | str | [‘jarvis’, ‘granier’] | Transpiration model type |
Returns | typing.Dict | Dictionary with parameters |
compute_tleaf(
t_air=60,
par=100,
potential_par=1,
wind_speed=3,
relative_humidity=60,
gs=1,
g_cuti=2,
e_inst=3,
psi_leaf=4,
leaf_size=50,
leaf_angle=45,
turn_off_eb=False,
transpiration_model="jarvis",
)
defaultdict(list,
{'t_leaf': 60.394042704329365,
'g_bl': 3076.697970227172,
'vpd_leaf': 8.880103411681098,
'vpd_air': 7.978058190496631,
'delta_t': 0.39404270432936683})
read_vegetation_file (file_path:pathlib.Path, modeling_options:Dict, sep:str=';')
Function for reading a data frame containing information about vegetation characteristics
Type | Default | Details | |
---|---|---|---|
file_path | Path | Path to a csv file containing parameter values i.e path/to/file_name.csv | |
modeling_options | typing.Dict | Dictionary created using the create_modeling_options function |
|
sep | str | ; | CSV file separator can be ‘,’ or ‘;’ |
Returns | typing.Dict |
VegetationFile (*args, **kwargs)
Schema for validating the input CSV spreadsheet with trait parameters.
List of traits required:
term_in_code | term_in_paper | Definition | Units |
P50_VC_Leaf | ψ50,L | Water potential causing 50% Cavitation in the vulnerability curve | MPa |
slope_VC_Leaf | slopeL | Slope of rate of leaf embolism spread at ψ50,L | %/MPa |
epsilonSym_Leaf | εL | Modulus of elasticity of the leaf symplasm | MPa |
PiFullTurgor_Leaf | π0L | Osmotic potential at full turgor of the leaf symplasm | MPa |
apoFrac_Leaf | αLApo | Apoplasmic Fraction in leaves/Leaf apoplasmic fraction | Unitless |
LDMC | LDMC | Leaf dry matter content (dry mass over saturated mass) | mgMS/g?? |
LMA | LMA | Leaf mass per area | g/m2leaf |
K | k | Light extinction coefficient of the vegetation layer | unitless |
k_PlantInit | not found | Hydaulic conductance of the plant from soil to leaves | mmol/MPa/s/m2leaf? |
gmin20 | gcuti20 | Minimum conductance (gmin) at the reference temperature. | mmol/m2leaf/s-1 |
TPhase_gmin | TPhase | Temperature for phase transition of minimum conductance/Temperature for transition phase of gcuti | degC |
Q10_1_gmin | Q10a | Q10 value for gmin = f(T) <= Tphase_gmin/ Temperature dependance of gcuti when T ≤ TPhase | unitless |
Q10_2_gmin | Q10b | Q10 value for gmin = f(T) > Tphase_gmin/ Temperature dependance of gcuti when T > TPhase | unitless |
gmin_S | not found | conductance (gmin) of the stem | Unitless?? |
canopyStorageParam | cws | Depth of water that can be retained by leaves and trunks per unit of leaf area index (used to compute the canopy water storage capacity as a function of LAI | l/m2leaf |
rootRadius | dR | radius of roots | meters |
fRootToLeaf | RaLa | Root-to-leaf area ratio | unitless |
betaRootProfile | β | parameter for the distribution of roots in the soil | unitless |
PiFullTurgor_Stem | π0S | Osmotic potential at full turgor of the stem symplasm | MPa |
epsilonSym_Stem | εS | Modulus of elasticity of the stem symplasm | MPa |
apoFrac_Stem | αSApo | Stem apoplasmic fraction of the wood water volume | Unitless |
symFrac_Stem | αSSym | Stem symplasmic fraction of the wood water volume | Unitless |
vol_Stem | VS | Volume of tissue of the stem (includes the root, trunk and branches) | L m−2 soil |
fTRBToLeaf | not found | Definition not found | |
C_LApoInit | CLApo | Capacitance of the leaf apoplasm | mmol m−2 leaf MPa−1 |
C_SApoInit | CSApo | Capacitance of the stem apoplasm | mmol m−2 leaf MPa−1 |
P50_VC_Stem | ψ50,S | Water potential causing 50 % loss of stem hydraulic conductance | MPa |
slope_VC_Stem | slopeS | Slope of rate of stem embolism spread at ψ50,S | % MPa−1 |
k_SSymInit | not found | Definition not found | not found |
foliage | not found | Definition not found | Not applicable |
not found | t0 | Initial date of the forcing period for leaf phenology | DOY |
not found | TD | Minimum temperature to start cumulating temperature for budburst | ◦C |
not found | F∗ | Amount of forcing temperature to reach budburst | ◦C |
RAI | RLAI | LAI growth rate per day | LAI d−1 |
k_RSApoInit | KR-SApo,max | Maximum conductance from the root surface to the stem apoplasm | mmol m−2 leaf s −1 MPa−1 |
k_SLApoInit | KSApo−LApo,max | Maximum conductance from trunk apoplasm to the leaf apoplasm | mmol m−2 leaf s −1 MPa−1 |
not found | KSSym | Conductance from the stem apoplasm to stem symplasm | mmol m−2 leaf s −1 MPa−1 |
k_LSymInit | KLSym | Conductance from the leaf apoplasm to leaf symplasm | mmol m−2 leaf s −1 MPa−1 |
not found | Succulence | Leaf succulence (water content per unit of leaf area) | g m−2 leaf |
P50_gs | ψgs50 | Water potential causing 50 % stomatal closure | MPa |
not found | slopegs | Rate of decrease in stomatal conductance at ψgs,50 | % MPa−1 |
not found | gstom_min | Minimum stomatal conductance | mmol m−2 leaf s −1 |
not found | gstom_max | Maximum stomatal conductance | mmol m−2 leaf s −1 |
not found | δ | Response of gstom to light | unitless |
not found | Toptim | Temperature at maximal stomatal conductance | ◦C |
not found | Tsens | Stomatal sensitivity to temperature | ◦C |
not found | θs | Soil water content at saturation | unitless |
not found | θr | Residual soil water content | unitless |
not found | α | Inverse of the air entry potential | 1/MPa |
not found | n | Pore size distribution index | unitless |
not found | I | Shape parameter for the Van Genuchten equation | unitless |
not found | ksat | Soil hydraulic conductivity at saturation | mmol m−1 soil s −1 MPa−1 |
not found | gsoil0 | Reference soil conductance to water vapor | mmol m−2 soil s −1 |
modeling_options_dict = create_modeling_options(
time_step_for_evapo=2,
reset_swc=True,
avoid_water_soil_transfer=True,
constant_climate=False,
defoliation=True,
soil_evapo=True,
threshold_mortality=51,
etp_formulation="pt",
rn_formulation="linear",
comp_options_for_evapo="custom",
stomatal_reg_formulation="turgor",
transpiration_model="jarvis",
numerical_scheme="implicit",
pedo_transfer_formulation="vg",
)
read_vegetation_file(
file_path="./sample_data/vegetation_example_wide.csv",
modeling_options=modeling_options_dict,
sep=",",
)
frac_leaf_sym' set to 0.4
/tmp/ipykernel_37992/2639462457.py:235: UserWarning: Foliage evergreen has no params
warnings.warn("Foliage evergreen has no params")
defaultdict(list,
{'c_lapoinit': 1e-05,
'c_sapoinit': 2e-05,
'fcrit': 450,
'foliage': 'evergreen',
'jarvis_par': 0.006,
'k': 0.5,
'k_plantinit': 0.62,
'k_ssyminit': 0.26,
'ldmc': 570,
'lma': 106,
'p12_gs': -2.07,
'p50_vc_leaf': -3.4,
'p50_vc_stem': -3.4,
'p88_gs': -2.62,
'pt_coeff': 1.14,
'pifullturgor_leaf': -2.1,
'pifullturgor_stem': -2.1,
'psi_close': -2,
'psi_start_closing': -0.5,
'q10_1_gmin': 1.2,
'q10_2_gmin': 4.8,
'tphase_gmin': 37.5,
'tbase': 3,
'tgs_optim': 25,
'tgs_sens': 17,
'apofrac_leaf': 0.4,
'apofrac_stem': 0.4,
'betarootprofile': 0.97,
'canopystorageparam': 1.5,
'daystart': 55,
'epsilonsym_leaf': 10,
'epsilonsym_stem': 10,
'froottoleaf': 1,
'ftrbtoleaf': 0.8,
'g_crown0': 45,
'gmin20': 4,
'gmin_s': 3,
'gs_max': 200,
'gs_night': 20,
'nbdaylai': 21,
'rootradius': 0.0002,
'slope_vc_leaf': 60,
'slope_vc_stem': 60,
'symfrac_stem': 0.2,
'turgor_pressure_at_gs_max': 2,
'vol_stem': 40,
'frac_leaf_sym': 0.4})