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

Introduce simple soil carbon management (scm) option #774

Open
wants to merge 12 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- **scenario_config.csv** added scenario `VLLO` based on `SDP-MC`
- **default.cfg** added selection of low and middle-income countries `isoCountriesLowMiddleIncome`
- **scripts** start script for ScenarioMIP MAgPIE standalone runs
- **59_som** added soil carbon management option to cellpool_jan23 realization
- **11_cost** added cost term for soil carbon management
- **default.cfg** added setting for soil carbon management to config

### removed
- **modules/15_food/anthropometrics_jan18** removed as outdated
- **scenario_config.csv** removed column `SSP2-EU`
- **59_som** removed cellpool_aug16 realization (out-dated parameters)
- **60_bioenergy** removed `s60_bioenergy_1st_subsidy_fix_SSP2`, `s60_2ndgen_bioenergy_dem_min_post_fix` since no longer in use

### fixed
- **29_cropland** identical results for historic period when using `s29_treecover_bii_coeff` 0 and 1 in scenarios.
- **32_forestry** added contraint `q32_ndc_aff_limit` to make sure that NPI/NDC re/afforestation does not happen at the cost of forests and other natural vegetation.
- **35_natveg** added interface `vm_natforest_reduction`
- **56_ghg_policy** bugfixes for regional GHG policy fader
- **59_som** soil carbon reference stock for natural vegetation changed to mean value over cluster ("other_land" lu types)


## [4.9.1] - 2025-01-28
Expand Down
35 changes: 34 additions & 1 deletion config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1807,12 +1807,12 @@ cfg$gms$s58_fix_peatland <- 2020 # def = 2020

# ***------------------------- 59_som -------------------------------------
# * (static_jan19): static soil carbon loss for cropland
# * (cellpool_aug16): dynamic soil organic matter pool on cellular level
# * (cellpool_jan23): dynamic soil organic matter pool on cellular level
# * with updated, regionalized stock change factors (IPCC guidelines 2019)
cfg$gms$som <- "static_jan19" # def = static_jan19
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we make cellpool_jan23 the new default?
This would make the setup of coupled REMIND-MAgPIE runs with SCM much easier.
I guess that with s59_scm_target <- 0 the results are comparable to the current default?


# * static realization switch

# * options: cellular (use preprocessed cellular stock change factors)
# * cluster (use cshare_released on cluster within gams)
cfg$gms$c59_static_spatial_level <- "cellular"
Expand All @@ -1835,6 +1835,39 @@ cfg$gms$c59_irrigation_scenario <- "on" # def = "on"
# * fadeout_2050 (fading out till 2050)
cfg$gms$c59_exo_scen <- "constant"

# * Soil organic carbon management settings on cropland (only for cellpool_jan23)

# * Switch and specification of countries for selected policies in apply.
# * Options: list of iso-codes of countries where SNV policy should be applied
# * Note: must be written in the format: "IND, BRA, DEU"
# * Default: all iso countries
cfg$gms$policy_countries59 <- all_iso_countries

# * Switch for functional form of faders (1=linear 2=sigmoid)
cfg$gms$s59_fader_functional_form <- 1 # def = 1

# * Sigmoid fader for minimum area share of SCM on total cropland at cluster level
# * Minimum area share of SCM on total cropland in target year
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe consider to add examples of plausible values here.

# Note: s59_scm_target applies to countries selected in policy_countries29
# s59_scm_target_noselect applies to all other countries.
cfg$gms$s59_scm_target <- 0 # def = 0
cfg$gms$s59_scm_target_noselect <- 0 # def = 0

# * Start year of fader
cfg$gms$s59_scm_scenario_start <- 2025 # def = 2025

# * Target year of fader (year when full implementation is reached)
cfg$gms$s59_scm_scenario_target <- 2050 # def = 2050

# * Soil carbon management recurring cost (USD17MER per ha)
# * Soil carbon management practices on cropland involve increased crop residue inputs
# * through various agronomic practices. Literature estimates for these practices vary,
# * e.g., from 20 USD06MER per ha (Smith et al. 2008) to 90-115 USD21MER per ha
# * (Uludere Aragon et al. 2024), with a central estimate of 65 USD17MER per ha chosen
# * for this configuration. More details can be found in the input.gms file of the
# * corresponding realization
cfg$gms$s59_cost_scm_recur <- 65 # def = 65

# ***--------------------- 60_bioenergy -----------------------------------
# * (1stgen_priced_dec18): exogenous and price-based 1st generation bioenergy
# * demand, 2nd generation residues exogeneous,
Expand Down
37 changes: 36 additions & 1 deletion literature.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1712,7 +1712,6 @@ @article{jarvio_LCA_MP_2021
pages = {145764},
}


@techreport{budynski_straw_2020,
title = {Straw manufacturing in {Alberta}},
url = {https://open.alberta.ca/dataset/690317b0-1d07-4f9e-ae71-6340e16f6493/resource/89789096-1c7a-47ab-beb2-94d55606c922/},
Expand All @@ -1721,3 +1720,39 @@ @techreport{budynski_straw_2020
author = {Budynski, Stephanie},
year = {2020},
}

@article{smith_greenhouse_2008,
title = {Greenhouse gas mitigation in agriculture},
volume = {363},
copyright = {© 2007 The Royal Society},
issn = {0962-8436, 1471-2970},
url = {http://rstb.royalsocietypublishing.org/content/363/1492/789},
doi = {10.1098/rstb.2007.2184},
language = {en},
number = {1492},
urldate = {2016-12-13},
journal = {Philosophical Transactions of the Royal Society B: Biological Sciences},
author = {Smith, Pete and Martino, Daniel and Cai, Zucong and Gwary, Daniel and Janzen, Henry and Kumar, Pushpam and McCarl, Bruce and Ogle, Stephen and O'Mara, Frank and Rice, Charles and Scholes, Bob and Sirotenko, Oleg and Howden, Mark and McAllister, Tim and Pan, Genxing and Romanenkov, Vladimir and Schneider, Uwe and Towprayoon, Sirintornthep and Wattenbach, Martin and Smith, Jo},
month = feb,
year = {2008},
pmid = {17827109},
pages = {789--813},
}

@article{uludere_aragon_realistic_2024,
title = {The {Realistic} {Potential} of {Soil} {Carbon} {Sequestration} in {U}.{S}. {Croplands} for {Climate} {Mitigation}},
volume = {12},
copyright = {© 2024. The Author(s).},
issn = {2328-4277},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/2023EF003866},
doi = {10.1029/2023EF003866},
language = {en},
number = {6},
urldate = {2025-02-10},
journal = {Earth's Future},
author = {Uludere Aragon, Nazli and Xie, Yanhua and Bigelow, Daniel and Lark, Tyler J. and Eagle, Alison J.},
year = {2024},
note = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1029/2023EF003866},
keywords = {climate mitigation, natural climate solutions, agricultural land use, carbon sequestration potential, conservation policy, cover cropping, stable croplands},
pages = {e2023EF003866},
}
34 changes: 22 additions & 12 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -149,24 +149,24 @@ $title magpie
*##################### R SECTION START (VERSION INFO) ##########################
*
* Used data set: rev4.116_h12_magpie.tgz
* md5sum: NA
* Repository: https://rse.pik-potsdam.de/data/magpie/public
* md5sum: a020594c956835f8f44fc1b062506a01
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: rev4.116_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz
* md5sum: NA
* Repository: https://rse.pik-potsdam.de/data/magpie/public
* md5sum: 6bc13df515d9663430beff24c80280fd
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: rev4.116_h12_validation.tgz
* md5sum: NA
* Repository: https://rse.pik-potsdam.de/data/magpie/public
* md5sum: 494dbecfb4800872218fc6d791880ff9
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: additional_data_rev4.60.tgz
* md5sum: NA
* Repository: https://rse.pik-potsdam.de/data/magpie/public
* md5sum: 4a34597095b29a273245a5ba42b60bdc
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: calibration_H12_FAO30_03Feb25.tgz
* md5sum: aba0b877f383fefabc558d79180fc43f
* Repository: /Users/flo/Development/input_data/
* Repository: /p/projects/landuse/data/input/calibration
*
* Low resolution: c200
* High resolution: 0.5
Expand Down Expand Up @@ -194,7 +194,17 @@ $title magpie
* 14 23 10 7 4 26 21 9 16 23 32 15
* * Call: withCallingHandlers(expr, message = messageHandler, warning = warningHandler, error = errorHandler)
*
* Last modification (input data): Thu Feb 6 14:08:31 2025
* Warning messages:
* 1: In gms::check_config(cfg, extras = c("info", "repositories", ... :
* Config looks different when stored via saveConfig and loaded via loadConfig!
* 2: In gms::check_config(cfg, extras = c("info", "repositories", ... :
* Config looks different when stored via saveConfig and loaded via loadConfig!
* 3: In gms::check_config(cfg, extras = c("info", "repositories", ... :
* Config looks different when stored via saveConfig and loaded via loadConfig!
* 4: In gms::check_config(cfg, extras = c("info", "repositories", ... :
* Config looks different when stored via saveConfig and loaded via loadConfig!
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? There should be no warnings committed to main.gms and we need to check whether the warning indicates a relevant problem here.

*
* Last modification (input data): Sat Feb 15 23:29:08 2025
*
*###################### R SECTION END (VERSION INFO) ###########################

Expand All @@ -220,7 +230,7 @@ $offlisting

$setglobal c_timesteps coup2100
$setglobal c_past till_2010
$setglobal c_title default
$setglobal c_title default_0p3_SCM01_nocc

scalars
s_use_gdx use of gdx files / 0 /
Expand Down Expand Up @@ -278,7 +288,7 @@ $setglobal awms ipcc2006_aug16
$setglobal ghg_policy price_aug22
$setglobal maccs on_aug22
$setglobal peatland v2
$setglobal som static_jan19
$setglobal som cellpool_jan23
Copy link
Member

Choose a reason for hiding this comment

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

non-default setting


$setglobal bioenergy 1stgen_priced_dec18
$setglobal material exo_flexreg_apr16
Expand Down
9 changes: 5 additions & 4 deletions modules/11_costs/default/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,15 @@
+ vm_cost_timber(i2)
+ vm_cost_hvarea_natveg(i2)
+ vm_cost_processing(i2)
+ sum(cell(i2,j2), vm_cost_scm(j2))
Copy link
Member

Choose a reason for hiding this comment

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

did you check the cost scripts in magpie4 whether they correctly include these costs? (the magpie4 script sometimes requires a categorization of the costs into one-off investments and yerarly costs)

Copy link
Member

Choose a reason for hiding this comment

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

in case of questions wrt these scripts, you can ask edna or david, i think

Copy link
Member Author

Choose a reason for hiding this comment

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

no cost not included yet in magpie4 - I will ask for help and commit to magpie4.

Copy link
Contributor

Choose a reason for hiding this comment

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

When done, please also increase the magpie4 R library version number in the DESC file.

+ vm_bioenergy_utility(i2)
+ vm_processing_substitution_cost(i2)
+ vm_costs_additional_mon(i2)
+ sum(cell(i2,j2),vm_cost_land_transition(j2))
+ sum(cell(i2,j2), vm_cost_land_transition(j2))
+ sum(cell(i2,j2), vm_peatland_cost(j2))
+ sum(cell(i2,j2), vm_cost_cropland(j2))
+ sum(cell(i2,j2),vm_cost_bv_loss(j2))
+ sum(cell(i2,j2),vm_cost_urban(j2))
+ sum(cell(i2,j2), vm_cost_bv_loss(j2))
+ sum(cell(i2,j2), vm_cost_urban(j2))
+ vm_water_cost(i2)
;

Expand All @@ -60,7 +61,7 @@
*' Forestry related costs (afforestation) ([32_forestry]),
*' Bioenergy costs ([60_bioenergy]),
*' Processing costs ([20_processing]),
*' Punish costs for overrate cropland differences ([59_som]).
*' Costs for soil carbon management ([59_som]).
*' Small costs for land transitions ([10_land]).
*' Peatland degradation and restoration costs ([58_peatland]).
*' Peatland emission costs ([56_ghg_policy]).
2 changes: 1 addition & 1 deletion modules/14_yields/managementcalib_aug19/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*** | MAgPIE License Exception, version 1.0 (see LICENSE file).
*** | Contact: [email protected]

$setglobal c14_yields_scenario cc
$setglobal c14_yields_scenario nocc
* options: cc (climate change)
* nocc (no climate change)
* nocc_hist (no climate change after year defined by sm_fix_cc)
Expand Down
2 changes: 1 addition & 1 deletion modules/35_natveg/pot_forest_may24/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ $setglobal c35_ad_policy npi
$setglobal c35_aolc_policy npi
$setglobal c35_shock_scenario none

$setglobal c35_pot_forest_scenario cc
$setglobal c35_pot_forest_scenario nocc
Copy link
Member

Choose a reason for hiding this comment

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

non-default setting

* options: cc (climate change)
* nocc (no climate change)
* nocc_hist (no climate change after year defined by sm_fix_cc)
Expand Down
2 changes: 1 addition & 1 deletion modules/42_water_demand/agr_sector_aug13/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ s42_multiplier_startyear Year from which pumping costs multiplier will
s42_multiplier multiplier to change pumping costs for sensitivity analysis takes numeric values (1) / 0 /
;

$setglobal c42_watdem_scenario cc
$setglobal c42_watdem_scenario nocc
Copy link
Member

Choose a reason for hiding this comment

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

non-default setting

* options: cc (climate change)
* nocc (no climate change)
* nocc_hist (no climate change after year defined by sm_fix_cc)
Expand Down
2 changes: 1 addition & 1 deletion modules/42_water_demand/all_sectors_aug13/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ s42_multiplier_startyear Year from which pumping costs multiplier will
s42_multiplier multiplier to change pumping costs for sensitivity analysis takes numeric values (1) / 0 /
;

$setglobal c42_watdem_scenario cc
$setglobal c42_watdem_scenario nocc
Copy link
Member

Choose a reason for hiding this comment

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

non-default setting

* options: cc (climate change)
* nocc (no climate change)
* nocc_hist (no climate change after year defined by sm_fix_cc)
Expand Down
2 changes: 1 addition & 1 deletion modules/43_water_availability/total_water_aug13/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*** | Contact: [email protected]


$setglobal c43_watavail_scenario cc
$setglobal c43_watavail_scenario nocc
Copy link
Member

Choose a reason for hiding this comment

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

non-default setting

* options: cc (climate change)
* nocc (no climate change)
* nocc_hist (no climate change after year defined by sm_fix_cc)
Expand Down
4 changes: 2 additions & 2 deletions modules/52_carbon/normal_dec17/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
*** | MAgPIE License Exception, version 1.0 (see LICENSE file).
*** | Contact: [email protected]

$setglobal c52_carbon_scenario cc
$setglobal c52_carbon_scenario nocc
Copy link
Member

Choose a reason for hiding this comment

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

non-default setting

* options: cc (climate change)
* nocc (no climate change)
* nocc_hist (no climate change after year defined by sm_fix_cc)

$setglobal c52_land_carbon_sink_rcp RCPBU
$setglobal c52_land_carbon_sink_rcp nocc
* options: RCP19, RCP26, RCP34, RCP45, RCP60, RCPBU

table fm_carbon_density(t_all,j,land,c_pools) LPJmL carbon density for land and carbon pools (tC per ha)
Expand Down
56 changes: 0 additions & 56 deletions modules/59_som/cellpool_aug16/declarations.gms

This file was deleted.

Loading