Jarvis Stewart#

class abcmodel.land.biosphere.jarvis_stewart.JarvisStewartState(rs, wl, cliq, wCO2, cveg, wltend=<factory>)[source]#

Bases: AbstractBiosphereState

Jarvis-Stewart biosphere state.

rs: Array#

Surface resistance [s m-1].

wl: Array#

Canopy water content [m].

cliq: Array#

Wet fraction of canopy [-].

wCO2: Array#

Kinematic CO2 flux [mol m-2 s-1].

cveg: Array#

Vegetation fraction [-].

wltend: Array#

Canopy water content tendency [m].

class abcmodel.land.biosphere.jarvis_stewart.JarvisStewartModel(rsmin=110.0, lai=2.0, gD=0.0, cveg=0.85, wmax=0.0002, wwilt=0.171, wfc=0.323, w2=0.21)[source]#

Bases: AbstractBiosphereModel[JarvisStewartState]

Jarvis-Stewart biosphere model with empirical surface resistance.

Parameters:
  • rsmin (float) – minimum stomatal resistance [s m-1]. Default is 110.0.

  • lai (float) – leaf area index [m2 m-2]. Default is 2.0.

  • gD (float) – canopy rad extinction coefficient [-]. Default is 0.0.

  • wmax (float) – maximum water storage capacity of the canopy [m]. Default is 0.0002.

  • wwilt (float) – soil moisture content at wilting point [m3 m-3]. Default is 0.171.

  • wfc (float) – soil moisture content at field capacity [m3 m-3]. Default is 0.323.

  • w2 (float) – soil moisture content at the second layer [m3 m-3]. Default is 0.21.

init_state(rs=1000000.0, wl=0.0, cliq=0.0, wCO2=0.0)[source]#

Initialize the biosphere state.

Parameters:
  • rs (float) – Surface resistance [s m-1]. Default is 1.0e6.

  • wl (float) – Canopy water content [m]. Default is 0.0.

  • cliq (float) – Wet fraction of canopy [-]. Default is 0.0.

  • wCO2 (float) – Kinematic CO2 flux [mol m-2 s-1]. Default is 0.0.

  • cveg – vegetation fraction [-]. Default is 0.85.

Returns:

The initialized JarvisStewartState.

run(state)[source]#

Compute biosphere surface resistance and canopy wet fraction.

compute_f1(in_srad)[source]#

Compute the radiation stress factor f1.

Notes

The radiation factor follows the Jarvis (1976) formulation:

\[f_1 = \frac{1}{\min\!\left(1,\, \dfrac{0.004\,R_s + 0.05}{0.81\,(0.004\,R_s + 1)}\right)}\]

where \(R_s\) is the incoming solar radiation.

compute_f2(wg)[source]#

Compute the soil moisture stress factor f2.

Notes

The soil moisture factor follows the Jarvis (1976) formulation:

\[f_2 = \max\!\left(1,\, \frac{w_{\text{fc}} - w_{\text{wilt}}} {w_g - w_{\text{wilt}}}\right)\]

where \(w_g\) is the surface soil moisture, \(w_{\text{fc}}\) is the field capacity and \(w_{\text{wilt}}\) is the wilting point. When the second-layer soil moisture \(w_2\) drops below the wilting point, the factor is set to a large value (effectively closing the stomata).

compute_f3(esat, e)[source]#

Compute the vapour pressure deficit stress factor f3.

Notes

The VPD factor follows the Jarvis (1976) formulation:

\[f_3 = \exp\!\left(\frac{g_D \, D}{100}\right)\]

where \(D = e_{\text{sat}} - e\) is the vapour pressure deficit, \(e_{\text{sat}}\) is the saturation vapour pressure, \(e\) is the actual vapour pressure, and \(g_D\) is the canopy radiation extinction coefficient.

compute_f4(theta)[source]#

Compute the temperature stress factor f4.

Notes

The temperature factor follows the Jarvis (1976) formulation:

\[f_4 = \frac{1}{1 - 0.0016\,(298 - \theta)^2}\]

where \(\theta\) is the potential temperature [K].

compute_cliq(wl)[source]#

Compute the wet fraction cliq.

Notes

The wet fraction is defined as

\[c_{\text{liq}} = \frac{W_l}{\text{LAI}\cdot W_{\text{max}}},\]

where \(W_l\) is the water layer depth, \(\text{LAI}\) is the leaf area index and \(W_{\text{max}}\) is the thickness of the water layer on wet vegetation. In case \(W_l > \text{LAI}\cdot W_{\text{max}}\), the wet fraction is set to 1.

References

Equation 9.19 from the CLASS book.

compute_wltend(le_liq)[source]#

Compute the water layer depth tendency wltend.

Notes

The water layer depth tendency is the rate at which water is added to or taken from the vegetation, described by

\[\frac{\text{d} w}{\text{d} t} = -\frac{LE_{\text{liq}}}{\rho_w L_v},\]

where \(LE_{\text{liq}}\) is dew, \(\rho_w\) is water density and \(L_v\) is the latent heat of vaporization.

References

Equation 9.20 from the CLASS book, with sign convention.

run_tends(state, surf_state)[source]#

Compute biosphere tendencies that depend on surface fluxes.

integrate(state, dt)[source]#

Integrate canopy water content forward in time.