Skip to content

i.eb.z0m0

Computes momentum roughness length (z0m) and surface roughness for heat transport (z0h) after Bastiaanssen (2004).

i.eb.z0m0 [-h] ndvi=name [coef=float] hv_max=float hmr=float output=name [z0h=name] [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

i.eb.z0m0 ndvi=name hv_max=1.5 hmr=0.02 output=name

grass.script.run_command("i.eb.z0m0", ndvi, 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.z0m0", ndvi="name", hv_max=1.5, hmr=0.02, output="name")

grass.tools.Tools.i_eb_z0m0(ndvi, 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_z0m0(ndvi="name", hv_max=1.5, hmr=0.02, output="name")

This grass.tools API is experimental in version 8.5 and expected to be stable in version 8.6.

Parameters

ndvi=name [required]
    Name of the NDVI map [-1.0;1.0]
coef=float
    Value of the converion factor from z0m and z0h (Bastiaanssen (2005) used 0.1)
    Default: 0.1
hv_max=float [required]
    Value of the vegetation height at max(NDVI) i.e. standard C3 crop could be 1.5m
    Default: 1.5
hmr=float [required]
    Value of the micro-relief height (h.m-r.) on flat bare ground, most references point to 2cm
    Default: 0.02
output=name [required]
    Name of the output z0m layer
z0h=name
    Name of the output z0h layer
-h
    z0h output (You have to input a coef value)
--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

ndvi : str, required
    Name of the NDVI map [-1.0;1.0]
    Used as: input, raster, name
coef : float, optional
    Value of the converion factor from z0m and z0h (Bastiaanssen (2005) used 0.1)
    Used as: grassmods
    Default: 0.1
hv_max : float, required
    Value of the vegetation height at max(NDVI) i.e. standard C3 crop could be 1.5m
    Used as: grassmods
    Default: 1.5
hmr : float, required
    Value of the micro-relief height (h.m-r.) on flat bare ground, most references point to 2cm
    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: h
    h
        z0h output (You have to input a coef value)
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

ndvi : str | np.ndarray, required
    Name of the NDVI map [-1.0;1.0]
    Used as: input, raster, name
coef : float, optional
    Value of the converion factor from z0m and z0h (Bastiaanssen (2005) used 0.1)
    Used as: grassmods
    Default: 0.1
hv_max : float, required
    Value of the vegetation height at max(NDVI) i.e. standard C3 crop could be 1.5m
    Used as: grassmods
    Default: 1.5
hmr : float, required
    Value of the micro-relief height (h.m-r.) on flat bare ground, most references point to 2cm
    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: h
    h
        z0h output (You have to input a coef value)
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.z0m0 calculates the momentum roughness length (z0m) and optionally the surface roughness for heat transport (z0h) as per SEBAL requirements from bastiaanssen (1995). This version is calculating from a NDVI with an deterministic equation, as seen in Bastiaanssen (1995). 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. There, fixed.

TODO

SEE ALSO

i.eb.h0, i.eb.h_SEBAL95, i.eb.h_iter, i.eb.z0m

AUTHOR

Yann Chemin, International Rice Research Institute, The Philippines

SOURCE CODE

Available at: i.eb.z0m0 source code (history)
Latest change: Thursday Feb 20 13:02:26 2025 in commit 53de819