GRASS logo

NAME

r.mapcalc.tiled - Runs r.mapcalc in parallel over tiles.

KEYWORDS

raster, algebra, tiling

SYNOPSIS

r.mapcalc.tiled
r.mapcalc.tiled --help
r.mapcalc.tiled expression=string [output=name] [width=integer] [height=integer] overlap=integer [nprocs=integer] [processes=integer] [mapset_prefix=string] [patch_backend=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog

Parameters:

expression=string [required]
Expression to send to r.mapcalc
output=name
Name of raster output map resulting from expression
width=integer
Width of tiles (columns)
height=integer
Height of tiles (rows)
overlap=integer [required]
Overlap of tiles
Default: 0
nprocs=integer
Number of r.mapcalc processes to run in parallel
Options: 1-
processes=integer
This option is obsolete and replaced by nprocs
Number of r.mapcalc processes to run in parallel, use nprocs option instead
Options: 1-
mapset_prefix=string
Mapset prefix
patch_backend=string
Backend for patching computed tiles
If backend is not specified, original serial implementation with RasterRow is used
Options: RasterRow, r.patch
RasterRow: serial patching with PyGRASS RasterRow
r.patch: parallelized r.patch (with zero overlap only)

Table of contents

DESCRIPTION

r.mapcalc.tiled cuts a raster input map into tiles and runs r.mapcalc over these tiles before patching the result together into a single output raster map.

The user provides the map calculation expression. The output map name is automatically extracted from that expression by extracting the string before the '='. If the expression is more complex, the user can also provide the the output map name with the parameter output

Tiles can be defined with the width, height and overlap parameters. If no width and height is specified, they are automatically computed from the number of processes and current computational region (with GRASS GIS v8.2 and above). For example, 8 processes result in 8 tiles where the tile width is equal to the number of columns. If nprocs is higher than one, these tiles will be processed in parallel.

The mapset_prefix parameter ensures that the temporary mapsets created during the tiled processing have unique names. This is useful if the user runs r.mapcalc.tiled several times in parallel (e.g. in an HPC environment).

Option patch_backend can switch how the resulting tiles are merged. With patch_backend=RasterRow (default) the original GridModule implementation is used. With patch_backend=r.patch module r.patch is used with the number of cores specified with nprocs. This backend can only be used with 0 overlap.

EXAMPLE

Run r.mapcalc over tiles with size 1000x1000 using 4 parallel processes (North Carolina sample dataset):
 
g.region raster=ortho_2001_t792_1m
r.mapcalc.tiled expression="bright_pixels = if(ortho_2001_t792_1m > 200, 1, 0)" \
   width=1000 height=1000 nprocs=4

SEE ALSO

r.mapcalc

AUTHOR

Moritz Lennert

SOURCE CODE

Available at: r.mapcalc.tiled source code (history)

Latest change: Wednesday Jun 22 15:04:00 2022 in commit: a3f203b5e03131c5d5310b97584c48dcfc173498


Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2022 GRASS Development Team, GRASS GIS 8.2.0 Reference Manual