Skip to content

Commit

Permalink
Merge pull request magpiemodel#593 from pvjeetze/f_yldReduc
Browse files Browse the repository at this point in the history
Included option for yield reduction due to land degradation
  • Loading branch information
pvjeetze authored Sep 14, 2023
2 parents ff84d29 + 010d562 commit aa3c5ae
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 25 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
-

### added
-
- **14_yields/config** Added option for considering impacts of land degradation on yields. If `s14_degradation` is switched to 1, MAgPIE will include cluster-specific information on the state of nature's contributions to people relevant for yields `./modules/14_yields/input/f14_yld_ncp_report.cs3`.

### removed
-
Expand Down
17 changes: 13 additions & 4 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ cfg$model <- "main.gms" #def = "main.gms"
cfg$input <- c(regional = "rev4.88_h12_magpie.tgz",
cellular = "rev4.88_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz",
validation = "rev4.88_h12_validation.tgz",
additional = "additional_data_rev4.43.tgz",
additional = "additional_data_rev4.45.tgz",
calibration = "calibration_H12_per_ton_fao_may22_glo_08Aug23.tgz")

# NOTE: It is recommended to recalibrate the model when changing cellular input data
Expand Down Expand Up @@ -307,6 +307,15 @@ cfg$gms$s14_limit_calib <- 1 # def = 1
# NOTE: It is recommended to recalibrate the model when changing this setting!
cfg$gms$s14_calib_ir2rf <- 1 # def = 1

# * Switch to include yield impacts of land degradation.
# * The state of yield-relevant nature's contributions to people (NCP)
# * is reported through ./modules/14_yields/input/f14_yld_ncp_report.cs3
# * based on estimated outcomes for soil loss or pollination sufficiency
# * per cluster from an existing model run.
# * options: 1 (yields are reduced based on yield reduction coefficients)
# * 0 (land degradation is switched off)
cfg$gms$s14_degradation <- 0 # def = 0

# ***--------------------- 15_food ---------------------------------------
# * (anthropometrics_jan18): estimates food using scenario dependent regression
# * and demography drivers
Expand Down Expand Up @@ -703,7 +712,7 @@ cfg$gms$c31_grassl_yld_scenario <- "cc" # def = "cc"

# * SSP scenario switch for pasture suitability areas (only take effect for realization grasslands_apr22)
# * options: ssp126, ssp245, ssp370, ssp460, ssp585
# * nocc (fixed to values from 1995),
# * nocc (fixed to values from 1995),
# * nocc_hist (ssp245 until year defined in sm_fix_cc, fixed thereafter)
cfg$gms$c31_past_suit_scen <- "ssp370" # def = "ssp370"

Expand Down Expand Up @@ -1281,8 +1290,8 @@ cfg$gms$nitrogen <- "rescaled_jan21" # def = rescaled_jan21
cfg$gms$carbon <- "normal_dec17" # def = normal_dec17

# * RCP scenario of land carbon sink adjustment factor, from Grassi et al 2021
# * options: RCP19, RCP26, RCP34, RCP45, RCP60, RCPBU,
# * nocc (fixed to values from 1995),
# * options: RCP19, RCP26, RCP34, RCP45, RCP60, RCPBU,
# * nocc (fixed to values from 1995),
# * nocc_hist (RCPBU until year defined in sm_fix_cc, fixed thereafter)
cfg$gms$c52_land_carbon_sink_rcp <- "RCPBU"

Expand Down
34 changes: 17 additions & 17 deletions main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -148,25 +148,25 @@ $title magpie

*##################### R SECTION START (VERSION INFO) ##########################
*
* Used data set: rev4.87_h12_magpie.tgz
* md5sum: 658398f1dcbef89198bd85d61b1db9ad
* Repository: /p/projects/rd3mod/inputdata/output
* Used data set: rev4.88_h12_magpie.tgz
* md5sum: 740da40ceda04850eb374df215837c1b
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: rev4.87_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz
* md5sum: 8a1d668acfe66a700eb5da2143b31cb2
* Repository: /p/projects/rd3mod/inputdata/output
* Used data set: rev4.88_h12_fd712c0b_cellularmagpie_c200_MRI-ESM2-0-ssp370_lpjml-8e6c5eb1.tgz
* md5sum: 9edbcc62e75b663eada84524402bccbf
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: rev4.87_h12_validation.tgz
* md5sum: d02217d791b58400e6e3be7186527ed5
* Repository: /p/projects/rd3mod/inputdata/output
* Used data set: rev4.88_h12_validation.tgz
* md5sum: d42abd58de683506a807b411d7fe87cb
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: additional_data_rev4.43.tgz
* md5sum: NA
* Repository: https://rse.pik-potsdam.de/data/magpie/public
* md5sum: 7f537e5df805af11f0e67e84e6010290
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Used data set: calibration_H12_per_ton_fao_may22_glo_08Jul23.tgz
* md5sum: 7315d0f268d6225805a4c1f1c3c05b13
* Repository: /p/projects/landuse/data/input/calibration
* Used data set: calibration_H12_per_ton_fao_may22_glo_08Aug23.tgz
* md5sum: 5d34e4b54112db10f330f1e59dd60cc9
* Repository: /p/projects/rd3mod/mirror/rse.pik-potsdam.de/data/magpie/public
*
* Low resolution: c200
* High resolution: 0.5
Expand All @@ -179,11 +179,11 @@ $title magpie
*
* Regionscode: 62eff8f7
*
* Regions data revision: 4.87
* Regions data revision: 4.88
*
* lpj2magpie settings:
* * LPJmL data: MRI-ESM2-0:ssp370
* * Revision: 4.87
* * Revision: 4.88
*
* aggregation settings:
* * Input resolution: 0.5
Expand All @@ -195,7 +195,7 @@ $title magpie
* * Call: withCallingHandlers(expr, message = messageHandler, warning = warningHandler, error = errorHandler)
*
*
* Last modification (input data): Thu Jul 13 10:36:10 2023
* Last modification (input data): Wed Aug 23 14:34:40 2023
*
*###################### R SECTION END (VERSION INFO) ###########################

Expand Down
1 change: 1 addition & 0 deletions modules/14_yields/input/files
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ lpj_yields_0.5.mz
f14_pasture_yields_hist.csv
f14_ipcc_bce.cs3
f14_aboveground_fraction.csv
f14_kcr_pollinator_dependence.csv
19 changes: 19 additions & 0 deletions modules/14_yields/managementcalib_aug19/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@ scalar s14_limit_calib Relative managament calibration switch (1=limited 0=pur

scalar s14_calib_ir2rf Switch to calibrate rainfed to irrigated yield ratios (1=calib 0=not calib) / 1 /;

scalar s14_degradation Switch to include yield impacts of land degradation(0=no degradation 1=with degradation) / 0 /;

scalars
s14_yld_past_switch Spillover parameter for translating technological change in the crop sector into pasture yield increases (1) / 0.25 /
s14_yld_reduction_soil_loss Decline of land productivity in areas with severe soil loss (1) / 0.08 /
;

scalars
Expand Down Expand Up @@ -77,3 +80,19 @@ $include "./modules/14_yields/input/f14_aboveground_fraction.csv"
$offdelim
/
;

$onEmpty
table f14_yld_ncp_report(t_all,j,ncp_type14) Share of land with intact natures contributions to people (NCP) (1)
$ondelim
$if exist "./modules/14_yields/input/f14_yld_ncp_report.cs3" $include "./modules/14_yields/input/f14_yld_ncp_report.cs3"
$offdelim
;
$offEmpty

parameter f14_kcr_pollinator_dependence(kcr) Share of total yield dependent on biotic pollination (1)
/
$ondelim
$include "./modules/14_yields/input/f14_kcr_pollinator_dependence.csv"
$offdelim
/
;
29 changes: 27 additions & 2 deletions modules/14_yields/managementcalib_aug19/preloop.gms
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,36 @@ if(sum((i,ltype14),f14_yld_calib(i,ltype14)) = 0,
);


i14_yields_calib(t,j,kcr,w) = i14_yields_calib(t,j,kcr,w) *sum(cell(i,j),f14_yld_calib(i,"crop"));
i14_yields_calib(t,j,"pasture",w) = i14_yields_calib(t,j,"pasture",w)*sum(cell(i,j),f14_yld_calib(i,"past"));
i14_yields_calib(t,j,kcr,w) = i14_yields_calib(t,j,kcr,w)
* sum(cell(i,j),f14_yld_calib(i,"crop"));
i14_yields_calib(t,j,"pasture",w) = i14_yields_calib(t,j,"pasture",w)
* sum(cell(i,j),f14_yld_calib(i,"past"));

*' @stop

*' @code
*' Land degradation can negatively affect yields. Soil loss for example can
*' notably affect land productivity. Similarly, the yield of pollinator-dependent crops
*' is reduced when there is a lack of pollinators. To account for the impacts of degradation,
*' calibrated yields are multiplied by the share of land with intact NCP in each cell and specific
*' yield reduction coefficients that represent yield loss due to soil erosion and pollination
*' deficiency on non-intact land.

* set default values in case of missing input file.
if(sum((t,j,ncp_type14),f14_yld_ncp_report(t,j,ncp_type14)) = 0,
f14_yld_ncp_report(t,j,ncp_type14) = 1;
);

if ((s14_degradation = 1),
i14_yields_calib(t,j,kcr,w) = i14_yields_calib(t,j,kcr,w) * (1 - s14_yld_reduction_soil_loss)
+ i14_yields_calib(t,j,kcr,w) * s14_yld_reduction_soil_loss * f14_yld_ncp_report(t,j,"soil_intact");
i14_yields_calib(t,j,kcr,w) = i14_yields_calib(t,j,kcr,w) * (1 - f14_kcr_pollinator_dependence(kcr))
+ i14_yields_calib(t,j,kcr,w) * f14_kcr_pollinator_dependence(kcr) * f14_yld_ncp_report(t,j,"poll_suff");
);

*' @stop


****
****
****
Expand Down
7 changes: 6 additions & 1 deletion modules/14_yields/managementcalib_aug19/sets.gms
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,13 @@ sets
oilpalm, puls_pro, potato, cassav_sp, sugr_cane, sugr_beet, others,
foddr, cottn_pro, begr, betr /

knbe14(kcr) Cropping activities excluding bioenergy plants
knbe14(kcr) Cropping activities excluding bioenergy plants
/ tece, maiz, trce, rice_pro, soybean, rapeseed, groundnut, sunflower,
oilpalm, puls_pro, potato, cassav_sp, sugr_cane, sugr_beet, others,
foddr, cottn_pro /

ncp_type14 natures contributions to people (NCP) relevant for agricultural yields
/ soil_intact, poll_suff /

;

0 comments on commit aa3c5ae

Please sign in to comment.