Radiation
- interception_wm2(int_mm, lh_24)
Computes the energy equivalent for the interception in Wm-2 if it is provide in mm/day
\[I = \frac{\lambda \cdot I^*}{86400}\]- Parameters
int_mm (float) – interception, \(I^*\) [mm day-1]
lh_24 (float) – daily latent heat for evaporation, \(\lambda\) [J kg-1]
- Returns
int_wm2 – interception, \(I\) [W m-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> import ETLook.meteo as meteo >>> lh = meteo.latent_heat_daily(20.0) >>> rad.interception_wm2(1.0, lh) 28.40023148148148
- soil_fraction(lai)
Computes the effect of the vegetation has in separating the net radiation into a soil and canopy component. If the canopy has a full cover almost no radiation reaches the soil.
\[s_f = \exp^{-0.6 \cdot I_{lai}}\]- Parameters
lai (float) – leaf area index, \(I_{lai}\) [-]
- Returns
sf_soil – soil fraction, \(s_f\) [-]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.soil_fraction(3.0) 0.16529888822158656
- longwave_radiation_fao_etref(t_air_k_24, vp_24, trans_24)
Computes the net longwave radiation according to the FAO 56 manual. For the reference ET calculation the values for vp_slope, vp_offset, lw_slope and lw_offset are being provided as defaults
\[L^{*}=\sigma\left(T_{a,K}\right)^{4} \cdot \left(vp_{off}-vp_{slope}\sqrt{0.1e_{a}} \cdot \right)\left(lw_{slope}\frac{\tau}{0.75}+lw_{off}\right)\]where the following constant is used
\(\sigma\) = Stefan Boltzmann constant = 5.67 e-8 J s-1 m-2 K-4
- Parameters
t_air_k_24 (float) – daily air temperature in Kelvin, \(T_{a,K}\) [-]
vp_24 (float) – daily vapour pressure, \(e_{a}\) [mbar]
trans_24 (float) – daily atmospheric transmissivity, \(\tau\) [-]
- Returns
l_net – daily net longwave radiation, \(L^{*}\) [Wm-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.longwave_radiation_fao_etref(t_air_k=302.5, vp=10.3, trans_24=0.6) 68.594182173686306
- longwave_radiation_fao(t_air_k_24, vp_24, trans_24, vp_slope=0.14, vp_offset=0.34, lw_slope=1.35, lw_offset=-0.35)
Computes the net longwave radiation according to the FAO 56 manual.
\[L^{*}=\sigma\left(T_{a,K}\right)^{4} \left(vp_{off}-vp_{slope}\sqrt{0.1e_{a}} \right)\left(lw_{slope}\frac{\tau}{0.75}+lw_{off}\right)\]where the following constant is used
\(\sigma\) = Stefan Boltzmann constant = 5.67 e-8 J s-1 m-2 K-4
- Parameters
t_air_k_24 (float) – daily air temperature in Kelvin, \(T_{a,K}\) [-]
vp_24 (float) – daily vapour pressure, \(e_{a}\) [mbar]
trans_24 (float) – daily atmospheric transmissivity, \(\tau\) [-]
vp_slope (float) – slope of the vp-term in the FAO-56 longwave radiation relationship, \(vp_{slope}\) [-]
vp_offset (float) – offset of the vp-term in the FAO-56 longwave radiation relationship, \(vp_{off}\) [-]
lw_slope (float) – slope of the tau-term in the FAO-56 longwave radiation relationship, \(lw_{slope}\) [-]
lw_offset (float) – offset of the tau-term in the FAO-56 longwave radiation relationship, \(lw_{off}\) [-]
- Returns
l_net – daily net longwave radiation, \(L^{*}\) [Wm-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.longwave_radiation_fao(t_air_k=302.5, vp=10.3, trans_24=0.6) 68.594182173686306
- net_radiation(r0, ra_24, l_net, int_wm2)
Computes the net radiation
\[Q^{*} = \left[\left(1-\alpha_{0}\right)S^{\downarrow}-L^{*}-I\right]\]- Parameters
r0 (float) – albedo, \(\alpha_{0}\) [-]
ra_24 (float) – daily solar radiation, \(S^{\downarrow}\) [Wm-2]
l_net (float) – daily net longwave radiation, \(L^{*}\) [wm-2]
int_wm2 (float) – interception, \(I\) [Wm-2]
- Returns
rn_24 – daily net radiation, \(Q^{*}\) [Wm-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.net_radiation(r0=0.10, ra_24=123., l_net=24., int_wm2=0) 86.7
- net_radiation_canopy(rn_24, sf_soil)
Computes the net radiation for the canopy
\[Q^{*}_{canopy} = \left(1-s_f\right) Q^{*}\]- Parameters
rn_24 (float) – net radiation, \(Q^{*}\) [Wm-2]
sf_soil (float) – soil fraction, \(s_f\) [-]
- Returns
rn_24_canopy – net radiation for the canopy, \(Q^{*}_{canopy}\) [Wm-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.net_radiation_canopy(rn_24=200, sf_soil=0.4) 120.0
- net_radiation_soil(rn_24, sf_soil)
Computes the net radiation for the soil
\[Q^{*}_{soil} = s_f \cdot Q^{*}\]- Parameters
rn_24 (float) – net radiation, \(Q^{*}\) [Wm-2]
sf_soil (float) – soil fraction, \(s_f\) [-]
- Returns
rn_24_soil – net radiation for the soil, \(Q^{*}_{soil}\) [Wm-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.net_radiation_soil(rn_24=200, sf_soil=0.4) 80.0
- net_radiation_grass(ra_24, l_net, r0_grass=0.23)
Computes the net radiation for reference grass
\[Q^{*} = \left[\left(1-\alpha_{0, grass}\right)S^{\downarrow}-L^{*}-I\right]\]- Parameters
ra_24 (float) – daily solar radiation, \(S^{\downarrow}\) [Wm-2]
l_net (float) – daily net longwave radiation, \(L^{*}\) [wm-2]
r0_grass (float) – albedo for reference grass, \(\alpha_{0, grass}\) [-]
- Returns
rn_24_grass – daily net radiation for reference grass, \(Q^{*}\) [Wm-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.net_radiation_grass(ra_24=123., l_net=24.) 70.7
- volumetric_heat_capacity(se_top=1.0, porosity=0.4)
Computes the volumetric heat capacity of the soil
\[\rho c_{p}=10^{6} \cdot \left[\left(1-\phi\right)^{2}+ 2.5 \cdot \phi+4.2 \cdot \phi \cdot S_{e,top}\right]\]- Parameters
se_top (float) – effective saturation of the topsoil, \(S_{e,top}\) [-]
porosity (float) – porosity of the soil, \(\phi\) [-]
- Returns
vhc – volumetric heat capacity, \(\rho c_{p}\) [J m-3 K-1]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.volumetric_heat_capacity(se_top=0.4, porosity = 0.5) 23400000.0
- soil_thermal_conductivity(se_top)
Computes the soil thermal conductivity
\[k=0.15+18.5 \cdot S_{e,top}\]- Parameters
se_top (float) – effective saturation of the topsoil, \(S_{e,top}\) [-]
- Returns
stc – soil thermal conductivity, \(k\) [W m-1 K-1]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.soil_thermal_conductivity(se_top=0.4) 0.8900000000000001
- damping_depth(stc, vhc)
Computes the damping depth
\[z_{d}=\sqrt{\frac{2kP}{2\pi\rho c_{p}}}\]with the following constant
\(P\) period (seconds within a year)
- Parameters
stc (float) – soil thermal conductivity, \(k\) [W m-1 K-1]
vhc (float) – volumetric heat capacity, \(\rho c_{p}\) [J m-3 K-1]
- Returns
dd – damping depth, \(z_{d}\) [m]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.damping_depth(stc=0.9, vhc=volumetric_heat_capacity()) 0.54514600029013294
- bare_soil_heat_flux(doy, dd, stc, t_amp_year, lat)
Computes the bare soil heat flux
\[G_{0}=\frac{\sqrt{2} \cdot A_{t,year} \cdot k \cdot \sin\left(\frac{2\pi \cdot J}{P}- \frac{\pi}{4}\right)}{z_{d}}\]where the following constant is used
\(P\) period (seconds within a year)
The term \(-\frac{\pi}{4}\) is a phase shift for northern latitudes. For southern latitudes the phase shift will be \(-\frac{\pi}{4}+\pi\)
- Parameters
stc (float) – soil thermal conductivity, \(k\) [W m-1 K-1]
dd (float) – damping depth, \(z_{d}\) [m]
t_amp_year (float) – yearly air temperature amplitude, \(A_{t,year}\) [m]
doy (float) – julian day of the year, \(J\) [-]
lat (float) – latitude, \(\lambda\) [rad]
- Returns
g0_bs – bare soil heat flux, \(G_{0}\) [m]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> stc = rad.soil_thermal_conductivity(se_top=1.0) >>> vhc = rad.volumetric_heat_capacity(se_top=1.0) >>> dd = damping_depth(stc,vhc) >>> rad.bare_soil_heat_flux(126, dd, stc, t_amp_year=13.4, lat=40*(math.pi/180.0)) array([ 45.82350561])
- soil_heat_flux(g0_bs, sf_soil, land_mask, rn_24_soil, trans_24, ra_24, l_net, rn_slope=0.92, rn_offset=-61.0)
Computes the soil heat flux
\[G=s_f \cdot G_{0}\]- Parameters
g0_bs (float) – bare soil heat flux, \(G_{0}\) [W m-2]
sf_soil (float) – soil fraction, \(s_f\) [-]
land_mask (int) – land use classification, \(l\) [-]
rn_24_soil (float) – net radiation for the soil, \(Q^{*}_{soil}\) [Wm-2]
trans_24 (float) – daily atmospheric transmissivity, \(\tau\) [-]
rn_slope (float) – slope rn/g0 relation water, \(lws\) [-]
rn_offset (float) – offset rn/g0 relation water, \(lwo\) [-]
ra_24 (float) – daily solar radiation, \(S^{\downarrow}\) [Wm-2]
l_net (float) – daily net longwave radiation, \(L^{*}\) [wm-2]
- Returns
g0_24 – daily soil heat flux, \(G\) [W m-2]
- Return type
float
Examples
>>> import ETLook.radiation as rad >>> rad.soil_heat_flux(g0_bs=12.4, sf_soil=0.4) 4.960000000000001