Title: | Simulating Forest Growth using the 3-PG Model |
---|---|
Description: | Provides a flexible and easy-to-use interface for the Physiological Processes Predicting Growth (3-PG) model written in Fortran. The r3PG serves as a flexible and easy-to-use interface for the 3-PGpjs (monospecific, evenaged and evergreen forests) described in Landsberg & Waring (1997) <doi:10.1016/S0378-1127(97)00026-1> and the 3-PGmix (deciduous, uneven-aged or mixed-species forests) described in Forrester & Tang (2016) <doi:10.1016/j.ecolmodel.2015.07.010>. |
Authors: | Volodymyr Trotsiuk [aut, cre] , Florian Hartig [aut] , David Forrester [aut], Ramiro Silveyra Gonzalez [aut] |
Maintainer: | Volodymyr Trotsiuk <[email protected]> |
License: | GPL-3 |
Version: | 0.1.6 |
Built: | 2024-11-12 06:55:21 UTC |
Source: | CRAN |
Table containing the information about monthly values for climatic data.
d_climate
d_climate
A data frame
with 156 rows and 7 variables:
calendar year
month
monthly mean daily minimum temperature (C)
monthly mean daily maximum temperature (C)
monthly mean daily average temperature (C). (optional)
monthly rainfall (mm month-1)
monthly mean daily solar radiation (MJ m-2 d-1)
frost days per month (d month-1)
monthly mean atmospheric co2 (ppm), required if calculate_d13c=1 (optional)
Monthly mean isotopic composition of air (‰), required if calculate_d13c=1 (optional)
Table containing the information about parameters.
d_parameters
d_parameters
A data frame
with 65 rows and x variables:
name of the parameter, must be consistent in naming with i_parameters
parameter values for species 1
parameter values for species 2
Table containing the information about site conditions.
d_site
d_site
A data frame
with 1 rows and 8 variables:
site latitude in the WGS84 coordinate system
site altitude, m a.s.l.
soil class, according to table 2 user manual of 3PGpjs. 1 - Sandy; 2 - Sandy loam; 3 - Clay loam; 4 - Clay; 0 - No effect of available soil water on production
initial available soil water (mm)
minimum available soil water (mm)
maximum available soil water (mm)
year and month indicating the start of simulation. Provided in form of year-month. E.g. "2000-01"
year and month indicating the end of simulation. Provided in form of year-month. E.g. "2009-12", will include December 2009 as last simulation month
Table containing the information about size distribution.
d_sizeDist
d_sizeDist
A data frame with 47 rows and x variables:
name of the parameter, must be consistent in naming with i_sizeDist
parameter values for species 1
parameter values for species 2
Table containing the information about species level data. Each row corresponds to one species/cohort.
d_species
d_species
A data frame
with number of rows corresponding to each species/cohort and 8 variables:
species or cohort id/name. It must be consistent with species names in d_thinning
, d_parameters
and d_sizeDist
tables.
year and month indicating when the species was planted. Provided in form of year-month. E.g. "2000-01"
soil fertility for a given species. Range from 0 to 1
number of trees per ha
stem biomass for a given species (Mg/ha)
root biomass for a given species (Mg/ha)
initial foliage biomass (Mg/ha). If this is a leafless period, provide the spring foliage biomass.
Table containing the information about thinnings
d_thinning
d_thinning
A data frame
with 3 rows and 6 variables:
species or cohort id/name. It must be consistent with species names in d_species
, d_parameters
and d_sizeDist
tables.
age when thinning is performed
number of trees remaining after thinning
type of thinning (above/below). Default is 1
type of thinning (above/below). Default is 1
type of thinning (above/below). Default is 1
Gets parameter sets from published studies with 3PG
get_parameters(mode = "overview", sp_names = NULL)
get_parameters(mode = "overview", sp_names = NULL)
mode |
must be one of the following: full, overview, source, comments, parameters, sizeDist |
sp_names |
names of the species. The 'sp_names' must be either a scientific name
(Picea abies). If passing parameters or sizeDist to mode, it also possible
to use a scientific name with a integer, which is the value of parset_id, e.g.
Picea abies 37.
If unsure, consider using first the option |
This function access the parameter database stored in the package,
which is named i_parameters_lit
, and also accessible without this function.
If mode = overview
, a simplified table with
all existing parameter sets will be returned. A extended version including information
about to the source and remarks can be obtained with mode = comments
.
A complete description of the source is returned with mode = source
.
The full version of this table (species,source, comments,
parameters) will be returned if mode = full
. Alternatively, with mode = parameters
and mode = sizeDist
, it is possible to obtain parameters in the format
required by run_3PG
.
Passing species names with sp_names
will selecting from the table
the desired species. Please note that one species might have more than one
available parameter sets, unless species names contain the parset_id value.
Please also note that mode = source
is not compatible with sp_names
.
The parameter sets were obtained from published studies. For basic information about this
dataset check in i_parameters_lit
. Relevant information about
the parameter sets and the corresponding studies is provided in the table.
For further information, please consider checking the original publications.
a data frame with parameter sets for all available species, or only the
requested species, if sp_names
is not null.
# see an overview of the existing parameter sets get_parameters(mode = 'overview') get_parameters(mode = 'overview', sp_names = c('Eucalyptus globulus', 'Pinus sylvestris' ) ) # see existing parameter sets and comments get_parameters(mode = 'comments') get_parameters(mode = 'comments', sp_names = c('Eucalyptus globulus', 'Pinus sylvestris' ) ) # see parameters and source information get_parameters(mode = 'source') # obtain parameter sets in for some species in the format required by run_3PG get_parameters(mode = 'parameters', sp_names = c('Fagus sylvatica', 'Picea abies')) get_parameters(mode = 'parameters', sp_names = 'Fagus sylvatica 34' ) get_parameters(mode = 'sizeDist', sp_names = c('Fagus sylvatica 9', 'Picea abies 37')) # see parameter sets with full information (species, source, parameters) get_parameters(mode = 'full') get_parameters(mode = 'full', sp_names = c('Fagus sylvatica', 'Pinus radiata' ) )
# see an overview of the existing parameter sets get_parameters(mode = 'overview') get_parameters(mode = 'overview', sp_names = c('Eucalyptus globulus', 'Pinus sylvestris' ) ) # see existing parameter sets and comments get_parameters(mode = 'comments') get_parameters(mode = 'comments', sp_names = c('Eucalyptus globulus', 'Pinus sylvestris' ) ) # see parameters and source information get_parameters(mode = 'source') # obtain parameter sets in for some species in the format required by run_3PG get_parameters(mode = 'parameters', sp_names = c('Fagus sylvatica', 'Picea abies')) get_parameters(mode = 'parameters', sp_names = 'Fagus sylvatica 34' ) get_parameters(mode = 'sizeDist', sp_names = c('Fagus sylvatica 9', 'Picea abies 37')) # see parameter sets with full information (species, source, parameters) get_parameters(mode = 'full') get_parameters(mode = 'full', sp_names = c('Fagus sylvatica', 'Pinus radiata' ) )
A dataset containing the list of output variables and their description.
i_output
i_output
A data frame with 150 rows and 7 variables:
serial number of the group
serial number of the variable
group name to which variable belongs
variable name as named in output
description of the variable
unit of the variable
corresponding name of the variable as output from Excel version of 3-PGmix
A dataset containing the parameters order and description.
i_parameters
i_parameters
A data frame with 82 rows and 3 variables:
parameter name
description of the parameter
unit
default value for E.globulus from original 3-PG
A dataset containing parameter sets from published studies with 3PG
i_parameters_lit
i_parameters_lit
A data frame with 110 rows and 124 variables:
id of the parameter set
species scientific name
whether the parameter set was was used in even or uneven stands.
whether the parameter set was used in monocultures or mixed stands.
year of publication
geographical region in which the parameters were tested. NAs values are allowed.
country or countries in which the parameters were tested.
any relevant remark about how the parameters were processed. NAs are allowed.
short reference to publication
any relevant comment about the parameters present in the publication. NAs are allowed.
full reference to publication
a link to the publication, e.g. doi
Foliage:stem partitioning ratio - D = 2 cm
Foliage:stem partitioning ratio - D = 20 cm
Constant in the stem mass v. diam. relationship
Power in the stem mass v. diam. relationship
Maximum fraction of NPP to roots
Minimum fraction of NPP to roots
Maximum litterfall rate
Litterfall rate at t = 0
Age at which litterfall rate has median value
Average monthly root turnover rate
If deciduous, leaves are produced at end of this month
If deciduous, leaves all fall at start of this month
Minimum temperature for growth
Optimum temperature for growth
Maximum temperature for growth
Days production lost per frost day
Moisture ratio deficit for fq = 0.5
Power of moisture ratio deficit
Assimilation enhancement factor at 700 ppm
Canopy conductance enhancement factor at 700 ppm
Value of m when FR = 0
Value of fNutr when FR = 0
Power of (1-FR) in fNutr
Maximum stand age used in age modifier
Power of relative age in function for fAge
Relative age to give fAge = 0.5
Mortality rate for large t
Seedling mortality rate (t = 0)
Age at which mortality rate has median value
Shape of mortality response
Max. stem mass per tree - 1000 trees/hectare
Power in self-thinning rule
Fraction mean single-tree foliage biomass lost per dead tree
Fraction mean single-tree root biomass lost per dead tree
Fraction mean single-tree stem biomass lost per dead tree
Specific leaf area at age 0
Specific leaf area for mature leaves
Age at which specific leaf area = (SLA0+SLA1)/2
Extinction coefficient for absorption of PAR by canopy
Age at canopy closure
Maximum proportion of rainfall evaporated from canopy
LAI for maximum rainfall interception
LAI for 50% reduction of VPD in canopy
Canopy quantum efficiency
Ratio NPP/GPP
Minimum canopy conductance
Maximum canopy conductance
LAI for maximum canopy conductance
Defines stomatal response to VPD
Canopy boundary layer conductance
The ratio of diffusivities of CO2 and water vapour in air
d13C difference of modelled tissue and new photosynthate
Fractionation against 13C in diffusion
Enzymatic fractionation by Rubisco
Branch and bark fraction at age 0
Branch and bark fraction for mature stands
Age at which fracBB = (fracBB0+fracBB1)/2
Minimum basic density - for young trees
Maximum basic density - for older trees
Age at which rho = (rhoMin+rhoMax)/2
Constant in the stem height relationship
Power of DBH in the stem height relationship
Power of competition in the stem height relationship
Constant in the stem volume relationship
Power of DBH in the stem volume relationship
Power of height in the stem volume relationship
Power of DBH^2 x height in the stem volume relationship
Crown shape (1=cone, 2=ellipsoid, 3=half-ellipsoid, 4=rectangular)
Constant in the crown diameter relationship
Power of DBH in the crown diameter relationship
Power of height in the crown diameter relationship
Power of competition in the crown diameter relationship
Power of relative height in the crown diameter relationship
Constant in the LCL relationship
Power of DBH in the LCL relationship
Power of LAI in the LCL relationship
Power of competition in the LCL relationship
Power of relative height in the LCL relationship
Constant in the relationship for Weibull scale parameter of D distribution
Slope of DBH in relationship for Weibull scale parameter of D distribution
Slope of relative height in relationship for Weibull scale parameter of D distribution
Slope of age in relationship for Weibull scale parameter of D distribution
Slope of competition in relationship for Weibull scale parameter of D distribution
Constant in the relationship for Weibull shape parameter of D distribution
Slope of DBH in relationship for Weibull shape parameter of D distribution
Slope of relative height in relationship for Weibull shape parameter of D distribution
Slope of age in relationship for Weibull shape parameter of D distribution
Slope of competition in relationship for Weibull shape parameter of D distribution
Constant in the relationship for Weibull location parameter of D distribution
Slope of DBH in relationship for Weibull location parameter of D distribution
Slope of relative height in relationship for Weibull location parameter of D distribution
Slope of age in relationship for Weibull location parameter of D distribution
Slope of competition in relationship for Weibull location parameter of D distribution
Constant in the relationship for Weibull scale parameter of ws distribution
Slope of DBH in relationship for Weibull scale parameter of ws distribution
Slope of relative height in relationship for Weibull scale parameter of ws distribution
Slope of age in relationship for Weibull scale parameter of ws distribution
Slope of competition in relationship for Weibull scale parameter of ws distribution
Constant in the relationship for Weibull shape parameter of ws distribution
Slope of DBH in relationship for Weibull shape parameter of ws distribution
Slope of relative height in relationship for Weibull shape parameter of ws distribution
Slope of age in relationship for Weibull shape parameter of ws distribution
Slope of competition in relationship for Weibull shape parameter of ws distribution
Constant in the relationship for Weibull location parameter of ws distribution
Slope of DBH in relationship for Weibull location parameter of ws distribution
Slope of relative height in relationship for Weibull location parameter of ws distribution
Slope of age in relationship for Weibull location parameter of ws distribution
Slope of competition in relationship for Weibull location parameter of ws distribution
Intercept of net v. solar radiation relationship
Slope of net v. solar radiation relationship
Molecular weight of dry matter
Conversion of solar radiation to PAR
Each row refers to an unique parameter set.
The function get_parameters
eases the use to this dataset.
A dataset containing the parameters order and description.
i_sizeDist
i_sizeDist
A data frame with 30 rows and 3 variables:
parameter name
description of the parameter
unit
default value equal to 0
Prepares the climate table, by either replicating the average climate for the required number of years, or by sub-setting from a longer time-series of climate data.
prepare_climate(climate, from = "2000-04", to = "2010-11")
prepare_climate(climate, from = "2000-04", to = "2010-11")
climate |
table containing the information about monthly values for climatic data. If the climate table have exactly 12 rows it will be replicated for the number of years and months specified by
|
from |
year and month indicating the start of simulation. Provided in form of year-month. E.g. "2000-01". |
to |
year and month indicating the end of simulation. Provided in form of year-month. E.g. "2009-12", will include December 2009 as last simulation month. |
This function prepares the climate table for run_3PG
.
In case a user provides only average climate, this is replicated for the desired simulation period.
In case a larger climate file is provided, the simulation period is selected from this.
a data.frame with number of rows corresponding to number of simulated month and 10 columns
run_3PG
, prepare_input
, prepare_parameters
, prepare_sizeDist
, prepare_thinning
# sub-setting climate data prepare_climate( climate = d_climate, from = '2003-04', to = '2010-11') # replicating climate data set.seed(1) climate = data.frame( tmp_min = rnorm(12, mean = 10), tmp_max = rnorm(12, mean = 20), prcp = sample(c(0:200), 12), srad = sample(c(1:100), 12), frost_days = sample(c(0:30), 12)) prepare_climate( climate = climate, from = '2000-04', to = '2010-11')
# sub-setting climate data prepare_climate( climate = d_climate, from = '2003-04', to = '2010-11') # replicating climate data set.seed(1) climate = data.frame( tmp_min = rnorm(12, mean = 10), tmp_max = rnorm(12, mean = 20), prcp = sample(c(0:200), 12), srad = sample(c(1:100), 12), frost_days = sample(c(0:30), 12)) prepare_climate( climate = climate, from = '2000-04', to = '2010-11')
Checks and prepares all input tables to be used in run_3PG
. For detailed descriptions see Forrester (2020).
prepare_input(site, species, climate, thinning = NULL, parameters = NULL, size_dist = NULL, settings = NULL)
prepare_input(site, species, climate, thinning = NULL, parameters = NULL, size_dist = NULL, settings = NULL)
site |
table containing the information about site conditions.
|
species |
table containing the information about species level data. Each row corresponds to one species/cohort.
|
climate |
table containing the information about monthly values for climatic data. If the climate table has exactly 12 rows it will be replicated for the number of years and months specified by
|
thinning |
table containing the information about thinnings. If there is no thinning, it must be
|
parameters |
table containing the information about parameters to be modified. Values that are not provided are replaced by defaults.
|
size_dist |
table containing the information about size distribution to be modified. Values that are not provided are replaced by defaults.
|
settings |
a list with settings for the model. Values that are not provided are replaced by defaults.
|
This function checks and prepares the input data for the run_3PG
. The output is a list with 7 tables. Each of them corresponds to the one from input.
a list with seven tables. Each table corresponds to one of the input tables.
Forrester, D. I., 2020. 3-PG User Manual. Swiss Federal Institute for Forest, Snow and Landscape Research WSL, Birmensdorf, Switzerland. 70 p. Available at the following web site: http://sites.google.com/site/davidforresterssite/home/projects/3PGmix/3pgmixdownload
Sands, P. J., 2010. 3PGpjs user manual. Available at the following web site: https://3pg.sites.olt.ubc.ca/files/2014/04/3PGpjs_UserManual.pdf
run_3PG
, prepare_parameters
, prepare_sizeDist
, prepare_thinning
, prepare_climate
, prepare_site
prepare_input( site = d_site, species = d_species, climate = d_climate, d_thinning)
prepare_input( site = d_site, species = d_species, climate = d_climate, d_thinning)
Prepares the parameters table, by either replicating the defaults or replicating defaults for each of the species.
prepare_parameters(parameters = NULL, sp_names = c("Fagus sylvatica", "Pinus sylvestris"))
prepare_parameters(parameters = NULL, sp_names = c("Fagus sylvatica", "Pinus sylvestris"))
parameters |
table containing the information about parameters to be modified. Values that are not provided are replaced by defaults.
|
sp_names |
names of the species / cohorts used for the simulations.The 'sp_names' must be identical to those from |
This function prepares the parameter table for run_3PG
a data.frame with 47 rows and columns corresponding to each species.
run_3PG
, prepare_input
, prepare_sizeDist
, prepare_thinning
, prepare_climate
# replace some prepare_parameters( parameters = d_parameters[1:4,], sp_names = c('Fagus sylvatica', 'Pinus sylvestris' )) # Make default prepare_parameters( parameters = NULL, sp_names = c('Quercus', 'Abies'))
# replace some prepare_parameters( parameters = d_parameters[1:4,], sp_names = c('Fagus sylvatica', 'Pinus sylvestris' )) # Make default prepare_parameters( parameters = NULL, sp_names = c('Quercus', 'Abies'))
Prepares the site table, by checking whether the input information is consistent.
prepare_site(site)
prepare_site(site)
site |
table containing the information about site data. It shall contain exactly one row.
|
This function check the site table for run_3PG
.
a data.frame with one row
run_3PG
, prepare_input
, prepare_parameters
, prepare_sizeDist
, prepare_thinning
# check site data prepare_site( site = d_site)
# check site data prepare_site( site = d_site)
Prepares the parameters table, by either replicating the defaults or replicating defaults for each of the species.
prepare_sizeDist(size_dist = NULL, sp_names = c("Fagus sylvatica", "Pinus sylvestris"))
prepare_sizeDist(size_dist = NULL, sp_names = c("Fagus sylvatica", "Pinus sylvestris"))
size_dist |
table containing the information about size distribution to be modified. Values that are not provided are replaced by defaults.
|
sp_names |
names of the species / cohorts used for the simulations.The 'sp_names' must be identical to those from |
This function prepares the parameter table for run_3PG
.
a data.frame with 47 rows and columns corresponding to each species.
run_3PG
, prepare_input
, prepare_parameters
, prepare_thinning
, prepare_climate
# replace some prepare_sizeDist( size_dist = d_sizeDist[1:4,], sp_names = c('Fagus sylvatica', 'Pinus sylvestris' )) # Make default prepare_sizeDist( size_dist = NULL, sp_names = c('Quercus', 'Abies'))
# replace some prepare_sizeDist( size_dist = d_sizeDist[1:4,], sp_names = c('Fagus sylvatica', 'Pinus sylvestris' )) # Make default prepare_sizeDist( size_dist = NULL, sp_names = c('Quercus', 'Abies'))
Prepares the species table, by checking whether the input information is consistent.
prepare_species(species)
prepare_species(species)
species |
table containing the information about species level data. Each row corresponds to one species/cohort.
|
This function check the species table for run_3PG
.
a data.frame with one row
run_3PG
, prepare_input
, prepare_parameters
, prepare_sizeDist
, prepare_thinning
, prepare_site
# check species data prepare_species( species = d_species)
# check species data prepare_species( species = d_species)
Prepares the management table and checks for consistency.
prepare_thinning(thinning = NULL, sp_names = c("Fagus sylvatica", "Pinus sylvestris"))
prepare_thinning(thinning = NULL, sp_names = c("Fagus sylvatica", "Pinus sylvestris"))
thinning |
table containing the information about thinnings. If there is no thinning, it must be
|
sp_names |
names of the species / cohorts used for the simulations. This is required whether 'thinning=NULL' or if not all species are indicated in the 'thinning' table. The 'sp_names' must be identical to those from |
This function prepares the thinning table for run_3PG
.
In case there is no thinning it will return empty 3-d array.
In case there will be thinning it will return 3-d array, where one dimension correspond to each species.
a 3-dimentional array, where third dimention correspond to each species.
run_3PG
, prepare_input
, prepare_parameters
, prepare_sizeDist
, prepare_climate
prepare_thinning( thinning = NULL, sp_names = c('Quercus', 'Abies')) prepare_thinning( thinning = d_thinning, sp_names = c('Fagus sylvatica', 'Pinus sylvestris'))
prepare_thinning( thinning = NULL, sp_names = c('Quercus', 'Abies')) prepare_thinning( thinning = d_thinning, sp_names = c('Fagus sylvatica', 'Pinus sylvestris'))
The r3PG package provides a flexible and easy-to-use interface for Fortran implementations of the 3-PGpjs (monospecific, evenaged and evergreen forests) or 3-PGmix (deciduous, uneven-aged or mixed-species forests) forest growth models. The user can flexibly switch between various options and submodules, to use the original 3-PGpjs model version for monospecific, even-aged and evergreen forests and the 3-PGmix model, which can also simulate multi-cohort stands (e.g. mixtures, uneven-aged) that contain deciduous species. The core function to run the model is run_3PG
. For more background, please consult the vignette via vignette(package = "r3PG")
None
Forrester, D. I., 2020. 3-PG User Manual. Swiss Federal Institute for Forest, Snow and Landscape Research WSL, Birmensdorf, Switzerland. 70 p. Available at the following web site: http://sites.google.com/site/davidforresterssite/home/projects/3PGmix/3pgmixdownload
Forrester, D. I., & Tang, X. (2016). Analysing the spatial and temporal dynamics of species interactions in mixed-species forests and the effects of stand density using the 3-PG model. Ecological Modelling, 319, 233–254. doi:10.1016/j.ecolmodel.2015.07.010
Landsberg, J. J., & Waring, R. H., 1997. A generalised model of forest productivity using simplified concepts of radiation-use efficiency, carbon balance and partitioning. Forest Ecology and Management, 95(3), 209–228. doi:10.1016/S0378-1127(97)00026-1
Sands, P. J., 2010. 3PGpjs user manual. Available at the following web site: https://3pg.sites.olt.ubc.ca/files/2014/04/3PGpjs_UserManual.pdf
out <- run_3PG( site = d_site, species = d_species, climate = d_climate, thinning = d_thinning, parameters = d_parameters, size_dist = d_sizeDist, settings = list(light_model = 2, transp_model = 2, phys_model = 2, correct_bias = 1, calculate_d13c = 0), check_input = TRUE, df_out = TRUE) # note that default is TRUE str(out) # List output format
out <- run_3PG( site = d_site, species = d_species, climate = d_climate, thinning = d_thinning, parameters = d_parameters, size_dist = d_sizeDist, settings = list(light_model = 2, transp_model = 2, phys_model = 2, correct_bias = 1, calculate_d13c = 0), check_input = TRUE, df_out = TRUE) # note that default is TRUE str(out) # List output format
Runs the 3-PGpjs (monospecific, evenaged and evergreen forests) or 3-PGmix (deciduous, uneven-aged or mixed-species forests) model. For more details on parameters and structure of input visit prepare_input
.
run_3PG(site, species, climate, thinning = NULL, parameters = NULL, size_dist = NULL, settings = NULL, check_input = TRUE, df_out = TRUE)
run_3PG(site, species, climate, thinning = NULL, parameters = NULL, size_dist = NULL, settings = NULL, check_input = TRUE, df_out = TRUE)
site |
table as described in |
species |
table as described in |
climate |
table as described in |
thinning |
table as described in |
parameters |
table as described in |
size_dist |
table as described in |
settings |
a list as described in |
check_input |
|
df_out |
|
'r3PG' provides an implementation of the Physiological Processes Predicting Growth 3-PG model, which simulates forest growth and productivity. The 'r3PG' serves as a flexible and easy-to-use interface for the '3-PGpjs' (monospecific, evenaged and evergreen forests) and the '3-PGmix' (deciduous, uneven-aged or mixed-species forests) model written in 'Fortran'. The package, allows for fast and easy interaction with the model, and 'Fortran' re-implementation facilitates computationally intensive sensitivity analysis and calibration. The user can flexibly switch between various options and submodules, to use the original '3-PGpjs' model version for monospecific, even-aged and evergreen forests and the '3-PGmix' model, which can also simulate multi-cohort stands (e.g. mixtures, uneven-aged) that contain deciduous species.
This implementation of 3-PG includes several major variants / modifications of the model in particular the ability to switch between 3-PGpjs (the more classic model version for monospecific stands) vs. 3-PGmix (a version for mixed stands), as well as options for bias corrections and calculations (see parameters).
either a 4-dimentional array or a data.frame, depending on the parameter df_out
. More details on the output is i_output
The run_3PG
also checks the quality of input data. When names, or structures are not consistent with requirements it will return an error. Turn this off to optimize for speed.
Forrester, D. I., 2020. 3-PG User Manual. Swiss Federal Institute for Forest, Snow and Landscape Research WSL, Birmensdorf, Switzerland. 70 p. Available at the following web site: http://sites.google.com/site/davidforresterssite/home/projects/3PGmix/3pgmixdownload
Forrester, D. I., & Tang, X. (2016). Analysing the spatial and temporal dynamics of species interactions in mixed-species forests and the effects of stand density using the 3-PG model. Ecological Modelling, 319, 233–254. doi:10.1016/j.ecolmodel.2015.07.010
Landsberg, J. J., & Waring, R. H., 1997. A generalised model of forest productivity using simplified concepts of radiation-use efficiency, carbon balance and partitioning. Forest Ecology and Management, 95(3), 209–228. doi:10.1016/S0378-1127(97)00026-1
Sands, P. J., 2010. 3PGpjs user manual. Available at the following web site: https://3pg.sites.olt.ubc.ca/files/2014/04/3PGpjs_UserManual.pdf
prepare_input
, prepare_parameters
, prepare_sizeDist
, prepare_thinning
, prepare_climate
out <- run_3PG( site = d_site, species = d_species, climate = d_climate, thinning = d_thinning, parameters = d_parameters, size_dist = d_sizeDist, settings = list(light_model = 2, transp_model = 2, phys_model = 2, correct_bias = 1, calculate_d13c = 0), check_input = TRUE, df_out = TRUE) # note that default is TRUE str(out) # List output format
out <- run_3PG( site = d_site, species = d_species, climate = d_climate, thinning = d_thinning, parameters = d_parameters, size_dist = d_sizeDist, settings = list(light_model = 2, transp_model = 2, phys_model = 2, correct_bias = 1, calculate_d13c = 0), check_input = TRUE, df_out = TRUE) # note that default is TRUE str(out) # List output format