i.eb.z0m
Computes momentum roughness length (z0m) and surface roughness for heat transport (z0h) after Bastiaanssen (2004).
i.eb.z0m [-p] input=name [coef=float] [hv_max=float] [hmr=float] output=name [z0h=name] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]
Example:
i.eb.z0m input=name output=name
grass.script.run_command("i.eb.z0m", input, coef=0.1, hv_max=1.5, hmr=0.02, output, z0h=None, flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)
Example:
gs.run_command("i.eb.z0m", input="name", output="name")
grass.tools.Tools.i_eb_z0m(input, coef=0.1, hv_max=1.5, hmr=0.02, output, z0h=None, flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)
Example:
tools = Tools()
tools.i_eb_z0m(input="name", output="name")
This grass.tools API is experimental in version 8.5 and expected to be stable in version 8.6.
Parameters
input=name [required]
Name of the NDVI map [-1.0;1.0], SAVI if -p flag
coef=float
Value of the conversion factor from z0m and z0h (Bastiaanssen (2005) used 0.1), for -f flag
Default: 0.1
hv_max=float
Value of the vegetation height at max(NDVI) i.e. standard C3 crop could be 1.5m, not needed for -p flag
Default: 1.5
hmr=float
Value of the micro-relief height (h.m-r.) on flat bare ground, most references point to 2cm, not need for -p flag
Default: 0.02
output=name [required]
Name of the output z0m layer
z0h=name
Name of the output z0h layer
-p
Use SAVI input only with equation of Pawan (2004)
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
input : str, required
Name of the NDVI map [-1.0;1.0], SAVI if -p flag
Used as: input, raster, name
coef : float, optional
Value of the conversion factor from z0m and z0h (Bastiaanssen (2005) used 0.1), for -f flag
Used as: grassmods
Default: 0.1
hv_max : float, optional
Value of the vegetation height at max(NDVI) i.e. standard C3 crop could be 1.5m, not needed for -p flag
Used as: grassmods
Default: 1.5
hmr : float, optional
Value of the micro-relief height (h.m-r.) on flat bare ground, most references point to 2cm, not need for -p flag
Used as: grassmods
Default: 0.02
output : str, required
Name of the output z0m layer
Used as: output, raster, name
z0h : str, optional
Name of the output z0h layer
Used as: output, raster, name
flags : str, optional
Allowed values: p
p
Use SAVI input only with equation of Pawan (2004)
overwrite : bool, optional
Allow output files to overwrite existing files
Default: None
verbose : bool, optional
Verbose module output
Default: None
quiet : bool, optional
Quiet module output
Default: None
superquiet : bool, optional
Very quiet module output
Default: None
input : str | np.ndarray, required
Name of the NDVI map [-1.0;1.0], SAVI if -p flag
Used as: input, raster, name
coef : float, optional
Value of the conversion factor from z0m and z0h (Bastiaanssen (2005) used 0.1), for -f flag
Used as: grassmods
Default: 0.1
hv_max : float, optional
Value of the vegetation height at max(NDVI) i.e. standard C3 crop could be 1.5m, not needed for -p flag
Used as: grassmods
Default: 1.5
hmr : float, optional
Value of the micro-relief height (h.m-r.) on flat bare ground, most references point to 2cm, not need for -p flag
Used as: grassmods
Default: 0.02
output : str | type(np.ndarray) | type(np.array) | type(gs.array.array), required
Name of the output z0m layer
Used as: output, raster, name
z0h : str | type(np.ndarray) | type(np.array) | type(gs.array.array), optional
Name of the output z0h layer
Used as: output, raster, name
flags : str, optional
Allowed values: p
p
Use SAVI input only with equation of Pawan (2004)
overwrite : bool, optional
Allow output files to overwrite existing files
Default: None
verbose : bool, optional
Verbose module output
Default: None
quiet : bool, optional
Quiet module output
Default: None
superquiet : bool, optional
Very quiet module output
Default: None
Returns:
result : grass.tools.support.ToolResult | np.ndarray | tuple[np.ndarray] | None
If the tool produces text as standard output, a ToolResult object will be returned. Otherwise, None
will be returned. If an array type (e.g., np.ndarray) is used for one of the raster outputs, the result will be an array and will have the shape corresponding to the computational region. If an array type is used for more than one raster output, the result will be a tuple of arrays.
DESCRIPTION
i.eb.z0m calculates the momentum roughness length (z0m) and optionally the surface roughness for heat transport (z0h) as per SEBAL requirements from Bastiaanssen (1995). Default: calculating from a NDVI with an deterministic equation, as seen in Bastiaanssen (1995). Flag -p : calculating from a SAVI with an empirical equation, as seen in Pawan (2004). This is a typical input to sensible heat flux computations of any energy balance modeling.
NOTES
The NDVI map input and the ndvi_max operation set, is only to get a linear relationship from NDVI to vegetation height. The latter being related to z0m by a factor 7. If you happen to have a vegetation height (hv) map, then z0m=hv/7 and z0h=0.1*z0m.
TODO
SEE ALSO
REFERENCES
- Bastiaanssen, W.G.M., 1995. Regionalization of surface flux densities and moisture indicators in composite terrain; a remote sensing approach under clear skies in mediterranean climates. PhD thesis, Wageningen Agricultural Univ., The Netherland, 271 pp. (PDF)
- Chemin, Y., 2012. A Distributed Benchmarking Framework for Actual ET Models, in: Irmak, A. (Ed.), Evapotranspiration - Remote Sensing and Modeling. InTech. (PDF, DOI: 10.5772/23571)
AUTHOR
Yann Chemin
SOURCE CODE
Available at: i.eb.z0m source code
(history)
Latest change: Friday Feb 21 10:10:05 2025 in commit 7d78fe3