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

Revision timber demand and production + option for WDPA reversal #777

Merged
merged 27 commits into from
Feb 22, 2025

Conversation

flohump
Copy link
Contributor

@flohump flohump commented Feb 17, 2025

🐦 Description of this PR 🐦

Summary of changes:

  • 73_timber revised timber demand calculations
  • 32_forestry revised plantation establishment assumptions
  • 35_natveg revised wood harvest assumptions
  • 22_land_conservation added option for base protection reversal

Demand for industrial roundwood has been revised.
In the current develop (SMIP39), there is almost no difference betwen SSP1, SSP2 and SSP3.
Demand for industrial roundwood is increasing over the whole century.
Main reason: The effect of population peak and decline is overcompensated by increasing GDP, which is increasing in all regions and all sceanrios.
This PR (SMIP42) introces a GDP threshold of 10000 USD per capita per year (based on development state) for income-elastic industrial roundwood demand.
Beyond the threshold, industrial roundwood demand depends on population only.
Also, demand for industrial roundwood is no longer fixed to FAO values for historic years. In this PR, only 1995 from FAO is used as starting point, while all future years depend on our demand calcuations.

Production_Forest_products_Industrial_roundwood-4

At the regional level, wood production is more stable.

Production_Forest_products_Industrial_roundwood-5

Wood fuel demand is largely unchanged.

Production_Forest_products_Wood_fuel

In addition, the calibration for plantation establishment has been revised with the goal to better match the historic data.
Note that the revised demand calcuations strongly reduce plantation establishment.

Resources_Land_Cover_Forest_Planted_Forest_Plantations_Timber-2

Cropland and TAU remain largely unchanged.

Resources_Land_Cover_Cropland-138
Resources_Land_Cover_Cropland-136
Productivity_Landuse_Intensity_Indicator_Tau-111

Global CO2 emissions remain largely unchanged.
Less spikes in CO2 emissions are regional level.

Emissions_CO2_Land_Land_use_Change-122
Emissions_CO2_Land_Land_use_Change-124
Emissions_CO2_Land_Land_use_Change_Timber

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

All test runs have been completed successfully

📉 Performance changes 📈

  • Current develop branch default : 27 mins
  • This PR's default : 24.5 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 added enhancement New feature or request High risk Higher risk labels Feb 17, 2025
@flohump flohump marked this pull request as ready for review February 17, 2025 13:51
@flohump flohump requested a review from pvjeetze February 17, 2025 16:30
@pascal-sauer
Copy link
Contributor

pascal-sauer commented Feb 18, 2025

What is SMIP39 and SMIP42?
edit: Ah it's ScenarioMIP? What do the numbers mean?

@flohump
Copy link
Contributor Author

flohump commented Feb 18, 2025

What is SMIP39 and SMIP42?

See introduction at the of this page:
"In the current develop (SMIP39)..."
"This PR (SMIP42) ..."

@flohump
Copy link
Contributor Author

flohump commented Feb 18, 2025

What is SMIP39 and SMIP42?

See introduction at the of this page: "In the current develop (SMIP39)..." "This PR (SMIP42) ..."

M-SSP2-NPi2025 is very similar to our default SSP2-NPI test run.
I also did the default test runs.

Copy link
Member

@tscheypidi tscheypidi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good. Just some understanding questions

s32_demand_establishment Boolean switch for establishment demand assumption 1=forward looking 0=static (1) / 1 /
s32_npi_ndc_reversal Year in which NPI NDC reversal should take place (1) / Inf /
s32_min_plant_shr Minimum share of plantations in planted forests (1) / 0.2 /
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is that minimum share introduced?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have regional data set based on FAOSTAT that provides the share of plantations in planted forests. Most regions have a share of 0.7 or more. However, some regions have very small shares (JPN:0,REF:0.06,EUR:017). Considering the high shares in all other regions, this seems implausbile. The difference might be caused by different definitions of plantation forest. The mininum share for plantations aims to avoid that wood harvest relies too strongly on natural vegetation.

@@ -157,7 +157,7 @@ q35_prod_primforest(j2)..
*' Wood production from other landis not allowed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
*' Wood production from other landis not allowed.
*' Wood production from other land is not allowed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR allows wood production from other land.
I revised the in-code documentation accordingly.

@@ -157,7 +157,7 @@ q35_prod_primforest(j2)..
*' Wood production from other landis not allowed.

q35_prod_other(j2)..
vm_prod_natveg(j2,"other","woodfuel")
sum(kforestry, vm_prod_natveg(j2,"other",kforestry))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warum der wechsel?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the current develop, we see implausible imports and exports of industrial roundwood. This is caused by declining growing stock of secondary forest in some regions, causing shortage of wood supply. Allowing not only wood fuel but also industrial roundwood production (kforestry) from other land reduces these issues. The definition of forest vs non-forest natural land is seamless is many cases, and differs from country to country.
Therefore, some wood harvest from other land seems plausible.

@@ -239,8 +239,6 @@ v35_hvarea_other.fx(j,othertype35,ac_est) = 0;
v35_secdforest_reduction.fx(j,ac_est) = 0;
v35_other_reduction.fx(j,othertype35,ac_est) = 0;

vm_prod_natveg.fx(j,"other","wood") = 0;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what happened here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed on purpose. See above.

Copy link
Member

@tscheypidi tscheypidi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the clarifications

Copy link
Member

@abhimishr abhimishr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@flohump flohump merged commit 23e1f8a into magpiemodel:develop Feb 22, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request High risk Higher risk
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants