Welcome to pyTSEB’s documentation!

Summary

The Two Source Energy Balance (TSEB) model computes the turbulent fluxes for two layers, soil and vegetation, with the interaction between the layers being allowed. Therefore, following an analogy between the flux transport and the Ohm’s Law for transport of electricity, the network of sensible H and latent \(\lambda E\) heat flux transfers can be thought of as being in series and represented as in:

TSEB resistance network in series

In the TSEB scheme \(\lambda E\) is usually estimated as a residual of the surface energy balance:

\[\begin{split}\lambda{}E_{S}&\approx R_{n,S}-G-H_{S}\\ \lambda{}E_{C}&\approx R_{n,C}-H_{C}\end{split}\]

with

\[\begin{split}H&=H_C+H_S\\ &=\rho_{air} C_{p}\frac{T_{AC}-T_{A}}{r_{a}}\\ H_{C}&=\rho_{air} C_{p}\frac{T_{C}-T_{AC}}{r_{x}}\\ H_{S}&=\rho_{air} C_{p}\frac{T_{S}-T_{AC}}{r_{s}}\end{split}\]

In the above equations \(\rho_{air}\) is the density of air, \(C_{p}\) is the heat capacity of air at constant pressure, \(T_{AC}\) is the air temperature at the canopy interface:

\[T_{AC}=\frac{\frac{T_A}{r_a}+\frac{T_C}{r_x}+\frac{T_S}{r_s}}{\frac{1}{r_a}+\frac{1}{r_x}+\frac{1}{r_s}}\]

\(T_C\) and \(T_S\) are related to the directional radiometric temperature \(T_{rad}\left(\theta\right)\) by

\[\sigma T_{rad}^4\left(\theta\right)=f_c\left(\theta\right)\sigma\,T_{C}^4+\left[1-f_{c}\left(\theta\right)\right]\sigma\,T_{S}^4\]

with \(f_c\left(\theta\right)\) representing the fraction of vegetation observed by a sensor pointing at a zenith angle \(\theta\)

\[f_c\left(\theta\right)=1-\exp\left[-\kappa_{be}\left(\theta\right)\mathrm{LAI}\right]\]

and \(\kappa_{be}\left(\theta\right)=\frac{\sqrt{\chi^2+\tan^2\theta}}{\chi+1.774\left(\chi+1.182\right)^{-0.733}}\) being the extinction coefficient of a canopy with a leaf angle distribution function defined by the Cambpell 1990 \(\chi\) parameter.

\(r_{a}\), \(r_{x}\) and \(r_{s}\) are the resistances to heat and momentum transfer in the surface layer, from the leaf canopy and from the soil surface respectively.

Contents

Use of the Notebooks’ GUI for running pyTSEB

Prepare the data

ProcessLocalImage.ipynb
Main input image

The main input data in this case is an image containing the radiometric temperature(s). Any GDAL compatible raster format should work except those based on datasets (i.e. HDF, netCDF, etc.). The input temperature data should be in Kelvin. Depending on the TSEB model to use you have to be sure to include in the raster the following bands (in the given order):

  • Priestley-Taylor TSEB (TSEB-PT)
    1. Radiometric surface temperature
  • Dual-Time Difference TSEB (DTD)
    1. Radiometric surface temperature around noon
    2. Radiometric surface temperature around sunrise
  • Composite temperatures TSEB( TSEB-2T)
    1. Canopy temperature
    2. Soil temperature
Ancillary input

The following variables can be provided either in an image format, in which case their size should exactly match the size of the temperature images, or as a single constant value to use in the whole scene

  • Effective Leaf Area Index
  • View Zenith Angle (degrees)
  • Vegetation fractional cover, fc (0-1)
  • Canopy height (m)
  • Canopy width-to-height ratio (w/hc)
  • Vegetation green fraction, fg (0-1)

The Processing mask is also optional, and if provided only the pixels with a mask value >0 will be processed.

ProcessPointTimeSeries.ipynb

All the input information in the point time series versions must be provided in an ASCI (text) file containing a tab (”\t”) delimited table. The first row of the table should contain column headers and at least the following field names should be included (case sensitive):

  • TSEB-PT : Year, DOY, Time, Trad, VZA, Ta, u, ea, Sdn, LAI & hc
  • DTD : Year, DOY, Time, Trad_0, Trad, VZA, Ta_0, Ta, u, ea, Sdn, LAI & hc
  • TSEB-2T : Year, DOY, Time, Tc, Ts, Ta, u, ea, Sdn, LAI & hc

The order of the columns is not relevant, and neither whether there are additional columns in the table (they will be ignored if their names do not match any of the possible input variables).

  • Year: Year (YYYY)
  • DOY: Day of the Year (0-366)
  • Time: Decimal local-solar time (hrs), use the stdlong parameter to set the time zone
  • Trad: Radiometric composite temperature (Kelvin)
  • Trad_0: Radiometric composite temperature near sunrise (Kelvin). OPTIONAL, only needed for DTD model.
  • Tc: Canopy component temperature (Kelvin). OPTIONAL only needed for the TSEB-2T model
  • Ts: Soil component temperature (Kelvin). OPTIONAL only needed for the TSEB-2T model
  • VZA: View Zenith Angle (Degrees)
  • SZA: Solar Zenith Angle (Degrees). OPTIONAL, will be estimated otherwise
  • SAA: Solar Azimuth Angle (Degrees). OPTIONAL, will be estimated otherwise
  • Ta: Air temperature (Kelvin)
  • Ta_0: Air temperature near sunrise (Kelvin). OPTIONAL only needed for DTD model
  • u: Wind speed (m/s)
  • ea: Vapor pressure (mb)
  • p: Atmospheric pressure (mb). OPTIONAL, will be estimated otherwise
  • Sdn: Incoming shortwave irradiance (W/m2)
  • Ldn: Incoming longwave irradiance (W/m2). OPTIONAL will be estimated otherwise
  • LAI: Effective Leaf Area Index (m2/m2)
  • hc: Canopy height (m)
  • fc: Vegetation fractional cover (0-1). OPTIONAL, will be set to full cover (fc=1) otherwise
  • fg: Vegetation green fraction (0-1). OPTIONAL, will be set to full green vegetation (fg=1) otherwise
  • wc: Canopy with to height ratio (m/m). OPTIONAL, will be set to spherical/squared canopies (wc=1) otherwise
  • G: Soil heat flux (W/m2). OPTIONAL, will be estimated otherwise

If any of those additional variables are not found in the table they will be internally estimated by TSEB or default values will be used.

Configure the TSEB run

Load or save a configuration file

A configuration file contains all the information required by pyTSEB to run without further user interaction, for instance by running MAIN_TSEB_LocalImage.py or MAIN_TSEB_PointTimeSeries.py scripts. An example of configuration file can be found here

You can load one of these configuration files to fill all or some of the inputs required in the notebook GUI. Just press the button Load Configuration File and browse to the configuration file you want to load. All the valid information in the file will be displayed in the GUI.

Likewise, after modifying or creating a pyTSEB configuration in the GUI, you can save it in a configuration file for future runs and for re-using without the need to manually add again redundant information. Press the button Save Configuration File, browse to the folder you want to store the configuration and either select an existing file (it will be overwritten) or type a new filename. A configuration file will be created and a message will appear in the notebook.

Input/Output filenames

To add input files and/or create the output files the steps are the same for both GUIs. Press the Browse ... button to load the open/save file dialog and browse to the file. You can also directly type the path to the file in the text box.

In the case of the optional inputs for the image version, you can also type in the text box a number (use ‘.’ as decimals) to use a constant value for the whole scene.

pyTSEB parametrization

Finally, a set of tabs are displayed to configure additional parameters in pyTSEB. Before running pyTSEB it is recommended to check through all the tabs to ensure that all the values are correct.

  • TSEB Model: to choose which TSEB model is going to be run, click on the button with the model name you want. Also remember that the input data has to be prepared for this type of model run, e.g. TSEB-2T needs as inputs canopy and soil temperature, see Prepare the data
  • Site Description: introduce the site area coordinates (latitude and logitude in decimal degrees), the altitude above mean sea level (meters), the time zone used in the time information, and the height of measurement of wind speed and air temperature. Lat and lon are used to estimate solar angles together with observation time and time zone, if solar angles are missing in the input. The altitude is used to estimate barometric pressure if missing. Measurement heights are used for wind profile estimation and to calculate resistances to heat transport.
  • Meteorology: only needed in the image GUI as meteo must be included as input for running a point time series. Day of the Year and decimal time are used to estimate solar angles as well as soil heat flux if the Santanello and Friedl model is used in G computation. If DTD is selected be aware to also include the air temperature close to sunrise (time 0). LW irradiance and pressure are optional, you can leave either of these cells blank to let pyTSEB compute them.
  • Spectral Properties: set the bihemispherical reflectance and transmittance of individual leaves and the reflectance of the soil background. Set these properties for the PAR region (400-700nm) and for the NIR (700-2500nm). Also set the broadband hemispherical emissivity of leaves and soil.
  • Canopy Description: max alphaPT sets the a priori Priestley-Taylor parameter for potential canopy transpiration (default=1.26). LIDF param. sets the Chi parameter of the Campbell’s ellipsoidal leaf inclination distribution function (default Chi=1 for spherical leaves) used to estimate radiation transmission through the canopy. Leaf width sets the characteristic size of the leaves used for estimating the canopy boundary resistance. Soil roughness sets the surface aerodynamic roughness for the bare soil, used in the estimation of the wind profile near the soil surface. Land cover type is used to estimate surface roughness: if CROPS or GRASS (lc=2 and 11) a simple ratio of the canopy height is used, if BROADLEAVED, CONIFER, or SHRUB (3,4 and 5 respectively), pyTSEB uses the Schaudt & Dickinson (2000) method, based on LAI, fc, and hc. Check Canopy in Rows to calculate radiation partitioning in row crops. In that case you also have to provide the predominant row crop direction (degrees) and the height of the first living branch as a ratio of the total canopy height (hb=0 if canopy starts at the soil level).
  • Resistance model: select which model to use in estimating the canopy boundary and soil resistances to heat and momentum transport. If Kustas and Norman 1999 model is selected you can also change the empirical coefficients used in Rx and Rs.
  • Additional options: set how soil heat flux is estimated. If Ratio of soil net radiation is used then a fixed ratio of the Rn_soil is applied (G=Gratio*Rn_soil, Gratio=0.35 by default). If Constant or measured value is selected the model will force G to be either the value typed in the corresponding cell (i.e. use 0 to ignore the soil heat flux in the energy balance) or, in the case of the point time series version, pyTSEB will use the values at the input table, in case a column named ‘G’ is present. If Time dependent (Santanello & Friedl) pyTSEB will estimate G as a sinusoidal time varying ratio of Rn_soil, with a maximum value corresponding to the Amplitude (default=0.35), a temporal shift from the peak of net radiation (+3h by default) and a shape (i.e. frequency, default=24h).

TSEB outputs

Once TSEB is configured we will parse all the information in the widgets and run the selected model. A progress bar will show up and once the processing is done the output files will be saved.

ProcessLocalImage.ipynb
  • < Main Output File > whose name is specified in the cell Output File, will contain the bulk estimated fluxes with the following channels:
    1. Net radiation (W m-2)
    2. Sensible heat flux (W m-2)
    3. Latent heat flux (W m-2)
    4. Soil heat flux (W m-2)
  • < Ancillary Output File > with the same name as the main input file but with a suffix _ancillary added, will contain ancillary information from TSEB with the following channels:
    1. Net shortwave radiation (W m-2)
    2. Net longwave radiation (W m-2)
    3. Canopy sensible heat flux (W m-2)
    4. Canopy latent heat flux (W m-2)
    5. Evapotrasnpiration partitioning (canopy LE/total LE)
    6. Canopy temperature (K)
    7. Soil temperature (K)
    8. Aerodynamic resistance (s m-1)
    9. Bulk canopy resistance to heat transport (s m-1)
    10. Soil resistance to heat transport (s m-1)
    11. Friction velocity (m s-1)
    12. Monin-Obukhov lenght (m)
    13. Friction velocity (m s-1)
    14. Quality Flag (unitless)
ProcessPointTimeSeries.ipynb

An ASCII table with the following variables will be written in the output text file::

Year, DOY, Time, LAI, f_g, skyl, VZA, SZA, SAA, Ldn, Rn_model, Rn_sw_veg, Rn_sw_soil, Rn_lw_veg, Rn_lw_soil, Tc, Ts, Tac, LE_model, H_model, LE_c, H_c, LE_s, H_s, flag, zo, d, G_model, R_s, R_x, R_a, u_friction, L, n_iterations

where variables with the same name as input variables have the same meaning, and for the others: skyl is the ratio of diffuse radiation, Rn_model is net radiation (W m-2; sw and lw subscripts stand for shortwave and longwave, veg and soil for canopy and soil), Tc, Ts and Tac are canopy, soil and inter-canopy-air temperatures (K), LE_model is latent heat flux and H_model is sensible heat flux (W m-2; subscripts c and s stand for canopy and soil respectively), flag is a quality flag (255==BAD), zo and d are roughness length and zero-plane displacement height (m), R_s, R_x and R_a are resistances to heat and momentum transport (s m-1), u_friction is friction velocity (m s-1), L is the Monin-Obukhov length (m) and n_iterations is the number of iterations of TSEB needed to achieve model convergence.

Quality flags

pyTSEB might produce some more unreliable data that can be tracked with the quality flags:

  • 0: Al Fluxes produced with no reduction of PT parameter (i.e. positive soil evaporation)
  • 3: negative soil evaporation, forced to zero (the PT parameter is reduced in TSEB-PT and DTD)
  • 5: No positive latent fluxes found, G recomputed to close the energy balance (G=Rn-H)
  • 255: Arithmetic error. BAD data, it should be discarded

In addition for the component temperatures TSEB (TSEB-2T):

  • 1: negative canopy latent heat flux, forced to zero
  • 2: negative canopy sensible heat flux, forced to zero
  • 4: negative soil sensible heat flux, forced to zero

Display the results

Once TSEB is executed, we can also have a first glance of the results by plotting the bulk fluxes (latent heat flux, sensible heat flux, net radiation and soil heat flux).

The point time series version produces a time series plot with the capability to zoom, pan and query the actual flux values. The image version plots 4 synchronized pseudo-colour images where you can also zoom and pan, displaying always the same area in the 4 plates. In addition you can save the figure in png format with the save disk icon.

TSEB package

Created on Apr 6 2015 @author: Hector Nieto (hnieto@ias.csic.es)

Modified on Jan 27 2016 @author: Hector Nieto (hnieto@ias.csic.es)

DESCRIPTION

This package contains the main routines inherent of Two Source Energy Balance TSEB models. Additional functions needed in TSEB, such as computing of net radiation or estimating the resistances to heat and momentum transport are imported.

PACKAGE CONTENTS

TSEB models
  • TSEB_2T() TSEB using derived/measured canopy and soil component temperatures.
  • TSEB_PT() Priestley-Taylor TSEB using a
    single observation of composite radiometric temperature.
  • DTD() Dual-Time Differenced TSEB using composite radiometric temperatures at two times:
    early morning and near afternoon.
OSEB models
  • OSEB(). One Source Energy Balance Model.
Ancillary functions
pyTSEB.TSEB.TSEB_2T(T_C, T_S, T_A_K, u, ea, p, Sn_C, Sn_S, L_dn, LAI, h_C, emis_C, emis_S, z_0M, d_0, z_u, z_T, leaf_width=0.1, z0_soil=0.01, alpha_PT=1.26, x_LAD=1.0, f_c=1.0, f_g=1.0, w_C=1.0, resistance_form=None, calcG_params=None, const_L=None, kB=0.0)[source]

TSEB using component canopy and soil temperatures.

Calculates the turbulent fluxes by the Two Source Energy Balance model using canopy and soil component temperatures that were derived or measured previously.

Parameters:
  • T_S (float) – Soil Temperature (Kelvin).
  • T_C (float) – Canopy Temperature (Kelvin).
  • T_A_K (float) – Air temperature (Kelvin).
  • u (float) – Wind speed above the canopy (m s-1).
  • ea (float) – Water vapour pressure above the canopy (mb).
  • p (float) – Atmospheric pressure (mb), use 1013 mb by default.
  • Sn_C (float) – Canopy net shortwave radiation (W m-2).
  • Sn_S (float) – Soil net shortwave radiation (W m-2).
  • L_dn (float) – Downwelling longwave radiation (W m-2)
  • LAI (float) – Effective Leaf Area Index (m2 m-2).
  • h_C (float) – Canopy height (m).
  • z_0M (float) – Aerodynamic surface roughness length for momentum transfer (m).
  • d_0 (float) – Zero-plane displacement height (m).
  • z_u (float) – Height of measurement of windspeed (m).
  • z_T (float) – Height of measurement of air temperature (m).
  • leaf_width (float, optional) – average/effective leaf width (m).
  • z0_soil (float, optional) – bare soil aerodynamic roughness length (m).
  • alpha_PT (float, optional) – Priestley Taylor coeffient for canopy potential transpiration, use 1.26 by default.
  • resistance_form (int, optional) –

    Flag to determine which Resistances R_x, R_S model to use.

    • 0 [Default] Norman et al 1995 and Kustas et al 1999.
    • 1 : Choudhury and Monteith 1988.
    • 2 : McNaughton and Van der Hurk 1995.
  • calcG_params (list[list,float or array], optional) –

    Method to calculate soil heat flux,parameters.

    • [[1],G_ratio]: default, estimate G as a ratio of Rn_S, default Gratio=0.35.
    • [[0],G_constant] : Use a constant G, usually use 0 to ignore the computation of G.
    • [[2,Amplitude,phase_shift,shape],time] : estimate G from Santanello and Friedl with
      G_param list of parameters (see calc_G_time_diff()).
  • const_L (float or None, optional) – If included, its value will be used to force the Moning-Obukhov stability length.
Returns:

  • flag (int) – Quality flag, see Appendix for description.
  • T_AC (float) – Air temperature at the canopy interface (Kelvin).
  • LE_C (float) – Canopy latent heat flux (W m-2).
  • H_C (float) – Canopy sensible heat flux (W m-2).
  • LE_S (float) – Soil latent heat flux (W m-2).
  • H_S (float) – Soil sensible heat flux (W m-2).
  • G (float) – Soil heat flux (W m-2).
  • R_S (float) – Soil aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk canopy aerodynamic resistance to heat transport (s m-1).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • u_friction (float) – Friction velocity (m s-1).
  • L (float) – Monin-Obuhkov length (m).
  • n_iterations (int) – number of iterations until convergence of L.

References

[Kustas1997]Kustas, W. P., and J. M. Norman (1997), A two-source approach for estimating turbulent fluxes using multiple angle thermal infrared observations, Water Resour. Res., 33(6), 1495-1508, http://dx.doi.org/10.1029/97WR00704.
pyTSEB.TSEB.TSEB_PT(Tr_K, vza, T_A_K, u, ea, p, Sn_C, Sn_S, L_dn, LAI, h_C, emis_C, emis_S, z_0M, d_0, z_u, z_T, leaf_width=0.1, z0_soil=0.01, alpha_PT=1.26, x_LAD=1, f_c=1.0, f_g=1.0, w_C=1.0, resistance_form=[0, {}], calcG_params=[[1], 0.35], const_L=None, kB=0.0)[source]

Priestley-Taylor TSEB

Calculates the Priestley Taylor TSEB fluxes using a single observation of composite radiometric temperature and using resistances in series.

Parameters:
  • Tr_K (float) – Radiometric composite temperature (Kelvin).
  • vza (float) – View Zenith Angle (degrees).
  • T_A_K (float) – Air temperature (Kelvin).
  • u (float) – Wind speed above the canopy (m s-1).
  • ea (float) – Water vapour pressure above the canopy (mb).
  • p (float) – Atmospheric pressure (mb), use 1013 mb by default.
  • Sn_C (float) – Canopy net shortwave radiation (W m-2).
  • Sn_S (float) – Soil net shortwave radiation (W m-2).
  • L_dn (float) – Downwelling longwave radiation (W m-2).
  • LAI (float) – Effective Leaf Area Index (m2 m-2).
  • h_C (float) – Canopy height (m).
  • emis_C (float) – Leaf emissivity.
  • emis_S (flaot) – Soil emissivity.
  • z_0M (float) – Aerodynamic surface roughness length for momentum transfer (m).
  • d_0 (float) – Zero-plane displacement height (m).
  • z_u (float) – Height of measurement of windspeed (m).
  • z_T (float) – Height of measurement of air temperature (m).
  • leaf_width (float, optional) – average/effective leaf width (m).
  • z0_soil (float, optional) – bare soil aerodynamic roughness length (m).
  • alpha_PT (float, optional) – Priestley Taylor coeffient for canopy potential transpiration, use 1.26 by default.
  • x_LAD (float, optional) – Campbell 1990 leaf inclination distribution function chi parameter.
  • f_c (float, optional) – Fractional cover.
  • f_g (float, optional) – Fraction of vegetation that is green.
  • w_C (float, optional) – Canopy width to height ratio.
  • resistance_form (int, optional) –

    Flag to determine which Resistances R_x, R_S model to use.

    • 0 [Default] Norman et al 1995 and Kustas et al 1999.
    • 1 : Choudhury and Monteith 1988.
    • 2 : McNaughton and Van der Hurk 1995.
  • calcG_params (list[list,float or array], optional) –

    Method to calculate soil heat flux,parameters.

    • [[1],G_ratio]: default, estimate G as a ratio of Rn_S, default Gratio=0.35.
    • [[0],G_constant] : Use a constant G, usually use 0 to ignore the computation of G.
    • [[2,Amplitude,phase_shift,shape],time] : estimate G from Santanello and Friedl with
      G_param list of parameters (see calc_G_time_diff()).
  • const_L (float or None, optional) – If included, its value will be used to force the Moning-Obukhov stability length.
Returns:

  • flag (int) – Quality flag, see Appendix for description.
  • T_S (float) – Soil temperature (Kelvin).
  • T_C (float) – Canopy temperature (Kelvin).
  • T_AC (float) – Air temperature at the canopy interface (Kelvin).
  • L_nS (float) – Soil net longwave radiation (W m-2)
  • L_nC (float) – Canopy net longwave radiation (W m-2)
  • LE_C (float) – Canopy latent heat flux (W m-2).
  • H_C (float) – Canopy sensible heat flux (W m-2).
  • LE_S (float) – Soil latent heat flux (W m-2).
  • H_S (float) – Soil sensible heat flux (W m-2).
  • G (float) – Soil heat flux (W m-2).
  • R_S (float) – Soil aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk canopy aerodynamic resistance to heat transport (s m-1).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • u_friction (float) – Friction velocity (m s-1).
  • L (float) – Monin-Obuhkov length (m).
  • n_iterations (int) – number of iterations until convergence of L.

References

[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
[Kustas1999]William P Kustas, John M Norman, Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.
pyTSEB.TSEB.DTD(Tr_K_0, Tr_K_1, vza, T_A_K_0, T_A_K_1, u, ea, p, Sn_C, Sn_S, L_dn, LAI, h_C, emis_C, emis_S, z_0M, d_0, z_u, z_T, leaf_width=0.1, z0_soil=0.01, alpha_PT=1.26, x_LAD=1, f_c=1.0, f_g=1.0, w_C=1.0, resistance_form=[0, {}], calcG_params=[[1], 0.35], calc_Ri=True, kB=0.0)[source]

Calculate daytime Dual Time Difference TSEB fluxes

Parameters:
  • Tr_K_0 (float) – Radiometric composite temperature around sunrise(Kelvin).
  • Tr_K_1 (float) – Radiometric composite temperature near noon (Kelvin).
  • vza (float) – View Zenith Angle near noon (degrees).
  • T_A_K_0 (float) – Air temperature around sunrise (Kelvin).
  • T_A_K_1 (float) – Air temperature near noon (Kelvin).
  • u (float) – Wind speed above the canopy (m s-1).
  • ea (float) – Water vapour pressure above the canopy (mb).
  • p (float) – Atmospheric pressure (mb), use 1013 mb by default.
  • Sn_C (float) – Canopy net shortwave radiation (W m-2).
  • Sn_S (float) – Soil net shortwave radiation (W m-2).
  • L_dn (float) – Downwelling longwave radiation (W m-2).
  • LAI (float) – Effective Leaf Area Index (m2 m-2).
  • h_C (float) – Canopy height (m).
  • emis_C (float) – Leaf emissivity.
  • emis_S (flaot) – Soil emissivity.
  • z_0M (float) – Aerodynamic surface roughness length for momentum transfer (m).
  • d_0 (float) – Zero-plane displacement height (m).
  • z_u (float) – Height of measurement of windspeed (m).
  • z_T (float) – Height of measurement of air temperature (m).
  • leaf_width (Optional[float]) – average/effective leaf width (m).
  • z0_soil (Optional[float]) – bare soil aerodynamic roughness length (m).
  • alpha_PT (Optional[float]) – Priestley Taylor coeffient for canopy potential transpiration, use 1.26 by default.
  • x_LAD (Optional[float]) – Campbell 1990 leaf inclination distribution function chi parameter.
  • f_c (Optiona;[float]) – Fractional cover.
  • f_g (Optional[float]) – Fraction of vegetation that is green.
  • w_C (Optional[float]) – Canopy width to height ratio.
  • resistance_form (int, optional) –

    Flag to determine which Resistances R_x, R_S model to use.

    • 0 [Default] Norman et al 1995 and Kustas et al 1999.
    • 1 : Choudhury and Monteith 1988.
    • 2 : McNaughton and Van der Hurk 1995.
  • calcG_params (list[list,float or array], optional) –

    Method to calculate soil heat flux,parameters.

    • [[1],G_ratio]: default, estimate G as a ratio of Rn_S, default Gratio=0.35.
    • [[0],G_constant] : Use a constant G, usually use 0 to ignore the computation of G.
    • [[2,Amplitude,phase_shift,shape],time] : estimate G from Santanello and Friedl with
      G_param list of parameters (see calc_G_time_diff()).
  • calc_Ri (float or None, optional) – If included, its value will be used to force the Richardson Number.
Returns:

  • flag (int) – Quality flag, see Appendix for description.
  • T_S (float) – Soil temperature (Kelvin).
  • T_C (float) – Canopy temperature (Kelvin).
  • T_AC (float) – Air temperature at the canopy interface (Kelvin).
  • L_nS (float) – Soil net longwave radiation (W m-2).
  • L_nC (float) – Canopy net longwave radiation (W m-2).
  • LE_C (float) – Canopy latent heat flux (W m-2).
  • H_C (float) – Canopy sensible heat flux (W m-2).
  • LE_S (float) – Soil latent heat flux (W m-2).
  • H_S (float) – Soil sensible heat flux (W m-2).
  • G (float) – Soil heat flux (W m-2).
  • R_S (float) – Soil aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk canopy aerodynamic resistance to heat transport (s m-1).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • u_friction (float) – Friction velocity (m s-1).
  • L (float) – Monin-Obuhkov length (m).
  • Ri (float) – Richardson number.
  • n_iterations (int) – number of iterations until convergence of L.

References

[Norman2000]Norman, J. M., W. P. Kustas, J. H. Prueger, and G. R. Diak (2000), Surface flux estimation using radiometric temperature: A dual-temperature-difference method to minimize measurement errors, Water Resour. Res., 36(8), 2263-2274, http://dx.doi.org/10.1029/2000WR900033.
[Guzinski2015]Guzinski, R., Nieto, H., Stisen, S., and Fensholt, R. (2015) Inter-comparison of energy balance and hydrological models for land surface energy flux estimation over a whole river catchment, Hydrol. Earth Syst. Sci., 19, 2017-2036, http://dx.doi.org/10.5194/hess-19-2017-2015.
pyTSEB.TSEB.OSEB(Tr_K, T_A_K, u, ea, p, Sn, L_dn, emis, z_0M, d_0, z_u, z_T, calcG_params=[[1], 0.35], const_L=None, T0_K=[], kB=0.0)[source]

Calulates bulk fluxes from a One Source Energy Balance model

Parameters:
  • Tr_K (float) – Radiometric composite temperature (Kelvin).
  • T_A_K (float) – Air temperature (Kelvin).
  • u (float) – Wind speed above the canopy (m s-1).
  • ea (float) – Water vapour pressure above the canopy (mb).
  • p (float) – Atmospheric pressure (mb), use 1013 mb by default.
  • S_n (float) – Solar irradiance (W m-2).
  • L_dn (float) – Downwelling longwave radiation (W m-2)
  • emis (float) – Surface emissivity.
  • albedo (float) – Surface broadband albedo.
  • z_0M (float) – Aerodynamic surface roughness length for momentum transfer (m).
  • d_0 (float) – Zero-plane displacement height (m).
  • z_u (float) – Height of measurement of windspeed (m).
  • z_T (float) – Height of measurement of air temperature (m).
  • calcG_params (list[list,float or array], optional) –

    Method to calculate soil heat flux,parameters.

    • [[1],G_ratio]: default, estimate G as a ratio of Rn_S, default Gratio=0.35.
    • [[0],G_constant] : Use a constant G, usually use 0 to ignore the computation of G.
    • [[2,Amplitude,phase_shift,shape],time] : estimate G from Santanello and Friedl with
      G_param list of parameters (see calc_G_time_diff()).
  • const_L (Optional[float]) – If included, its value will be used to force the Moning-Obukhov stability length.
  • T0_K (Optional[tuple(float,float)]) – If given it contains radiometric composite temperature (K) at time 0 as the first element and air temperature (K) at time 0 as the second element, in order to derive differential temperatures like is done in DTD
Returns:

  • flag (int) – Quality flag, see Appendix for description.
  • Ln (float) – Net longwave radiation (W m-2)
  • LE (float) – Latent heat flux (W m-2).
  • H (float) – Sensible heat flux (W m-2).
  • G (float) – Soil heat flux (W m-2).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • u_friction (float) – Friction velocity (m s-1).
  • L (float) – Monin-Obuhkov length (m).
  • n_iterations (int) – number of iterations until convergence of L.

pyTSEB.TSEB.calc_F_theta_campbell(theta, F, w_C=1, Omega0=1, x_LAD=1)[source]

Calculates the fraction of vegetatinon observed at an angle.

Parameters:
  • theta (float) – Angle of incidence (degrees).
  • F (float) – Real Leaf (Plant) Area Index.
  • w_C (float) – Ratio of vegetation height versus width, optional (default = 1).
  • Omega0 (float) – Clumping index at nadir, optional (default =1).
  • x_LAD (float) – Chi parameter for the ellipsoidal Leaf Angle Distribution function, use x_LAD=1 for a spherical LAD.
Returns:

f_theta – fraction of vegetation obsserved at an angle.

Return type:

float

References

[Campbell1998]Campbell, G. S. & Norman, J. M. (1998), An introduction to environmental biophysics. Springer, New York https://archive.org/details/AnIntroductionToEnvironmentalBiophysics.
[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
pyTSEB.TSEB.calc_G(calcG_params, Rn_S, i=None)[source]
pyTSEB.TSEB.calc_G_time_diff(R_n, G_param=[12.0, 0.35, 3.0, 24.0])[source]

Estimates Soil Heat Flux as function of time and net radiation.

Parameters:
  • R_n (float) – Net radiation (W m-2).
  • G_param (tuple(float,float,float,float)) –

    tuple with parameters required (time, Amplitude,phase_shift,shape).

    time: float
    time of interest (decimal hours).
    Amplitude : float
    maximum value of G/Rn, amplitude, default=0.35.
    phase_shift : float
    shift of peak G relative to solar noon (default 3hrs before noon).
    shape : float
    shape of G/Rn, default 24 hrs.
Returns:

G – Soil heat flux (W m-2).

Return type:

float

References

[Santanello2003]Joseph A. Santanello Jr. and Mark A. Friedl, 2003: Diurnal Covariation in Soil Heat Flux and Net Radiation. J. Appl. Meteor., 42, 851-862, http://dx.doi.org/10.1175/1520-0450(2003)042<0851:DCISHF>2.0.CO;2.
pyTSEB.TSEB.calc_G_time_diff_sigmoid(R_n, G_param=[12, 0, 0.35, 10.0, 14.0, 1.0, 1.0])[source]

Estimates Soil Heat Flux as function of time and net radiation using an asymmetric sigmoid function

Parameters:
  • R_n (float) – Net radiation (W m-2).
  • G_param (tuple(float,float,float,float)) –

    tuple with parameters required (time, Amplitude,phase_shift,shape).

    time: float
    time of interest (decimal hours).
    Amplitude : float
    maximum value of G/Rn, amplitude, default=0.35.
    phase_shift : float
    shift of peak G relative to solar noon (default 3hrs after noon).
    shape : float
    shape of G/Rn, default 24 hrs.
Returns:

G – Soil heat flux (W m-2).

Return type:

float

References

[Santanello2003]Joseph A. Santanello Jr. and Mark A. Friedl, 2003: Diurnal Covariation in Soil Heat Flux and Net Radiation. J. Appl. Meteor., 42, 851-862, http://dx.doi.org/10.1175/1520-0450(2003)042<0851:DCISHF>2.0.CO;2.
pyTSEB.TSEB.calc_G_ratio(Rn_S, G_ratio=0.35)[source]

Estimates Soil Heat Flux as ratio of net soil radiation.

Parameters:
  • Rn_S (float) – Net soil radiation (W m-2).
  • G_ratio (float, optional) – G/Rn_S ratio, default=0.35.
Returns:

G – Soil heat flux (W m-2).

Return type:

float

References

[Choudhury1987]B.J. Choudhury, S.B. Idso, R.J. Reginato, Analysis of an empirical model for soil heat flux under a growing wheat crop for estimating evaporation by an infrared-temperature based energy balance equation, Agricultural and Forest Meteorology, Volume 39, Issue 4, 1987, Pages 283-297, http://dx.doi.org/10.1016/0168-1923(87)90021-9.
pyTSEB.TSEB.calc_H_C(T_C, T_A, R_A, rho, c_p)[source]

Calculates canopy sensible heat flux in a parallel resistance network.

Parameters:
  • T_C (float) – Canopy temperature (K).
  • T_A (float) – Air temperature (K).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • rho (float) – air density (kg m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
Returns:

H_C – Canopy sensible heat flux (W m-2).

Return type:

float

pyTSEB.TSEB.calc_H_C_PT(delta_R_ni, f_g, T_A_K, P, c_p, alpha)[source]

Calculates canopy sensible heat flux based on the Priestley and Taylor formula.

Parameters:
  • delta_R_ni (float) – net radiation divergence of the vegetative canopy (W m-2).
  • f_g (float) – fraction of vegetative canopy that is green.
  • T_A_K (float) – air temperature (Kelvin).
  • P (float) – air pressure (mb).
  • c_p (float) – heat capacity of moist air (J kg-1 K-1).
  • alpha (float) – the Priestley Taylor parameter.
Returns:

H_C – Canopy sensible heat flux (W m-2).

Return type:

float

References

Equation 14 in [Norman1995]

pyTSEB.TSEB.calc_H_DTD_parallel(T_R1, T_R0, T_A1, T_A0, rho, c_p, f_theta1, R_S1, R_A1, R_AC1, H_C1)[source]

Calculates the DTD total sensible heat flux at time 1 with resistances in parallel.

Parameters:
  • T_R1 (float) – radiometric surface temperature at time t1 (K).
  • T_R0 (float) – radiometric surface temperature at time t0 (K).
  • T_A1 (float) – air temperature at time t1 (K).
  • T_A0 (float) – air temperature at time t0 (K).
  • rho (float) – air density at time t1 (kg m-3).
  • cp (float) – heat capacity of moist air (J kg-1 K-1).
  • f_theta_1 (float) – fraction of radiometer field of view that is occupied by vegetative cover at time t1.
  • R_S1 (float) – resistance to heat transport from the soil surface at time t1 (s m-1).
  • R_A1 (float) – resistance to heat transport in the surface layer at time t1 (s m-1).
  • R_A1 – resistance to heat transport at the canopy interface at time t1 (s m-1).
  • H_C1 (float) – canopy sensible heat flux at time t1 (W m-2).
Returns:

H – Total sensible heat flux at time t1 (W m-2).

Return type:

float

References

[Guzinski2013]Guzinski, R., Anderson, M. C., Kustas, W. P., Nieto, H., and Sandholt, I. (2013) Using a thermal-based two source energy balance model with time-differencing to estimate surface energy fluxes with day-night MODIS observations, Hydrol. Earth Syst. Sci., 17, 2809-2825, http://dx.doi.org/10.5194/hess-17-2809-2013.
pyTSEB.TSEB.calc_H_DTD_series(T_R1, T_R0, T_A1, T_A0, rho, c_p, f_theta, R_S, R_A, R_x, H_C)[source]

Calculates the DTD total sensible heat flux at time 1 with resistances in series

Parameters:
  • T_R1 (float) – radiometric surface temperature at time t1 (K).
  • T_R0 (float) – radiometric surface temperature at time t0 (K).
  • T_A1 (float) – air temperature at time t1 (K).
  • T_A0 (float) – air temperature at time t0 (K).
  • rho (float) – air density at time t1 (kg m-3).
  • cp (float) – heat capacity of moist air (J kg-1 K-1).
  • f_theta (float) – fraction of radiometer field of view that is occupied by vegetative cover at time t1.
  • R_S (float) – resistance to heat transport from the soil surface at time t1 (s m-1).
  • R_A (float) – resistance to heat transport in the surface layer at time t1 (s m-1).
  • R_x (float) – Canopy boundary resistance to heat transport at time t1 (s m-1).
  • H_C (float) – canopy sensible heat flux at time t1 (W m-2).
Returns:

H – Total sensible heat flux at time t1 (W m-2).

Return type:

float

References

[Guzinski2014]Guzinski, R., Nieto, H., Jensen, R., and Mendiguren, G. (2014) Remotely sensed land-surface energy fluxes at sub-field scale in heterogeneous agricultural landscape and coniferous plantation, Biogeosciences, 11, 5021-5046, http://dx.doi.org/10.5194/bg-11-5021-2014.
pyTSEB.TSEB.calc_H_S(T_S, T_A, R_A, R_S, rho, c_p)[source]

Calculates soil sensible heat flux in a parallel resistance network.

Parameters:
  • T_S (float) – Soil temperature (K).
  • T_A (float) – Air temperature (K).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • R_A – Aerodynamic resistance at the soil boundary layer (s m-1).
  • rho (float) – air density (kg m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
Returns:

H_C – Canopy sensible heat flux (W m-2).

Return type:

float

References

Equation 7 in [Norman1995]

pyTSEB.TSEB.calc_T_C(T_R, T_S, f_theta)[source]

Estimates canopy temperature from the directional composite radiometric temperature.

Parameters:
  • T_R (float) – Directional Radiometric Temperature (K).
  • T_S (float) – Soil Temperature (K).
  • f_theta (float) – Fraction of vegetation observed.
Returns:

  • flag (int) – Error flag if inversion not possible (255).
  • T_C (float) – Canopy temperature (K).

References

Eq. 1 in [Norman1995]

pyTSEB.TSEB.calc_T_C_series(Tr_K, T_A_K, R_A, R_x, R_S, f_theta, H_C, rho, c_p)[source]

Estimates canopy temperature from canopy sensible heat flux and resistance network in series.

Parameters:
  • Tr_K (float) – Directional Radiometric Temperature (K).
  • T_A_K (float) – Air Temperature (K).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk aerodynamic resistance to heat transport at the canopy boundary layer (s m-1).
  • R_S (float) – Aerodynamic resistance to heat transport at the soil boundary layer (s m-1).
  • f_theta (float) – Fraction of vegetation observed.
  • H_C (float) – Sensible heat flux of the canopy (W m-2).
  • rho (float) – Density of air (km m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
Returns:

T_C – Canopy temperature (K).

Return type:

float

References

Eqs. A5-A13 in [Norman1995]

pyTSEB.TSEB.calc_T_CS_Norman(F, vza_n, vza_f, T_n, T_f, w_C=1, x_LAD=1, omega0=1)[source]

Estimates canopy and soil temperature by analytical inversion of Eq 1 in [Norman1995] of two directional radiometric observations. Ignoring shawows.

Parameters:
  • F (float) – Real Leaf (Plant) Area Index.
  • vza_n (float) – View Zenith Angle during the nadir observation (degrees).
  • vza_f (float) – View Zenith Angle during the oblique observation (degrees).
  • T_n (float) – Radiometric temperature in the nadir obsevation (K).
  • T_f (float) – Radiometric temperature in the oblique observation (K).
  • w_C (float,optional) – Canopy height to width ratio, use w_C=1 by default.
  • x_LAD (float,optional) – Chi parameter for the ellipsoildal Leaf Angle Distribution function of Campbell 1988 [default=1, spherical LIDF].
  • omega0 (float,optional) – Clumping index at nadir, use omega0=1 by default.
Returns:

  • T_C (float) – Canopy temperature (K).
  • T_S (float) – Soil temperature (K).

References

inversion of Eq. 1 in [Norman1995]

pyTSEB.TSEB.calc_T_CS_4SAIL(LAI, lidf, hotspot, Eo_n, Eo_f, L_sky, sza_n, sza_f, vza_n, vza_f, psi_n, psi_f, e_v, e_s)[source]

Estimates canopy and soil temperature by analytical inversion of 4SAIL (Eq. 12 in [Verhoef2007]) of two directional radiometric observations. Ignoring shadows.

Parameters:
  • LAI (float) – Leaf (Plant) Area Index.
  • lidf (list) – Campbell 1988 Leaf Inclination Distribution Function, default 5 degrees angle step.
  • hotspot (float) – hotspot parameters, use 0 to ignore the hotspot effect (turbid medium).
  • Eo_n (float) – Surface land Leaving thermal radiance (emitted thermal radiation). at the nadir observation (W m-2).
  • Eo_f (float) – Surface land Leaving thermal radiance (emitted thermal radiation) at the oblique observation (W m-2).
  • L_dn (float) – Broadband incoming longwave radiation (W m-2).
  • sza_n (float) – Sun Zenith Angle during the nadir observation (degrees).
  • sza_f (float) – Sun Zenith Angle during the oblique observation (degrees).
  • vza_n (float) – View Zenith Angle during the nadir observation (degrees).
  • vza_f (float) – View Zenith Angle during the oblique observation (degrees).
  • psi_n (float) – Relative (sensor-sun) Azimuth Angle during the nadir observation (degrees).
  • psi_f (float) – Relative (sensor-sun) Azimuth Angle during the oblique observation (degrees).
  • e_v (float) – broadband leaf emissivity.
  • e_s (float) – broadband soil emissivity.
Returns:

  • T_C_K (float) – Canopy temperature (K).
  • T_S_K (float) – Soil temperature (K).

References

[Verhoef2007](1, 2) Verhoef, W.; Jia, Li; Qing Xiao; Su, Z., (2007) Unified Optical-Thermal Four-Stream Radiative Transfer Theory for Homogeneous Vegetation Canopies, IEEE Transactions on Geoscience and Remote Sensing, vol.45, no.6, pp.1808-1822, http://dx.doi.org/10.1109/TGRS.2007.895844 based on in Verhoef et al. (2007)
pyTSEB.TSEB.calc_4SAIL_emission_param(LAI, hotspot, lidf, sza, vza, psi, rho_v, rho_s, tau_v=0.0)[source]

Calculates the effective surface reflectance, and emissivities for soil and canopy using 4SAIL.

Parameters:
  • LAI (float) – Leaf (Plant) Area Index.
  • hotspot (float) – hotspot parameters, use 0 to ignore the hotspot effect (turbid medium).
  • lidf (list) – Campbell 1988 Leaf Inclination Distribution Function, 5 angle step.
  • sza (float) – Sun Zenith Angle during the nadir observation (degrees).
  • vza (float) – View Zenith Angle during the nadir observation (degrees).
  • psi (float) – Relative (sensor-sun) Azimuth Angle during the nadir observation (degrees).
  • psi_f (float) – Relative (sensor-sun) Azimuth Angle during the oblique observation (degrees).
  • rho_v (float) – leaf reflectance (1-leaf emissivity).
  • rho_s (float) – soil emissivity (1-soil emissivity).
  • tau_v (float) – leaf transmittance (default zero transmittance in the TIR).
Returns:

  • rdot_star (float) – surface effective reflectance.
  • emiss_v_eff (float) – canopy effective emissivity.
  • emiss_s_eff (float) – soil effective emissivity.
  • gamma_sot (float) – directional canopy absortivity.
  • emiss_sot (float) – directional canopy emissivity.

References

Equations 5, 11, and 13 in [Verhoef2007]

pyTSEB.TSEB.calc_T_S(T_R, T_C, f_theta)[source]

Estimates soil temperature from the directional LST.

Parameters:
  • T_R (float) – Directional Radiometric Temperature (K).
  • T_C (float) – Canopy Temperature (K).
  • f_theta (float) – Fraction of vegetation observed.
Returns:

  • flag (float) – Error flag if inversion not possible (255).
  • T_S (float) – Soil temperature (K).

References

Eq. 1 in [Norman1995]

pyTSEB.TSEB.calc_T_S_4SAIL(T_R, T_C, rdot_star, emiss_v_eff, emiss_s_eff, L_dn=0)[source]

Estimates canopy temperature from the directional LST using 4SAIL parameters.

Parameters:
  • T_R (float) – Directional Radiometric Temperature (K)
  • T_S (float) – Soil Temperature (K)
  • rdot_star (float) – surface effective reflectance
  • emiss_v_eff (float) – canopy effective emissivity
  • emiss_s_eff (float) – soil effective emissivity
  • L_dn (float) – downwelling atmospheric longwave radiance (W m-2)
Returns:

  • flag (int) – Error flag if inversion not possible (255).
  • T_S (float) – Soil temperature (K).

pyTSEB.TSEB.calc_T_S_series(Tr_K, T_A_K, R_A, R_x, R_S, f_theta, H_S, rho, c_p)[source]

Estimates soil temperature from soil sensible heat flux and resistance network in series.

Parameters:
  • Tr_K (float) – Directional Radiometric Temperature (K).
  • T_A_K (float) – Air Temperature (K).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk aerodynamic resistance to heat transport at the canopy boundary layer (s m-1).
  • R_S (float) – Aerodynamic resistance to heat transport at the soil boundary layer (s m-1).
  • f_theta (float) – Fraction of vegetation observed.
  • H_S (float) – Sensible heat flux of the soil (W m-2).
  • rho (float) – Density of air (km m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
Returns:

  • T_S (float) – Soil temperature (K).
  • T_C (float) – Air temperature at the canopy interface (K).

References

Eqs. A15-A19 from [Norman1995]

pyTSEB.TSEB.calc_resistances(res_form, res_types)[source]

Calculate the aerodynamic resistances: R_A, R_x and R_S.

Parameters:
  • res_form (int) – Constant specifying which resistance formulation to use: KUSTAS_NORMAN_1999 (0), CHOUDHURY_MONTEITH_1988 (1), MCNAUGHTON_VANDERHURK (2), CHOUDHURY_MONTEITH_ALPHA_1988(3) If the constant is not any of the above then KUSTAS_NORMAN_1999 is used.
  • res_types (Dictionary of dictionaries) –

    Dictionary specifying which of the three resistances to calculate. For each resistance to calculate the dictionary must contain a key-value pair with the key being the name of the resistance and value being another dictionary with all the parameters required to calculate the given resistance. Key: R_A R_A Parameters: ‘z_T’, ‘u_friction’, ‘L’, ‘d_0’, ‘z_0H’ Key: R_x R_x Parameters: ‘u_friction’, ‘h_C’, ‘d_0’, ‘z_0M’, ‘L’, ‘F’, ‘LAI’,

    ’leaf_width’, ‘res_params’

    Key: R_S R_S Parameters: ‘u_friction’, ‘h_C’, ‘d_0’, ‘z_0M’, ‘L’, ‘omega0’, ‘F’,

    ’leaf_width’, ‘z0_soil’, ‘z_u’, ‘deltaT’, ‘res_params’
Returns:

  • R_A (float array or None) – Aerodyamic resistance to heat transport in the surface layer (s m-1)
  • R_x (float array or None) – Aerodynamic resistance at the canopy boundary layer (s m-1)
  • R_S (float array or None) – Aerodynamic resistance at the soil boundary layer (s m-1)

net_radiation package

Created on Apr 6 2015 @author: Hector Nieto (hnieto@ias.csic.es).

Modified on Jan 27 2016 @author: Hector Nieto (hnieto@ias.csic.es).

DESCRIPTION

This package contains functions for estimating the net shortwave and longwave radiation for soil and canopy layers. Additional packages needed are.

PACKAGE CONTENTS

pyTSEB.net_radiation.calc_difuse_ratio(S_dn, sza, press=1013.25, SOLAR_CONSTANT=1320)[source]

Fraction of difuse shortwave radiation.

Partitions the incoming solar radiation into PAR and non-PR and diffuse and direct beam component of the solar spectrum.

Parameters:
  • S_dn (float) – Incoming shortwave radiation (W m-2).
  • sza (float) – Solar Zenith Angle (degrees).
  • Wv (float, optional) – Total column precipitable water vapour (g cm-2), default 1 g cm-2.
  • press (float, optional) – atmospheric pressure (mb), default at sea level (1013mb).
Returns:

  • difvis (float) – diffuse fraction in the visible region.
  • difnir (float) – diffuse fraction in the NIR region.
  • fvis (float) – fration of total visible radiation.
  • fnir (float) – fraction of total NIR radiation.

References

[Weiss1985]Weiss and Norman (1985) Partitioning solar radiation into direct and diffuse, visible and near-infrared components, Agricultural and Forest Meteorology, Volume 34, Issue 2, Pages 205-213, http://dx.doi.org/10.1016/0168-1923(85)90020-6.
pyTSEB.net_radiation.calc_emiss_atm(ea, t_a_k)[source]

Atmospheric emissivity

Estimates the effective atmospheric emissivity for clear sky.

Parameters:
  • ea (float) – atmospheric vapour pressure (mb).
  • t_a_k (float) – air temperature (Kelvin).
Returns:

emiss_air – effective atmospheric emissivity.

Return type:

float

References

[Brutsaert1975]Brutsaert, W. (1975) On a derivable formula for long-wave radiation from clear skies, Water Resour. Res., 11(5), 742-744, htpp://dx.doi.org/10.1029/WR011i005p00742.
pyTSEB.net_radiation.calc_longwave_irradiance(ea, t_a_k, p=1013.25, z_T=2.0, h_C=2.0)[source]

Longwave irradiance

Estimates longwave atmospheric irradiance from clear sky. By default there is no lapse rate correction unless air temperature measurement height is considerably different than canopy height, (e.g. when using NWP gridded meteo data at blending height)

Parameters:
  • ea (float) – atmospheric vapour pressure (mb).
  • t_a_k (float) – air temperature (K).
  • p (float) – air pressure (mb)
  • z_T (float) – air temperature measurement height (m), default 2 m.
  • h_C (float) – canopy height (m), default 2 m,
Returns:

L_dn – Longwave atmospheric irradiance (W m-2) above the canopy

Return type:

float

pyTSEB.net_radiation.calc_K_be_Campbell(theta, x_lad=1, radians=False)[source]

Beam extinction coefficient

Calculates the beam extinction coefficient based on [Campbell1998] ellipsoidal leaf inclination distribution function.

Parameters:
  • theta (float) – incidence zenith angle.
  • x_lad (float, optional) – Chi parameter for the ellipsoidal Leaf Angle Distribution function, use x_lad=1 for a spherical LAD.
  • radians (bool, optional) – Should be True if theta is in radians. Default is False.
Returns:

  • K_be (float) – beam extinction coefficient.
  • x_lad (float, optional) – x parameter for the ellipsoidal Leaf Angle Distribution function, use x_lad=1 for a spherical LAD.

References

[Campbell1998]Campbell, G. S. & Norman, J. M. (1998), An introduction to environmental biophysics. Springer, New York https://archive.org/details/AnIntroductionToEnvironmentalBiophysics.
pyTSEB.net_radiation.calc_L_n_Kustas(T_C, T_S, L_dn, lai, emisVeg, emisGrd, x_LAD=1)[source]

Net longwave radiation for soil and canopy layers

Estimates the net longwave radiation for soil and canopy layers unisg based on equation 2a from [Kustas1999] and incorporated the effect of the Leaf Angle Distribution based on [Campbell1998]

Parameters:
  • T_C (float) – Canopy temperature (K).
  • T_S (float) – Soil temperature (K).
  • L_dn (float) – Downwelling atmospheric longwave radiation (w m-2).
  • lai (float) – Effective Leaf (Plant) Area Index.
  • emisVeg (float) – Broadband emissivity of vegetation cover.
  • emisGrd (float) – Broadband emissivity of soil.
  • x_lad (float, optional) – x parameter for the ellipsoidal Leaf Angle Distribution function, use x_lad=1 for a spherical LAD.
Returns:

  • L_nC (float) – Net longwave radiation of canopy (W m-2).
  • L_nS (float) – Net longwave radiation of soil (W m-2).

References

[Kustas1999]Kustas and Norman (1999) Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.
pyTSEB.net_radiation.calc_L_n_Campbell(T_C, T_S, L_dn, lai, emisVeg, emisGrd, x_LAD=1)[source]

Net longwave radiation for soil and canopy layers

Estimates the net longwave radiation for soil and canopy layers unisg based on equation 2a from [Kustas1999] and incorporated the effect of the Leaf Angle Distribution based on [Campbell1998]

Parameters:
  • T_C (float) – Canopy temperature (K).
  • T_S (float) – Soil temperature (K).
  • L_dn (float) – Downwelling atmospheric longwave radiation (w m-2).
  • lai (float) – Effective Leaf (Plant) Area Index.
  • emisVeg (float) – Broadband emissivity of vegetation cover.
  • emisGrd (float) – Broadband emissivity of soil.
  • x_LAD (float, optional) – x parameter for the ellipsoidal Leaf Angle Distribution function, use x_LAD=1 for a spherical LAD.
Returns:

  • L_nC (float) – Net longwave radiation of canopy (W m-2).
  • L_nS (float) – Net longwave radiation of soil (W m-2).

References

[Kustas1999]Kustas and Norman (1999) Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.
pyTSEB.net_radiation.calc_potential_irradiance_weiss(sza, press=1013.25, SOLAR_CONSTANT=1320, fnir_ini=0.5455)[source]

Estimates the potential visible and NIR irradiance at the surface

Parameters:
  • sza (float) – Solar Zenith Angle (degrees)
  • press (Optional[float]) – atmospheric pressure (mb)
Returns:

  • Rdirvis (float) – Potential direct visible irradiance at the surface (W m-2)
  • Rdifvis (float) – Potential diffuse visible irradiance at the surface (W m-2)
  • Rdirnir (float) – Potential direct NIR irradiance at the surface (W m-2)
  • Rdifnir (float) – Potential diffuse NIR irradiance at the surface (W m-2)
  • based on Weiss & Normat 1985, following same strategy in Cupid’s RADIN4 subroutine.

pyTSEB.net_radiation.calc_spectra_Cambpell(lai, sza, rho_leaf, tau_leaf, rho_soil, x_lad=1, lai_eff=None)[source]

Canopy spectra

Estimate canopy spectral using the [Campbell1998] Radiative Transfer Model

Parameters:
  • lai (float) – Effective Leaf (Plant) Area Index.
  • sza (float) – Sun Zenith Angle (degrees).
  • rho_leaf (float, or array_like) – Leaf bihemispherical reflectance
  • tau_leaf (float, or array_like) – Leaf bihemispherical transmittance
  • rho_soil (float) – Soil bihemispherical reflectance
  • x_lad (float, optional) – x parameter for the ellipsoildal Leaf Angle Distribution function of Campbell 1988 [default=1, spherical LIDF].
  • lai_eff (float or None, optional) – if set, its value is the directional effective LAI to be used in the beam radiation, if set to None we assume homogeneous canopies.
Returns:

  • albb (float or array_like) – Beam (black sky) canopy albedo
  • albd (float or array_like) – Diffuse (white sky) canopy albedo
  • taubt (float or array_like) – Beam (black sky) canopy transmittance
  • taudt (float or array_like) – Beam (white sky) canopy transmittance

References

[Campbell1998]Campbell, G. S. & Norman, J. M. (1998), An introduction to environmental biophysics. Springer, New York https://archive.org/details/AnIntroductionToEnvironmentalBiophysics.
pyTSEB.net_radiation.calc_Sn_Campbell(lai, sza, S_dn_dir, S_dn_dif, fvis, fnir, rho_leaf_vis, tau_leaf_vis, rho_leaf_nir, tau_leaf_nir, rsoilv, rsoiln, x_LAD=1, LAI_eff=None)[source]

Net shortwave radiation

Estimate net shorwave radiation for soil and canopy below a canopy using the [Campbell1998] Radiative Transfer Model, and implemented in [Kustas1999]

Parameters:
  • lai (float) – Effecive Leaf (Plant) Area Index.
  • sza (float) – Sun Zenith Angle (degrees).
  • S_dn_dir (float) – Broadband incoming beam shortwave radiation (W m-2).
  • S_dn_dif (float) – Broadband incoming diffuse shortwave radiation (W m-2).
  • fvis (float) – fration of total visible radiation.
  • fnir (float) – fraction of total NIR radiation.
  • rho_leaf_vis (float) – Broadband leaf bihemispherical reflectance in the visible region (400-700nm).
  • tau_leaf_vis (float) – Broadband leaf bihemispherical transmittance in the visible region (400-700nm).
  • rho_leaf_nir (float) – Broadband leaf bihemispherical reflectance in the NIR region (700-2500nm).
  • tau_leaf_nir (float) – Broadband leaf bihemispherical transmittance in the NIR region (700-2500nm).
  • rsoilv (float) – Broadband soil bihemispherical reflectance in the visible region (400-700nm).
  • rsoiln (float) – Broadband soil bihemispherical reflectance in the NIR region (700-2500nm).
  • x_lad (float, optional) – x parameter for the ellipsoildal Leaf Angle Distribution function of Campbell 1988 [default=1, spherical LIDF].
  • LAI_eff (float or None, optional) – if set, its value is the directional effective LAI to be used in the beam radiation, if set to None we assume homogeneous canopies.
Returns:

  • Sn_C (float) – Canopy net shortwave radiation (W m-2).
  • Sn_S (float) – Soil net shortwave radiation (W m-2).

References

[Campbell1998]Campbell, G. S. & Norman, J. M. (1998), An introduction to environmental biophysics. Springer, New York https://archive.org/details/AnIntroductionToEnvironmentalBiophysics.
[Kustas1999]Kustas and Norman (1999) Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.

clumping_index package

Created on Apr 6 2015 @author: Hector Nieto (hnieto@ias.csic.es)

Modified on Mar 28 2016 @author: Hector Nieto (hnieto@ias.csic.es)

DESCRIPTION

Routines for calculating the clumping index for both randomly placed canopies and structured row crops such as vineyards.

PACKAGE CONTENTS

pyTSEB.clumping_index.calc_omega0_Kustas(LAI, f_C, x_LAD=1, isLAIeff=True)[source]

Nadir viewing clmping factor

Estimates the clumping factor forcing equal gap fraction between the real canopy and the homogeneous case, after [Kustas1999].

Parameters:
  • LAI (float) – Leaf Area Index, it can be either the effective LAI or the real LAI , default input LAI is effective.
  • f_C (float) – Apparent fractional cover, estimated from large gaps, means that are still gaps within the canopy to be quantified.
  • x_LAD (float, optional) – Chi parameter for the ellipsoildal Leaf Angle Distribution function of [Campbell1988] [default=1, spherical LIDF].
  • isLAIeff (bool, optional) – Defines whether the input LAI is effective or local.
Returns:

omega0 – clumping index at nadir.

Return type:

float

References

[Kustas1999]William P Kustas, John M Norman, Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.
[Campbell1998]Campbell, G. S. & Norman, J. M. (1998), An introduction to environmental biophysics. Springer, New York https://archive.org/details/AnIntroductionToEnvironmentalBiophysics.
pyTSEB.clumping_index.calc_omega_Kustas(omega0, theta, w_C=1)[source]

Clumping index at an incidence angle.

Estimates the clumping index for a given incidence angle assuming randomnly placed canopies.

Parameters:
  • omega0 (float) – clumping index at nadir, estimated for instance by calc_omega0_Kustas().
  • theta (float) – incidence angle (degrees).
  • w_C (float, optional) – canopy witdth to height ratio, [default = 1].
Returns:

Omega – Clumping index at an incidenc angle.

Return type:

float

References

[Kustas1999]William P Kustas, John M Norman, Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.
pyTSEB.clumping_index.calc_omega_rows(lai, f_c0, theta=0, psi=0, w_c=1, x_lad=1, is_lai_eff=True)[source]

Clumping index in row crops. Calculates the clumping index for a given incidence angle assuming structured row crops. :param lai: Leaf Area Index, it can be either the effective LAI or the real LAI

depending on isLAIeff, default input LAI is effective.
Parameters:
  • f_c0 (float) – Apparent nadir fractional cover, can be expresses as canopy width/row spacing.
  • theta (float, optional) – Incidence angle (degrees), default nadir.
  • psi (float, optional) – relative row-sun azimiuth angle
  • w_c (float, optional) – canopy witdht to height ratio, [default = 1].
  • x_lad (float, optional) – Chi parameter for the ellipsoildal Leaf Angle Distribution function of [Campbell1988] [default=1, spherical LIDF].
  • is_lai_eff (bool, optional) – Defines whether the input LAI is effective or real. [default True]
Returns:

omega – clumping index at an incidence angle.

Return type:

float

References

[Parry2018]Parry, C. K., H. Nieto, P. Guillevic, N. Agam, W. P. Kustas, J. Alfieri, L. McKee, and A. J. McElrone. An intercomparison of radiation partitioning models in vineyard canopies. Irrigation Science. Pages 1-14. https://doi.org/10.1007/s00271-019-00621-x.

MO_similarity package

Created on Apr 6 2015 @author: Hector Nieto (hnieto@ias.csic.es)

Modified on Sep 13 2016 @author: Hector Nieto (hnieto@ias.csic.es)

DESCRIPTION

This package contains the main routines for estimating variables related to the
Monin-Obukhov (MO) Similarity Theory, such as MO length, adiabatic correctors

for heat and momentum transport. It requires the following package.

PACKAGE CONTENTS

Stability correction functions
  • calc_Psi_H() Adiabatic correction factor for heat transport.
  • calc_Psi_M() Adiabatic correction factor for momentum transport.
  • CalcPhi_M_Brutsaert() [Brutsaert1992] similarity function for momentum transfer.
  • CalcPhi_H_Dyer() [Dyer1974] similarity function for heat transfer.
  • CalcPhi_M_Dyer() [Dyer1974] similarity function for momentum transfer.
pyTSEB.MO_similarity.calc_L(ustar, T_A_K, rho, c_p, H, LE)[source]

Calculates the Monin-Obukhov length.

Parameters:
  • ustar (float) – friction velocity (m s-1).
  • T_A_K (float) – air temperature (Kelvin).
  • rho (float) – air density (kg m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
  • H (float) – sensible heat flux (W m-2).
  • LE (float) – latent heat flux (W m-2).
Returns:

L – Obukhov stability length (m).

Return type:

float

References

[Brutsaert2005]Brutsaert, W. (2005). Hydrology: an introduction (Vol. 61, No. 8). Cambridge: Cambridge University Press.
pyTSEB.MO_similarity.calc_mo_length(ustar, T_A_K, rho, c_p, H)[source]

Calculates the Monin-Obukhov length.

Parameters:
  • ustar (float) – friction velocity (m s-1).
  • T_A_K (float) – air temperature (Kelvin).
  • rho (float) – air density (kg m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
  • H (float) – sensible heat flux (W m-2).
  • LE (float) – latent heat flux (W m-2).
Returns:

L – Obukhov stability length (m).

Return type:

float

References

[Brutsaert2005]Brutsaert, W. (2005). Hydrology: an introduction (Vol. 61, No. 8). Cambridge: Cambridge University Press.
pyTSEB.MO_similarity.calc_mo_length_hv(ustar, T_A_K, rho, c_p, H, LE)[source]

Calculates the Monin-Obukhov length.

Parameters:
  • ustar (float) – friction velocity (m s-1).
  • T_A_K (float) – air temperature (Kelvin).
  • rho (float) – air density (kg m-3).
  • c_p (float) – Heat capacity of air at constant pressure (J kg-1 K-1).
  • H (float) – sensible heat flux (W m-2).
  • LE (float) – latent heat flux (W m-2).
Returns:

L – Obukhov stability length (m).

Return type:

float

References

[Brutsaert2005]Brutsaert, W. (2005). Hydrology: an introduction (Vol. 61, No. 8). Cambridge: Cambridge University Press.
pyTSEB.MO_similarity.calc_Psi_H(zoL)[source]

Calculates the adiabatic correction factor for heat transport.

Parameters:zoL (float) – stability coefficient (unitless).
Returns:Psi_H – adiabatic corrector factor fof heat transport (unitless).
Return type:float

References

[Brutsaert2005]Brutsaert, W. (2005). Hydrology: an introduction (Vol. 61, No. 8). Cambridge: Cambridge University Press.
pyTSEB.MO_similarity.psi_h_dyer(zol)[source]
pyTSEB.MO_similarity.psi_h_brutsaert(zol)[source]
pyTSEB.MO_similarity.calc_Psi_M(zoL)[source]

Adiabatic correction factor for momentum transport.

Parameters:zoL (float) – stability coefficient (unitless).
Returns:Psi_M – adiabatic corrector factor fof momentum transport (unitless).
Return type:float

References

[Brutsaert2005]Brutsaert, W. (2005). Hydrology: an introduction (Vol. 61, No. 8). Cambridge: Cambridge University Press.
pyTSEB.MO_similarity.psi_m_dyer(zol)[source]
pyTSEB.MO_similarity.psi_m_brutsaert(zol)[source]
pyTSEB.MO_similarity.calc_richardson(u, z_u, d_0, T_R0, T_R1, T_A0, T_A1)[source]

Richardson number.

Estimates the Bulk Richardson number for turbulence using time difference temperatures.

Parameters:
  • u (float) – Wind speed (m s-1).
  • z_u (float) – Wind speed measurement height (m).
  • d_0 (float) – Zero-plane displacement height (m).
  • T_R0 (float) – radiometric surface temperature at time 0 (K).
  • T_R1 (float) – radiometric surface temperature at time 1 (K).
  • T_A0 (float) – air temperature at time 0 (K).
  • T_A1 (float) – air temperature at time 1 (K).
Returns:

Ri – Richardson number.

Return type:

float

References

[Norman2000]Norman, J. M., W. P. Kustas, J. H. Prueger, and G. R. Diak (2000), Surface flux estimation using radiometric temperature: A dual-temperature-difference method to minimize measurement errors, Water Resour. Res., 36(8), 2263-2274, http://dx.doi.org/10.1029/2000WR900033.
pyTSEB.MO_similarity.calc_u_star(u, z_u, L, d_0, z_0M)[source]

Friction velocity.

Parameters:
  • u (float) – wind speed above the surface (m s-1).
  • z_u (float) – wind speed measurement height (m).
  • L (float) – Monin Obukhov stability length (m).
  • d_0 (float) – zero-plane displacement height (m).
  • z_0M (float) – aerodynamic roughness length for momentum transport (m).

References

[Brutsaert2005]Brutsaert, W. (2005). Hydrology: an introduction (Vol. 61, No. 8). Cambridge: Cambridge University Press.

resistances package

Created on Apr 6 2015 @author: Hector Nieto (hnieto@ias.csic.es)

Modified on Jan 27 2016 @author: Hector Nieto (hnieto@ias.csic.es)

DESCRIPTION

This module includes functions for calculating the resistances for heat and momentum trasnport for both One- and Two-Source Energy Balance models. Additional functions needed in are imported from the following packages

PACKAGE CONTENTS

Resistances
Stomatal conductance
Estimation of roughness
pyTSEB.resistances.calc_d_0(h_C)[source]

Zero-plane displacement height

Calculates the zero-plane displacement height based on a fixed ratio of canopy height.

Parameters:h_C (float) – canopy height (m).
Returns:d_0 – zero-plane displacement height (m).
Return type:float
pyTSEB.resistances.calc_roughness(LAI, h_C, w_C=1, landcover=12, f_c=None)[source]

Surface roughness and zero displacement height for different vegetated surfaces.

Calculates the roughness using different approaches depending we are dealing with crops or grasses (fixed ratio of canopy height) or shrubs and forests,depending of LAI and canopy shape, after [Schaudt2000]

Parameters:
  • LAI (float) – Leaf (Plant) Area Index.
  • h_C (float) – Canopy height (m)
  • w_C (float, optional) – Canopy height to width ratio.
  • landcover (int, optional) – landcover type, use 11 for crops, 2 for grass, 5 for shrubs, 4 for conifer forests and 3 for broadleaved forests.
Returns:

  • z_0M (float) – aerodynamic roughness length for momentum trasport (m).
  • d (float) – Zero-plane displacement height (m).

References

[Schaudt2000]K.J Schaudt, R.E Dickinson, An approach to deriving roughness length and zero-plane displacement height from satellite data, prototyped with BOREAS data, Agricultural and Forest Meteorology, Volume 104, Issue 2, 8 August 2000, Pages 143-155, http://dx.doi.org/10.1016/S0168-1923(00)00153-2.
pyTSEB.resistances.calc_R_A(z_T, ustar, L, d_0, z_0H)[source]

Estimates the aerodynamic resistance to heat transport based on the MO similarity theory.

Parameters:
  • z_T (float) – air temperature measurement height (m).
  • ustar (float) – friction velocity (m s-1).
  • L (float) – Monin Obukhov Length for stability
  • d_0 (float) – zero-plane displacement height (m).
  • z_0M (float) – aerodynamic roughness length for momentum trasport (m).
  • z_0H (float) – aerodynamic roughness length for heat trasport (m).
Returns:

R_A – aerodyamic resistance to heat transport in the surface layer (s m-1).

Return type:

float

References

[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
pyTSEB.resistances.calc_R_S_Choudhury(u_star, h_C, z_0M, d_0, zm, z0_soil=0.01, alpha_k=2.0)[source]

Aerodynamic resistance at the soil boundary layer.

Estimates the aerodynamic resistance at the soil boundary layer based on the K-Theory model of [Choudhury1988].

Parameters:
  • u_star (float) – friction velocity (m s-1).
  • h_C (float) – canopy height (m).
  • z_0M (float) – aerodynamic roughness length for momentum trasport (m).
  • d_0 (float) – zero-plane displacement height (m).
  • zm (float) – height on measurement of wind speed (m).
  • z0_soil (float, optional) – roughness length of the soil layer, use z0_soil=0.01.
  • alpha_k (float, optional) – Heat diffusion coefficient, default=2.
Returns:

R_S – Aerodynamic resistance at the soil boundary layer (s m-1).

Return type:

float

References

[Choudhury1988]Choudhury, B. J., & Monteith, J. L. (1988). A four-layer model for the heat budget of homogeneous land surfaces. Royal Meteorological Society, Quarterly Journal, 114(480), 373-398. http://dx/doi.org/10.1002/qj.49711448006.
pyTSEB.resistances.calc_R_S_Haghighi(u, h_c, zm, rho, c_p, z0_soil=0.01, f_cover=0, w_C=1, c_d=0.2, a_r=3, a_s=5, k=0.1)[source]

Aerodynamic resistance at the soil boundary layer.

Estimates the aerodynamic resistance at the soil boundary layer based on the soil resistance formulation adapted by [Li2019].

u_star : float
friction velocity (m s-1).
h_C : float
canopy height (m).
z_0M : float
aerodynamic roughness length for momentum trasport (m).
d_0 : float
zero-plane displacement height (m).
zm : float
height on measurement of wind speed (m).
z0_soil : float, optional
roughness length of the soil layer, use z0_soil=0.01.
alpha_k : float, optional
Heat diffusion coefficient, default=2.
R_S : float
Aerodynamic resistance at the soil boundary layer (s m-1).
..[Li2019] Li, Yan, et al.
“Evaluating Soil Resistance Formulations in Thermal?Based Two?Source Energy Balance (TSEB) Model: Implications for Heterogeneous Semiarid and Arid Regions.” Water Resources Research 55.2 (2019): 1059-1078. https://doi.org/10.1029/2018WR022981.
..[Haghighi2015] Haghighi, Erfan, and Dani Or.
“Interactions of bluff-body obstacles with turbulent airflows affecting evaporative fluxes from porous surfaces.” Journal of Hydrology 530 (2015): 103-116. https://doi.org/10.1016/j.jhydrol.2015.09.048
..[Haghighi2013] Haghighi, E., and Dani Or.
“Evaporation from porous surfaces into turbulent airflows: Coupling eddy characteristics with pore scale vapor diffusion.” Water Resources Research 49.12 (2013): 8432-8442. https://doi.org/10.1002/2012WR013324.

% ————————————————————————- % Inputs | Description % ————————————————————————- % ps | mean particle size of soil [m] % n | soil pore size distribution index [-] % phi | porosity [-] % theta | soil water content [m3 m-3] % theta_res | residual water content [m3 m-3] % z_w | measurement height [m] % U | wind velocity [m s-1] % eta | vegetation cover fraction [-] =0 for bare soil % h | (cylindrical) vegettaion height [m] =0 for bare soil % d | (cylindrical) vegetation diameter [m] =0 for bare soil % ————————————————————————-

pyTSEB.resistances.calc_R_S_McNaughton(u_friction)[source]

Aerodynamic resistance at the soil boundary layer.

Estimates the aerodynamic resistance at the soil boundary layer based on the Lagrangian model of [McNaughton1995].

Parameters:u_friction (float) – friction velocity (m s-1).
Returns:R_S – Aerodynamic resistance at the soil boundary layer (s m-1)
Return type:float

References

[McNaughton1995]McNaughton, K. G., & Van den Hurk, B. J. J. M. (1995). A ‘Lagrangian’ revision of the resistors in the two-layer model for calculating the energy budget of a plant canopy. Boundary-Layer Meteorology, 74(3), 261-288. http://dx/doi.org/10.1007/BF00712121.
pyTSEB.resistances.calc_R_S_Kustas(u_S, deltaT, params=None)[source]

Aerodynamic resistance at the soil boundary layer.

Estimates the aerodynamic resistance at the soil boundary layer based on the original equations in TSEB [Kustas1999].

Parameters:
  • u_S (float) – wind speed at the soil boundary layer (m s-1).
  • deltaT (float) – Surface to air temperature gradient (K).
Returns:

R_S – Aerodynamic resistance at the soil boundary layer (s m-1).

Return type:

float

References

[Kustas1999](1, 2) William P Kustas, John M Norman, Evaluation of soil and vegetation heat flux predictions using a simple two-source model with radiometric temperatures for partial canopy cover, Agricultural and Forest Meteorology, Volume 94, Issue 1, Pages 13-29, http://dx.doi.org/10.1016/S0168-1923(99)00005-2.
pyTSEB.resistances.calc_r_ss_Haghighi(u, h_c, zm, rho, c_p, z0_soil=0.01, f_cover=0, w_c=1, theta=0.4, theta_res=0.1, phi=2.0, ps=0.001, n=0.5)[source]

Aerodynamic resistance at the soil boundary layer.

Estimates the aerodynamic resistance at the soil boundary layer based on the soil resistance formulation adapted by [Li2019].

u_star : float
friction velocity (m s-1).
h_C : float
canopy height (m).
z_0M : float
aerodynamic roughness length for momentum trasport (m).
d_0 : float
zero-plane displacement height (m).
zm : float
height on measurement of wind speed (m).
z0_soil : float, optional
roughness length of the soil layer, use z0_soil=0.01.
alpha_k : float, optional
Heat diffusion coefficient, default=2.
R_S : float
Aerodynamic resistance at the soil boundary layer (s m-1).
..[Li2019] Li, Yan, et al.
“Evaluating Soil Resistance Formulations in Thermal?Based Two?Source Energy Balance (TSEB) Model: Implications for Heterogeneous Semiarid and Arid Regions.” Water Resources Research 55.2 (2019): 1059-1078. https://doi.org/10.1029/2018WR022981.
..[Haghighi2015] Haghighi, Erfan, and Dani Or.
“Interactions of bluff-body obstacles with turbulent airflows affecting evaporative fluxes from porous surfaces.” Journal of Hydrology 530 (2015): 103-116. https://doi.org/10.1016/j.jhydrol.2015.09.048
..[Haghighi2013] Haghighi, E., and Dani Or.
“Evaporation from porous surfaces into turbulent airflows: Coupling eddy characteristics with pore scale vapor diffusion.” Water Resources Research 49.12 (2013): 8432-8442. https://doi.org/10.1002/2012WR013324.

% ————————————————————————- % Inputs | Description % ————————————————————————- % ps | mean particle size of soil [m] % n | soil pore size distribution index [-] % phi | porosity [-] % theta | soil water content [m3 m-3] % theta_res | residual water content [m3 m-3] % z_w | measurement height [m] % U | wind velocity [m s-1] % eta | vegetation cover fraction [-] =0 for bare soil % h | (cylindrical) vegettaion height [m] =0 for bare soil % d | (cylindrical) vegetation diameter [m] =0 for bare soil % ————————————————————————-

pyTSEB.resistances.calc_R_x_Choudhury(u_C, F, leaf_width, alpha_prime=3.0)[source]

Estimates aerodynamic resistance at the canopy boundary layer.

Estimates the aerodynamic resistance at the canopy boundary layer based on the K-Theory model of [Choudhury1988].

Parameters:
  • u_C (float) – wind speed at the canopy interface (m s-1).
  • F (float) – local Leaf Area Index.
  • leaf_width (float) – efective leaf width size (m).
  • alpha_prime (float, optional) – Wind exctinction coefficient, default=3.
Returns:

R_x – Aerodynamic resistance at the canopy boundary layer (s m-1).

Return type:

float

References

[Choudhury1988]Choudhury, B. J., & Monteith, J. L. (1988). A four-layer model for the heat budget of homogeneous land surfaces. Royal Meteorological Society, Quarterly Journal, 114(480), 373-398. http://dx/doi.org/10.1002/qj.49711448006.
pyTSEB.resistances.calc_R_x_McNaughton(F, leaf_width, u_star)[source]

Estimates aerodynamic resistance at the canopy boundary layer.

Estimates the aerodynamic resistance at the canopy boundary layer based on the Lagrangian model of [McNaughton1995].

Parameters:
  • F (float) – local Leaf Area Index.
  • leaf_width (float) – efective leaf width size (m).
  • u_d_zm (float) – wind speed at the height of momomentum source-sink.
Returns:

R_x – Aerodynamic resistance at the canopy boundary layer (s m-1).

Return type:

float

References

[McNaughton1995]McNaughton, K. G., & Van den Hurk, B. J. J. M. (1995). A ‘Lagrangian’ revision of the resistors in the two-layer model for calculating the energy budget of a plant canopy. Boundary-Layer Meteorology, 74(3), 261-288. http://dx/doi.org/10.1007/BF00712121.
pyTSEB.resistances.calc_R_x_Norman(LAI, leaf_width, u_d_zm, params=None)[source]

Estimates aerodynamic resistance at the canopy boundary layer.

Estimates the aerodynamic resistance at the soil boundary layer based on the original equations in TSEB [Norman1995].

Parameters:
  • F (float) – local Leaf Area Index.
  • leaf_width (float) – efective leaf width size (m).
  • u_d_zm (float) – wind speed at the height of momomentum source-sink. .
Returns:

R_x – Aerodynamic resistance at the canopy boundary layer (s m-1).

Return type:

float

References

[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
pyTSEB.resistances.calc_r_r(p, ea, t_k)[source]

Calculates the resistance to radiative transfer

Parameters:
  • p (float or array) – Surface atmospheric pressure (mb)
  • ea (float or array) – Vapour pressure (mb).
  • t_k (float or array) – surface temperature (K)
Returns:

r_r – Resistance to radiative transfer (s m-1)

Return type:

float or array

References

[Monteith2008]Monteith, JL, Unsworth MH, Principles of Environmental

Physics, 2008. ISBN 978-0-12-505103-5

pyTSEB.resistances.calc_stomatal_resistance_TSEB(LE_C, LE, R_A, R_x, e_a, T_A, T_C, F, p=1013.0, leaf_type=1, f_g=1, f_dry=1)[source]

TSEB Stomatal conductace

Estimates the effective Stomatal conductace by inverting the resistance-based canopy latent heat flux from a Two source perspective

Parameters:
  • LE_C (float) – Canopy latent heat flux (W m-2).
  • LE (float) – Surface (bulk) latent heat flux (W m-2).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk aerodynamic resistance to heat transport at the canopy boundary layer (s m-1).
  • e_a (float) – Water vapour pressure at the reference height (mb).
  • T_A (float) – Air temperature at the reference height (K).
  • T_C (float) – Canopy (leaf) temperature (K).
  • F (float) – local Leaf Area Index.
  • p (float, optional) – Atmospheric pressure (mb) use 1013.0 as default.
  • leaf_type (int, optional) –

    type of leaf regarding stomata distribution.

    1=HYPOSTOMATOUS stomata in the lower surface of the leaf (default). 2=AMPHISTOMATOUS, stomata in both surfaces of the leaf.
  • f_g (float, optional) – Fraction of green leaves.
  • f_dry (float, optional) – Fraction of dry (non-wet) leaves.
Returns:

G_s – effective leaf stomata conductance (m s-1).

Return type:

float

References

[Anderson2000]M.C. Anderson, J.M. Norman, T.P. Meyers, G.R. Diak, An analytical model for estimating canopy transpiration and carbon assimilation fluxes based on canopy light-use efficiency, Agricultural and Forest Meteorology, Volume 101, Issue 4, 12 April 2000, Pages 265-289, ISSN 0168-1923, http://dx.doi.org/10.1016/S0168-1923(99)00170-7.
pyTSEB.resistances.calc_stomatal_conductance_TSEB(LE_C, LE, R_A, R_x, e_a, T_A, T_C, F, p=1013.0, leaf_type=1, f_g=1, f_dry=1)[source]

TSEB Stomatal conductace

Estimates the effective Stomatal conductace by inverting the resistance-based canopy latent heat flux from a Two source perspective

Parameters:
  • LE_C (float) – Canopy latent heat flux (W m-2).
  • LE (float) – Surface (bulk) latent heat flux (W m-2).
  • R_A (float) – Aerodynamic resistance to heat transport (s m-1).
  • R_x (float) – Bulk aerodynamic resistance to heat transport at the canopy boundary layer (s m-1).
  • e_a (float) – Water vapour pressure at the reference height (mb).
  • T_A (float) – Air temperature at the reference height (K).
  • T_C (float) – Canopy (leaf) temperature (K).
  • F (float) – local Leaf Area Index.
  • p (float, optional) – Atmospheric pressure (mb) use 1013.0 as default.
  • leaf_type (int, optional) –

    type of leaf regarding stomata distribution.

    1=HYPOSTOMATOUS stomata in the lower surface of the leaf (default). 2=AMPHISTOMATOUS, stomata in both surfaces of the leaf.
  • f_g (float, optional) – Fraction of green leaves.
  • f_dry (float, optional) – Fraction of dry (non-wet) leaves.
Returns:

G_s – effective leaf stomata conductance (mmol m-2 s-1).

Return type:

float

References

[Anderson2000]M.C. Anderson, J.M. Norman, T.P. Meyers, G.R. Diak, An analytical model for estimating canopy transpiration and carbon assimilation fluxes based on canopy light-use efficiency, Agricultural and Forest Meteorology, Volume 101, Issue 4, 12 April 2000, Pages 265-289, ISSN 0168-1923, http://dx.doi.org/10.1016/S0168-1923(99)00170-7.
pyTSEB.resistances.calc_coef_m2mmol(T_C, p=1013.25)[source]

Calculates the conversion factor from stomatal conductance from m s-1 to mmol m-2 s-1.

Parameters:
  • T_C (float) – Leaf temperature (K).
  • p (float, optional) – Atmospheric pressure (mb), default = 1013 mb.
Returns:

K_gs – Conversion factor from m s-1 to mmol m-2 s-1.

Return type:

float

References

[Kimball2015] Kimball, B. A., White, J. W., Ottman, M. J., Wall, G. W., Bernacchi, C. J.,
Morgan, J., & Smith, D. P. (2015). Predicting canopy temperatures and infrared heater energy requirements for warming field plots. Agronomy Journal, 107(1), 129-141 http://dx.doi.org/10.2134/agronj14.0109.
pyTSEB.resistances.calc_z_0H(z_0M, kB=0)[source]

Estimate the aerodynamic routhness length for heat trasport.

Parameters:
  • z_0M (float) – aerodynamic roughness length for momentum transport (m).
  • kB (float) – kB parameter, default = 0.
Returns:

z_0H – aerodynamic roughness length for momentum transport (m).

Return type:

float

References

[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
pyTSEB.resistances.calc_z_0M(h_C)[source]

Aerodynamic roughness lenght.

Estimates the aerodynamic roughness length for momentum trasport as a ratio of canopy height.

Parameters:h_C (float) – Canopy height (m).
Returns:z_0M – aerodynamic roughness length for momentum transport (m).
Return type:float
pyTSEB.resistances.raupach(lambda_)[source]

Roughness and displacement height factors for discontinuous canopies

Estimated based on the frontal canopy leaf area, based on Raupack 1994 model, after [Schaudt2000]

Parameters:lambda (float) – roughness desnsity or frontal area index.
Returns:
  • z0M_factor (float) – height ratio of roughness length for momentum transport
  • d_factor (float) – height ratio of zero-plane displacement height

References

[Schaudt2000]K.J Schaudt, R.E Dickinson, An approach to deriving roughness length and zero-plane displacement height from satellite data, prototyped with BOREAS data, Agricultural and Forest Meteorology, Volume 104, Issue 2, 8 August 2000, Pages 143-155, http://dx.doi.org/10.1016/S0168-1923(00)00153-2.

meteo_utils package

Created on Apr 6 2015 @author: Hector Nieto (hnieto@ias.csic.es)

Modified on feb 3 2016 @author: Hector Nieto (hnieto@ias.csic.es)

DESCRIPTION

This package contains functions for estimating meteorological variables needed in resistance energy balance models.

PACKAGE CONTENTS

pyTSEB.meteo_utils.calc_c_p(p, ea)[source]

Calculates the heat capacity of air at constant pressure.

Parameters:
  • p (float) – total air pressure (dry air + water vapour) (mb).
  • ea (float) – water vapor pressure at reference height above canopy (mb).
Returns:

c_p

Return type:

heat capacity of (moist) air at constant pressure (J kg-1 K-1)

References

based on equation (6.1) from Maarten Ambaum (2010): Thermal Physics of the Atmosphere (pp 109).

pyTSEB.meteo_utils.calc_lambda(T_A_K)[source]

Calculates the latent heat of vaporization.

Parameters:T_A_K (float) – Air temperature (Kelvin).
Returns:Lambda – Latent heat of vaporisation (J kg-1).
Return type:float

References

based on Eq. 3-1 Allen FAO98

pyTSEB.meteo_utils.calc_pressure(z)[source]

Calculates the barometric pressure above sea level.

Parameters:z (float) – height above sea level (m).
Returns:p – air pressure (mb).
Return type:float
pyTSEB.meteo_utils.calc_psicr(c_p, p, Lambda)[source]

Calculates the psicrometric constant.

Parameters:
  • c_p (float) – heat capacity of (moist) air at constant pressure (J kg-1 K-1).
  • p (float) – atmopheric pressure (mb).
  • Lambda (float) – latent heat of vaporzation (J kg-1).
Returns:

psicr – Psicrometric constant (mb C-1).

Return type:

float

pyTSEB.meteo_utils.calc_rho(p, ea, T_A_K)[source]

Calculates the density of air.

Parameters:
  • p (float) – total air pressure (dry air + water vapour) (mb).
  • ea (float) – water vapor pressure at reference height above canopy (mb).
  • T_A_K (float) – air temperature at reference height (Kelvin).
Returns:

rho – density of air (kg m-3).

Return type:

float

References

based on equation (2.6) from Brutsaert (2005): Hydrology - An Introduction (pp 25).

pyTSEB.meteo_utils.calc_rho_w(T_K)[source]

density of air-free water ata pressure of 101.325kPa :param T_K: :return: density of water (kg m-3)

pyTSEB.meteo_utils.calc_stephan_boltzmann(T_K)[source]

Calculates the total energy radiated by a blackbody.

Parameters:T_K (float) – body temperature (Kelvin)
Returns:M – Emitted radiance (W m-2)
Return type:float
pyTSEB.meteo_utils.calc_theta_s(xlat, xlong, stdlng, doy, year, ftime)[source]

Calculates the Sun Zenith Angle (SZA).

Parameters:
  • xlat (float) – latitude of the site (degrees).
  • xlong (float) – longitude of the site (degrees).
  • stdlng (float) – central longitude of the time zone of the site (degrees).
  • doy (float) – day of year of measurement (1-366).
  • year (float) – year of measurement .
  • ftime (float) – time of measurement (decimal hours).
Returns:

theta_s – Sun Zenith Angle (degrees).

Return type:

float

References

Adopted from Martha Anderson’s fortran code for ALEXI which in turn was based on Cupid.

pyTSEB.meteo_utils.calc_sun_angles(lat, lon, stdlon, doy, ftime)[source]

Calculates the Sun Zenith and Azimuth Angles (SZA & SAA).

Parameters:
  • lat (float) – latitude of the site (degrees).
  • long (float) – longitude of the site (degrees).
  • stdlng (float) – central longitude of the time zone of the site (degrees).
  • doy (float) – day of year of measurement (1-366).
  • ftime (float) – time of measurement (decimal hours).
Returns:

  • sza (float) – Sun Zenith Angle (degrees).
  • saa (float) – Sun Azimuth Angle (degrees).

pyTSEB.meteo_utils.calc_vapor_pressure(T_K)[source]

Calculate the saturation water vapour pressure.

Parameters:T_K (float) – temperature (K).
Returns:ea – saturation water vapour pressure (mb).
Return type:float
pyTSEB.meteo_utils.calc_delta_vapor_pressure(T_K)[source]

Calculate the slope of saturation water vapour pressure.

Parameters:T_K (float) – temperature (K).
Returns:s – slope of the saturation water vapour pressure (kPa K-1)
Return type:float
pyTSEB.meteo_utils.calc_mixing_ratio(ea, p)[source]

Calculate ratio of mass of water vapour to the mass of dry air (-)

Parameters:
  • ea (float or numpy array) – water vapor pressure at reference height (mb).
  • p (float or numpy array) – total air pressure (dry air + water vapour) at reference height (mb).
Returns:

r – mixing ratio (-)

Return type:

float or numpy array

pyTSEB.meteo_utils.calc_lapse_rate_moist(T_A_K, ea, p)[source]

Calculate moist-adiabatic lapse rate (K/m)

Parameters:
  • T_A_K (float or numpy array) – air temperature at reference height (K).
  • ea (float or numpy array) – water vapor pressure at reference height (mb).
  • p (float or numpy array) – total air pressure (dry air + water vapour) at reference height (mb).
Returns:

Gamma_w – moist-adiabatic lapse rate (K/m)

Return type:

float or numpy array

pyTSEB.meteo_utils.flux_2_evaporation(flux, t_k=293.15, time_domain=1)[source]

Converts heat flux units (W m-2) to evaporation rates (mm time-1) to a given temporal window

Parameters:
  • flux (float or numpy array) – heat flux value to be converted, usually refers to latent heat flux LE to be converted to ET
  • T_K (float or numpy array) – environmental temperature in Kelvin. Default=20 Celsius
  • time_domain (float) – Temporal window in hours. Default 1 hour (mm h-1)
Returns:

et – evaporation rate at the time_domain. Default mm h-1

Return type:

float or numpy array

wind_profile package

Created on Tue Sep 13 15:50:52 2016

@author: Hector Nieto (hnieto@ias.csic.es)

DESCRIPTION

This package contains the main routines for estimating the wind profile above and within a canopy. It requires the following package.

Wind profile functions
pyTSEB.wind_profile.calc_u_C(u_friction, h_C, d_0, z_0M)[source]

[Norman1995] wind speed at the canopy, reformulated to use u_friction

Parameters:
  • u_friction (float) – Wind friction velocity (m s-1).
  • h_C (float) – canopy height (m).
  • d_0 (float) – zero-plane displacement height.
  • z_0M (float) – aerodynamic roughness length for momentum transport (m).
Returns:

u_C – wind speed at the canop interface (m s-1).

Return type:

float

References

[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
pyTSEB.wind_profile.calc_u_C_star(u_friction, h_C, d_0, z_0M, L=inf)[source]

MOST wind speed at the canopy

Parameters:
  • u_friction (float) – friction velocity (m s-1).
  • h_C (float) – canopy height (m).
  • d_0 (float) – zero-plane displacement height.
  • z_0M (float) – aerodynamic roughness length for momentum transport (m).
  • L (float, optional) – Monin-Obukhov length (m).
Returns:

u_C – wind speed at the canop interface (m s-1).

Return type:

float

pyTSEB.wind_profile.calc_u_Goudriaan(u_C, h_C, LAI, leaf_width, z)[source]

Estimates the wind speed at a given height below the canopy.

Parameters:
  • U_C (float) – Windspeed at the canopy interface (m s-1).
  • h_C (float) – canopy height (m).
  • LAI (float) – Efective Leaf (Plant) Area Index.
  • leaf_width (float) – effective leaf width size (m).
  • z (float) – heigh at which the windsped will be estimated.
Returns:

u_z – wind speed at height z (m s-1).

Return type:

float

References

[Norman1995]J.M. Norman, W.P. Kustas, K.S. Humes, Source approach for estimating soil and vegetation energy fluxes in observations of directional radiometric surface temperature, Agricultural and Forest Meteorology, Volume 77, Issues 3-4, Pages 263-293, http://dx.doi.org/10.1016/0168-1923(95)02265-Y.
[Goudriaan1977]Goudriaan (1977) Crop micrometeorology: a simulation study
pyTSEB.wind_profile.calc_A_Goudriaan(h_C, LAI, leaf_width)[source]

Estimates the extinction coefficient factor for wind speed

Parameters:
  • h_C (float) – canopy height (m)
  • LAI (float) – Efective Leaf (Plant) Area Index
  • leaf_width (float) – effective leaf width size (m)
Returns:

a – exctinction coefficient for wind speed through the canopy

Return type:

float

References

[Goudriaan1977]Goudriaan (1977) Crop micrometeorology: a simulation study
pyTSEB.wind_profile.calc_u_Massman(u_c, h_c, lai, z, canopy_distribution, xi_soil=0.0001, c_d=0.2)[source]

‘ Canopy wind speed. From Eq. 11 of [Massman2017] and implemented in TSEB by [Nieto2019]. :param u_c: Wind speed at the top of the canopy. :type u_c: float :param h_c: canopy height :type h_c: float :param lai: Leaf Area Index :type lai: float :param z: height above the ground :type z: float :param canopy_distribution: relative cummulative canopy distribution function :type canopy_distribution: array_like :param xi_soil: ground surface roughness length. Default = 0.00101m. :type xi_soil: float :param c_d: Equivalent drag coefficient of the individual foliage elements. Default = 0.2. :type c_d: float

Returns:u_z – Canopy wind speed.
Return type:float

References

[Nieto2019]Nieto, Héctor, et al. “Impact of different within-canopy wind attenuation formulations on modelling sensible heat flux using TSEB.” Irrigation Science 37.3 (2019): 315-331. https://doi.org/10.1007/s00271-018-0611-y
[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.calc_U_b(z, h_c, xi_soil=0.0025)[source]

‘ Logarithmic wind profile. Dominant near the ground From Eq. 6 of [Massman2017]. :param z: height above the ground :type z: float :param h_c: canopy height :type h_c: float :param xi_soil: ground surface roughness length. Default = 0.00101m. :type xi_soil: float

Returns:U_b – Non dimensional logarithmic wind profile.
Return type:float

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.calc_U_t(z, lai, h_c, canopy_distribution, xi_soil=0.0025, c_d_equiv=0.2)[source]

‘ hyperbolic cosine wind profile. Dominant near the top of the canopy From Eq. 7 of [Massman2017]. :param z: height above the ground :type z: float :param lai: Leaf Area Index :type lai: float :param h_c: canopy height :type h_c: float :param canopy_distribution: relative cummulative canopy distribution function :type canopy_distribution: array_like :param xi_soil: ground surface roughness length. Default = 0.00101m. :type xi_soil: float :param c_d_equiv: Equivalent drag coefficient of the individual foliage elements. Default = 0.2. :type c_d_equiv: float

Returns:u_t – Non dimensional hyperbolic cosine wind profile.
Return type:float

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.calc_u_star_ratio(zeta_h, xi_0_soil)[source]

Ratio of friction velocity and wind speed at the canopy height. From Eq. 10 of [Massman2017].

Parameters:
  • zeta_h (float or array) – Drag area index
  • xi_0_soil (float or array) – ground surface roughness length. Default = 0.00101m.
Returns:

u_star_ratio – Ratio of friction velocity and wind speed at the canopy height.

Return type:

float or array

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.cummulative_drag_area(lai, foliage_distribution, upper_limit, c_d_equiv=0.2)[source]

Cummulative drag area below a normzalized height, from Eq. 4 or 5 in [Massman2017].

Parameters:
  • lai (array_like) – Leaf Area Index
  • foliage_distribution (array_like) – cummulative canopy distribution function
  • upper_limit (array_like) – Upper heigh normalized value below which the drag area drag_area_distribution will be computed. Default=1, i.e. top of the canopy.
  • c_d_equiv (float) – drag coefficient Cd described in Eq. 3 of [MassmanXX]. Default 0.2, 0, 0
Returns:

zeta_xi – Cummulative drag area. By default returns the drag area index, see Eq. 4 of [MassmanXX].

Return type:

float

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.drag_area_index(lai, c_d_equiv=0.2)[source]

Cummulative drag area below a normzalized height, from Eq. 4 or 5 in [Massman2017].

Parameters:
  • lai (float or array) – Leaf Area Index
  • c_d_equiv (float) – drag coefficient Cd described in Eq. 3 of [MassmanXX]. Default 0.2, 0, 0
Returns:

Zeta_h – Cummulative drag area. By default returns the drag area index, see Eq. 4 of [MassmanXX].

Return type:

float or array

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.calc_cummulative_canopy_distribution(f_a)[source]

Calculates the non-dimensional cummulative canopy distribution. From Eq. 1 in [Massman2017].

Parameters:f_a (float) – Non-dimensional canopy distribution at a normalized height.
Returns:f_a – cummulative canopy density.
Return type:float

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.calc_canopy_distribution(Xi_max, sigma_u, sigma_l)[source]

Calculates the non-dimensional canopy distribution at a normalized height. From Eq. 1 in [Massman2017].

Parameters:
  • Xi_max (float) – Value of the peak distribution.
  • sigma_u (float) – upper standard deviation.
  • sigma_l (float) – lower standard deviation.
Returns:

f_a – non-dimensional foliage density at a normalized height Xi.

Return type:

float

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.assimetrical_gaussian_distribution(Xi_max, sigma_u, sigma_l, upper_Xi=1)[source]

Double assimetrical Gaussian distribution function. From Eq. 2 of [Massman2017].

Parameters:
  • Xi_max (float) – Value of the peak distribution.
  • sigma_u (float) – upper standard deviation.
  • sigma_l (float) – lower standard deviation.
  • upper_Xi (float) – Upper heigh normalized value below which the density distribution will be computed. Default=1, i.e. top of the canopy.
Returns:

f_a – Distribution function at equidisitant bins between 0 and upper_Xi.

Return type:

array

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354
pyTSEB.wind_profile.canopy_shape(h_c, h_b, h_max=0.5)[source]

Asymmetrical Gaussian foliage distribution.

Parameters:
  • h_c (float) – Top of the canopy height
  • h_b (float) – Height of the first living branch.
  • h_max (float) – Relative position between h_c and h_b where the maximum foliage density occurs, default=0-5, i.e. peak occurs at the middle of the canopy (~spherical canopy)
Returns:

  • Xi_max (float) – Value of the peak distribution
  • sigma_u (float) – upper standard deviation.
  • sigma_l (float) – lower standard deviation.

References

[Massman2017]W. J. Massman, J. M. Forthofer, M. A. Finney. An Improved Canopy Wind Model for Predicting Wind Adjustment Factors and Wildland Fire Behavior, Canadian Journal of Forest Research, Pages 594-603, http://dx.doi.org/10.1139/cjfr-2016-0354

Indices and tables