Skip to content

Commit

Permalink
Merge pull request #768 from flohump/f_fixfader2
Browse files Browse the repository at this point in the history
Improvment of NPI / NDC implementation + update of default settings + smaller bugfixes
  • Loading branch information
flohump authored Feb 3, 2025
2 parents f0b2757 + 4611a82 commit 7c76926
Show file tree
Hide file tree
Showing 23 changed files with 361 additions and 169 deletions.
19 changes: 15 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,27 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased]

### changed
-
- **scenario_config.csv** `cfg$gms$s56_minimum_cprice` no longer used for `NCD`
- **config.cfg** default for `cfg$gms$cropland` changed from "simple_apr24" to "detail_apr24"
- **config.cfg** default for `cfg$gms$s29_treecover_max` changed from 0.4 to 1
- **config.cfg** default for `cfg$gms$s29_fallow_max ` changed from 0.4 to 0
- **config.cfg** default for `cfg$gms$s35_forest_damage ` changed from 2 to 0

### added
-
- **scenario_config.csv** added column `NPI-revert`
- **scenario_config.csv** added columns `AR-natveg` and `AR-plant` for CO2 price re/afforestation and AgroForestry settings
- **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

### removed
-
- **scenario_config.csv** removed column `SSP2-EU`

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


## [4.9.1] - 2025-01-28
Expand Down
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Imports:
m4fsdp,
madrat,
magclass (>= 6.14.0),
magpie4 (>= 2.16.1),
magpie4 (>= 2.16.7),
MagpieNCGains,
magpiesets (>= 0.46.1),
mip,
Expand Down
46 changes: 36 additions & 10 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,27 @@ isoCountriesEUR <- "ALB,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST,FIN,FRA,FRO,
NLD,POL,PRT,ROU,SVK,SVN,SWE"


isoCountriesLowMiddleIncome <-
"ABW,AFG,AGO,AIA,ALA,AND,ARE,ARG,ARM,ASM,ATA,
ATF,ATG,AZE,BDI,BEN,BES,BFA,BGD,BHR,BHS,BLM,
BLR,BLZ,BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,
CCK,CHN,CHL,CIV,CMR,COD,COG,COK,COL,COM,CPV,
CRI,CUB,CUW,CXR,CYM,DJI,DMA,DOM,DZA,ECU,EGY,
ERI,ESH,ETH,FJI,FLK,FRO,FSM,GAB,GEO,GGY,GHA,
GIB,GIN,GLP,GMB,GNB,GNQ,GRD,GRL,GTM,GUF,GUM,
GUY,HKG,HMD,HND,HTI,IDN,IMN,IND,IOT,IRN,IRQ,
ISR,JAM,JEY,JOR,KAZ,KEN,KGZ,KHM,KIR,KNA,KOR,
KWT,LAO,LBN,LBR,LBY,LCA,LIE,LKA,LSO,MAC,MAF,
MAR,MCO,MDA,MDG,MDV,MEX,MHL,MLI,MMR,MNG,MNP,
MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM,NCL,NER,
NFK,NGA,NIC,NIU,NPL,NRU,OMN,PAK,PAN,PCN,PER,
PHL,PLW,PNG,PRI,PRK,PRY,PSE,PYF,QAT,REU,RUS,
RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE,SLV,
SMR,SOM,SPM,SSD,STP,SUR,SWZ,SXM,SYC,SYR,TCA,
TCD,TGO,THA,TJK,TKL,TKM,TLS,TON,TTO,TUN,TUV,
TWN,TZA,UGA,UKR,UMI,URY,UZB,VAT,VCT,VEN,VGB,
VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE"

# ***--------------------- 09_drivers ----------------------------------------
# * (aug17): default drivers
cfg$gms$drivers <- "aug17" # def = aug17
Expand Down Expand Up @@ -693,7 +714,7 @@ cfg$gms$ageclass <- "oct24" # def = oct24
# * (simple_apr24): Fallow land and tree cover on cropland are fixed to zero
# * (detail_apr24): Fallow land and tree cover based on rules or incentives
# NOTE: It is recommended to recalibrate the model when changing this setting!
cfg$gms$cropland <- "simple_apr24" # def = simple_apr24
cfg$gms$cropland <- "detail_apr24" # def = detail_apr24

# *** Options for all cropland realizations ***

Expand Down Expand Up @@ -753,7 +774,7 @@ cfg$gms$s29_treecover_target_noselect <- 0 # def = 0
# * If set to 1, `s29_treecover_target` will be adjusted based existing treecover area.
cfg$gms$s29_treecover_keep <- 0 # def = 0
# * Maximum share of treecover on total cropland (1)
cfg$gms$s29_treecover_max <- 0.4 # def = 0.4
cfg$gms$s29_treecover_max <- 1 # def = 1
# * Start year of fader
cfg$gms$s29_treecover_scenario_start <- 2025 # def = 2025
# * Target year of fader (year when full implementation is reached)
Expand All @@ -780,7 +801,7 @@ cfg$gms$s29_treecover_bii_coeff <- 0 # def = 0
# * Minimum area share of fallow land on total cropland in target year
cfg$gms$s29_fallow_target <- 0 # def = 0
# * Maximum share of fallow land on total cropland
cfg$gms$s29_fallow_max <- 0.4 # def = 0.4
cfg$gms$s29_fallow_max <- 0 # def = 0
# * Start year of fader
cfg$gms$s29_fallow_scenario_start <- 2025 # def = 2025
# * Target year of fader (year when full implementation is reached)
Expand Down Expand Up @@ -877,7 +898,7 @@ cfg$gms$s31_fac_req_past <- 1 # def = 1
cfg$gms$forestry <- "dynamic_may24" # def = dynamic_may24

# * afforestation planing horizon (years)
cfg$gms$s32_planing_horizon <- 50 # def = 50
cfg$gms$s32_planning_horizon <- 50 # def = 50

# * Settings for CO2 price driven afforestation (Growth curve and BII)

Expand Down Expand Up @@ -911,7 +932,7 @@ cfg$gms$s32_npi_ndc_reversal <- Inf # def = Inf
cfg$gms$s32_max_aff_area <- Inf # def = Inf

# Protection of afforested areas (endogenous CO2 price driven)
# 0=until end of planning horizon (see s32_planing_horizon)
# 0=until end of planning horizon (see s32_planning_horizon)
# 1=forever
# Note: Without a price on CO2 emissions from land-use change in module 32_forestry,
# which is the current default (c56_emis_policy <- "reddnatveg_nosoil"),
Expand Down Expand Up @@ -1054,7 +1075,7 @@ cfg$gms$s35_secdf_distribution <- 2 # def = 2
# * (1): Damage from shifting agriculture (constant)
# * (2): Damage from shifting agriculture is faded out by the year defined in 'cfg$gms$c35_forest_damage_end'
# * (4): Generic forest disturbance scenarios defined in `f35_forest_shock.csv`
cfg$gms$s35_forest_damage <- 2 # def = 2
cfg$gms$s35_forest_damage <- 0 # def = 0
# * If option (2) above: Year by which damage from shifting agriculture has petered out
cfg$gms$s35_forest_damage_end <- 2050 #def = 2050

Expand Down Expand Up @@ -1511,15 +1532,20 @@ cfg$gms$s56_cprice_red_factor <- 1 # def = 1
# * Switch for GHG policy fader (1=on 0=off)
cfg$gms$s56_ghgprice_fader <- 0 # def = 0
# * Pollutants on which the GHG policy fader will applied
cfg$gms$pollutants_fader <- c("co2_c", "ch4", "n2o_n_direct", "n2o_n_indirect", "nh3_n", "no2_n", "no3_n") # def = all pollutants
cfg$gms$pollutants_fader <- "co2_c, ch4, n2o_n_direct, n2o_n_indirect, nh3_n, no2_n, no3_n" # def = all pollutants
# * Start year of GHG policy fade-in
cfg$gms$s56_fader_start <- 2025 # def = 2025
cfg$gms$s56_fader_start <- 2035 # def = 2035
# * End year of GHG policy fade-in
cfg$gms$s56_fader_end <- 2050 # def = 2050
# * Target value of GHG policy fade-in in end year
cfg$gms$s56_fader_target <- 1 # def = 1
# * Switch for functional form of GHG policy fader (1=linear 2=sigmoid)
cfg$gms$s56_fader_functional_form <- 1 # def = 1
# * Countries for which the GHG policy fader applies
# * Options: list of iso-codes of countries where ghg policy should be applied
# * Note: must be written in the format: "IND, BRA, DEU"
# * Default: all iso countries
cfg$gms$fader_countries56 <- isoCountriesLowMiddleIncome # def = isoCountriesLowMiddleIncome

# * GHG emission price scenario
# * Note: For best consistency it is recommended to use trajectories from the most recent
Expand Down Expand Up @@ -1621,8 +1647,8 @@ cfg$gms$c56_cprice_aff <- "secdforest_vegc" # def = secdforest_vegc

# * C price expectation for afforestation decision-making in years
# * 0 is myopic behaviour (only C price of current time step)
# * reflects perfect-foresight if equal to s32_planing_horizon
# * should not be higher than s32_planing_horizon
# * reflects perfect-foresight if equal to s32_planning_horizon
# * should not be higher than s32_planning_horizon
cfg$gms$s56_c_price_exp_aff <- 50 # def = 50

# * Share of carbon credits for re/afforestation projects set aside in a buffer to
Expand Down
Loading

0 comments on commit 7c76926

Please sign in to comment.