Unstable
- initial_sensible_heat_flux_canopy_daily(rn_24_canopy, t_24_init)
Computes the initial sensible heat flux before the iteration which solves the stability corrections. The first estimation of transpiration is used to estimate the initial sensible heat flux.
\[H_{canopy}=Q_{canopy}^{*}-T\]- Parameters
rn_24_canopy (float) – daily net radiation for the canopy, \(Q_{canopy}^{*}\) [W m-2]
t_24_init (float) – initial estimate of daily transpiration, \(T\) [W m-2]
- Returns
h_canopy_24_init – initial estimate of the sensible heat flux, \(H^{canopy}\) [W m-2]
- Return type
float
- initial_sensible_heat_flux_soil_daily(rn_24_soil, e_24_init, g0_24)
Computes the initial sensible heat flux before the iteration which solves the stability corrections. The first estimation of transpiration is used to estimate the initial sensible heat flux.
\[H_{soil}=Q_{soil}^{*}-G_{0}-E\]- Parameters
rn_24_soil (float) – daily net radiation for the soil, \(Q_{canopy}^{*}\) [W m-2]
g0_24 (float) – daily soil heat flux, \(G_{0}\) [W m-2]
e_24_init (float) – initial estimate of daily evaporation, \(E\) [W m-2]
- Returns
h_soil_24_init – initial estimate of the sensible heat flux, \(H_{canopy}\) [W m-2]
- Return type
float
- initial_friction_velocity_daily(u_b_24, z0m, disp, z_b=100)
Computes the initial friction velocity without using stability corrections.
\[u_{*}=\frac{k \cdot u_{b}}{ln\left(\frac{z_{b}-d}{z_{0,m}}\right)}\]- Parameters
u_b_24 (float) – daily wind speed at blending heigt, \(u_{b}\) [m s-1]
z0m (float) – surface roughness, \(z_{0,m}\) [m]
disp (float) – displacement height, \(d\) [m]
z_b (float) – blending height, \(z_{b}\) [m]
- Returns
u_star_24_init – initial estimate of the daily friction velocity, \(u_{*}\) [m s-1]
- Return type
float
- initial_friction_velocity_soil_daily(u_b_24, disp, z_b=100)
Computes the initial firction velocity without using stability corrections.
\[u_{*}=\frac{k \cdot u_{b}}{ln\left(\frac{z_{b}-d}{z_{0,m}}\right)}\]- Parameters
u_b_24 (float) – daily wind speed at blending heigt, \(u_{b}\) [m s-1]
disp (float) – displacement height, \(d\) [m]
z_b (float) – blending height, \(z_{b}\) [m]
- Returns
u_star_24_soil_init – initial estimate of the daily friction velocity for soil, \(u_{*}\) [m s-1]
- Return type
float
- monin_obukhov_length(h_flux, ad, u_star, t_air_k)
Computes the Monin-Obukhov length. The Monin-Obukhov length is used to describe the effects of buoyancy on turbulent flows. The Monin-Obukhov length is usually negative during daytime.
\[L=\frac{-\rho c_{p}u_{*}^{3}T_{a}}{kgH_{canopy}}\]- Parameters
h_flux (float) – sensible heat flux, \(H\) [W m-2]
ad (float) – air density, \(\rho\) [kg m-3]
u_star (float) – Monin Obukhov length, \(L\) [m]
t_air_k (float) – air tempererature in kelvin, \(T_{a}\) [K]
- Returns
monin – monin obukhov length, \(L\) [m]
- Return type
float
- stability_parameter(monin, disp, z_b=100)
Computes the stability parameter introduced by Monin and Obukhov. This parameter includes effects of both shear stress and buoyancy on turbulence. It is applicable to blending height.
\[x_{b}=1-16\left(\frac{z_{b}-d}{L}\right)^{0.25}\]- Parameters
monin (float) – monin obukhov length, \(L\) [m]
z_b (float) – blending height, \(z_{b}\) [m]
disp (float) – displacement height, \(d\) [m]
- Returns
x_b – stability parameter used in stability correction, \(x_{b}\) [-]
- Return type
float
- stability_factor(x_b)
Computes the stability correction for heat at blending height.
\[\psi_{h,b}=2 \cdot \ln\left(\frac{1+x_{b}}{2}\right)+ \ln\left(\frac{1+x_{b}^{2}}{2}\right)- 2 \cdot \arctan\left(x_{b}\right)+0.5 \cdot \pi\]- Parameters
x_b (float) – stability parameter used in stability correction, \(x_{b}\) [-]
- Returns
sf – stability correction for heat, \(\psi_{h,b}\) [-]
- Return type
float
- stability_parameter_obs(monin, z_obs)
Computes the stability parameter introduced by Monin and Obukhov. This parameter includes effects of both shear stress and buoyancy on turbulence. It is applicable to observation height.
\[x_{obs}=1-16\left(\frac{z_{obs}}{L}\right)^{0.25}\]- Parameters
monin (float) – monin obukhov length, \(L\) [m]
z_obs (float) – observation height, \(z_{obs}\) [m]
- Returns
x_b_obs – stability parameter used in stability correction for observation height, \(x_{obs}\) [-]
- Return type
float
- stability_correction_heat_obs(x_b_obs)
Computes the stability correction for heat at observation height.
\[\psi_{h,obs}=2 \cdot \ln\left(\frac{1+x_{obs}^{2}}{2}\right)\]- Parameters
x_b_obs (float) – stability parameter used in stability correction for observation height, \(x_{obs}\) [-]
- Returns
sf_obs – stability correction for heat for observation height, \(\psi_{h,obs}\) [-]
- Return type
float
- friction_velocity(u_b, z_b, z0m, disp, sf)
Computes the friction velocity.
\[u_{*}=\frac{k \cdot u_{b}}{ln\left(\frac{z_{b}-d}{z_{0,m}}\right)-\psi_{h,b}}\]- Parameters
u_b (float) – windspeed at blending height, \(u_{b}\) [m]
z_b (float) – blending height, \(z_{b}\) [m]
z0m (float) – roughness length, \(z_{0,m}\) [m]
disp (float) – displacement height, \(d\) [m]
sf (float) – stability factor at blending height, \(\psi_{h,b}\) [m]
- Returns
u_star – friction velocity, \(u_{*}\) [m s-1]
- Return type
float
- ra_canopy(h_canopy_init, t_air_k, u_star_init, ad, z0m, disp, u_b, z_obs=2, z_b=100, iter_ra=3)
Computes the aerodynamical resistance for canopy using an iterative approach. The iteration is needed to compute the frication velocity at blending height Iteration stops either after five iterations or if the difference between two subsequent estimations is less than 0.01.
\[\begin{split}L &= \frac{-\rho c_{p}u_{*}^{3}T_{a}}{kgH_{canopy}}\\ x_{b} &= 1-16\left(\frac{z_{b}-d}{L}\right)^{0.25}\\ \psi_{h,b} &= 2 \ln\left(\frac{1+z_{b}}{2}\right)+ \ln\left(\frac{1+z_{b}^{2}}{2}\right)- 2\arctan\left(x_{b}\right)+0.5\pi\\ u_{*} &= \frac{ku_{b}}{ln\left(\frac{z_{b}-d}{z_{0,m}}\right)-\psi_{h,b}}\end{split}\]The friction velocity is independent of height. So this value can be used to calculate together with the stability correction for heat on observation heigth the aerodynamical resistance.
\[\begin{split}x_{obs}&=1-16 \cdot \left(\frac{z_{obs}}{L}\right)^{0.25} \\ \psi_{h,obs}&=2 \cdot \ln\left(\frac{1+x_{obs}^{2}}{2}\right) \\ r_{a,canopy}&=\frac{\ln\left(\frac{z_{obs}-d} {0.1 \cdot z_{0,m}}\right)-\psi_{h,obs}}{k \cdot u_{*}}\end{split}\]- Parameters
h_canopy_init (float) – initial estimate of the sensible heat flux, \(H^{canopy}\) [W m-2]
t_air_k (float) – air tempererature in kelvin, \(T_{a}\) [K]
u_star_init (float) – initial estimate of the daily friction velocity, \(u_{*}\) [m s-1]
ad (float) – air density, \(\rho\) [kg m-3]
z_b (float) – blending height, \(z_{b}\) [m]
z_obs (float) – observation height, \(z_{obs}\) [m]
z0m (float) – roughness length, \(z_{0,m}\) [m]
disp (float) – displacement height, \(d\) [m]
u_b (float) – windspeed at blending height, \(u_{b}\) [m/s]
iter_ra (integer) – number of iterations for aerodynamical resistance, \(n_{ra}\) [-]
- Returns
ra_canopy – aerodynamical resistance for canopy, \(r_{a,canopy}\) [s m-1]
- Return type
float
- transpiration(rn_24_canopy, ssvp_24, ad_24, vpd_24, psy_24, r_canopy, h_canopy_24_init, t_air_k_24, u_star_24_init, z0m, disp, u_b_24, z_obs=2, z_b=100, iter_h=3)
Computes the transpiration using an iterative approach. The iteration is needed to compute the aerodynamical resistance.Iteration stops either after five iterations orif the difference between two subsequent estimations is less than 0.01. The iteration is started with an estimate on \(H\) using the initial guess without stability corrections. Subsequent iterations use the guess with stability corrections.
\[T=\frac{\Delta\left(Q_{canopy}^{*}\right)+\rho c_{p}\ frac{\Delta_{e}}{r_{a,canopy}}}{\Delta+ \gamma\left(1+\frac{r_{canopy}}{r_{a,canopy}}\right)}\]- Parameters
rn_24_canopy (float) – net radiation for the canopy, \(Q^{*}_{canopy}\) [Wm-2]
ssvp_24 (float) – daily slope of saturated vapour pressure curve \(\Delta_{24}\) [mbar K-1]
ad_24 (float) – daily air density, \(\rho_{24}\) [kg m-3]
vpd_24 (float) – daily vapour pressure deficit \(\Delta_{e,24}\) [mbar]
psy_24 (float) – daily psychrometric constant, \(\gamma_{24}\) [mbar K-1]
r_canopy (float) – canopy resistance, \(r_{canopy}\) [sm-1]
h_canopy_24_init (float) – initial estimate of the sensible heat flux, \(H^{canopy}\) [W m-2]
t_air_k_24 (float) – daily air tempererature in kelvin, \(T_{a}\) [K]
u_star_24_init (float) – initial estimate of the daily friction velocity, \(u_{*}\) [m s-1]
z0m (float) – roughness length, \(z_{0,m}\) [m]
disp (float) – displacement height, \(d\) [m]
u_b_24 (float) – daily windspeed at blending height, \(u_{b}\) [m]
z_b (float) – blending height, \(z_{b}\) [m]
z_obs (float) – observation height, \(z_{obs}\) [m]
iter_h (integer) – number of iterations for sensible heat flux, \(n_h\) [-]
- Returns
t_24 – daily transpiration energy equivalent, \(T_{24}\) [W m-2]
- Return type
float
- ra_soil(h_soil_24_init, t_air_k, u_star_24_init, ad, disp, u_b, z_obs=2, z_b=100, iter_ra=3)
Computes the aerodynamical resistance for canopy using an iterative approach. The iteration is needed to compute the friction velocity at blending height Iteration stops either after five iterations or if the difference between two subsequent estimations is less than 0.01.
\[\begin{split}L &= \frac{-\rho c_{p}u_{*}^{3}T_{a}}{kgH_{soil}}\\ x_{b} &= 1-16\left(\frac{z_{b}-d}{L}\right)^{0.25}\\ \psi_{h,b} &= 2\ln\left(\frac{1+z_{b}}{2}\right)+ \ln\left(\frac{1+z_{b}^{2}}{2}\right)- 2\arctan\left(x_{b}\right)+0.5\pi\\ u_{*} &= \frac{ku_{b}}{ln\left(\frac{z_{b}-d}{z_{0,soil}}\right) -\psi_{h,b}}\end{split}\]The friction velocity is independent of height. So this value can be used to calculate together with the stability correction for heat on observation heigth the aerodynamical resistance.
\[\begin{split}x_{obs} &= 1-16\left(\frac{z_{obs}}{L}\right)^{0.25} \\ \psi_{h,obs} &= 2\ln\left(\frac{1+x_{obs}^{2}}{2}\right) \\ r_{a,soil} &= \frac{\ln\left(\frac{z_{obs}-d} {0.1z_{0,soil}}\right)-\psi_{h,obs}}{ku_{*}}\end{split}\]- Parameters
h_soil_24_init (float) – initial estimate of the sensible heat flux for soil, \(H^{soil}\) [W m-2]
t_air_k (float) – air tempererature in kelvin, \(T_{a}\) [K]
u_star_24_init (float) – initial estimate of the daily friction velocity, \(u_{*}\) [m s-1]
ad (float) – air density, \(\rho\) [kg m-3]
z_b (float) – blending height, \(z_{b}\) [m]
z_obs (float) – observation height, \(z_{obs}\) [m]
disp (float) – displacement height, \(d\) [m]
u_b (float) – windspeed at blending height, \(u_{b}\) [m]
iter_ra (integer) – number of iterations for aerodynamical resistance, \(n_{ra}\) [-]
- Returns
ra_soil – aerodynamical resistance for soil, \(r_{a,soil}\) [s m-1]
- Return type
float
- evaporation(rn_24_soil, g0_24, ssvp_24, ad_24, vpd_24, psy_24, r_soil, h_soil_24_init, t_air_k_24, u_star_24_soil_init, disp, u_b_24, z_b=100, z_obs=2, iter_h=3)
Computes the evaporation using an iterative approach. The iteration is needed to compute the aerodynamic resistance.Iteration stops either after five iterations or if the difference between two subsequent estimations is less than 0.01. The iteration is started with an estimate on \(H\) using the initial guess without stability corrections. Subsequent iterations use the guess with stability corrections.
\[E=\frac{\Delta\left(Q_{soil}^{*}-G\right)+ \rho c_{p}\frac{\Delta_{e}}{r_{a,soil}}} {\Delta+\gamma\left(1+\frac{r_{soil}}{r_{a,soil}}\right)}\]- Parameters
rn_24_soil (float) – net radiation for the soil, \(Q^{*}_{canopy}\) [Wm-2]
g0_24 (float) – daily soil heat flux, \(G\) [Wm-2]
ssvp_24 (float) – daily slope of saturated vapour pressure curve \(\Delta_{24}\) [mbar K-1]
ad_24 (float) – daily air density, \(\rho_{24}\) [kg m-3]
vpd_24 (float) – daily vapour pressure deficit \(\Delta_{e,24}\) [mbar]
psy_24 (float) – daily psychrometric constant, \(\gamma_{24}\) [mbar K-1]
r_soil (float) – soil resistance, \(r_{soil}\) [sm-1]
h_soil_24_init (float) – initial estimate of the sensible heat flux for soil, \(H^{soil}\) [W m-2]
t_air_k_24 (float) – daily air temperature in kelvin, \(T_{a}\) [K]
u_star_24_soil_init (float) – initial estimate of the daily friction velocity for soil, \(u_{*}\) [m s-1]
disp (float) – displacement height, \(d\) [m]
u_b_24 (float) – daily wind speed at blending height, \(u_{b}\) [m]
z_b (float) – blending height, \(z_{b}\) [m]
z_obs (float) – observation height, \(z_{obs}\) [m]
iter_h (integer) – number of iterations for sensible heat flux, \(n_h\) [-]
- Returns
e_24 – daily evaporation energy equivalent, \(E_{24}\) [W m-2]
- Return type
float
- transpiration_mm(t_24, lh_24)
Computes the canopy transpiration based on the Penman Monteith equation adapted for canopy.
\[T=T \cdot \frac{d_{sec}}{\lambda_{24}}\]where the following constants are used
\(d_{sec}\) seconds in the day = 86400 [s]
- Parameters
t_24 (float) – daily transpiration energy equivalent, \(E^{0}\) [W m-2]
lh_24 (float) – daily latent heat of evaporation, \(\lambda_{24}\) [J/kg]
- Returns
t_24_mm – daily transpiration in mm, \(T\) [mm d-1]
- Return type
float
- evaporation_mm(e_24, lh_24)
Computes the soil evaporation based on the Penman Monteith equation adapted for soils.
\[E=E \cdot \frac{d_{sec}}{\lambda_{24}}\]where the following constants are used
\(d_{sec}\) seconds in the day = 86400 [s]
- Parameters
e_24 (float) – daily evaporation energy equivalent, \(E^{0}\) [W m-2]
lh_24 (float) – daily latent heat of evaporation, \(\lambda_{24}\) [J/kg]
- Returns
e_24_mm – daily evaporation in mm, \(E\) [mm d-1]
- Return type
float