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

Add GDP share constraint for tech cost #391

Merged
merged 5 commits into from
Apr 28, 2022
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### changed
- **config** added s13_max_gdp_shr setting for tech cost upper bound as share of GDP PPP
- **13_tc** changed vm_tech_cost upper bound to share of regional GDP PPP (s13_max_gdp_shr)
- **scripts**The disaggregation_LUH2.R was extended to include the changes used to generate ISIMIP3b maps for LUH harmonization. The largest changes are: 1) The convertLUH function now breaks the grid level magpie objects by groups of years, then creates the raster for the groups and aggregates them to create the final map at a quarter of a degree resolution (this speeds up the process). 2) The mapping between LUH and MAgPIE is now defined by country and magpie-LUH types (not 1 to 1 anymore). 3) The split of MAgPIE's pasture land type between pasture and rangeland changed. Rangeland is assumed to stay constant after 2015, and changes in MAgPIE's pasture are due to pasture. 4) IFs were added so if a certain map already exists in the output folder, it will not generate it once again. 5) Flooded land now corresponds to a share of rice cropland, based on historical values. 6) To speed calculations, yields are read at the cell level, the crops are aggregated based on the new MAgPIE-LUH mapping, and then disaggregated to grid level.
- **56_ghg_policy** additional scenarios for c56_emis_policy
- **09_drivers** separation of GDP and population scenarios
Expand Down
6 changes: 5 additions & 1 deletion config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -271,9 +271,13 @@ cfg$gms$tc <- "endo_jan22" # def = endo_jan22
# * tc cost scenario crops: low, medium or high
cfg$gms$c13_tccost <- "medium" # def = medium

# * ignore historial tau (1) or use it as lower bound (0)
# * ignore historical tau (1) or use it as lower bound (0)
cfg$gms$s13_ignore_tau_historical <- 1 # def = 1

# * Maximum regional tech cost expressed as share of reginal GDP
cfg$gms$s13_max_gdp_shr <- 0.002 # def = 0.002


# ***--------------------- 14_yield --------------------------------------
# * (managementcalib_aug19): calibrate potential LPJmL-yields to FAO regional numbers,
# * pasture yields increase based on exogenous demand-side proxy
Expand Down
3 changes: 2 additions & 1 deletion modules/13_tc/endo_jan22/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@


scalars
s13_ignore_tau_historical ignore historial tau (1) or use it as lower bound (0) (binary) / 1 /
s13_ignore_tau_historical ignore historical tau (1) or use it as lower bound (0) (binary) / 1 /
s13_max_gdp_shr Maximum tech cost as share of regional GDP / 1 /
;

parameter fm_tau1995(h) Agricultural land use intensity tau in 1995 (1)
Expand Down
11 changes: 10 additions & 1 deletion modules/13_tc/endo_jan22/presolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,13 @@ else
);

vm_tau.up(h,tautype) = 2*pcm_tau(h,tautype);
vm_tech_cost.up(i) = 10e9;

* We constrain tech cost to a defined share of regional GDP to avoid unrealistically
* high endogenous tech investments
vm_tech_cost.up(i) =
sum((i_to_iso(i,iso),ct), im_gdp_pc_ppp_iso(ct,iso) * im_pop_iso(ct,iso)) * s13_max_gdp_shr;

* We set the initial solving basis for the tech cost to its upper bound to support the solver in finding
* a proper solution. Without such initial values, the model leave tech cost at 0 and as such ignore tau
* as an efficient part of the optimal solution.
vm_tech_cost.l(i) = vm_tech_cost.up(i);
3 changes: 3 additions & 0 deletions modules/13_tc/exo/not_used.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name,type,reason
im_pop_iso,input,questionnaire
im_gdp_pc_ppp_iso,input,questionnaire