Title: | Wood Valuation Germany |
---|---|
Description: | Monetary valuation of wood in German forests (stumpage values), including estimations of harvest quantities, wood revenues, and harvest costs. The functions are sensitive to tree species, mean diameter of the harvested trees, stand quality, and logging method. The functions include estimations for the consequences of disturbances on revenues and costs. The underlying assortment tables are taken from Offer and Staupendahl (2018) with corresponding functions for salable and skidded volume derived in Fuchs et al. (2023). Wood revenue and harvest cost functions were taken from v. Bodelschwingh (2018). The consequences of disturbances refer to Dieter (2001), Moellmann and Moehring (2017), and Fuchs et al. (2022a, 2022b). For the full references see documentation of the functions, package README, and Fuchs et al. (2023). Apart from Dieter (2001) and Moellmann and Moehring (2017), all functions and factors are based on data from HessenForst, the forest administration of the Federal State of Hesse in Germany. |
Authors: | Jasper M. Fuchs [aut, cre] , Kai Husmann [aut] , Hilmar v. Bodelschwingh [aut], Roman Koster [aut] , Kai Staupendahl [aut] , Armin Offer [aut], Bernhard Möhring [aut], Carola Paul [aut] , University Goettingen - Department of Forest Economics and Sustainable Land-use Planning [fnd], Federal Ministry of Education and Research Germany (BMBF) [fnd], BiodivClim ERA-Net COFUND BiodivERsA call [fnd], ETH Zurich - Institute of Terrestrial Ecosystems - Forest Resources Management [fnd] |
Maintainer: | Jasper M. Fuchs <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.0.2-999 |
Built: | 2024-11-21 04:35:22 UTC |
Source: | https://github.com/forest-economics-goettingen/woodvaluationde |
The function returns the available species, species codes, and assignments of species to species groups for the economic valuation.
get_species_codes(method = "fuchs.orig")
get_species_codes(method = "fuchs.orig")
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A list with the species, species codes, and assignments to economic species groups available in woodValuationDE.
get_species_codes()
get_species_codes()
The function estimates harvest costs per cubic meter skidded wood volume applying the harvest costs function of v. Bodelschwingh (2018). Consequences of disturbances and calamities are implemented based on Dieter (2001), Moellmann and Moehring (2017), and Fuchs et al. (2022a, 2022b). Apart from Dieter (2001) and Moellmann and Moehring (2017), all functions and factors are based on data from HessenForst, the public forest service of the Federal State of Hesse in Germany. For further details see the woodValuationDE README.
harvest_costs( diameter.q, species, cost.level = 1, calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
harvest_costs( diameter.q, species, cost.level = 1, calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
cost.level |
Accessibility of the stand for logging operations
expressed as an integer of |
calamity.type |
Defines the disturbance or calamity situation to allow
for the consideration of lower net revenues in the case
of salvage harvests. The calamity type determines the
applied consequences of disturbances/calamities,
implemented as factors for reduced revenues and higher
harvest costs. By default no calamity is assumed
|
calamity.factors |
Summands |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A vector with harvest costs per cubic meter skidded volume
. The volume refers to the skidded
wood volume, provided by
vol_skidded
.
Dieter, Matthias (2001): Land expectation values for spruce and beech calculated with Monte Carlo modelling techniques. For. Policy Econ. 2 (2), p. 157-166. doi:10.1016/S1389-9341(01)00045-4.
Fuchs, Jasper M.; Hittenbeck, Anika; Brandl, Susanne; Schmidt, Matthias; Paul, Carola (2022a): Adaptation Strategies for Spruce Forests - Economic Potential of Bark Beetle Management and Douglas Fir Cultivation in Future Tree Species Portfolios. Forestry 95 (2) p. 229-246. doi:10.1093/forestry/cpab040
Fuchs, Jasper M.; v. Bodelschwingh, Hilmar; Lange, Alexander; Paul, Carola; Husmann, Kai (2022b): Quantifying the consequences of disturbances on wood revenues with Impulse Response Functions. For. Policy Econ. 140, art. 102738. doi:10.1016/j.forpol.2022.102738.
Moellmann, Torsten B.; Moehring, Bernhard (2017): A practical way to integrate risk in forest management decisions. Ann. For. Sci. 74 (4), p.75. doi:10.1007/s13595-017-0670-x
v. Bodelschwingh, Hilmar (2018): Oekonomische Potentiale von Waldbestaenden. Konzeption und Abschaetzung im Rahmen einer Fallstudie in hessischen Staatswaldflaechen (Economic Potentials of Forest Stands and Their Consideration in Strategic Decisions). Bad Orb: J.D. Sauerlaender's Verlag (Schriften zur Forst- und Umweltoekonomie, 47).
harvest_costs(40, "beech") # species codes Lower Saxony (Germany) harvest_costs(40, 211, species.code.type = "nds") # vector input harvest_costs(seq(20, 50, 5), "spruce") harvest_costs(40, rep(c("beech", "spruce"), each = 3), cost.level = rep(1:3, 2)) harvest_costs(40, rep("spruce", 6), calamity.type = c("none", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in harvest costs harvest_costs(40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5)))
harvest_costs(40, "beech") # species codes Lower Saxony (Germany) harvest_costs(40, 211, species.code.type = "nds") # vector input harvest_costs(seq(20, 50, 5), "spruce") harvest_costs(40, rep(c("beech", "spruce"), each = 3), cost.level = rep(1:3, 2)) harvest_costs(40, rep("spruce", 6), calamity.type = c("none", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in harvest costs harvest_costs(40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5)))
The function estimates the share of different assortments. It is expressed in relation to the salable volume, i.e., the sum of pulp wood, saw log, and fuel wood assortments. The function is based on the assortment tables from Offer and Staupendahl (2018) and its derivation is similar to the approach described in Fuchs et al. (2023) for the salable and skidded volume. The underlying assortment tables are based on data from HessenForst, the public forest service of the Federal State of Hesse in Germany. For further details see the woodValuationDE README.
vol_assortment( diameter.q, species, assortment, value.level = 2, logging.method = "combined", species.code.type = "en", method = "fuchs.orig" )
vol_assortment( diameter.q, species, assortment, value.level = 2, logging.method = "combined", species.code.type = "en", method = "fuchs.orig" )
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
assortment |
wood assortment whose share is sought, currently
implemented: |
value.level |
Stand quality expressed as an integer of |
logging.method |
Logging method, with |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A vector with relative shares of the respective assortment's wood volume.
Fuchs, Jasper M.; Husmann, Kai; v. Bodelschwingh, Hilmar; Koster, Roman; Staupendahl, Kai; Offer, Armin; Moehring, Bernhard, Paul, Carola (2023): woodValuationDE: A consistent framework for calculating stumpage values in Germany (technical note). Allgemeine Forst- und Jagdzeitung 193 (1/2), p. 16-29. doi: 10.23765/afjz0002090
Offer, Armin; Staupendahl, Kai (2018): Holzwerbungskosten- und Bestandessortentafeln (Wood Harvest Cost and Assortment Tables). Kassel: HessenForst (publisher).
# saw log volume per cubic meter salable volume share.saw.logs <- vol_assortment(40, "beech", "saw.logs") share.saw.logs # fuel wood per cubic meter salable volume share.fuel.wood <- (vol_salable(40, "beech") - vol_skidded(40, "beech")) / vol_salable(40, "beech") share.fuel.wood # pulp wood per cubic meter salable volume share.pulp.wood <- 1 - share.saw.logs - share.fuel.wood # saw log volume per cubic meter volume over bark vol_assortment(40, "beech", "saw.logs") * vol_salable(40, "beech")
# saw log volume per cubic meter salable volume share.saw.logs <- vol_assortment(40, "beech", "saw.logs") share.saw.logs # fuel wood per cubic meter salable volume share.fuel.wood <- (vol_salable(40, "beech") - vol_skidded(40, "beech")) / vol_salable(40, "beech") share.fuel.wood # pulp wood per cubic meter salable volume share.pulp.wood <- 1 - share.saw.logs - share.fuel.wood # saw log volume per cubic meter volume over bark vol_assortment(40, "beech", "saw.logs") * vol_salable(40, "beech")
The function estimates the salable share of the wood volume. It is expressed in relation to the volume over bark (German unit: Vfm m.R.) as usually provided by yield tables and forest simulators. This includes all pulp wood, sawlog, and fuel wood assortments. The share of salable wood is required to derive the wood revenues per cubic meter volume over bark. The function is based on the assortment tables from Offer and Staupendahl (2018) and its derivation is described in Fuchs et al. (2023). The underlying assortment tables are based on data from HessenForst, the public forest service of the Federal State of Hesse in Germany. For further details see the woodValuationDE README.
vol_salable( diameter.q, species, value.level = 2, logging.method = "combined", species.code.type = "en", method = "fuchs.orig" )
vol_salable( diameter.q, species, value.level = 2, logging.method = "combined", species.code.type = "en", method = "fuchs.orig" )
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
value.level |
Stand quality expressed as an integer of |
logging.method |
Logging method, with |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A vector with relative shares of salable wood volume.
Fuchs, Jasper M.; Husmann, Kai; v. Bodelschwingh, Hilmar; Koster, Roman; Staupendahl, Kai; Offer, Armin; Moehring, Bernhard, Paul, Carola (2023): woodValuationDE: A consistent framework for calculating stumpage values in Germany (technical note). Allgemeine Forst- und Jagdzeitung 193 (1/2), p. 16-29. doi: 10.23765/afjz0002090
Offer, Armin; Staupendahl, Kai (2018): Holzwerbungskosten- und Bestandessortentafeln (Wood Harvest Cost and Assortment Tables). Kassel: HessenForst (publisher).
vol_salable(40, "beech") # species codes Lower Saxony (Germany) vol_salable(40, 211, species.code.type = "nds") # vector input vol_salable(seq(20, 50, 5), "spruce") vol_salable(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4)) vol_salable(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4), logging.method = rep(c("manually", "harvester"), each = 4))
vol_salable(40, "beech") # species codes Lower Saxony (Germany) vol_salable(40, 211, species.code.type = "nds") # vector input vol_salable(seq(20, 50, 5), "spruce") vol_salable(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4)) vol_salable(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4), logging.method = rep(c("manually", "harvester"), each = 4))
The function estimates the skidded share of the wood volume. It is expressed in relation to the volume over bark (German unit: Vfm m.R.) as usually provided by yield tables and forest simulators. This includes all pulp wood and sawlog assortments. It is assumed that the fuel wood assortments are processed by buyers themselves and that they are thus not commercially delivered to the forest road. The share of salable wood is required to derive the costs for harvesting and skidding per cubic meter volume over bark. The function is based on the assortment tables from Offer and Staupendahl (2018) and its derivation is described in Fuchs et al. (2023). The underlying assortment tables are based on data from HessenForst, the public forest service of the Federal State of Hesse in Germany. For further details see the woodValuationDE README.
vol_skidded( diameter.q, species, value.level = 2, logging.method = "combined", species.code.type = "en", method = "fuchs.orig" )
vol_skidded( diameter.q, species, value.level = 2, logging.method = "combined", species.code.type = "en", method = "fuchs.orig" )
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
value.level |
Stand quality expressed as an integer of |
logging.method |
Logging method, with |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A vector with relative shares of skidded wood volume.
Fuchs, Jasper M.; Husmann, Kai; v. Bodelschwingh, Hilmar; Koster, Roman; Staupendahl, Kai; Offer, Armin; Moehring, Bernhard, Paul, Carola (2023): woodValuationDE: A consistent framework for calculating stumpage values in Germany (technical note). Allgemeine Forst- und Jagdzeitung 193 (1/2), p. 16-29. doi: 10.23765/afjz0002090
Offer, Armin; Staupendahl, Kai (2018): Holzwerbungskosten- und Bestandessortentafeln (Wood Harvest Cost and Assortment Tables). Kassel: HessenForst (publisher).
vol_skidded(40, "beech") # species codes Lower Saxony (Germany) vol_skidded(40, 211, species.code.type = "nds") # vector input vol_skidded(seq(20, 50, 5), "spruce") vol_skidded(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4)) vol_skidded(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4), logging.method = rep(c("manually", "harvester"), each = 4))
vol_skidded(40, "beech") # species codes Lower Saxony (Germany) vol_skidded(40, 211, species.code.type = "nds") # vector input vol_skidded(seq(20, 50, 5), "spruce") vol_skidded(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4)) vol_skidded(rep(seq(20, 50, 10), 2), rep(c("beech", "spruce"), each = 4), logging.method = rep(c("manually", "harvester"), each = 4))
The function is a wrapper for the wood valuation framework provided by
woodValuationDE. It calls wood_valuation
and returns only
the net revenues for the user-provided wood volume over bark. The underlying
functions were derived based on data from HessenForst, the public forest
service of the Federal State of Hesse in Germany. For further details
see the woodValuationDE
README.
wood_net_revenues( volume, diameter.q, species, value.level = 2, cost.level = 1, logging.method = "combined", price.ref.assortment = "baseline", calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
wood_net_revenues( volume, diameter.q, species, value.level = 2, cost.level = 1, logging.method = "combined", price.ref.assortment = "baseline", calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
volume |
Wood volume |
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
value.level |
Stand quality expressed as an integer of |
cost.level |
Accessibility of the stand for logging operations
expressed as an integer of |
logging.method |
Logging method, with |
price.ref.assortment |
Wood price of the reference assortments allowing
to consider market fluctuations. Default is
|
calamity.type |
Defines the disturbance or calamity situation to allow
for the consideration of lower net revenues in the case
of salvage harvests. The calamity type determines the
applied consequences of disturbances/calamities,
implemented as factors for reduced revenues and higher
harvest costs. By default no calamity is assumed
|
calamity.factors |
Summands |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A vector with the total net revenues for the entire volume over bark
.
Dieter, Matthias (2001): Land expectation values for spruce and beech calculated with Monte Carlo modelling techniques. For. Policy Econ. 2 (2), p. 157-166. doi:10.1016/S1389-9341(01)00045-4.
Fuchs, Jasper M.; Hittenbeck, Anika; Brandl, Susanne; Schmidt, Matthias; Paul, Carola (2022a): Adaptation Strategies for Spruce Forests - Economic Potential of Bark Beetle Management and Douglas Fir Cultivation in Future Tree Species Portfolios. Forestry 95 (2) p. 229-246. doi:10.1093/forestry/cpab040
Fuchs, Jasper M.; v. Bodelschwingh, Hilmar; Lange, Alexander; Paul, Carola; Husmann, Kai (2022b): Quantifying the consequences of disturbances on wood revenues with Impulse Response Functions. For. Policy Econ. 140, art. 102738. doi:10.1016/j.forpol.2022.102738.
Fuchs, Jasper M.; Husmann, Kai; v. Bodelschwingh, Hilmar; Koster, Roman; Staupendahl, Kai; Offer, Armin; Moehring, Bernhard, Paul, Carola (2023): woodValuationDE: A consistent framework for calculating stumpage values in Germany (technical note). Allgemeine Forst- und Jagdzeitung 193 (1/2), p. 16-29. doi: 10.23765/afjz0002090
Moellmann, Torsten B.; Moehring, Bernhard (2017): A practical way to integrate risk in forest management decisions. Ann. For. Sci. 74 (4), p. 75. doi:10.1007/s13595-017-0670-x
Offer, Armin; Staupendahl, Kai (2018): Holzwerbungskosten- und Bestandessortentafeln (Wood Harvest Cost and Assortment Tables). Kassel: HessenForst (publisher).
v. Bodelschwingh, Hilmar (2018): Oekonomische Potentiale von Waldbestaenden. Konzeption und Abschaetzung im Rahmen einer Fallstudie in hessischen Staatswaldflaechen (Economic Potentials of Forest Stands and Their Consideration in Strategic Decisions). Bad Orb: J.D. Sauerlaender's Verlag (Schriften zur Forst- und Umweltoekonomie, 47).
wood_net_revenues(1, 40, "beech") # species codes Lower Saxony (Germany) wood_net_revenues(seq(10, 70, 20), 40, 211, species.code.type = "nds") # vector input wood_net_revenues(10, seq(20, 50, 5), "spruce") wood_net_revenues(10, 40, rep(c("beech", "spruce"), each = 9), value.level = rep(rep(1:3, 2), each = 3), cost.level = rep(1:3, 6)) wood_net_revenues(10, 40, rep("spruce", 6), calamity.type = c("none", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in harvest costs and wood revenues wood_net_revenues(10, 40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5))) # adapted market situation by providing alternative prices for the reference assortments wood_net_revenues(10, 40, c("oak", "beech", "spruce")) wood_net_revenues(10, 40, c("oak", "beech", "spruce"), price.ref.assortment = dplyr::tibble( species = c("oak", "beech", "spruce"), price.ref.assortment = c(300, 80, 50)))
wood_net_revenues(1, 40, "beech") # species codes Lower Saxony (Germany) wood_net_revenues(seq(10, 70, 20), 40, 211, species.code.type = "nds") # vector input wood_net_revenues(10, seq(20, 50, 5), "spruce") wood_net_revenues(10, 40, rep(c("beech", "spruce"), each = 9), value.level = rep(rep(1:3, 2), each = 3), cost.level = rep(1:3, 6)) wood_net_revenues(10, 40, rep("spruce", 6), calamity.type = c("none", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in harvest costs and wood revenues wood_net_revenues(10, 40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5))) # adapted market situation by providing alternative prices for the reference assortments wood_net_revenues(10, 40, c("oak", "beech", "spruce")) wood_net_revenues(10, 40, c("oak", "beech", "spruce"), price.ref.assortment = dplyr::tibble( species = c("oak", "beech", "spruce"), price.ref.assortment = c(300, 80, 50)))
The function estimates wood revenues per cubic meter salable volume using the wood revenue model of v. Bodelschwingh (2018), which is based on the assortment tables from Offer and Staupendahl (2018). Consequences of disturbances and calamities are implemented based on Dieter (2001), Moellmann and Moehring (2017), and Fuchs et al. (2022a, 2022b). Apart from Dieter (2001) and Moellmann and Moehring (2017), all functions and factors are based on data from HessenForst, the public forest service of the Federal State of Hesse in Germany. For further details see the woodValuationDE README.
wood_revenues( diameter.q, species, value.level = 2, logging.method = "combined", price.ref.assortment = "baseline", calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
wood_revenues( diameter.q, species, value.level = 2, logging.method = "combined", price.ref.assortment = "baseline", calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
value.level |
Stand quality expressed as an integer of |
logging.method |
Logging method, with |
price.ref.assortment |
Wood price of the reference assortments allowing
to consider market fluctuations. Default is
|
calamity.type |
Defines the disturbance or calamity situation to allow
for the consideration of lower net revenues in the case
of salvage harvests. The calamity type determines the
applied consequences of disturbances/calamities,
implemented as factors for reduced revenues and higher
harvest costs. By default no calamity is assumed
|
calamity.factors |
Summands |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A vector with wood revenues per cubic meter
. The volume refers to the salable
wood volume, provided by
vol_salable
.
Dieter, Matthias (2001): Land expectation values for spruce and beech calculated with Monte Carlo modelling techniques. For. Policy Econ. 2 (2), p. 157-166. doi:10.1016/S1389-9341(01)00045-4.
Fuchs, Jasper M.; Hittenbeck, Anika; Brandl, Susanne; Schmidt, Matthias; Paul, Carola (2022a): Adaptation Strategies for Spruce Forests - Economic Potential of Bark Beetle Management and Douglas Fir Cultivation in Future Tree Species Portfolios. Forestry 95 (2) p. 229-246. doi:10.1093/forestry/cpab040
Fuchs, Jasper M.; v. Bodelschwingh, Hilmar; Lange, Alexander; Paul, Carola; Husmann, Kai (2022b): Quantifying the consequences of disturbances on wood revenues with Impulse Response Functions. For. Policy Econ. 140, art. 102738. doi:10.1016/j.forpol.2022.102738.
Fuchs, Jasper M.; Husmann, Kai; v. Bodelschwingh, Hilmar; Koster, Roman; Staupendahl, Kai; Offer, Armin; Moehring, Bernhard, Paul, Carola (2023): woodValuationDE: A consistent framework for calculating stumpage values in Germany (technical note). Allgemeine Forst- und Jagdzeitung 193 (1/2), p. 16-29. doi: 10.23765/afjz0002090 for calculating stumpage values in Germany (technical note)
Moellmann, Torsten B.; Moehring, Bernhard (2017): A practical way to integrate risk in forest management decisions. Ann. For. Sci. 74 (4), p. 75. doi:10.1007/s13595-017-0670-x
Offer, Armin; Staupendahl, Kai (2018): Holzwerbungskosten- und Bestandessortentafeln (Wood Harvest Cost and Assortment Tables). Kassel: HessenForst (publisher).
v. Bodelschwingh, Hilmar (2018): Oekonomische Potentiale von Waldbestaenden. Konzeption und Abschaetzung im Rahmen einer Fallstudie in hessischen Staatswaldflaechen (Economic Potentials of Forest Stands and Their Consideration in Strategic Decisions). Bad Orb: J.D. Sauerlaender's Verlag (Schriften zur Forst- und Umweltoekonomie, 47).
wood_revenues(40, "beech") # species codes Lower Saxony (Germany) wood_revenues(40, 211, species.code.type = "nds") # vector input wood_revenues(seq(20, 50, 5), "spruce") wood_revenues(40, rep(c("beech", "spruce"), each = 3), value.level = rep(1:3, 2)) wood_revenues(40, rep("spruce", 7), calamity.type = c("none", "calamity.dieter.2001", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in wood revenues wood_revenues(40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5))) # adapted market situation by providing alternative prices for the reference assortments wood_revenues(40, c("oak", "beech", "spruce")) wood_revenues(40, c("oak", "beech", "spruce"), price.ref.assortment = dplyr::tibble( species = c("oak", "beech", "spruce"), price.ref.assortment = c(300, 80, 50)))
wood_revenues(40, "beech") # species codes Lower Saxony (Germany) wood_revenues(40, 211, species.code.type = "nds") # vector input wood_revenues(seq(20, 50, 5), "spruce") wood_revenues(40, rep(c("beech", "spruce"), each = 3), value.level = rep(1:3, 2)) wood_revenues(40, rep("spruce", 7), calamity.type = c("none", "calamity.dieter.2001", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in wood revenues wood_revenues(40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5))) # adapted market situation by providing alternative prices for the reference assortments wood_revenues(40, c("oak", "beech", "spruce")) wood_revenues(40, c("oak", "beech", "spruce"), price.ref.assortment = dplyr::tibble( species = c("oak", "beech", "spruce"), price.ref.assortment = c(300, 80, 50)))
The function is a wrapper for the entire procedure of wood valuation provided by woodValuationDE. It estimates the share of salable (for revenues) and skidded volume (for harvest costs), the wood revenues, and the harvest costs. Finally, it derives the net revenues for the user-provided wood volume over bark. The underlying functions were derived based on data from HessenForst, the public forest service of the Federal State of Hesse in Germany. For further details see the woodValuationDE README.
wood_valuation( volume, diameter.q, species, value.level = 2, cost.level = 1, logging.method = "combined", price.ref.assortment = "baseline", calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
wood_valuation( volume, diameter.q, species, value.level = 2, cost.level = 1, logging.method = "combined", price.ref.assortment = "baseline", calamity.type = "none", calamity.factors = "baseline", species.code.type = "en", method = "fuchs.orig" )
volume |
Wood volume |
diameter.q |
Quadratic mean of the diameter at breast height (dbh) of
the harvested trees |
species |
Tree species, using an available |
value.level |
Stand quality expressed as an integer of |
cost.level |
Accessibility of the stand for logging operations
expressed as an integer of |
logging.method |
Logging method, with |
price.ref.assortment |
Wood price of the reference assortments allowing
to consider market fluctuations. Default is
|
calamity.type |
Defines the disturbance or calamity situation to allow
for the consideration of lower net revenues in the case
of salvage harvests. The calamity type determines the
applied consequences of disturbances/calamities,
implemented as factors for reduced revenues and higher
harvest costs. By default no calamity is assumed
|
calamity.factors |
Summands |
species.code.type |
Type of code in which |
method |
argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future. |
A tibble with all steps of the wood valuation (harvest quantities,
harvest costs , wood revenues
, and total net revenues
).
Dieter, Matthias (2001): Land expectation values for spruce and beech calculated with Monte Carlo modelling techniques. For. Policy Econ. 2 (2), p. 157-166. doi:10.1016/S1389-9341(01)00045-4.
Fuchs, Jasper M.; Hittenbeck, Anika; Brandl, Susanne; Schmidt, Matthias; Paul, Carola (2022a): Adaptation Strategies for Spruce Forests - Economic Potential of Bark Beetle Management and Douglas Fir Cultivation in Future Tree Species Portfolios. Forestry 95 (2) 229-246. doi:10.1093/forestry/cpab040
Fuchs, Jasper M.; v. Bodelschwingh, Hilmar; Lange, Alexander; Paul, Carola; Husmann, Kai (2022b): Quantifying the consequences of disturbances on wood revenues with Impulse Response Functions. For. Policy Econ. 140, art. 102738. doi:10.1016/j.forpol.2022.102738.
Fuchs, Jasper M.; Husmann, Kai; v. Bodelschwingh, Hilmar; Koster, Roman; Staupendahl, Kai; Offer, Armin; Moehring, Bernhard, Paul, Carola (2023): woodValuationDE: A consistent framework for calculating stumpage values in Germany (technical note). Allgemeine Forst- und Jagdzeitung 193 (1/2), p. 16-29. doi: 10.23765/afjz0002090
Moellmann, Torsten B.; Moehring, Bernhard (2017): A practical way to integrate risk in forest management decisions. Ann. For. Sci. 74 (4), p. 75. doi:10.1007/s13595-017-0670-x
Offer, Armin; Staupendahl, Kai (2018): Holzwerbungskosten- und Bestandessortentafeln (Wood Harvest Cost and Assortment Tables). Kassel: HessenForst (publisher).
v. Bodelschwingh, Hilmar (2018): Oekonomische Potentiale von Waldbestaenden. Konzeption und Abschaetzung im Rahmen einer Fallstudie in hessischen Staatswaldflaechen (Economic Potentials of Forest Stands and Their Consideration in Strategic Decisions). Bad Orb: J.D. Sauerlaender's Verlag (Schriften zur Forst- und Umweltoekonomie, 47).
wood_valuation(1, 40, "beech") # species codes Lower Saxony (Germany) wood_valuation(seq(10, 70, 20), 40, 211, species.code.type = "nds") # vector input wood_valuation(10, seq(20, 50, 5), "spruce") wood_valuation(10, 40, rep(c("beech", "spruce"), each = 9), value.level = rep(rep(1:3, 2), each = 3), cost.level = rep(1:3, 6)) wood_valuation(10, 40, rep("spruce", 6), calamity.type = c("none", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in harvest costs and wood revenues wood_valuation(10, 40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5))) # adapted market situation by providing alternative prices for the reference assortments wood_valuation(10, 40, c("oak", "beech", "spruce")) wood_valuation(10, 40, c("oak", "beech", "spruce"), price.ref.assortment = dplyr::tibble( species = c("oak", "beech", "spruce"), price.ref.assortment = c(300, 80, 50)))
wood_valuation(1, 40, "beech") # species codes Lower Saxony (Germany) wood_valuation(seq(10, 70, 20), 40, 211, species.code.type = "nds") # vector input wood_valuation(10, seq(20, 50, 5), "spruce") wood_valuation(10, 40, rep(c("beech", "spruce"), each = 9), value.level = rep(rep(1:3, 2), each = 3), cost.level = rep(1:3, 6)) wood_valuation(10, 40, rep("spruce", 6), calamity.type = c("none", "ips.fuchs.2022a", "ips.timely.fuchs.2022a", "stand.damage.fuchs.2022b", "regional.disturbance.fuchs.2022b", "transregional.calamity.fuchs.2022b")) # user-defined calamities with respective changes in harvest costs and wood revenues wood_valuation(10, 40, rep("spruce", 3), calamity.type = c("none", "my.own.calamity.1", "my.own.calamity.2"), calamity.factors = dplyr::tibble( calamity.type = rep(c("none", "my.own.calamity.1", "my.own.calamity.2"), each = 2), species.group = rep(c("softwood", "deciduous"), times = 3), revenues.factor = c(1.0, 1.0, 0.8, 0.8, 0.2, 0.2), cost.factor = c(1.0, 1.0, 1.5, 1.5, 1.0, 1.0), cost.additional = c(0, 0, 0, 0, 5, 5))) # adapted market situation by providing alternative prices for the reference assortments wood_valuation(10, 40, c("oak", "beech", "spruce")) wood_valuation(10, 40, c("oak", "beech", "spruce"), price.ref.assortment = dplyr::tibble( species = c("oak", "beech", "spruce"), price.ref.assortment = c(300, 80, 50)))