NAME
r.futures.parallelpga - Simulates landuse change using FUTURES (r.futures.simulation) on multiple CPUs in parallel.
Module uses Patch-Growing Algorithm (PGA) to simulate urban-rural landscape structure development.
KEYWORDS
raster,
patch growing,
urban,
landscape,
modeling
SYNOPSIS
r.futures.parallelpga
r.futures.parallelpga --help
r.futures.parallelpga [-d] nprocs=integer repeat=integer developed=name subregions=name [subregions_potential=name] output=name [output_series=basename] [output_density=basename] [num_steps=integer] predictors=name[,name,...] devpot_params=name development_pressure=name n_dev_neighbourhood=integer development_pressure_approach=string gamma=float scaling_factor=float demand=name [population_demand=name] discount_factor=float compactness_mean=float compactness_range=float num_neighbors=integer seed_search=string patch_sizes=name [density=name] [density_capacity=name] [redevpot_params=name] [redevelopment_lag=integer] [incentive_power=float] [potential_weight=name] [redistribution_matrix=name] [redistribution_output=name] [hand=name] [hand_percentile=integer] [flood_maps_file=name] [flood_logfile=name] [huc=name] [adaptive_capacity=name] [adaptation=name] [output_adaptation=basename] [depth_damage_functions=name] [ddf_subregions=name] [random_seed=integer] [memory=float] [--overwrite] [--help] [--verbose] [--quiet] [--ui]
Flags:
- -d
- Runs each subregion separately
- r.futures.simulation runs for each subregion and after all subregions are completed, the results are patched together
- --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:
- nprocs=integer [required]
- Number of processes to run in parallel
- Default: 1
- repeat=integer [required]
- Number of times stochastic simulation is repeated
- Default: 10
- developed=name [required]
- Raster map of developed areas (=1), undeveloped (=0) and excluded (no data)
- subregions=name [required]
- Raster map of subregions
- subregions_potential=name
- Raster map of subregions used with potential file
- If not specified, the raster specified in subregions parameter is used
- output=name [required]
- State of the development at the end of simulation
- output_series=basename
- Basename for raster maps of development generated after each step
- Name for output basename raster map(s)
- output_density=basename
- Basename for raster maps of density generated after each step
- Name for output basename raster map(s)
- num_steps=integer
- Number of steps to be simulated
- predictors=name[,name,...] [required]
- Names of predictor variable raster maps
- Listed in the same order as in the development potential table
- devpot_params=name [required]
- Development potential parameters for each region
- Each line should contain region ID followed by parameters (intercepts, development pressure, other predictors). Values are separated by tabs. First line is ignored, so it can be used for header
- development_pressure=name [required]
- Raster map of development pressure
- n_dev_neighbourhood=integer [required]
- Size of square used to recalculate development pressure
- development_pressure_approach=string [required]
- Approaches to derive development pressure
- Options: occurrence, gravity, kernel
- Default: gravity
- gamma=float [required]
- Influence of distance between neighboring cells
- scaling_factor=float [required]
- Scaling factor of development pressure
- demand=name [required]
- Control file with number of cells to convert
- population_demand=name
- CSV file with population size to accommodate
- discount_factor=float [required]
- Discount factor of patch size
- compactness_mean=float [required]
- Mean value of patch compactness to control patch shapes
- compactness_range=float [required]
- Range of patch compactness to control patch shapes
- num_neighbors=integer [required]
- The number of neighbors to be used for patch generation (4 or 8)
- Options: 4, 8
- Default: 4
- seed_search=string [required]
- The way location of a seed is determined (1: uniform distribution 2: development probability)
- Options: random, probability
- Default: probability
- patch_sizes=name [required]
- File containing list of patch sizes to use
- density=name
- Raster map of population density
- density_capacity=name
- Raster map of maximum capacity
- redevpot_params=name
- CSV file with redevelopment potential parameters for each region
- Each line should contain region ID followed by parameters (intercepts, development pressure, other predictors).
- redevelopment_lag=integer
- Number of steps before redevelopment can happen again in a cell developed during simulation
- Options: 1-
- incentive_power=float
- Exponent to transform probability values p to p^x to simulate infill vs. sprawl
- Values > 1 encourage infill, < 1 urban sprawl
- Options: 0-10
- Default: 1
- potential_weight=name
- Raster map of weights altering development potential
- Values need to be between -1 and 1, where negative locally reduces probability and positive increases probability.
- redistribution_matrix=name
- Matrix containing probabilities of moving from one subregion to another
- redistribution_output=name
- Base name for output file containing matrix of pixels moved from one subregion to another
- hand=name
- Height Above Nearest Drainage raster
- hand_percentile=integer
- Percentile of HAND values within inundated area for depth estimation
- Options: 0-100
- Default: 90
- flood_maps_file=name
- CSV file with (step, return period, map of depth) or (step, map of return period)
- flood_logfile=name
- CSV file with (step, HUC ID, flood probability)
- huc=name
- Raster of HUCs
- adaptive_capacity=name
- Adaptive capacity raster
- adaptation=name
- Raster map of current adaptations for specific flood return periods (e.g. 5, 20)
- Name of input raster map
- output_adaptation=basename
- Basename for raster maps of adaptation generated after each step
- Name for output basename raster map(s)
- depth_damage_functions=name
- CSV file with depth-damage function
- ddf_subregions=name
- Subregions raster for depth-damage functions
- random_seed=integer
- Seed for random number generator
- The same seed can be used to obtain same results or random seed can be generated by other means.
- memory=float
- Memory in GB
Since FUTURES model is stochastic, multiple runs are recommended.
Module
r.futures.parallelpga is a script for running
r.futures.simulation on multiple CPUs.
All options of
r.futures.simulation are available
(except for random seed options which are handled by
r.futures.parallelpga).
Option repeat changes the number of times the simulation is repeated
with the same settings but different random seed.
Option nprocs sets the number of parallel processes to be used,
which depends on number of available CPUs.
Flag -d switches on parallelization on subregion level.
Subregions are split and simulation runs on each subregion individually. This
approach is convenient if available memory is not sufficient for the entire study area.
However, as each subregion is handled separately, development pressure on the edge of a subregion
does not influence its neighbors. This can influence the results in case of significant development
happening on the subregion boundary.
-
Meentemeyer, R. K., Tang, W., Dorning, M. A., Vogler, J. B., Cunniffe, N. J., & Shoemaker, D. A. (2013).
FUTURES: Multilevel Simulations of Emerging Urban-Rural Landscape Structure Using a Stochastic Patch-Growing Algorithm.
Annals of the Association of American Geographers, 103(4), 785-807.
DOI: 10.1080/00045608.2012.707591
-
Dorning, M. A., Koch, J., Shoemaker, D. A., & Meentemeyer, R. K. (2015).
Simulating urbanization scenarios reveals tradeoffs between conservation planning strategies.
Landscape and Urban Planning, 136, 28-39.
DOI: 10.1016/j.landurbplan.2014.11.011
-
Petrasova, A., Petras, V., Van Berkel, D., Harmon, B. A., Mitasova, H., & Meentemeyer, R. K. (2016).
Open Source Approach to Urban Growth Simulation.
Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci., XLI-B7, 953-959.
DOI: 10.5194/isprsarchives-XLI-B7-953-2016
-
Sanchez, G.M., A. Petrasova, A., M.M. Skrip, E.L. Collins, M.A. Lawrimore,
J.B. Vogler, A. Terando, J. Vukomanovic, H. Mitasova, and R.K. Meentemeyer (2023).
Spatially interactive modeling of land change identifies location-specific adaptations most likely to lower future flood risk.
Sci Rep 13, 18869.
DOI: 10.1038/s41598-023-46195-9
FUTURES,
r.futures.simulation,
r.futures.devpressure,
r.futures.potential,
r.futures.potsurface,
r.futures.demand,
r.futures.calib,
r.futures.gridvalidation,
r.futures.validation,
r.sample.category
Corresponding author:
Anna Petrasova, akratoc ncsu edu,
Center for Geospatial Analytics, NCSU
Original standalone version:
Ross K. Meentemeyer,
Wenwu Tang,
Monica A. Dorning,
John B. Vogler,
Nik J. Cunniffe,
Douglas A. Shoemaker
(Department of Geography and Earth Sciences, UNC Charlotte)
Jennifer A. Koch
(Center for Geospatial Analytics, NCSU)
Port to GRASS and GRASS-specific additions:
Vaclav Petras,
NCSU GeoForAll
Development pressure, demand, calibration, validation, preprocessing tools and maintenance:
Anna Petrasova,
NCSU GeoForAll
Climate forcing submodel:
Anna Petrasova,
NCSU GeoForAll
Georgina Sanchez,
Center for Geospatial Analytics, NCSU
Zoning:
Margaret Lawrimore,
Center for Geospatial Analytics, NCSU
Anna Petrasova,
NCSU GeoForAll
SOURCE CODE
Available at:
r.futures.parallelpga source code
(history)
Accessed: Friday Apr 24 06:32:31 2026
Main index |
Raster index |
Topics index |
Keywords index |
Graphical index |
Full index
© 2003-2025
GRASS Development Team,
GRASS GIS 8.4.3dev Reference Manual