Skip to content

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

i.eb.h0

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