Skip to content

i.albedo

Computes broad band albedo from surface reflectance.

i.albedo [-mnl8sacd] input=name [,name,...] output=name [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

i.albedo input=name output=name

grass.tools.Tools.i_albedo(input, output, flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)

Example:

tools = Tools()
tools.i_albedo(input="name", output="name")

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

grass.script.run_command("i.albedo", input, output, flags=None, overwrite=None, verbose=None, quiet=None, superquiet=None)

Example:

gs.run_command("i.albedo", input="name", output="name")

Parameters

input=name [,name,...] [required]
    Name of input raster map
output=name [required]
    Name for output raster map
-m
    MODIS (7 input bands:1,2,3,4,5,6,7)
-n
    NOAA AVHRR (2 input bands:1,2)
-l
    Landsat 5+7 (6 input bands:1,2,3,4,5,7)
-8
    Landsat 8 (7 input bands:1,2,3,4,5,6,7)
-s
    Sentinel-2 (6 input bands: B2,B3,B4,B8,B11,B12 surface reflectance in [0,1]; Bonafoni & Sekertekin 2020 coefficients)
-a
    ASTER (6 input bands:1,3,5,6,8,9)
-c
    Aggressive mode (Landsat)
    Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction
-d
    Soft mode (MODIS)
    Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction
--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 | list[str], required
    Name of input raster map
    Used as: input, raster, name
output : str | type(np.ndarray) | type(np.array) | type(gs.array.array), required
    Name for output raster map
    Used as: output, raster, name
flags : str, optional
    Allowed values: m, n, l, 8, s, a, c, d
    m
        MODIS (7 input bands:1,2,3,4,5,6,7)
    n
        NOAA AVHRR (2 input bands:1,2)
    l
        Landsat 5+7 (6 input bands:1,2,3,4,5,7)
    8
        Landsat 8 (7 input bands:1,2,3,4,5,6,7)
    s
        Sentinel-2 (6 input bands: B2,B3,B4,B8,B11,B12 surface reflectance in [0,1]; Bonafoni & Sekertekin 2020 coefficients)
    a
        ASTER (6 input bands:1,3,5,6,8,9)
    c
        Aggressive mode (Landsat)
        Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction
    d
        Soft mode (MODIS)
        Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction
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.

Raises:

grass.tools.ToolError: When the tool ended with an error.

input : str | list[str], required
    Name of input raster map
    Used as: input, raster, name
output : str, required
    Name for output raster map
    Used as: output, raster, name
flags : str, optional
    Allowed values: m, n, l, 8, s, a, c, d
    m
        MODIS (7 input bands:1,2,3,4,5,6,7)
    n
        NOAA AVHRR (2 input bands:1,2)
    l
        Landsat 5+7 (6 input bands:1,2,3,4,5,7)
    8
        Landsat 8 (7 input bands:1,2,3,4,5,6,7)
    s
        Sentinel-2 (6 input bands: B2,B3,B4,B8,B11,B12 surface reflectance in [0,1]; Bonafoni & Sekertekin 2020 coefficients)
    a
        ASTER (6 input bands:1,3,5,6,8,9)
    c
        Aggressive mode (Landsat)
        Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction
    d
        Soft mode (MODIS)
        Albedo dry run to calculate some water to beach/sand/desert stretching, a kind of simple atmospheric correction
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

DESCRIPTION

i.albedo calculates the albedo, that is the Shortwave surface reflectance in the range of 0.3-3 micro-meters. It takes as input individual bands of surface reflectance originating from MODIS, AVHRR, Landsat, Sentinel-2 or Aster satellite sensors and calculates the albedo for those. This is a precursor to r.sun and any energy-balance processing.

NOTES

It uses for Landsat 8 the weighted average reflectance (temporary solution until an algorithm is found).

It assumes MODIS product surface reflectance in [0;10000].

The Sentinel-2 (-s) mode expects exactly 6 surface reflectance bands in [0,1], in the order B2, B3, B4, B8, B11, B12 (e.g. as produced by Sentinel-2 L2A surface reflectance, scaled from its native [0,10000] digital numbers).

EXAMPLE

The following example creates the raster map "albedo_lsat7_1987" from the LANDSAT-TM5 bands in the North Carolina dataset:

g.region raster=lsat5_1987_10 -p
i.albedo -l input=lsat5_1987_10,lsat5_1987_20,lsat5_1987_30,lsat5_1987_40,lsat5_1987_50,lsat5_1987_70 output=albedo_lsat7_1987

i.albedo LANDSAT-TM5 1987 example
Figure: Resulting albedo map from LANDSAT 5

The following example creates the raster map "albedo_lsat7_2000" from the LANDSAT-TM7 bands in the North Carolina dataset:

g.region raster=lsat7_2000_10 -p
i.albedo -l input=lsat7_2000_10,lsat7_2000_20,lsat7_2000_30,lsat7_2000_40,lsat7_2000_50,lsat7_2000_70 output=albedo_lsat7_2000

i.albedo LANDSAT-TM7 2000 example
Figure: Resulting albedo map from LANDSAT 7

The following example creates a Sentinel-2 broadband albedo map from six surface reflectance bands (B2, B3, B4, B8, B11, B12) already scaled to [0,1]:

i.albedo -s input=s2_B2,s2_B3,s2_B4,s2_B8,s2_B11,s2_B12 output=albedo_sentinel2

TODO

Maybe change input requirement of MODIS to [0.0-1.0]?

REFERENCES

For a 2 band determination of the Aster BB Albedo see the following:

Salleh and Chan, 2014. Land Surface Albedo Determination: Remote Sensing and Statistical Validation. in proceedings of FIG 2014 (PDF)

For the Sentinel-2 narrow-to-broadband conversion coefficients:

Bonafoni, S. and Sekertekin, A., 2020. Albedo Retrieval From Sentinel-2 by New Narrow-to-Broadband Conversion Coefficients. IEEE Geoscience and Remote Sensing Letters, 17(9), 1618-1622. (DOI)

SEE ALSO

r.sun, i.vi

AUTHOR

Yann Chemin

SOURCE CODE

Available at: i.albedo source code (history)
Latest change: Wednesday Sep 23 17:28:56 2026 in commit 3ca4643