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