fordyn_scenario {medfateland}R Documentation

Scenario of forest dynamics

Description

Evaluates forest dynamics over a landscape including climate and management scenarios

Usage

fordyn_scenario(
  sf,
  SpParams,
  meteo = NULL,
  management_scenario,
  volume_function = NULL,
  volume_arguments = NULL,
  local_control = defaultControl(),
  dispersal_control = default_dispersal_control(),
  dates = NULL,
  CO2ByYear = numeric(0),
  fire_regime = NULL,
  summary_function = NULL,
  summary_arguments = NULL,
  parallelize = FALSE,
  num_cores = detectCores() - 1,
  chunk_size = NULL,
  progress = TRUE,
  verbose = FALSE
)

Arguments

sf

An object of class sf with the following columns:

  • geometry: Spatial geometry.

  • id: Stand identifiers.

  • elevation: Elevation above sea level (in m).

  • slope: Slope (in degrees).

  • aspect: Aspect (in degrees).

  • forest: Objects of class forest.

  • soil: Objects of class soil.

  • state: Objects of class spwbInput or growthInput (optional).

  • meteo: Data frames with weather data (required if parameter meteo = NULL).

  • management_unit: Management unit corresponding to each stand.

  • represented_area_ha: Area represented by each stand in hectares.

  • ignition_weights: Relative weights to determine stands to be burned. Optional, relevant when fire_regime is supplied only).

  • local_control: A list of control parameters (optional). Used to override function parameter local_control for specific stands (values can be NULL for the remaining ones).

Alternatively, the user may supply the result of a previous call to fordyn_scenario, where to continue simulations.

SpParams

A data frame with species parameters (see SpParamsMED).

meteo

Meteorology data (see fordyn_spatial).

management_scenario

A list defining the management scenario (see create_management_scenario)

volume_function

A function accepting a forest object or a tree data table, and a species parameter table, as input and returning the wood volume (m3/ha) corresponding to each tree cohort. The function may accept additional arguments. If NULL, the default volume function is used (not recommended!).

volume_arguments

List with additional arguments for the volume function.

local_control

A list of local model control parameters (see defaultControl).

dispersal_control

A list of dispersal control parameters (see default_dispersal_control). If NULL, then dispersal is not simulated.

dates

A Date object with the days of the period to be simulated. If NULL, then the whole period of meteo is used.

CO2ByYear

A named numeric vector with years as names and atmospheric CO2 concentration (in ppm) as values. Used to specify annual changes in CO2 concentration along the simulation (as an alternative to specifying daily values in meteo).

fire_regime

A list of parameters defining the fire regime (see create_fire_regime) or a matrix representing a fire regime instance (see fire_regime_instance). If NULL, wildfires are not simulated. Details are given in fordyn_spatial.

summary_function

An appropriate function to calculate summaries from an object of class 'fordyn' (e.g., summary.fordyn).

summary_arguments

List with additional arguments for the summary function.

parallelize

Boolean flag to try parallelization (will use all clusters minus one).

num_cores

Integer with the number of cores to be used for parallel computation.

chunk_size

Integer indicating the size of chunks to be sent to different processes (by default, the number of spatial elements divided by the number of cores).

progress

Boolean flag to display progress information for simulations.

verbose

Boolean flag to display additional console output.

Details

This function allows coordinating the dynamics of simulated forest stands via a management scenario defined at the landscape/regional level (see different kinds of scenarios and how to specify them in create_management_scenario).

The input 'sf' object has to be in a Universal Transverse Mercator (UTM) coordinate system (or any other projection using meters as length unit) for appropriate behavior of dispersal sub-model.

For each year to be simulated, the function determines which forest stands will be managed, possibly depending on the demand, and then calls function fordyn_spatial for one year (normally including parallelization). If the simulation of some stands results in an error, the function will try to restore the previous state of the forest stand for the next year steps. Finally, the function evaluates how much of the specified demand has been fulfilled and stores the results, including demand offsets to be applied the year after.

Management is implemented using the defaultManagementFunction in medfate, meaning that management parameters need to follow the structure of defaultManagementArguments

Details about the inclusion of fire regimes in simulations are explained in fordyn_spatial.

Value

An list of class 'fordyn_scenario' with the following elements:

Author(s)

Miquel De Cáceres Ainsa, CREAF

Aitor Améztegui, UdL

See Also

fordyn_spatial, create_management_scenario, dispersal

Examples


# Load example landscape data
data("example_ifn")
  
# Load example meteo data frame from package meteoland
data("examplemeteo")
  
# Load default medfate parameters
data("SpParamsMED")

# Creates scenario with one management unit and annual demand for P. nigra 
scen <- create_management_scenario(1, c("Pinus nigra/Pinus sylvestris" = 2300))

# Assign management unit to all stands
example_ifn$management_unit <- 1 

# Assume that each stand represents 1km2 = 100 ha
example_ifn$represented_area_ha <- 100

# Transform to UTM31 (necessary for dispersal)
example_ifn_utm31 <- sf::st_transform(example_ifn, crs = 32631)

# Subset three plots to speed-up calculations
example_subset <- example_ifn_utm31[31:33, ]

# Launch simulation scenario
fs_12 <- fordyn_scenario(example_subset, SpParamsMED, meteo = examplemeteo, 
                         volume_function = NULL, management_scenario = scen,
                         parallelize = FALSE)


[Package medfateland version 2.4.5 Index]