Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix forestry prices and trade cost #781

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

flohump
Copy link
Contributor

@flohump flohump commented Mar 1, 2025

🐦 Description of this PR 🐦

In the current develop, we observe huge negative prices for wood in CHA in 2070, and huge costs for trade in 2070 in other regions. The reason for this is that we enfore harvest of timber plantations at rotation age. In the specific case above, this creates a conflict with equation q21_trade_reg_up. Put simply, enforced wood production from timber plantations is higher than allowed by q21_trade_reg_up, which results in negative prices.
This PR resolves this issues by allowing for more flexibility in harvest from timber plantations. Timber plantation harvest is no longer enforced at rotation age to avoid conflicts with `q21_trade_reg_up.
In addition, cost for additional imports to maintain feasibility are reduced from 12300 to 1500 USD17MER per tDM to avoid implausibly high costs and prices for wood and woodfuel

Changelog:

  • 32_forestry timber plantation harvest is no longer enforced at rotation age to avoid conflicts with q21_trade_reg_up, which can result in huge costs and negative prices for wood. To ensure that harvest from timber plantations is prioritized over harvest from natural forest, s32_harvesting_cost is set to 50% of s35_timber_harvest_cost_secdforest.
  • 21_trade Cost for additional imports to maintain feasibility reduced from 12300 to 1500 USD17MER per tDM to avoid implausibly high costs and prices for wood and woodfuel
  • core/macro wrong use of vm_supply corrected in macro m21_baseline_production

Prices_Industrial_roundwood
Costs_Trade

Resources_Land_Cover_Cropland-140
Productivity_Landuse_Intensity_Indicator_Tau-112
Emissions_CO2_Land_Land_use_Change-127

🔧 Checklist for PR creator 🔧

  • Label pull request from the label list.

    • Low risk: Simple bugfixes (missing files, updated documentation, typos) or changes in start or output scripts
    • Medium risk: Uncritical changes in the model core (e.g. moderate modifications in non-default realizations)
    • High risk: Critical changes in model core or default settings (e.g. changing a model default or adjusting a core mechanic in the model)
  • Self-review own code

    • No hard coded numbers and cluster/country/region names.
    • The new code doesn't contain declared but unused parameters or variables.
    • magpie4 R library has been updated accordingly and backwards compatible where necessary.
    • scenario_config.csv has been updated accordingly (important if default.cfg has been updated)
  • Document changes

    • Add changes to CHANGELOG.md
    • Where relevant, put In-code documentation comments
    • Properly address updates in interfaces in the module documentations
    • run goxygen::goxygen() and verify the modified code is properly documented
  • Perform test runs

    • Low risk:
      • Run a compilation check via Rscript start.R --> "compilation check"
    • Medium risk:
      • Run test runs via Rscript start.R --> "test runs"
      • Check logs for errors/warnings
    • High risk:
      • Run test runs via Rscript start.R --> "test runs"
      • Check logs for errors/warnings
      • Default run from the PR target branch for comparison
      • Provide relevant comparison plots (land-use, emissions, food prices, land-use intensity,...)

📉 Performance changes 📈

  • Current develop branch default : 28 mins
  • This PR's default : 31 mins

🚨 Checklist for reviewer 🚨

  • PR is labeled correctly
  • Code changes look reasonable
    • No hard coded numbers and cluster/country/region names.
    • No unnecessary increase in module interfaces
    • model behavior/performance is satisfactory.
  • Changes are properly documented
    • CHANGELOG is updated correctly
    • Updates in interfaces have been properly addressed in the module documentations
    • In-code documentation looks appropriate
  • content review done (at least 1)
  • RSE review done (at least 1)

@flohump flohump marked this pull request as ready for review March 1, 2025 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant