Documentation of SEBCS methods library¶
SEBCS_lib is a library of SEBCS software (Brom 2020) designed for geographical and remote sensing purposes, mainly for analysis of energy balance of the surface.
- class SEBCS_lib.GeoIO[source]¶
Class includes functions for reading of geotransformation features from raster and for writing ne rasters from numpy arrays.
- arrayToRast(arrays, names, prj, gtransf, EPSG, out_folder, driver_name='GTiff', out_file_name=None, multiband=False)[source]¶
Export numpy 2D arrays to multiband or singleband raster files. Following common raster formats are accepted for export:
ENVI .hdr labeled raster format
Erdas Imagine (.img) raster format
Idrisi raster format (.rst)
TIFF / BigTIFF / GeoTIFF (.tif) raster format
PCI Geomatics Database File (.pix) raster format
- Parameters
arrays (numpy.ndarray, list) – Numpy array or list of arrays for export to raster.
names (str, list) – Name or list of names of the exported bands (in case of multiband raster) or particular rasters (in case of singleband rasters).
prj (str) – Projection information of the exported raster (dataset).
gtransf (tuple) – The affine transformation coefficients.
EPSG (int) – EPSG Geodetic Parameter Set code.
out_folder (str) – Path to folder where the raster(s) will be created.
driver_name (str) – GDAL driver. ‘GTiff’ is default.
out_file_name (str) – Name of exported multiband raster.
multiband (bool) – Option of multiband raster creation.
- Returns
Raster singleband or multiband file(s)
- Return type
raster
- lyrsExtent(in_lyrs_list)[source]¶
Check differences between size of the input layers. Function compares rasters only on basis of number of columns and rows.
- Parameters
in_lyrs_list (list) – List of layers (Numpy 2D arrays).
- Returns
True
- static rasterToArray(layer)[source]¶
Conversion of raster layer to numpy array.
- Parameters
layer (str) – Path to raster layer.
- Returns
raster file converted to numpy array
- Return type
numpy.ndarray
- readGeo(rast)[source]¶
Reading geographical information from raster using GDAL.
- Parameters
rast (str) – Path to raster file in GDAL accepted format.
- Returns
The affine transformation coefficients.
- Return type
tuple
- Returns
Projection information of the raster (dataset).
- Return type
str
- Returns
Pixel width (m) on X axis.
- Return type
float
- Returns
Pixel height (m) on Y axis.
- Return type
float
- Returns
EPSG Geodetic Parameter Set code.
- Return type
int
- class SEBCS_lib.HeatFluxes[source]¶
Calculation of heat fluxes and heat balance features from spectral and thermal spatial data and meteorological measurements. The class contains a set of methods for calculation heat balance, e.g. ground heat flux, sensible heat flux, latent heat flux, evaporative fraction, omega factor (decoupling coefficient), surface resistance for water vapour transfer etc. Calculation for both aerodynamic and gradient method is included.
- aeroEF(LE, Rn, G)[source]¶
Evaporative fraction calculated using aerodynamic method (rel.).
- Parameters
LE (numpy.ndarray) – Latent heat flux \((W.m^{-2})\)
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
- Returns
Evaporative fraction (rel.)
- Return type
numpy.ndarray
- bowen(flux_H, LE)[source]¶
Bowen ratio according to Bowen (1926)
- Parameters
flux_H (numpy.ndarray) – Sensible heat flux \((W.m^{-2})\)
LE (numpy.ndarray) – Latent heat flux \((W.m^{-2})\)
- Returns
Bowen ratio (unitless)
- Return type
numpy.ndarray
- cwsi(LEp, ra, rc, E_Z_sat, e_Z, rho, delta, gamma, cp=1012)[source]¶
Crop Water Stress Index calculated according to Jackson et al. ( 1981, 1988).
- Parameters
LEp (numpy.ndarray) – Potential evaporation latent heat flux \((W.m^{-2})\)
ra (numpy.ndarray) – Aerodynamic resistance \((s.m^{-1})\)
rc – Surface resistance for water vapour transfer \((s.m^{-1})\)
E_Z_sat (numpy.ndarray) – Saturated water vapour pressure (kPa).
e_Z (numpy.ndarray) – Water vapour pressure (kPa).
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
delta (numpy.ndarray) – Delta function \((kPa.K^{-1})\)
gamma (numpy.ndarray) – Psychrometric constant \((kPa.K^{-1})\).
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Crop Water Stress Index (CWSI)
- Return type
numpy.ndarray
- fluxHAer(ra, rho, dT, cp=1012.0)[source]¶
Sensible heat flux \((W.m^{-2})\) calculated using aerodynamic method.
- Parameters
ra (numpy.ndarray) – Aerodynamic resistance for heat and momentum transfer \((s.m^{-1})\) calculated according to Thom (1975)
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
dT (numpy.ndarray) – Temperature gradient calculated according to SEBAL (Bastiaanssen et al. 1998) \((\SI{}\degreeCelsius)\)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Sensible heat flux \((W.m^{-2})\)
- Return type
numpy.ndarray
- fluxLE(Rn, G, flux_H)[source]¶
Latent heat flux \((W.m^{-2})\)
- Parameters
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
flux_H (numpy.ndarray) – Sensible heat flux \((W.m^{-2})\)
- Returns
Latent heat flux \((W.m^{-2})\)
- Return type
numpy.ndarray
- fluxLE_EQ(Rn, G, delta, gamma)[source]¶
Equilibrium evaporation rate \((W.m^{-2})\).
- Parameters
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
delta (numpy.ndarray) – Delta function \((kPa.K^{-1})\)
gamma (numpy.ndarray) – Psychrometric constant \((kPa.K^{-1})\).
- Returns
Equilibrium evaporation latent heat flux \((W.m^{-2})\).
- Return type
numpy.ndarray
- fluxLE_PT(LE_eq, alpha=1.26)[source]¶
Evaporation from wet surface according to Priestley-Taylor (1972).
- Parameters
LE_eq (numpy.ndarray) – Equilibrium evaporation latent heat flux \((W.m^{-2})\)
alpha (float) – Priestley-Taylor alpha.
- Returns
Latent heat flux for wet surface calculated by Priestley-Taylor \((W.m^{-2})\)
- Return type
numpy.ndarray
- fluxLE_p(Rn, G, delta, VPD, ra, gamma, rho, cp=1012.0)[source]¶
Latent heat flux for potential evapotranspiration according to Penman (1948) \((W.m^{-2})\).
- Parameters
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
delta (numpy.ndarray) – Delta function \((kPa.K^{-1})\)
VPD (numpy.ndarray) – Water vapour pressure in air (kPa)
ra (numpy.ndarray) – Aerodynamic resistance \((s.m^{-1})\)
gamma (numpy.ndarray) – Psychrometric constant \((kPa.K^{-1})\).
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Potential evaporation latent heat flux \((W.m^{-2})\).
- Return type
numpy.ndarray
- fluxLE_ref(Rn, G, ta, ts, U, Rh, DMT, veg_type='short', cp=1012.0)[source]¶
Latent heat flux for reference evapotranspiration according to FAO56 method (Allen et al. 1998, ASCE-ET 2000)
- Parameters
Rn (numpy.ndarray, float) – Rn: Total net radiation \((W.m^{-2})\)
G (numpy.ndarray, float) – Ground heat flux \((W.m^{-2})\)
ta – Air temperature measured at meteostation at approx. 2 m.
\((\SI{}\degreeCelsius)\) :type ta: numpy.ndarray, float :param ts: Surface temperature measured at meteostation at approx. 2 m. \((\SI{}\degreeCelsius)\) :param U: Wind speed measured at meteostation \((m.s^{-1})\) :type U: numpy.ndarray, float :param Rh: Relative humidity (%) :type Rh: numpy.ndarray, float :param DMT: Digital model of terrain or altitude (m a.s.l.) :type DMT: numpy.ndarray, float :param veg_type: Type of vegetation - “short” or “tall” :type veg_type: str :param cp: Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\) :type cp: float
- Returns
Latent heat flux for reference evapotranspiration.
- Return type
numpy.ndarray, float
References
Allen, R. et al., 1998. Crop Evapotranspiration: Guidelines for Computing Crop Water Requirements. United Nations Food and Agriculture Organization, Irrigation and Drainage Paper 56, Rome, Italy. 300 pp. *ASCE-ET 2000: ASCE’s Standardized Reference Evapotranspiration Equation. National Irrigation Symposium in Phoenix, Arizona, US.
- gamma_x(rcp, ra, gamma)[source]¶
Psychrometric constant corrected on the rcp and ra according to Jackson et al. (1981, 1988).
- Parameters
rcp (numpy.ndarray) – Surface resistance for water vapour transfer for potential evapotranspiration \((s.m^{-1})\).
ra (numpy.ndarray) – Aerodynamic resistance \((s.m^{-1})\)
gamma (numpy.ndarray) – Psychrometric constant \((kPa.K^{-1})\).
- Returns
Psychrometric constant corrected on the rcp and ra according to Jackson et al. (1981, 1988) \((kPa.K^{-1})\)..
- Return type
numpy.ndarray
- gradEF(ts, ta, mask=None)[source]¶
Evaporative fraction calculated from gradient method according to Suleiman and Crago (2004).
- Parameters
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
mask – Mask of the area of interest. Number of rows and columns
should be the same. Format (1, 0) or (1, nan). :type mask: numpy.ndarray
- Returns
Evaporative fraction (rel.)
- Return type
numpy.ndarray
- gradH(LE, Rn, G)[source]¶
Sensible heat flux \((W.m^{-2})\) calculated using gradient method.
- Parameters
LE (numpy.ndarray) – Latent heat flux \((W.m^{-2})\)
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
- Returns
Sensible heat flux \((W.m^{-2})\)
- Return type
numpy.ndarray
- gradLE(EF, Rn, G)[source]¶
Latent heat flux calculated using gradient method \((W.m^{-2})\).
- Parameters
EF – Evaporative fraction (rel.)
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
- Returns
Latent heat flux \((W.m^{-2})\)
- Return type
numpy.ndarray
- groundFlux(ndvi, Rn, ts, albedo)[source]¶
Ground heat flux according to Bastiaanssen et al. (1998)
- Parameters
ndvi (numpy.ndarray) – NDVI spectral vegetation index (unitless)
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
albedo (numpy.ndarray) – Albedo (rel.)
- Returns
Ground heat flux \((W.m^{-2})\)
- Return type
numpy.ndarray
- heatFluxes(Rn, G, ts, ta, method='aero', Uz=None, h_eff=None, LAI=None, z0m=None, z0h=None, rho=None, disp=None, mask=None, air_pressure=101.3, Z=200.0, cp=1012, L=- 10000.0, n_iter=10, a=1.0, b=0.667, c=5.0, d=0.35, kappa=0.41, gravit=9.81)[source]¶
Function provides a calculation for heat fluxes, aerodynimc resistance of surface and friction velocity for three different methods: 1. “aero” - Aerodynamic method based on Monin-Obukhov theory 2. “sebal” - Method based on SEBAL approach provided by
Bastiaanssen et al.
- param disp
- param Rn
Total net radiation \((W.m^{-2})\)
- type Rn
numpy.ndarray
- param G
Ground heat flux \((W.m^{-2})\)
- type G
numpy.ndarray
- param ts
Surface temperature \((\SI{}\degreeCelsius)\)
- type ts
numpy.ndarray
- param ta
Air temperature \((\SI{}\degreeCelsius)\)
- type ta
numpy.ndarray, float
- param method
Method of heat fluxes calculation:
aero - Aerodynamic method based on calculation
of ra using approach proposed by Thom (1975)
SEBAL - SEBAL method proposed by Bastiaanssen et al. (1998)
grad - Gradient method proposed by Suleiman and Crago (2004)
- type method
str
- param Uz
Wind speed measured on meteostation at level Z_st \((m.s^{-1})\).
- type Uz
float, numpy.ndarray
- param h_eff
Effective height of vegetation cover
- type h_eff
numpy.ndarray, float
- param LAI
Leaf area index \((m^{2}.m^{-2})\)
- param z0m
Aerodynamic roughness of the surface for momentum
transfer (m) :type z0m: numpy.ndarray :param z0h: Aerodynamic roughness of the surface for heat transfer (m) :type z0h: numpy.ndarray :param rho: Volumetric dry air density \((kg.m^{-3})\) :type rho: numpy.ndarray, float :param disp: Zero plane displacement (m) :type disp: numpy.ndarray, float :param mask: Mask of the area of interest. Number of rows and columns should be the same. Format (1, 0) or (1, nan). :type mask: numpy.ndarray :param air_pressure: Air pressure at level Z (kPa) :type air_pressure: float, numpy.ndarray :param Z: Blending height (m) :type Z: float :param cp: Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\) :type cp: float :param L: Initial Monin-Obukhov lenght (m). :type L: float :param n_iter: Number of iteration in stability coefficient calculation. :type n_iter: int :param a: Constant for stability parameters calculation (Beljaars and Holtslag, 1991) :type a: float :param b: Constant for stability parameters calculation (Beljaars and Holtslag, 1991) :type b: float :param c: Constant for stability parameters calculation (Beljaars and Holtslag, 1991) :type c: float :param d: Constant for stability parameters calculation (Beljaars and Holtslag, 1991) :type d: float :param kappa: von Karman constant. Default 0.41 :type kappa: float :param gravit: Gravitation forcing (m/s2). Default 9.81 :type gravit: float
- returns
Sensible heat flux \((W.m^{-2})\)
- rtype
numpy.ndarray
- returns
Latent heat flux \((W.m^{-2})\)
- rtype
numpy.ndarray
- returns
Evaporative fraction (rel.)
- rtype
numpy.ndarray
- returns
Latent heat flux for equilibrium evaporation :math:`(W.m^{
-2})` :rtype: numpy.ndarray :returns: Latent heat flux for Priestley-Taylor evaporation \(( W.m^{-2})\) :rtype: numpy.ndarray :returns: Aerodynamic resistance for heat and momentum transfer \(( s.m^{-1})\) :rtype: numpy.ndarray :returns: Friction velocity \((m.s^{-1})\)
References
Bastiaanssen, W.G.M., Menenti, M., Feddes, R.A., Holtslag, A.A.M., 1998. A remote sensing surface energy balance algorithm for land ( SEBAL). 1. Formulation. Journal of Hydrology 212–213, 198–212. https://doi.org/10.1016/S0022-1694(98)00253-4
Beljaars, A.C.M., Holtslag, A.A.M., 1991. Flux Parametrization over Land Surfaces for Atmospheric Models. Journal of Applied Meteorology 30, 327–341. https://doi.org/10.1175/1520-0450( 1991)030<0327:FPOLSF>2.0.CO;2
Suleiman, A., Crago, R., 2004. Hourly and Daytime Evapotranspiration from Grassland Using Radiometric Surface Temperatures. Agronomy Journal 96, 384–390. https://doi.org/10.2134/agronj2004.3840
Thom, A.S., 1975. Momentum, mass and heat exchange of plant communities, in: Monteith, J.L. (Ed.), Vegetation and the Atmosphere, Vol. 1 Principles. Academic Press, London, pp. 57–110.
- intensityE(LE, latent)[source]¶
Evaporation intensity in \(mmol.m^{-2}.s^{-1}\).
- Parameters
LE (numpy.ndarray) – Latent heat flux \((W.m^{-2})\)
latent (numpy.ndarray) – Latent heat of water evaporation \((J.g^{-1})\).
- Returns
Intensity of water evaporation \((mmol.m^{-2}.s^{-1})\).
- Return type
numpy.ndarray
- omega(LE, LE_p)[source]¶
Omega factor (Decoupling coefficient) according to Jarvis and McNaughton (1985)
- Parameters
LE (numpy.ndarray) – Latent heat flux \((W.m^{-2})\)
LE_p (numpy.ndarray) – Potential evaporation latent heat flux \((W.m^{-2})\)
- Returns
Omega factor (unitless)
- Return type
numpy.ndarray
References:
Jarvis, P., McNaughton, K., 1986. Stomatal Control of Transpiration: Scaling Up from Leaf to Region, in: Advances in Ecological Research. Elsevier, pp. 1–49.
- rcp(E_Z_sat, e_Z, rho, LE_p, ra, gamma, cp=1012.0)[source]¶
Surface resistance for water vapour transfer for potential evapotranspiration \((s.m^{-1})\).
- Parameters
E_Z_sat (numpy.ndarray) – Saturated water vapour pressure (kPa).
e_Z (numpy.ndarray) – Water vapour pressure (kPa).
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
LE_p (numpy.ndarray) – Potential evaporation latent heat flux \((W.m^{-2})\)
ra (numpy.ndarray) – Aerodynamic resistance \((s.m^{-1})\)
gamma (numpy.ndarray) – Psychrometric constant \((kPa.K^{-1})\).
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Surface resistance for water vapour transfer for potential evapotranspiration \((s.m^{-1})\).
- Return type
numpy.ndarray
- rs(delta, gamma, omega, ra)[source]¶
Surface resistance for water vapour transfer \((s.m^{-1})\)
- Parameters
delta (numpy.ndarray) – Delta function \((kPa.K^{-1})\)
gamma (numpy.ndarray) – Psychrometric constant \((kPa.K^{-1})\).
omega (numpy.ndarray) – Decoupling coefficient (rel.)
ra (numpy.ndarray) – Aerodynamic resistance \((s.m^{-1})\)
- Returns
Surface resistance for water vapour transfer \((s.m^{-1})\)
- Return type
numpy.ndarray
- class SEBCS_lib.MeteoFeatures[source]¶
Calculation of basic meteorological features and miscellaneous variables.
- airDensity(ta)[source]¶
Volumetric dry air density \((kg.m^{-3})\).
- Parameters
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
- Returns
Volumetric dry air density \((kg.m^{-3})\)
- Return type
numpy.ndarray, float
- airPress(ta, DMT, Z=200.0, P0=101.325, adiabatic=0.0065)[source]¶
Atmospheric air pressure at level Z (kPa)
- Parameters
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
DMT (numpy.ndarray, float) – Digital elevation model or altitude (m)
Z (float) – Height of measurement above surface (m)
P0 (float) – Sea level air pressure (kPa)
adiabatic (float) – Adiabatic lapse rate \((\SI{}\degreeCelsius)\)
- Returns
Air pressure at level Z (kPa)
- Return type
numpy.ndarray, float
- airTemp(ta_st, st_altitude, DMT, adiabatic=0.0065)[source]¶
Conversion of air temperature calculated from temperature data and digital elevation model \((\SI{}\degreeCelsius)\) to spatial near to ground temperature or temperature at different altitude.
- Parameters
ta_st – Air temperature measured on meteostation :math:`(SI{
}degreeCelsius)` :type ta_st: float :param st_altitude: Meteostation altitude (m a.s.l.) :type st_altitude: float :param DMT: Digital elevation model (m) or altitude for calculation of ta value. :type DMT: numpy.ndarray, float :param adiabatic: Adiabatic lapse rate \((\SI{}\degreeCelsius)\). Default = 0.0065 \(\SI{}\degreeCelsius.m^{-1}\) :type adiabatic: float :return: Spatial air temperature \((\SI{}\degreeCelsius)\) :rtype: numpy.ndarray, float
- airTemperatureBlending(ta_surface, Z=200.0, Z_st=2.0, adiabatic=0.0065)[source]¶
Conversion of spatial air temperature measured for near surface level to level Z above the surface. This approach is usually used for calculation of air temperature at blending height (mixing layer).
- Parameters
ta_surface – Spatial air temperature for near ground level (
Z_st; \(\SI{}\degreeCelsius)\) :type ta_surface: :param Z: Height of a level which is used for calculation. Default value corresponds with “blending” height or height of mixing layer. Default is 200 m above surface. :type Z: float :param Z_st: Height of air temperature measurement (m) :type Z_st: float :param adiabatic: Adiabatic lapse rate \((\SI{}\degreeCelsius)\). Default = 0.0065 \(\SI{}\degreeCelsius.m^{-1}\) :type adiabatic: float :return:
- delta(ts, ta)[source]¶
Slope of water vapour pressure gradient to temperature gradient - delta function \((kPa.K^{-1})\). Calculation according to Jackson et al. (1998).
- Parameters
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
- Returns
Slope of water vapour pressure gradient to temperature gradient - delta function \((kPa.K^{-1})\)
- Return type
numpy.ndarray
- emissivity(red, ndvi)[source]¶
Surface emissivity calculated according to Sobrino et al. (2004) NDVI Treshold Method.
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
ndvi (numpy.ndarray) – Spectral vegetation index NDVI (unitless)
- Returns
Surface emissivity (rel.)
- Return type
numpy.ndarray
- gamma(airP, latent, cp=1012.0)[source]¶
Psychrometric constant \((kPa.K^{-1})\).
- Parameters
airP (numpy.ndarray, float) – Atmospheric pressure (kPa)
latent – Latent heat for water vapour exchange \((J.g^{-1})\)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Psychrometric constant \((kPa.K^{-1})\)
- Return type
numpy.ndarray, float
- latent(ta)[source]¶
Latent heat for the water vapour exchange \((J.g^{-1})\).
- Parameters
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
- Returns
Latent heat for the water vapour exchange \((J.g^{-1})\)
- Return type
numpy.ndarray, float
- satVapourPress(ta)[source]¶
Saturated water vapour pressure (kPa) calculated using Magnus-Tetens equation.
- Parameters
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
- Returns
Saturated water vapour pressure (kPa)
- Return type
numpy.ndarray, float
- surfaceTemperature(tir_band, emissivity=1.0, emis_rule='No')[source]¶
Correction of surface temperature on emissivity. :param tir_band: Layer of surface temperature \((\SI{ }\degreeCelsius)\). :type tir_band: numpy.ndarray :param emissivity: Layer of emissivity (rel.). :type emissivity: numpy.ndarray :param emis_rule: Setting if the correction will be done or not.
No is default.
- Returns
Layer of corrected surface temperature :math:`(SI{
}degreeCelsius)`. :rtype: numpy.ndarray
- class SEBCS_lib.SolarRadBalance[source]¶
Class contains functions for calculation of solar radiation balance and topographic features: incident radiation in dependence on surface geometry, slope of terrain, aspect of terrain, albedo, longwave radiation fluxes and atmospheric emissivity, shortwave radiation reflectance and total net radiation
- albedo(band_red, band_nir, sat_type='L8', band_blue=None, band_green=None, band_sw1=None, band_sw2=None)[source]¶
Calculation of Albedo according to data type (satellite data type) or data availability. Albedo can be calculated using Landsat data or using any data including RED and NIR band. For the Landsat 8 data Olmedo method is used, for tle Landsat 4, 5 and 7 Tasumi approach is used. If only RED and NIR bands are available, Brom method is used.
- Parameters
band_red (numpy.ndarray) – Red band (rel.)
band_nir (numpy.ndarray) – NIR band (rel.)
sat_type (str) –
Type of Landsat satellite:
L5 - Landsat 4 TM, 5 TM or Landsat 7 ETM+
L8 - Landsat 8 OLI/TIRS
band_blue (numpy.ndarray) – Blue band (rel.)
band_green (numpy.ndarray) – Green band (rel.)
band_sw1 (numpy.ndarray) – SWIR1 band on ca 1.61 \(\mu m\) (rel.)
band_sw2 (numpy.ndarray) – SWIR2 band on ca 2.2 \(\mu m\) (rel.)
- Returns
Albedo (rel.)
- Return type
numpy.ndarray
References:
G.F. Olmedo, S. Ortega-Farias, D. Fonseca-Luengo, D. de la Fuente-Saiz, F.F. Peñailillo 2018: Water: actual evapotranspiration with energy balance models. R Package Version 0.6 (2017)
Tasumi, M., Allen, R.G., Trezza, R., 2008. At-Surface Reflectance and Albedo from Satellite for Operational Calculation of Land Surface Energy Balance. Journal of Hydrologic Engineering 13, 51–63. https://doi.org/10.1061/(ASCE)1084-0699(2008)13:2(51).
Duffková, R., Brom, J., Žížala, D., Zemek, F., Procházka, J., Nováková, E., Zajíček, A., Kvítek, T., 2012. Určení infiltračních oblastí pomocí vodního stresu vegetace na základě dálkového průzkumu Země a pozemních měření. Certifikovaná metodika. VÚMOP, v.v.i., Praha.
- albedoBrom(ndvi, msavi, c_a=0.08611, c_b=0.894716, c_c=5.558657, c_d=- 0.11829, c_e=- 1.9818, c_f=- 4.50339, c_g=- 11.4625, c_h=7.461454, c_i=5.299396, c_j=4.76657, c_k=- 2.3127, c_l=- 3.42739)[source]¶
Albedo (rel.) calculated according to Duffková and Brom et al. (2012)
- Parameters
ndvi (numpy.array) – Normalized Difference Vegetation Index (-)
msavi – Modified Soil Adjusted Vegetation Index (-) according to Gao et al. 1996.
c_a (float) – constant. Default a = 0.08611
c_b (float) – constant. Default a = 0.894716
c_c (float) – constant. Default a = 5.558657
c_d (float) – constant. Default a = -0.11829
c_e (float) – constant. Default a = -1.9818
c_f (float) – constant. Default a = -4.50339
c_g (float) – constant. Default a = -11.4625
c_h (float) – constant. Default a = 7.461454
c_i (float) – constant. Default a = 5.299396
c_j (float) – constant. Default a = 4.76657
c_k (float) – constant. Default a = -2.3127
c_l (float) – constant. Default a = -3.42739
- Returns
Albedo (rel.)
- Return type
numpy.ndarray
References:
Duffková, R., Brom, J., Žížala, D., Zemek, F., Procházka, J., Nováková, E., Zajíček, A., Kvítek, T., 2012. Určení infiltračních oblastí pomocí vodního stresu vegetace na základě dálkového průzkumu Země a pozemních měření. Certifikovaná metodika. VÚMOP, v.v.i., Praha.
- albedoLandsat(blue, green, red, nir, swir1, swir2, sat_type='L8')[source]¶
Albedo (rel.) calculated for Landsat satellite sensors. Albedo for Landsat 4 TM, 5 TM and Landsat 7 ETM+ is calculated according to Tasumi et al. (2008). Albedo for Landsat 8 OLI/TIRS is calculated according to Olmeo et al. (2017). Albedo is computed with spectral reflectance bands on relative scale (0 to 1).
Note: This algorithm might be used with another data from different devices, however a comparable spectral data (bands) should be used.
- Parameters
blue (numpy.ndarray) – Blue band (rel.)
green (numpy.ndarray) – Green band (rel.)
red (numpy.ndarray) – Red band (rel.)
nir (numpy.ndarray) – NIR band (rel.)
swir1 (numpy.ndarray) – SWIR1 band on ca 1.61 \(\mu m\) (rel.)
swir2 (numpy.ndarray) – SWIR2 band on ca 2.2 \(\mu m\) (rel.)
sat_type (str) –
Type of Landsat satellite:
L5 - Landsat 4 TM, 5 TM or Landsat 7 ETM+
L8 - Landsat 8 OLI/TIRS
- Returns
Albedo (rel.)
- Return type
numpy.ndarray
References:
G.F. Olmedo, S. Ortega-Farias, D. Fonseca-Luengo, D. de la Fuente-Saiz, F.F. Peñailillo 2018: Water: actual evapotranspiration with energy balance models. R Package Version 0.6 (2017)
Tasumi, M., Allen, R.G., Trezza, R., 2008. At-Surface Reflectance and Albedo from Satellite for Operational Calculation of Land Surface Energy Balance. Journal of Hydrologic Engineering 13, 51–63. https://doi.org/10.1061/(ASCE)1084-0699(2008)13:2(51).
- atmEmissivity(e_Z, ta)[source]¶
Atmospheric emissivity calculated according to Idso (see Brutsaert 1982).
- Parameters
e_Z (numpy.ndarray, float) – Atmospheric water vapour pressure (kPa)
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
- Returns
Air emissivity (rel.)
- Return type
numpy.ndarray, float
- downRL(ta, emis_a)[source]¶
Funtion calculates downward flux of longwave radiation \((W.m^{ -2})\)
- Parameters
ta (numpy.ndarray, float) – Air temperature \((\SI{}\degreeCelsius)\)
emis_a (numpy.ndarray, float) – Air emissivity (rel.)
- Return RL_in
Downward flux of longwave radiation \((W.m^{-2})\)
- Rtype RL_in
numpy.ndarray, float
- netRad(Rs_in_corr, Rs_out, RL_in, RL_out)[source]¶
Total net radiation.
- Parameters
Rs_in_corr (numpy.ndarray) – Incomming global (shortwave) radiation \((W.m^{-2})\)
Rs_out (numpy.ndarray) – Outgoing (reflected) shortwave radiation \((W.m^{-2})\)
RL_in (numpy.ndarray) – Incomming (downward) longwave radiation \((W.m^{-2})\)
RL_out (numpy.ndarray) – Outgoing (upward) longwave radiation \((W.m^{-2})\)
- Returns
Total net radiation flux \((W.m^{-2})\)
- Return type
numpy.ndarray
- outRL(ts, emiss)[source]¶
Upward flux of longwave radiation \((W.m^{-2})\)
- Parameters
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
emiss (numpy.ndarray) – Surface emissivity (rel.)
- Returns
Upward flux of longwave radiation \((W.m^{-2})\)
- Return type
numpy.ndarray
- reflectRs(Rs_in_corr, albedo)[source]¶
Amount of shortwave radiation reflected from surface \((W.m^{-2})\)
- Parameters
Rs_in_corr (numpy.ndarray) – Incomming global radiation corrected on DEM \((W.m^{-2})\)
albedo (numpy.ndarray) – Surface albedo (rel.)
- Returns
Amount of reflected global radiation \((W.m^{-2})\)
- Return type
numpy.ndarray
- slopeAspect(DMT, x_size, y_size)[source]¶
Slope and aspect of terrain (DMT) in degrees.
- Parameters
DMT (numpy.ndarray) – Digital model of terrain (m a.s.l.)
x_size (float) – Size of pixel in x axis (m)
y_size (float) – Size of pixel in y axis (m)
- Returns
Slope of the terrain \((\SI{}\degree)\)
- Return type
numpy.ndarray
- Returns
Aspect of the terrain \((\SI{}\degree)\)
- Return type
numpy.ndarray
- solarInTopo(Rs_in, slope, aspect, latitude, longitude, date_acq, time_acq)[source]¶
Calculation of incident shortwave solar radiation flux according to the solar geometry, position (latitude and longitude) and shape of surface (slope and orientation). Flux of the solar energy \((W.m^{-2})\) is calculated on basis of the measured global radiation using pyranometer (incomming global radiation). Diffuse part of radiation is not separated in calculation.
- Parameters
Rs_in (float) – Global radiation measured by pyranometer \((W.m^{-2})\).
slope (numpy.ndarray) – Slope of the terrain \((\SI{}\degree)\).
aspect (numpy.ndarray) – Orientation of the terrain \((\SI{}\degree)\).
latitude (float) – Mean latitude of the data in decimal degrees
longitude (float) – Mean longitude of the data in decimal degrees
date_acq (datetime.date) – Date of data acquisition in iso format (‘YYYY-mm-dd’)
time_acq (datetime.time) – Time in GMT in datetime.time format (‘HH:MM:SS.SS’)
- Returns
Incident shortwave radiation \((W.m^{-2})\) corrected on the terrain and solar geometry.
- Return type
numpy.ndarray
- class SEBCS_lib.VegIndices[source]¶
Calculation of vegetation indices from spectral data.
- LAI(red, nir, method=3)[source]¶
Leaf Area Index (LAI) calculated according to several methods.
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
method (int) –
Method of LAI calculation:
1: Pôças
2: Bastiaanssen
3: Jafaar (default)
4: Anderson
5: vineyard
6: Carrasco
7: Turner
- Returns
Leaf Area Index (LAI) \((m^2.m^{-2})\)
- Return type
numpy.ndarray
References
Anderson, M., Neale, C., Li, F., Norman, J., Kustas, W., Jayanthi, H., Chavez, J., 2004. Upscaling ground observations of vegetation water content, canopy height, and leaf area index during SMEX02 using aircraft and Landsat imagery. Remote Sensing of Environment 92, 447–464. https://doi.org/10.1016/j.rse.2004.03.019
Bastiaanssen, W.G.M., Menenti, M., Feddes, R.A., Holtslag, A.A.M., 1998. A remote sensing surface energy balance algorithm for land ( SEBAL). 1. Formulation. Journal of Hydrology 212–213, 198–212. https://doi.org/10.1016/S0022-1694(98)00253-4
Carrasco-Benavides, M., Ortega-Farías, S., Lagos, L., Kleissl, J., Morales-Salinas, L., Kilic, A., 2014. Parameterization of the Satellite-Based Model (METRIC) for the Estimation of Instantaneous Surface Energy Balance Components over a Drip-Irrigated Vineyard. Remote Sensing 6, 11342–11371. https://doi.org/10.3390/rs61111342
Jaafar, H.H., Ahmad, F.A., 2019. Time series trends of Landsat-based ET using automated calibration in METRIC and SEBAL: The Bekaa Valley, Lebanon. Remote Sensing of Environment S0034425718305947. https://doi.org/10.1016/j.rse.2018.12.033
Pôças, I., Paço, T.A., Cunha, M., Andrade, J.A., Silvestre, J., Sousa, A., Santos, F.L., Pereira, L.S., Allen, R.G., 2014. Satellite-based evapotranspiration of a super-intensive olive orchard: Application of METRIC algorithms. Biosystems Engineering 128, 69–81. https://doi.org/10.1016/j.biosystemseng.2014.06.019
Turner, D.P., Cohen, W.B., Kennedy, R.E., Fassnacht, K.S., Briggs, J.M., 1999. Relationships between Leaf Area Index and Landsat TM Spectral Vegetation Indices across Three Temperate Zone Sites. Remote Sensing of Environment 70, 52–68. https://doi.org/10.1016/S0034-4257(99)00057-7
- biomass_sat(ndvi)[source]¶
Calculation of amount of fresh biomass from satellite data. NDVI is used for estimation \((t.ha^{-1})\)
- Parameters
ndvi – Normalized Difference Vegetation Index (NDVI).
- Returns
Amount of fresh biomass \((t.ha^{-1})\)
- fractVegCover(ndvi)[source]¶
Fractional vegetation cover layer - Fc.
- Parameters
ndvi (numpy.ndarray) – Normalized Difference Vegetation Index - NDVI (unitless)
- Returns
Fractional vegetation cover layer - Fc (unitless)
- Return type
numpy.ndarray
- vegHeight(h_min, h_max, msavi)[source]¶
Height of effective vegetation cover (m) derived from MSAVI index according to Gao et al. (2011).
- Parameters
h_min (numpy.ndarray) – Maximal height of vegetation cover (m)
h_max (numpy.ndarray) – Minimal height of vegetation cover (m)
msavi (numpy.ndarray) – Modified Soil Adjusted Vegetation Index (MSAVI)
- Returns
Effective vegetation cover height (m)
- Return type
numpy.ndarray
References
Gao, Z.Q., Liu, C.S., Gao, W., Chang, N.-B., 2011. A coupled remote sensing and the Surface Energy Balance with Topography Algorithm (SEBTA) to estimate actual evapotranspiration over heterogeneous terrain. Hydrol. Earth Syst. Sci. 15, 119–139. https://doi.org/10.5194/hess-15-119-2011
- viMSAVI(red, nir)[source]¶
Modified Soil Adjusted Vegetation Index - MSAVI (Qi et al. 1994).
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
- Returns
Modified Soil Adjusted Vegetation Index - SAVI (unitless)
- Return type
numpy.ndarray
References
Qi, J., Chehbouni, A., Huete, A.R., Kerr, Y.H., Sorooshian, S., 1994. A modified soil adjusted vegetation index. Remote Sensing of Environment 48, 119–126. https://doi.org/10.1016/0034-4257(94)90134-1
- viNDMI(nir, swir1)[source]¶
Normalized Vegetation Moisture Index - NDMI.
- Parameters
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
swir1 – Spectral reflectance in SWIR region (approx. 1.61 \(\mu{m}\) (rel.)
- Returns
Normalized Vegetation Moisture Index - NDMI (unitless)
- Return type
numpy.ndarray
- viNDVI(red, nir)[source]¶
Normalized Difference Vegetation Index - NDVI.
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
- Returns
Normalized Difference Vegetation Index - NDVI (unitless)
- Return type
numpy.ndarray
- viOSAVI(red, nir, L=0.16)[source]¶
Optimized Soil Adjusted Vegetation Index - OSAVI (Rondeaux et al. ( 1996)).
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
L (float) – Parameter L. Default L=0.5
- Returns
Soil Adjusted Vegetation Index - OSAVI (unitless)
- Return type
numpy.ndarray
References
Rondeaux G., Steven M., Baret F. (1996): Optimisation of soil-adjusted vegetation indices Remote Sensing of Environment, 55 (1996), pp. 95-107
- viRDVI(red, nir)[source]¶
Renormalized Difference Vegetation Index - RDVI (Roujean and Breon, 1995).
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
- Returns
RDVI
- Return type
numpy.ndarray
References
Roujean, J.-L., Breon, F.-M., 1995. Estimating PAR absorbed by vegetation from bidirectional reflectance measurements. Remote Sensing of Environment 51, 375–384. https://doi.org/10.1016/0034-4257(94)00114-3
- viSAVI(red, nir, L=0.5)[source]¶
Soil Adjusted Vegetation Index - SAVI (Huete, 1988).
- Parameters
red (numpy.ndarray) – Spectral reflectance in RED region (rel.)
nir (numpy.ndarray) – Spectral reflectance in NIR region (rel.)
L (float) – Parameter L. Default L=0.5
- Returns
Soil Adjusted Vegetation Index - SAVI (unitless)
- Return type
numpy.ndarray
References
Huete A.R. (1988): A soil-adjusted vegetation index (SAVI) Remote Sensing of Environment 27, 47-57.
- class SEBCS_lib.WindStability[source]¶
Atmospheric stability calculation. Class includes methods for calculation of boundary layer stability, friction velocity and aerodynamic resistance of the surface. Methods for calculation of stability parameters for both aerodynamic and gradient methods are included. Methods for SEBAL procedure are also used. Some another features are included.
- aeroSEBAL(Uz, ta, ts, z0m, Rn, G, rho, niter=10, Z=200, z1=0.1, z2=2, cp=1012.0, kappa=0.41, mask=None)[source]¶
Calculation of sensible heat flux and surface aerodynamic resistance according to Bastiaanssen et al. (1998).
- Parameters
Uz (numpy.ndarray) – Wind speed at level Z \((m.s^{-1})\)
ta (numpy.ndarray) – Air temperature at blending height \((\SI{}\degreeCelsius)\)
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
z0m (numpy.ndarray) – Surface roughness for momentum transfer (m)
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
niter (int) – Number of iteration
Z (float (Numpy array)) – Blending height (mixing layer height) (m). Default 200 m.
z1 (float) – First height above zero plane displacement (m)
z2 (float) – Second height above zero plane displacement (m)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
kappa (float) – von Karman constant. Default 0.41
mask – Mask of the area of interest. Number of rows and columns
should be the same. Format (1, 0) or (1, nan). :type mask: numpy.ndarray
- Returns
Aerodynamic resistance for heat transfer \((s.m^{-1})\) calculated according to SEBAL (Bastiaanssen et al. 1998)
- Return type
numpy.ndarray
- Returns
Sensible heat flux \((W.m^{-2})\) calculated according to SEBAL (Bastiaanssen et al. 1998)
- Return type
numpy.ndarray
- static coefX(Z, L)[source]¶
X coefficient for atmospheric stability calculation.
- Parameters
Z (float) – Blending height (mixing layer height) (m). Default 200 m.
L (numpy.ndarray) – Monin-Obukhov length (m)
- Returns
X coefficient for atmospheric stability calculation
- Return type
numpy.ndarray
- static coef_a(t_wet, cb)[source]¶
Coefficient a calculated from temperature gradient.
- Parameters
t_wet (numpy.ndarray) – Temperature for wet surface \((\SI{}\degreeCelsius)\)
cb (numpy.ndarray) – Coefficient b calculated from temperature gradient
- Returns
Coefficient a calculated from temperature gradient
- Return type
numpy.ndarray
- static coef_b(t_dry, t_wet, t_max, ta)[source]¶
Coefficient b calculated from temperature gradient.
- Parameters
t_dry (float, numpy.ndarray) – Temperature for dry surface derived from the surface temperature layer \((\SI{}\degreeCelsius)\)
t_wet (float, numpy.ndarray) – Temperature for wet surface derived from the surface temperature layer \((\SI{}\degreeCelsius)\)
t_max (numpy.ndarray) – Maximal surface temperature calculated from energy balance \((\SI{}\degreeCelsius)\)
ta (numpy.ndarray) – Air temperature at level Z \((\SI{}\degreeCelsius)\)
- Returns
Coefficient a calculated from temperature gradient
- Return type
numpy.ndarray
- dT(ts, ta, Rn, G, ra, rho, cp=1012.0, mask=None)[source]¶
Temperature gradient calculated according to SEBAL (Bastiaanssen et al. 1998).
- Parameters
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
ta (numpy.ndarray) – Air temperature at level Z \((\SI{}\degreeCelsius)\)
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
ra (numpy.ndarray) – Aerodynamic resistance \((s.m^{-1})\)
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
mask – Mask of the area of interest. Number of rows and columns
should be the same. Format (1, 0) or (1, nan). :type mask: numpy.ndarray :return: Temperature difference dT calculated according to Bastiaanssen (1998) :rtype: numpy.ndarray
- static dryT(ts, mask=None)[source]¶
Extraction of temperature for dry surface with no evaporation.
- Parameters
ts (numpy.ndarray) – Surface temperature \((\SI{}\degreeCelsius)\)
mask – Mask of the area of interest. Number of rows and columns
should be the same. Format (1, 0) or (1, nan). :type mask: numpy.ndarray
- Returns
Temperature of dry surface derived from surface temperature layer.
- Return type
float
- static frictVelo(Uz, z0m, disp=0.0, Z=200.0, psi_m=0, kappa=0.41)[source]¶
Friction velocity of wind speed \((m.s^{-1})\) corrected on atmospheric stability.
- Parameters
disp (numpy.ndarray, float) –
Uz (numpy.ndarray) – Wind speed at Z level \((m.s^{-1})\)
z0m (numpy.ndarray, float) – Surface roughness for momentum transfer (m)
disp – Zero plane displacement (m)
Z (float) – Blending height (mixing layer height) (m). Default 200 m.
psi_m (numpy.ndarray) – Stability parameter for momentum transfer. Defaul 0.
kappa (float) – von Karman constant. Default 0.41
- Returns
Friction velocity \((m.s^{-1})\)
- Return type
numpy.ndarray
- static lengthMO(frict, ts, flux_H=None, rho=None, t_virt=None, cp=1012, kappa=0.41, gravit=9.81)[source]¶
Monin-Obukhov length (m)
- Parameters
frict (numpy.ndarray) – Friction velocity \((m.s^{-1})\)
ts (numpy.ndarray) – Surface temperature (C degree)
flux_H (numpy.ndarray) – Sensible heat flux (W.m2)
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
t_virt (numpy.ndarray) – Virtual temperature
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
kappa (float) – von Karman constant. Default 0.41
gravit (float) – Gravitation forcing (m/s2). Default 9.81
- Returns
Monin-Obukhov length (m)
- Return type
numpy.ndarray
- static maxT(Rn, G, ra, ta, rho, cp=1012.0)[source]¶
Maximal surface temperature calculated on physical basis (K).
- Parameters
Rn (numpy.ndarray) – Total net radiation \((W.m^{-2})\)
G (numpy.ndarray) – Ground heat flux \((W.m^{-2})\)
ra (numpy.ndarray) – Aerodynamic resistance for heat transfer \((s.m^{-1})\)
ta (numpy.ndarray) – Air temperature at level Z \((\SI{}\degreeCelsius)\)
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Maximal surface temperature calculated from energy balance equation \((\SI{}\degreeCelsius)\)
- Return type
numpy.ndarray
- static psiH(L, X, Z=200, a=1.0, b=0.667, c=5.0, d=0.35)[source]¶
Calculation of stability parameter for heat transfer (-) according to Beljaars et Holstag (1991) for stable conditions and Liu et al. (2007) for unstable and neutral conditions.
- Parameters
L (numpy.ndarray) – Monin-Obukhov length (m)
X (numpy.ndarray) – X coefficient for stability calculation
Z (float) – Blending height (mixing layer height) (m). Default 200 m.
a (float) – Coefficient. Default a = 1.0
b (float) – Coefficient. Default b = 0.667
c (float) – Coefficient. Defalt c = 5.0
d (float) – Coefficient. Default d = 0.35
- Returns
Stability parameter for momentum transfer (-)
- Return type
numpy.ndarray
- static psiM(L, X, Z=200, a=1.0, b=0.667, c=5.0, d=0.35)[source]¶
Calculation of stability parameter for momentum transfer (-) according to Beljaars et Holstag (1991) for stable conditions and Liu et al. (2007) for unstable and neutral conditions.
- Parameters
L (numpy.ndarray) – Monin-Obukhov length (m)
X (numpy.ndarray) – X coefficient for stability calculation
Z (float) – Blending height (mixing layer height) (m). Default 200 m.
a (float) – Coefficient. Default a = 1.0
b (float) – Coefficient. Default b = 0.667
c (float) – Coefficient. Defalt c = 5.0
d (float) – Coefficient. Default d = 0.35
- Returns
Stability parameter for momentum transfer (-)
- Return type
numpy.ndarray
- static raGrad(flux_H, rho, ts, ta, cp=1012)[source]¶
Aerodynamic resistance for heat and momentum transfer (s.m^{-1}) calculated from conversion of sensible heat flux equation.
- Parameters
flux_H (numpy.ndarray) – Sensible heat flux \((W.m^{-2})\)
rho (numpy.ndarray) – Specific air density \((g.m^{-3})\)
ts – Surface temperature \((\SI{}\degreeCelsius)\)
ta (numpy.ndarray) – Air temperature at level Z \((\SI{}\degreeCelsius)\)
cp (float) – Thermal heat capacity of dry air \((K.kg^{-1}.K^{-1})\)
- Returns
Aerodynamic resistance for gradient model \((s.m^{-1})\)
- Return type
numpy.ndarray
- static raSEBAL(frict, psiH_z1, psiH_z2, z1=0.1, z2=2.0, kappa=0.41)[source]¶
Calculation of surface aerodynamic resistance for heat transfer based on SEBAL approach (Bastiaanssen, 1998).
- Parameters
frict (numpy.ndarray) – Friction velocity \((m.s^{-1})\)
psiH_z1 (numpy.ndarray) – Stability parameter for momentum transfer (-) at level z1
psiH_z2 (numpy.ndarray) – Stability parameter for momentum transfer (-) at level z2
z1 (float) – First height above zero plane displacement (m)
z2 (float) – Second height above zero plane displacement (m)
kappa (float) – von Karman constant. Default 0.41
- Returns
Aerodynamic resistance for heat transfer based on SEBAL approach (Bastiaanssen, 1998).
- Return type
numpy.ndarray
- static raThom(Uz, z0m, z0h, disp=0.0, psi_m=0.0, psi_h=0.0, Z=200.0, kappa=0.41)[source]¶
Aerodynamic resistance for heat and momentum transfer (s.m-1) calculated according to Thom (1975).
- Parameters
disp (numpy.ndarray, float) –
Uz (numpy.ndarray) – Wind speed at level Z \((m.s^{-1})\)
z0m (numpy.ndarray) – Surface roughness for momentum transfer (m)
z0h (numpy.ndarray) – Surface roughness for heat transfer (m)
disp – Zero plane displacement (m)
psi_m (numpy.ndarray) – Stability parameter for momentum transfer (-). Default is 0.
psi_h (numpy.ndarray) – Stability parameter for heat transfer (-) Default is 0.
Z (float (Numpy array)) – Blending height (mixing layer height) (m). Default 200 m.
kappa (float) – von Karman constant. Default 0.41
- Return ra
Aerodynamic resistance for heat and momentum transfer (s.m-1) calculated according to Thom (1975)
- Rtype ra
numpy.ndarray
References
Thom, A.S., 1975. Momentum, mass and heat exchange of plant communities, in: Monteith, J.L. (Ed.), Vegetation and the Atmosphere, Vol. 1 Principles. Academic Press, London, pp. 57–110.
- stabCoef(Uz, ta, ts, z0m, z0h, disp=0, Z=200, L=- 10000.0, n_iter=10, a=1.0, b=0.667, c=5.0, d=0.35, kappa=0.41, gravit=9.81)[source]¶
Stability parameters calculation using iterative procedure described by Itier (1980).
- Parameters
disp (numpy.ndarray, float) –
Uz (numpy.ndarray) – Wind speed at level Z \((m.s^{-1})\)
ta (numpy.ndarray) – Air temperature at Z level (K, C degrees)
ts (numpy.ndarray) – Surface temperature (K, C degrees)
z0m (numpy.ndarray) – Surface roughness for momentum transfer (m)
z0h (numpy.ndarray) – Surface roughness for heat transfer (m)
disp – Zero plane displacement (m)
Z (float (Numpy array)) – Blending height (mixing layer height) (m). Default 200 m.
L (float) – Initial value of Monin-Obukhov length (m). Default -10000.0
n_iter (int) – Number of iteration
a (float) – Coefficient. Default a = 1.0
b (float) – Coefficient. Default b = 0.667
c (float) – Coefficient. Defalt c = 5.0
d (float) – Coefficient. Default d = 0.35
kappa (float) – von Karman constant. Default 0.41
gravit (float) – Gravitation forcing (m/s2). Default 9.81
- Returns
Stability parameter for momentum transfer (-)
- Return type
numpy.ndarray
- Returns
Stability parameter for heat transfer (-)
- Return type
numpy.ndarray
- Returns
Friction velocity \((m.s^{-1})\).
- Return type
numpy.ndarray
- Returns
Monin-Obukhov length (m)
- Return type
numpy.ndarray
- static virtTemp(ta, ts, z0h, disp=0.0, Z=200, psi_h=0, kappa=0.41)[source]¶
Virtual temperature (K) corrected on atmospheric stability.
- Parameters
disp (numpy.ndarray, float) –
ta (numpy.ndarray) – Air temperature at Z level (K, C degrees)
ts (numpy.ndarray) – Surface temperature (K, C degrees)
z0h (numpy.ndarray) – Surface roughness for heat transfer (m)
disp – Zero plane displacement (m)
Z (float) – Blending height (mixing layer height) (m). Default 200 m.
psi_h (numpy.ndarray) – Stability parameter for heat transfer, Default 0.
kappa (float) – von Karman constant. Default 0.41
- Returns
Virtual temperature (K)
- Return type
numpy.ndarray
- static wetT(ta)[source]¶
Surface temperature for wet surface. In this case surface temperature for wet surface is equal to air temperature. This statement follows from imagine that the LE = Rn - G and thus H is close to zero.
- Parameters
ta (numpy.ndarray) – Air temperature at level Z \((\SI{}\degreeCelsius)\)
- Returns
Temperature of wet surface.
- Return type
numpy.ndarray
- static windSpeedZ(U, Z=200.0, Z_st=2.0, h_st=0.12, ws_homog=1)[source]¶
Wind speed recalculated to height Z according to logarithmic law (Gao et al. 2011). The results can contain simple number, homogenous or heterogenous matrix of data (Numpy array).
- Parameters
U (float, numpy.ndarray) – Wind speed measured on meteostation at level Z_st \((m.s^{-1})\).
Z (float) – Blending height (mixing layer height) (m). Default 200 m.
Z_st (float) – Height of wind speed measurement (m). Default 2 m.
h_st (float) – Height of vegetation cover under meteostation (m). Default value is 0.12 m which corresponds with reference cover used for meteostations.
ws_homog – Indicates if the result matrix contains uniform
result (mean value of wind speed for the area) or if the results includes heterogeneity of input data (each pixel is calculated separately). 0 - homogenous, 1 - heterogenous :type ws_homog: int :return: Wind speed at mixing layer \((m.s^{-1})\) :rtype: float, numpy.ndarray
References
Gao, Z.Q., Liu, C.S., Gao, W., Chang, N.B., 2011. A coupled remote sensing and the Surface Energy Balance with Topography Algorithm (SEBTA) to estimate actual evapotranspiration over heterogeneous terrain. Hydrol. Earth Syst. Sci. 15, 119–139. https://doi.org/10.5194/hess-15-119-2011
- static z0h(z0m)[source]¶
Aerodynamic roughness of the surface for heat transfer (m) calculated according to Thom (1975).
- Parameters
z0m (numpy.ndarray, float) – Aerodynamic roughness of the surface for momentum transfer (m)
- Returns
Aerodynamic roughness of the surface for heat transfer (m)
- Return type
numpy.ndarray, float
References
Thom, A.S., 1975. Momentum, mass and heat exchange of plant communities, in: Monteith, J.L. (Ed.), Vegetation and the Atmosphere, Vol. 1 Principles. Academic Press, London, pp. 57–110.
- static z0m(h_eff, LAI)[source]¶
Aerodynamic roughness of the surface for momentum transfer (m). z0m is calculated according to Tasumi (2003) for vegetation cover lower tha 1 m and according to Thom (1975) for vegetation cover higher than 1 m. The lowest value of z0m is 0.005, which is typical value for agricultural bare soils (Allen et al. 2007)
- Parameters
h_eff (numpy.ndarray) – Effective vegetation cover height (m)
LAI (numpy.ndarray) – Leaf Area Index
- Returns
Aerodynamic roughness of the surface for momentum transfer (m)
- Return type
numpy.ndarray
References
Allen, R.G., Tasumi, M., Trezza, R., 2007. Satellite-Based Energy Balance for Mapping Evapotranspiration with Internalized Calibration (METRIC)—Model. J. Irrig. Drain Eng. 133, 380–394. https://doi.org/10.1061/(ASCE)0733-9437(2007)133:4(380)
Tasumi, M., 2003. Progress in Operational Estimation of Regional Evapotranspiration Using Satellite Imagery (Ph.D. Thesis). University of Idaho, Moscow, Idaho.
Thom, A.S., 1975. Momentum, mass and heat exchange of plant communities, in: Monteith, J.L. (Ed.), Vegetation and the Atmosphere, Vol. 1 Principles. Academic Press, London, pp. 57–110.
- static zeroPlaneDis(h_eff)[source]¶
Zero plane displacement (m) calculated according to Thom (1975).
- Parameters
h_eff (numpy.ndarray) – Effective vegetation cover height (m)
- Returns
Zero plane displacement (m)
- Return type
numpy.ndarray
References
Thom, A.S., 1975. Momentum, mass and heat exchange of plant communities, in: Monteith, J.L. (Ed.), Vegetation and the Atmosphere, Vol. 1 Principles. Academic Press, London, pp. 57–110.