Package 'woodValuationDE'

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

Help Index


Available species in woodValuationDE, their codes, and parameter assignments

Description

The function returns the available species, species codes, and assignments of species to species groups for the economic valuation.

Usage

get_species_codes(method = "fuchs.orig")

Arguments

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A list with the species, species codes, and assignments to economic species groups available in woodValuationDE.

Examples

get_species_codes()

Harvest costs per cubic meter skidded volume

Description

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.

Usage

harvest_costs(
  diameter.q,
  species,
  cost.level = 1,
  calamity.type = "none",
  calamity.factors = "baseline",
  species.code.type = "en",
  method = "fuchs.orig"
)

Arguments

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

cost.level

Accessibility of the stand for logging operations expressed as an integer of 1:3, with 1 for standard conditions without limitations, 2 for moist sites or sites with a slope between 36 % and 58 %, and 3 for slopes > 58 %. The cost.levels refer to the harvest cost model of v. Bodelschwingh (2018).

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 "none"; "calamity.dieter.2001" refers to a general larger calamity applying the corrections according to Dieter (2001); five parameter sets were implemented according to Moellmann and Moehring (2017): fire.small.moellmann.2017 refers to damages of only some trees by fire (only conifers) while fire.large.moellmann.2017 assumes that at least one compartment was affected, the same applies for storm.small.moellmann.2017 and storm.large.moellmann.2017 referring to damages by storm (available for coniferous and deciduous species), insects.moellmann.2017 refers to damages by insects; "ips.fuchs.2022a" refers to quality losses due to infestations by the European spruce bark beetle or "ips.timely.fuchs.2022a" for timely salvage fellings in less advanced attack stages (both according to Fuchs et al. 2022a); and "stand.damage.fuchs.2022b" to disturbances affecting only one stand, "regional.disturbance.fuchs.2022b" to disturbances with effects on the regional wood market and "transregional.calamity.fuchs.2022b" to calamities affecting transregional wood markets (the last three referring to Fuchs et al. 2022b). User-defined types can be implemented via the calamity.factors argument.

calamity.factors

Summands [EURm3][EUR m^{-3}] and factors to consider the consequences of disturbances and calamities on wood revenues and harvest costs. "baseline" provides a tibble based on the references listed in calamity.type (for details see README of woodValuationDE). Alternatively, users can provide a tibble with the same structure.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A vector with harvest costs per cubic meter skidded volume [EURm3][EUR m^{-3}]. The volume refers to the skidded wood volume, provided by vol_skidded.

References

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).

Examples

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)))

Relative volume share of different assortments

Description

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.

Usage

vol_assortment(
  diameter.q,
  species,
  assortment,
  value.level = 2,
  logging.method = "combined",
  species.code.type = "en",
  method = "fuchs.orig"
)

Arguments

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

assortment

wood assortment whose share is sought, currently implemented: "saw.logs"

value.level

Stand quality expressed as an integer of 1:3, with 1 for an extraordinarily high stand quality with high shares of wood suitable for high-valued usages such as furniture, 2 for a moderate quality, and 3 for a low quality (e.g., trees with thick branches). The value.levels refer to the applied assortment tables of Offer and Staupendahl (2018).

logging.method

Logging method, with "manually" for motor-manual logging using a chain saw, "harvester" for logging with highly mechanized forest harvesters, or "combined" for a combination of the previous methods dependent on the mean diameter.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A vector with relative shares of the respective assortment's wood volume.

References

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).

Examples

# 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")

Relative share in the volume over bark that is salable

Description

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.

Usage

vol_salable(
  diameter.q,
  species,
  value.level = 2,
  logging.method = "combined",
  species.code.type = "en",
  method = "fuchs.orig"
)

Arguments

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

value.level

Stand quality expressed as an integer of 1:3, with 1 for an extraordinarily high stand quality with high shares of wood suitable for high-valued usages such as furniture, 2 for a moderate quality, and 3 for a low quality (e.g., trees with thick branches). The value.levels refer to the applied assortment tables of Offer and Staupendahl (2018).

logging.method

Logging method, with "manually" for motor-manual logging using a chain saw, "harvester" for logging with highly mechanized forest harvesters, or "combined" for a combination of the previous methods dependent on the mean diameter.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A vector with relative shares of salable wood volume.

References

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).

Examples

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))

Relative share in the volume over bark that is skidded

Description

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.

Usage

vol_skidded(
  diameter.q,
  species,
  value.level = 2,
  logging.method = "combined",
  species.code.type = "en",
  method = "fuchs.orig"
)

Arguments

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

value.level

Stand quality expressed as an integer of 1:3, with 1 for an extraordinarily high stand quality with high shares of wood suitable for high-valued usages such as furniture, 2 for a moderate quality, and 3 for a low quality (e.g., trees with thick branches). The value.levels refer to the applied assortment tables of Offer and Staupendahl (2018).

logging.method

Logging method, with "manually" for motor-manual logging using a chain saw, "harvester" for logging with highly mechanized forest harvesters, or "combined" for a combination of the previous methods dependent on the mean diameter.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A vector with relative shares of skidded wood volume.

References

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).

Examples

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))

Net revenues for wood volumes over bark

Description

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.

Usage

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"
)

Arguments

volume

Wood volume [m3][m^{3}], referring to volume over bark of the trees to be harvested, as usually provided by yield tables and forest simulators (German unit: Vfm).

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

value.level

Stand quality expressed as an integer of 1:3, with 1 for an extraordinarily high stand quality with high shares of wood suitable for high-valued usages such as furniture, 2 for a moderate quality, and 3 for a low quality (e.g., trees with thick branches). The value.levels refer to the applied assortment tables of Offer and Staupendahl (2018).

cost.level

Accessibility of the stand for logging operations expressed as an integer of 1:3, with 1 for standard conditions without limitations, 2 for moist sites or sites with a slope between 36 % and 58 %, and 3 for slopes > 58 %. The cost.levels refer to the harvest cost model of v. Bodelschwingh (2018).

logging.method

Logging method, with "manually" for motor-manual logging using a chain saw, "harvester" for logging with highly mechanized forest harvesters, or "combined" for a combination of the previous methods dependent on the mean diameter.

price.ref.assortment

Wood price of the reference assortments allowing to consider market fluctuations. Default is "baseline" referring to the prices from 2010 to 2015 in Hesse, Germany (for details see README of woodValuationDE or v. Bodelschwingh (2018)). Alternatively, users can provide a tibble with the same structure. The column species uses the specified species.code.type.

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 "none"; "calamity.dieter.2001" refers to a general larger calamity applying the corrections according to Dieter (2001); five parameter sets were implemented according to Moellmann and Moehring (2017): fire.small.moellmann.2017 refers to damages of only some trees by fire (only conifers) while fire.large.moellmann.2017 assumes that at least one compartment was affected, the same applies for storm.small.moellmann.2017 and storm.large.moellmann.2017 referring to damages by storm (available for coniferous and deciduous species), insects.moellmann.2017 refers to damages by insects; "ips.fuchs.2022a" refers to quality losses due to infestations by the European spruce bark beetle or "ips.timely.fuchs.2022a" for timely salvage fellings in less advanced attack stages (both according to Fuchs et al. 2022a); and "stand.damage.fuchs.2022b" to disturbances affecting only one stand, "regional.disturbance.fuchs.2022b" to disturbances with effects on the regional wood market and "transregional.calamity.fuchs.2022b" to calamities affecting transregional wood markets (the last three referring to Fuchs et al. 2022b). User-defined types can be implemented via the calamity.factors argument.

calamity.factors

Summands [EURm3][EUR m^{-3}] and factors to consider the consequences of disturbances and calamities on wood revenues and harvest costs. "baseline" provides a tibble based on the references listed in calamity.type (for details see README of woodValuationDE). Alternatively, users can provide a tibble with the same structure.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A vector with the total net revenues for the entire volume over bark [EUR][EUR].

References

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).

Examples

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 revenues per cubic meter salable volume

Description

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.

Usage

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"
)

Arguments

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

value.level

Stand quality expressed as an integer of 1:3, with 1 for an extraordinarily high stand quality with high shares of wood suitable for high-valued usages such as furniture, 2 for a moderate quality, and 3 for a low quality (e.g., trees with thick branches). The value.levels refer to the applied assortment tables of Offer and Staupendahl (2018).

logging.method

Logging method, with "manually" for motor-manual logging using a chain saw, "harvester" for logging with highly mechanized forest harvesters, or "combined" for a combination of the previous methods dependent on the mean diameter.

price.ref.assortment

Wood price of the reference assortments allowing to consider market fluctuations. Default is "baseline" referring to the prices from 2010 to 2015 in Hesse, Germany (for details see README of woodValuationDE or v. Bodelschwingh (2018)). Alternatively, users can provide a tibble with the same structure. The column species uses the specified species.code.type.

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 "none"; "calamity.dieter.2001" refers to a general larger calamity applying the corrections according to Dieter (2001); five parameter sets were implemented according to Moellmann and Moehring (2017): fire.small.moellmann.2017 refers to damages of only some trees by fire (only conifers) while fire.large.moellmann.2017 assumes that at least one compartment was affected, the same applies for storm.small.moellmann.2017 and storm.large.moellmann.2017 referring to damages by storm (available for coniferous and deciduous species), insects.moellmann.2017 refers to damages by insects; "ips.fuchs.2022a" refers to quality losses due to infestations by the European spruce bark beetle or "ips.timely.fuchs.2022a" for timely salvage fellings in less advanced attack stages (both according to Fuchs et al. 2022a); and "stand.damage.fuchs.2022b" to disturbances affecting only one stand, "regional.disturbance.fuchs.2022b" to disturbances with effects on the regional wood market and "transregional.calamity.fuchs.2022b" to calamities affecting transregional wood markets (the last three referring to Fuchs et al. 2022b). User-defined types can be implemented via the calamity.factors argument.

calamity.factors

Summands [EURm3][EUR m^{-3}] and factors to consider the consequences of disturbances and calamities on wood revenues and harvest costs. "baseline" provides a tibble based on the references listed in calamity.type (for details see README of woodValuationDE). Alternatively, users can provide a tibble with the same structure.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A vector with wood revenues per cubic meter [EURm3][EUR m^{-3}]. The volume refers to the salable wood volume, provided by vol_salable.

References

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).

Examples

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)))

All steps of the monetary valuation of wood volumes over bark

Description

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.

Usage

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"
)

Arguments

volume

Wood volume [m3][m^{3}], referring to volume over bark of the trees to be harvested, as usually provided by yield tables and forest simulators (German unit: Vfm m.R.).

diameter.q

Quadratic mean of the diameter at breast height (dbh) of the harvested trees [cm][cm].

species

Tree species, using an available species.code.type. For a list with the available species and codes call get_species_codes.

value.level

Stand quality expressed as an integer of 1:3, with 1 for an extraordinarily high stand quality with high shares of wood suitable for high-valued usages such as furniture, 2 for a moderate quality, and 3 for a low quality (e.g., trees with thick branches). The value.levels refer to the applied assortment tables of Offer and Staupendahl (2018).

cost.level

Accessibility of the stand for logging operations expressed as an integer of 1:3, with 1 for standard conditions without limitations, 2 for moist sites or sites with a slope between 36 % and 58 %, and 3 for slopes > 58 %. The cost.levels refer to the harvest cost model of v. Bodelschwingh (2018).

logging.method

Logging method, with "manually" for motor-manual logging using a chain saw, "harvester" for logging with highly mechanized forest harvesters, or "combined" for a combination of the previous methods dependent on the mean diameter.

price.ref.assortment

Wood price of the reference assortments allowing to consider market fluctuations. Default is "baseline" referring to the prices from 2010 to 2015 in Hesse, Germany (for details see README of woodValuationDE or v. Bodelschwingh (2018)). Alternatively, users can provide a tibble with the same structure. The column species uses the specified species.code.type.

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 "none"; "calamity.dieter.2001" refers to a general larger calamity applying the corrections according to Dieter (2001); five parameter sets were implemented according to Moellmann and Moehring (2017): fire.small.moellmann.2017 refers to damages of only some trees by fire (only conifers) while fire.large.moellmann.2017 assumes that at least one compartment was affected, the same applies for storm.small.moellmann.2017 and storm.large.moellmann.2017 referring to damages by storm (available for coniferous and deciduous species), insects.moellmann.2017 refers to damages by insects; "ips.fuchs.2022a" refers to quality losses due to infestations by the European spruce bark beetle or "ips.timely.fuchs.2022a" for timely salvage fellings in less advanced attack stages (both according to Fuchs et al. 2022a); and "stand.damage.fuchs.2022b" to disturbances affecting only one stand, "regional.disturbance.fuchs.2022b" to disturbances with effects on the regional wood market and "transregional.calamity.fuchs.2022b" to calamities affecting transregional wood markets (the last three referring to Fuchs et al. 2022b). User-defined types can be implemented via the calamity.factors argument.

calamity.factors

Summands [EURm3][EUR m^{-3}] and factors to consider the consequences of disturbances and calamities on wood revenues and harvest costs. "baseline" provides a tibble based on the references listed in calamity.type (for details see README of woodValuationDE). Alternatively, users can provide a tibble with the same structure.

species.code.type

Type of code in which species is given. "en" for English species names or "nds" for numeric species codes used in Lower Saxony, Germany. For a list with the available species and codes call get_species_codes.

method

argument that is currently not used, but offers the possibility to implement alternative parameters and functions in the future.

Value

A tibble with all steps of the wood valuation (harvest quantities, harvest costs [EURm3][EUR m^{-3}], wood revenues [EURm3][EUR m^{-3}], and total net revenues [EUR][EUR]).

References

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).

Examples

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)))