GRASS logo


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


raster, algebra, tiling


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]


Allow output files to overwrite existing files
Print usage summary
Verbose module output
Quiet module output
Force launching GUI dialog


expression=string [required]
Expression to send to r.mapcalc
Name of raster output map resulting from expression
Width of tiles (columns)
Height of tiles (rows)
overlap=integer [required]
Overlap of tiles
Default: 0
Number of r.mapcalc processes to run in parallel
Options: 1-
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
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


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.


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




Moritz Lennert


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