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