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:

In the TSEB scheme \(\lambda E\) is usually estimated as a residual of the surface energy balance:
with
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_C\) and \(T_S\) are related to the directional radiometric temperature \(T_{rad}\left(\theta\right)\) by
with \(f_c\left(\theta\right)\) representing the fraction of vegetation observed by a sensor pointing at a zenith angle \(\theta\)
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)
- Radiometric surface temperature
- Dual-Time Difference TSEB (DTD)
- Radiometric surface temperature around noon
- Radiometric surface temperature around sunrise
- Composite temperatures TSEB( TSEB-2T)
- Canopy temperature
- 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). IfConstant 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. IfTime 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:
- Net radiation (W m-2)
- Sensible heat flux (W m-2)
- Latent heat flux (W m-2)
- 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:
- Net shortwave radiation (W m-2)
- Net longwave radiation (W m-2)
- Canopy sensible heat flux (W m-2)
- Canopy latent heat flux (W m-2)
- Evapotrasnpiration partitioning (canopy LE/total LE)
- Canopy temperature (K)
- Soil temperature (K)
- Aerodynamic resistance (s m-1)
- Bulk canopy resistance to heat transport (s m-1)
- Soil resistance to heat transport (s m-1)
- Friction velocity (m s-1)
- Monin-Obukhov lenght (m)
- Friction velocity (m s-1)
- 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.
- net_radiation package for the estimation of net radiation and radiation partitioning.
- clumping_index package for the estimatio of canopy clumping index.
- meteo_utils package for the estimation of meteorological variables.
- resistances package for the estimation of the resistances to heat and momentum transport.
- MO_similarity package for the estimation of the Monin-Obukhov length and MOST-related variables.
- wind_profile package for the estimation of wind attenuation profile
PACKAGE CONTENTS¶
TSEB models¶
Ancillary functions¶
calc_F_theta_campbell()
. Gap fraction estimation.calc_G_time_diff()
. Santanello & Friedl (2003) [Santanello2003] soil heat flux model.calc_G_ratio()
. Soil heat flux as a fixed fraction of net radiation [Choudhury1987].calc_H_C()
. canopy sensible heat flux in a parallel resistance network.calc_H_C_PT()
. Priestley- Taylor Canopy sensible heat flux.calc_H_DTD_parallel()
. Priestley- Taylor Canopy sensible- heat flux for DTD and resistances in parallel.
calc_H_DTD_series()
. Priestley- Taylor Canopy sensible heat flux- for DTD and resistances in series.
calc_H_S()
. Soil heat flux with resistances in parallel.calc_T_C()
. Canopy temperature form composite radiometric temperature.calc_T_C_series.()
Canopy temperature from canopy sensible- heat flux and resistance in series.
calc_T_CS_Norman()
. Component temperatures from dual angle- composite radiometric temperatures.
calc_T_CS_4SAIL()
. Component temperatures from dual angle composite radiometric tempertures.- Using 4SAIl for the inversion.
calc_4SAIL_emission_param()
. Effective surface reflectance, and emissivities for soil and- canopy using 4SAIL.
calc_T_S()
. Soil temperature from form composite radiometric temperature.calc_T_S_series()
. Soil temperature from soil sensible heat flux and resistance in series.
-
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: 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_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: 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: 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: Returns: G – Soil heat flux (W m-2).
Return type: 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: Returns: H_C – Canopy sensible heat flux (W m-2).
Return type:
-
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: 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: 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: 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: 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: 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: 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: 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.
- meteo_utils package for the estimation of meteorological variables.
PACKAGE CONTENTS¶
calc_difuse_ratio()
estimation of fraction of difuse shortwave radiation.calc_emiss_atm()
Atmospheric emissivity.calc_K_be_Campbell()
Beam extinction coefficient.calc_L_n_Kustas()
Net longwave radiation for soil and canopy layers.calc_Sn_Campbell()
Net shortwave radiation.calc_tau_below_Campbell()
Radiation transmission through a canopy.
-
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: 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: Returns: emiss_air – effective atmospheric emissivity.
Return type: 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: Returns: L_dn – Longwave atmospheric irradiance (W m-2) above the canopy
Return type:
-
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: 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: 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¶
calc_omega0_Kustas()
Nadir viewing clmping factor.calc_omega_Kustas()
Clumping index at an incidence angle.calc_omega_rows()
Clumping index for row crops at an incidence angle.
-
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: 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: 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. - omega0 (float) – clumping index at nadir, estimated for instance by
-
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: 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.
- meteo_utils package for the estimation of meteorological variables.
PACKAGE CONTENTS¶
calc_L()
Monin-Obukhov length.calc_richardson()
Richardson number.calc_u_star()
Friction velocity.
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: Returns: L – Obukhov stability length (m).
Return type: 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: Returns: L – Obukhov stability length (m).
Return type: 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: Returns: L – Obukhov stability length (m).
Return type: 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.
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.
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: 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.
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
- meteo_utils package for the estimation of meteorological variables.
- MO_similarity package for the estimation of the Monin-Obukhov length and stability functions.
PACKAGE CONTENTS¶
Resistances¶
calc_R_A()
Aerodynamic resistance.calc_R_S_Choudhury()
[Choudhury1988] soil resistance.calc_R_S_McNaughton()
[McNaughton1995] soil resistance.calc_R_S_Kustas()
[Kustas1999] soil resistance.calc_R_x_Choudhury()
[Choudhury1988] canopy boundary layer resistance.calc_R_x_McNaughton()
[McNaughton1995] canopy boundary layer resistance.calc_R_x_Norman()
[Norman1995] canopy boundary layer resistance.
Stomatal conductance¶
calc_stomatal_conductance_TSEB()
TSEB stomatal conductance.calc_coef_m2mmol()
Conversion factor from stomatal conductance from m s-1 to mmol m-2 s-1.
Estimation of roughness¶
calc_d_0()
Zero-plane displacement height.calc_roughness()
Roughness for different land cover types.calc_z_0M()
Aerodynamic roughness lenght.raupach()
Roughness and displacement height factors for discontinuous canopies.
-
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: 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: 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: 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: Returns: R_S – Aerodynamic resistance at the soil boundary layer (s m-1).
Return type: 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: Returns: R_x – Aerodynamic resistance at the canopy boundary layer (s m-1).
Return type: 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: Returns: R_x – Aerodynamic resistance at the canopy boundary layer (s m-1).
Return type: 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: Returns: R_x – Aerodynamic resistance at the canopy boundary layer (s m-1).
Return type: 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: 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: 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: 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: Returns: K_gs – Conversion factor from m s-1 to mmol m-2 s-1.
Return type: 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: Returns: z_0H – aerodynamic roughness length for momentum transport (m).
Return type: 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¶
calc_c_p()
Heat capacity of air at constant pressure.calc_lambda(T_A_K)()
Latent heat of vaporization.calc_pressure()
Barometric pressure.calc_psicr()
Psicrometric constant.calc_rho()
Density of air.calc_stephan_boltzmann()
Stephan-Boltzmann law for blackbody radiation emission.calc_theta_s()
Sun Zenith Angle.calc_sun_angles()
Sun Zenith and Azimuth Angles.calc_vapor_pressure()
Saturation water vapour pressure.calc_delta_vapor_pressure()
Slope of saturation water vapour pressure.calc_mixing_ratio()
Ration of mass of water vapour to mass of dry air.calc_lapse_rate_moist()
Moist-adiabatic lapse rate.flux_2_evaporation()
Evaporation rate.
-
pyTSEB.meteo_utils.
calc_c_p
(p, ea)[source]¶ Calculates the heat capacity of air at constant pressure.
Parameters: 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: Returns: psicr – Psicrometric constant (mb C-1).
Return type:
-
pyTSEB.meteo_utils.
calc_rho
(p, ea, T_A_K)[source]¶ Calculates the density of air.
Parameters: Returns: rho – density of air (kg m-3).
Return type: 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: 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: 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: 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: Returns: Gamma_w – moist-adiabatic lapse rate (K/m)
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.
- MO_similarity package for the estimation of adiabatic correctors.
Wind profile functions¶
calc_u_C()
[Norman1995] canopy wind speed.calc_u_C_star()
MOST canopy wind speed.calc_u_Goudriaan()
[Goudriaan1977] wind speed profile below the canopy.calc_A_Goudriaan()
[Goudriaan1977] wind attenuation coefficient below the canopy.
-
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: Returns: u_C – wind speed at the canop interface (m s-1).
Return type: 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: Returns: u_C – wind speed at the canop interface (m s-1).
Return type:
-
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: Returns: u_z – wind speed at height z (m s-1).
Return type: 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: Returns: a – exctinction coefficient for wind speed through the canopy
Return type: 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: 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: 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: 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: Returns: f_a – non-dimensional foliage density at a normalized height Xi.
Return type: 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: 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: 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