Logging simulation without iteration or parallelization
Source:R/loggingsimulation1.R
      loggingsimulation1.RdThis 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
loggingsimulation1(
  inventory,
  plotmask,
  topography,
  creekverticaldistance,
  creekhorizontaldistance,
  speciescriteria,
  volumeparameters,
  scenario,
  objective = NULL,
  fuel = NULL,
  diversification = NULL,
  winching = NULL,
  directionalfelling = NULL,
  specieslax = FALSE,
  objectivelax = FALSE,
  crowndiameterparameters = ParamCrownDiameterAllometry,
  seed = round(runif(n = 1, min = 1, max = 2^23)),
  advancedloggingparameters = loggingparameters()
)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:CreekDistancesin 'Articles'.- creekhorizontaldistance
 Relative horizontal distance (1 m resolution) from nearest channel network (RasterLayer with a crs in UTM) (See
CreekDistances) To generate creek distances:CreekDistancesin '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
SpeciesCriteriatable) (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)- seed
 The seed set for the uniform random-number generator (numeric). Default = NULL
- advancedloggingparameters
 Other parameters of the logging simulator
loggingparameters(list)
Value
A large list of 40  elements: input forest inventory (data.frame) with
logging informations (list) (see the outputs metadata in the vignette or
LoggingSimulationOutputs).
Paying attention to inputs - important source of error
Common error sources:
no crs
crs with accent
topography and plotmask do not match (plot them to check)
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
See also
Paracou6_2016, SpeciesCriteria,
ForestZoneVolumeParametersTable,
ParamCrownDiameterAllometry, loggingparameters,
inventorycheckformat, cleaninventory
addtreedim, treeselection,
harvestable, selected,
futurereserve, treefelling,
createcanopy, treefromthesky,
felling1tree, rotatepolygon,
getgeometry, timberharvestedvolume,
harvestablefuelwood
Examples
if (FALSE) { # \dontrun{
data(Paracou6_2016) # inventory
data(PlotMask) # inventoried plot mask
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 <- loggingsimulation1(
 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 = "2",
 directionalfelling = "2", specieslax = FALSE, objectivelax = TRUE,
 crowndiameterparameters = ParamCrownDiameterAllometry,
 advancedloggingparameters = loggingparameters())
 } # }