Skip to contents

This function allows to simulate a timber and fuel wood logging on a forest plot. It covers: harvestable zones definition, tree selection, secondary skidding trails layout, tree felling, timber harvested, fuel wood volume and short-term damages quantification. This simulator is individual-centred, spatialised, and takes into account the topography and the hydrographic network.

Usage

loggingsimulation(
  inventory,
  plotmask,
  topography,
  creekverticaldistance,
  creekhorizontaldistance,
  speciescriteria,
  volumeparameters,
  scenario,
  objective = NULL,
  fuel = NULL,
  diversification = NULL,
  winching = NULL,
  directionalfelling = NULL,
  specieslax = FALSE,
  objectivelax = FALSE,
  crowndiameterparameters = ParamCrownDiameterAllometry,
  seedsim = NULL,
  debug = FALSE,
  advancedloggingparameters = loggingparameters(),
  iter = 1,
  cores = 1
)

Arguments

inventory

Input forest inventory for 1 plot and 1 census year (see the inputs formats and metadata in the vignette or in Paracou6_2016) (data.frame) The columns required are:

  • Forest (to apply the corresponding volume formula)

  • idTree

  • Xutm and Yutm

  • CodeAlive

  • Family, Genus, and Species

  • CircCorr The optional columns are

  • Plot (1 value)

  • CensusYear (1 value)

plotmask

Inventoried plot mask (SpatialPolygonsDataFrame with a crs in UTM)

topography

Digital terrain model (DTM) of the inventoried plot (LiDAR, 1m resolution) (RasterLayer with a crs in UTM) (See DTMParacou) We advise you to generate your raster with Qgis rather than with the 'raster' package on R.

creekverticaldistance

Relative vertical distance (1 m resolution) from nearest channel network (RasterLayer with a crs in UTM) (See CreekDistances) To generate creek distances: CreekDistances in 'Articles'.

creekhorizontaldistance

Relative horizontal distance (1 m resolution) from nearest channel network (RasterLayer with a crs in UTM) (See CreekDistances) To generate creek distances: CreekDistances in 'Articles'.

speciescriteria

Table of species exploitability criteria : species names, economic interest level, minimum and maximum felling diameter, in the same format of SpeciesCriteria (2 levels of commercial species) (data.frame)

volumeparameters

Volume parameters table (in the same format of ForestZoneVolumeParametersTable) to compute the harvestable volume of each tree, depend to its geographic zone if several locations (data.frame)

scenario

Logging scenario among: "RIL1", "RIL2broken", "RIL2", "RIL3", "RIL3fuel", "RIL3fuelhollow" or "manual"(character) (see the vignette for details)

objective

Objective volume (m3/ha) (numeric)

fuel

Fuel wood exploitation: no exploitation = "0", exploitation of damage and unused part of logged trees for fuel = "1", exploitation of hollow trees, damage and and unused part of the log for fuel = "2" If fuel wood exploitation (fuel = "1" or "2") the tree will be recovered from the crown with a grapple if possible (respected grapple conditions). If not, recovery at the foot with a cable at an angle to the trail. Avoid future/reserve trees if chosen.

diversification

Possibility to log other species in addition to the main commercial species (species with a value of 2 for commercial in the SpeciesCriteria table) (logical)

winching

Tree recovery = "0": no cable or grapple (trail to tree foot) "1": only cable (default = 40m) "2": grapple (default = 6m) + cable (grapple priority) If grapple + cable (winching = "2") without fuel wood (fuel = "0") recovery of the tree foot with grapple if possible (respected grapple conditions) otherwise with cable with angle to the trail. Avoidance of future/reserves if chosen.

directionalfelling

Directional felling = "0": only to direct the foot of the tree towards the trail "1": to direct the foot of the tree towards the trail + to avoid damage to future and reserve trees if possible "2": to avoid damage to future and reserve trees if possible + orientation angle to the trail. Among the 2 possible angle positions, the position that favours the return to the main trail should be chosen. The angle to the trail is favoured to avoid future/reserve trees. If the avoidance of future/reserve trees could not be performed, a message is returned.

specieslax

Allow diversification if stand is too poor to reach the objective volume without diversification, = FALSE by default (logical)

objectivelax

Allow exploitation in case of non-achievement of the objective volume (if stand too poor), = FALSE by default (logical)

crowndiameterparameters

Crown diameter allometry parameters table (in the same format of ParamCrownDiameterAllometry) to compute the crown diameter of each tree, depend to its DBH (Diameter at Breast Height) and its Species, Genus or Family names (Aubry-Kientz et al.2019). (data.frame)

seedsim

The seed set for the uniform random-number generator (numeric). Default = NULL

debug

Option to enable writing error environment in working directory,FALSE by default (logical).

advancedloggingparameters

Other parameters of the logging simulator loggingparameters (list)

iter

Number of iterations (numeric). Default = 1.

cores

Number of cores for parallelization (numeric). Default = 1.

Value

A large list of 40 elements for each iteration, contained in a list. Input inventory (data.frame) with logging informations (list) (see the outputs metadata in the vignette or LoggingSimulationOutputs_iter).

Paying attention to inputs - important source of error

Common error sources:

  • no crs

  • crs with accent

  • topography and plotmask do not match

  • topography import as R Worspace (you must import it as a .tif file)

  • Forest name of the inventory doesn't match with the Forest name in volumeparameters table

Examples

if (FALSE) { # \dontrun{
data(Paracou6_2016) # inventory
data(DTMParacou) # topography
data(CreekDistances) # relative elevation
data(SpeciesCriteria) # species exploitability criteria
data(ForestZoneVolumeParametersTable) # volume parameters
data(ParamCrownDiameterAllometry) # parameters values of the crown diameter allometry

LoggingSimulationOutputs_iter <- loggingsimulation(
 Paracou6_2016, plotmask = PlotMask, topography = DTMParacou,
 creekverticaldistance = CreekDistances$distvert,
 creekhorizontaldistance = CreekDistances$disthorz,
 speciescriteria = SpeciesCriteria,
 volumeparameters = ForestZoneVolumeParametersTable, scenario = "manual",
 objective = 10, fuel = "2", diversification = TRUE, winching = "0",
 directionalfelling = "2", specieslax = FALSE, objectivelax = TRUE,
 crowndiameterparameters = ParamCrownDiameterAllometry,
 advancedloggingparameters = loggingparameters(), iter = 2, cores = 2)
 } # }