Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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: 1 addition & 1 deletion config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv"
cfg$extramappings_historic <- ""

#### Current input data revision (<mainrevision>.<subrevision>) ####
cfg$inputRevision <- "7.88"
cfg$inputRevision <- "7.88fedem"

#### Current CES parameter and GDX revision (commit hash) ####
cfg$CESandGDXversion <- "a12b6355e0ac96081f79504465c61e68fd14ed48"
Expand Down
31 changes: 14 additions & 17 deletions core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -1636,41 +1636,38 @@ loop(te,


*** ---- FE demand trajectories for calibration -------------------------------
*** also used for limiting secondary steel demand in baseline and policy
*** scenarios

Parameter
f_fedemand(tall,all_regi,all_demScen,all_in) "final energy demand"
f_fedemand_ind(tall,all_regi,all_demScen,all_in) "final energy demand in industry"
/
$ondelim
$include "./core/input/f_fedemand.cs4r"
$include "./core/input/f_fedemand_ind.cs4r"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same name for the parameter and the file would be bestter, always f_fedemandInd

$offdelim
/;

*** use cm_demScen for Industry and Buildings
*** cm_GDPpopScen will be used for Transport (EDGE-T) (see p29_trpdemand)
pm_fedemand(tall,all_regi,in) = f_fedemand(tall,all_regi,"%cm_demScen%",in);
*** data input for industry FE that is no part of the CES tree
pm_fedemand(tall,all_regi,ppfen_no_ces_use) = f_fedemand(tall,all_regi,"%cm_demScen%",ppfen_no_ces_use);

*** RCP-dependent demands in buildings (climate impact)
$ifthen.cm_rcp_scen_build not "%cm_rcp_scen_build%" == "none"
Parameter f_fedemand_build(tall,all_regi,all_demScen,all_rcp_scen,all_in) "RCP-dependent final energy demand in buildings"
Parameter
f_fedemand_build(tall,all_regi,all_demScen,all_rcp_scen,all_in) "RCP-dependent final energy demand in buildings"
/
$ondelim
$include "./core/input/f_fedemand_build.cs4r"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same names for the parameter and the files would be better

$offdelim
/;


pm_fedemand(t,regi,cal_ppf_buildings_dyn36) = f_fedemand_build(t,regi,"%cm_demScen%","%cm_rcp_scen_build%",cal_ppf_buildings_dyn36);
$endif.cm_rcp_scen_build
*** use cm_demScen for Industry and Buildings
pm_fedemand_ind(tall,all_regi,in) = f_fedemand_ind(tall,all_regi,"%cm_demScen%",in);
Comment thread
fbenke-pik marked this conversation as resolved.
Outdated
Comment thread
fbenke-pik marked this conversation as resolved.
Outdated
pm_fedemand_build(t,regi,cal_ppf_buildings_dyn36) = f_fedemand_build(t,regi,"%cm_demScen%","%cm_rcp_scen_build%",cal_ppf_buildings_dyn36);

*** data input for industry FE that is no part of the CES tree
pm_fedemand_ind(tall,all_regi,ppfen_no_ces_use) = f_fedemand_ind(tall,all_regi,"%cm_demScen%",ppfen_no_ces_use);
Comment thread
fbenke-pik marked this conversation as resolved.
Outdated

*** Scale FE demand across industry and building sectors
$ifthen.scaleDemand not "%cm_scaleDemand%" == "off"
loop((tall,tall2,all_regi) $ pm_scaleDemand(tall,tall2,all_regi),
*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ]
pm_fedemand(t,all_regi,all_in) = pm_fedemand(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) );
pm_fedemand_ind(t,all_regi,all_in) = pm_fedemand_ind(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) );
pm_fedemand_build(t,all_regi,all_in) = pm_fedemand_build(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) );
);
$endif.scaleDemand

Expand All @@ -1696,7 +1693,7 @@ pm_scaleDemandBuildTable(t,regi) $ ( pm_scaleDemandBuildTable(t,regi) le 0) = 1;
pm_scaleDemandBuildTable(t,regi) $ (t.val > 2100 ) = pm_scaleDemandBuildTable("2100",regi); !! continue 2100 multiplier until end of time

loop( (t,regi,in) $ in_buildings_dyn36(in) ,
pm_fedemand(t,regi,in) = pm_fedemand(t,regi,in) * pm_scaleDemandBuildTable(t,regi)
pm_fedemand_build(t,regi,in) = pm_fedemand_build(t,regi,in) * pm_scaleDemandBuildTable(t,regi)
);
$endif.scaleDemandBuildTable

Expand All @@ -1721,7 +1718,7 @@ p_scaleDemandIndTable(t,regi) $ ( p_scaleDemandIndTable(t,regi) le 0) = 1; !! I
p_scaleDemandIndTable(t,regi) $ (t.val > 2100 ) = p_scaleDemandIndTable("2100",regi); !! continue 2100 multiplier until end of time

loop( (t,regi,in) $ in_industry_dyn37(in) ,
pm_fedemand(t,regi,in) = pm_fedemand(t,regi,in) * p_scaleDemandIndTable(t,regi)
pm_fedemand_ind(t,regi,in) = pm_fedemand_ind(t,regi,in) * p_scaleDemandIndTable(t,regi)
);
$endif.scaleDemandIndTable

Expand Down
3 changes: 2 additions & 1 deletion core/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,8 @@ p_co2CCSReference(ttot,all_regi,all_enty,all_enty,all_te,rlf) "Captured CO2 put
p_prodAllReference(ttot,all_regi,all_te) "Sum of the above in the reference run. As each technology has only one type of output, the differing units should not be a problem"

*** CES calibration tarjectories industry and buildings
pm_fedemand(tall,all_regi,all_in) "read-in parameter for final energy and production trajectories used for the CES parameter calibration in industry and buildings [TWa]"
pm_fedemand_ind(tall,all_regi,all_in) "read-in parameter for final energy and production trajectories used for the CES parameter calibration in industry [TWa]"
Comment thread
fbenke-pik marked this conversation as resolved.
Outdated
pm_fedemand_build(tall,all_regi,all_in) "read-in parameter for final energy and production trajectories used for the CES parameter calibration in buildings [TWa]"

*** parameters for setting final energy shares
pm_shfe_up(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous upper bounds per sector [share]"
Expand Down
2 changes: 1 addition & 1 deletion core/input/files
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ p_boundCapCCS.cs4r
p_CapacityBounds.cs4r
p_boundCapBiochar.cs4r
f_geoStorPot.cs3r
f_fedemand.cs4r
f_fedemand_build.cs4r
f_fedemand_ind.cs4r
pm_NuclearConstraint.cs4r
pm_risk_premium.cs4r
pm_shPPPMER.cs4r
Expand Down
58 changes: 29 additions & 29 deletions modules/04_PE_FE_parameters/iea2014/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ p04_IO_output_beforeFix_Total(t,regi,"fehob") = p04_IO_output_beforeFix(t,regi,"
+ p04_IO_output_beforeFix(t,regi,"seliqfos","fehob","tdfoshob");

*** adjust buildings solids
f04_IO_output("2005",regi,"sesobio","fesob","tdbiosob")$(p04_IO_output_beforeFix_Total("2005",regi,"fesob")) = p04_IO_output_beforeFix("2005",regi,"sesobio","fesob","tdbiosob") * pm_fedemand("2005",regi,"fesob")/p04_IO_output_beforeFix_Total("2005",regi,"fesob");
f04_IO_output("2005",regi,"sesofos","fesob","tdfossob")$(p04_IO_output_beforeFix_Total("2005",regi,"fesob")) = p04_IO_output_beforeFix("2005",regi,"sesofos","fesob","tdfossob") * pm_fedemand("2005",regi,"fesob")/p04_IO_output_beforeFix_Total("2005",regi,"fesob");
f04_IO_output("2005",regi,"sesobio","fesob","tdbiosob")$(p04_IO_output_beforeFix_Total("2005",regi,"fesob")) = p04_IO_output_beforeFix("2005",regi,"sesobio","fesob","tdbiosob") * pm_fedemand_build("2005",regi,"fesob")/p04_IO_output_beforeFix_Total("2005",regi,"fesob");
f04_IO_output("2005",regi,"sesofos","fesob","tdfossob")$(p04_IO_output_beforeFix_Total("2005",regi,"fesob")) = p04_IO_output_beforeFix("2005",regi,"sesofos","fesob","tdfossob") * pm_fedemand_build("2005",regi,"fesob")/p04_IO_output_beforeFix_Total("2005",regi,"fesob");

*** adjust buildings liquids
f04_IO_output("2005",regi,"seliqbio","fehob","tdbiohob")$(p04_IO_output_beforeFix_Total("2005",regi,"fehob")) = p04_IO_output_beforeFix("2005",regi,"seliqbio","fehob","tdbiohob") * pm_fedemand("2005",regi,"fehob")/p04_IO_output_beforeFix_Total("2005",regi,"fehob");
f04_IO_output("2005",regi,"seliqfos","fehob","tdfoshob")$(p04_IO_output_beforeFix_Total("2005",regi,"fehob")) = p04_IO_output_beforeFix("2005",regi,"seliqfos","fehob","tdfoshob") * pm_fedemand("2005",regi,"fehob")/p04_IO_output_beforeFix_Total("2005",regi,"fehob");
f04_IO_output("2005",regi,"seliqbio","fehob","tdbiohob")$(p04_IO_output_beforeFix_Total("2005",regi,"fehob")) = p04_IO_output_beforeFix("2005",regi,"seliqbio","fehob","tdbiohob") * pm_fedemand_build("2005",regi,"fehob")/p04_IO_output_beforeFix_Total("2005",regi,"fehob");
f04_IO_output("2005",regi,"seliqfos","fehob","tdfoshob")$(p04_IO_output_beforeFix_Total("2005",regi,"fehob")) = p04_IO_output_beforeFix("2005",regi,"seliqfos","fehob","tdfoshob") * pm_fedemand_build("2005",regi,"fehob")/p04_IO_output_beforeFix_Total("2005",regi,"fehob");


*** industry solids
Expand All @@ -97,18 +97,18 @@ p04_IO_output_beforeFix_Total(t,regi,"fesoi") = p04_IO_output_beforeFix(t,regi,"


f04_IO_output("2005",regi,"sesobio","fesoi","tdbiosoi")$(p04_IO_output_beforeFix_Total("2005",regi,"fesoi")) = p04_IO_output_beforeFix("2005",regi,"sesobio","fesoi","tdbiosoi")
* ( pm_fedemand("2005",regi,"feso_otherInd")
+ pm_fedemand("2005",regi,"feso_cement")
+ pm_fedemand("2005",regi,"feso_steel")
+ pm_fedemand("2005",regi,"feso_chemicals"))
* ( pm_fedemand_ind("2005",regi,"feso_otherInd")
+ pm_fedemand_ind("2005",regi,"feso_cement")
+ pm_fedemand_ind("2005",regi,"feso_steel")
+ pm_fedemand_ind("2005",regi,"feso_chemicals"))
/ p04_IO_output_beforeFix_Total("2005",regi,"fesoi");


f04_IO_output("2005",regi,"sesofos","fesoi","tdfossoi")$(p04_IO_output_beforeFix_Total("2005",regi,"fesoi")) = p04_IO_output_beforeFix("2005",regi,"sesofos","fesoi","tdfossoi")
* ( pm_fedemand("2005",regi,"feso_otherInd")
+ pm_fedemand("2005",regi,"feso_cement")
+ pm_fedemand("2005",regi,"feso_steel")
+ pm_fedemand("2005",regi,"feso_chemicals"))
* ( pm_fedemand_ind("2005",regi,"feso_otherInd")
+ pm_fedemand_ind("2005",regi,"feso_cement")
+ pm_fedemand_ind("2005",regi,"feso_steel")
+ pm_fedemand_ind("2005",regi,"feso_chemicals"))
/ p04_IO_output_beforeFix_Total("2005",regi,"fesoi");

*** industry liquids
Expand All @@ -117,18 +117,18 @@ p04_IO_output_beforeFix_Total(t,regi,"fehoi") = p04_IO_output_beforeFix(t,regi,"


f04_IO_output("2005",regi,"seliqbio","fehoi","tdbiohoi")$(p04_IO_output_beforeFix_Total("2005",regi,"fehoi")) = p04_IO_output_beforeFix("2005",regi,"seliqbio","fehoi","tdbiohoi")
* ( pm_fedemand("2005",regi,"feli_otherInd")
+ pm_fedemand("2005",regi,"feli_cement")
+ pm_fedemand("2005",regi,"feli_steel")
+ pm_fedemand("2005",regi,"feli_chemicals"))
* ( pm_fedemand_ind("2005",regi,"feli_otherInd")
+ pm_fedemand_ind("2005",regi,"feli_cement")
+ pm_fedemand_ind("2005",regi,"feli_steel")
+ pm_fedemand_ind("2005",regi,"feli_chemicals"))
/ p04_IO_output_beforeFix_Total("2005",regi,"fehoi");


f04_IO_output("2005",regi,"seliqfos","fehoi","tdfoshoi")$(p04_IO_output_beforeFix_Total("2005",regi,"fehoi")) = p04_IO_output_beforeFix("2005",regi,"seliqfos","fehoi","tdfoshoi")
* ( pm_fedemand("2005",regi,"feli_otherInd")
+ pm_fedemand("2005",regi,"feli_cement")
+ pm_fedemand("2005",regi,"feli_steel")
+ pm_fedemand("2005",regi,"feli_chemicals"))
* ( pm_fedemand_ind("2005",regi,"feli_otherInd")
+ pm_fedemand_ind("2005",regi,"feli_cement")
+ pm_fedemand_ind("2005",regi,"feli_steel")
+ pm_fedemand_ind("2005",regi,"feli_chemicals"))
/ p04_IO_output_beforeFix_Total("2005",regi,"fehoi");

*** industry gases
Expand All @@ -137,18 +137,18 @@ p04_IO_output_beforeFix_Total(t,regi,"fegai") = p04_IO_output_beforeFix(t,regi,"


f04_IO_output("2005",regi,"segabio","fegai","tdbiogai")$(p04_IO_output_beforeFix_Total("2005",regi,"fegai")) = p04_IO_output_beforeFix("2005",regi,"segabio","fegai","tdbiogai")
* ( pm_fedemand("2005",regi,"fega_otherInd")
+ pm_fedemand("2005",regi,"fega_cement")
+ pm_fedemand("2005",regi,"fega_steel")
+ pm_fedemand("2005",regi,"fega_chemicals"))
* ( pm_fedemand_ind("2005",regi,"fega_otherInd")
+ pm_fedemand_ind("2005",regi,"fega_cement")
+ pm_fedemand_ind("2005",regi,"fega_steel")
+ pm_fedemand_ind("2005",regi,"fega_chemicals"))
/ p04_IO_output_beforeFix_Total("2005",regi,"fegai");


f04_IO_output("2005",regi,"segafos","fegai","tdfosgai")$(p04_IO_output_beforeFix_Total("2005",regi,"fegai")) = p04_IO_output_beforeFix("2005",regi,"segafos","fegai","tdfosgai")
* ( pm_fedemand("2005",regi,"fega_otherInd")
+ pm_fedemand("2005",regi,"fega_cement")
+ pm_fedemand("2005",regi,"fega_steel")
+ pm_fedemand("2005",regi,"fega_chemicals"))
* ( pm_fedemand_ind("2005",regi,"fega_otherInd")
+ pm_fedemand_ind("2005",regi,"fega_cement")
+ pm_fedemand_ind("2005",regi,"fega_steel")
+ pm_fedemand_ind("2005",regi,"fega_chemicals"))
/ p04_IO_output_beforeFix_Total("2005",regi,"fegai");


Expand All @@ -158,7 +158,7 @@ p04_IO_output_beforeFix_Total(t,regi,"fehei") = p04_IO_output_beforeFix(t,regi,"


f04_IO_output("2005",regi,"sehe","fehei","tdhei")$(p04_IO_output_beforeFix_Total("2005",regi,"fehei")) = p04_IO_output_beforeFix("2005",regi,"sehe","fehei","tdhei")
* ( pm_fedemand("2005",regi,"fehe_otherInd")
* ( pm_fedemand_ind("2005",regi,"fehe_otherInd")
)
/ p04_IO_output_beforeFix_Total("2005",regi,"fehei");

Expand Down
16 changes: 10 additions & 6 deletions modules/29_CES_parameters/calibrate/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,8 @@ loop ((ttot,regi,ppfKap_industry_dyn37(in))$( t(ttot-1) AND t(ttot+1) ),
);
);

display pm_fedemand;
display pm_fedemand_ind;
display pm_fedemand_build;

*** Change PPP for MER.
p29_capitalQuantity(tall,all_regi,all_in)
Expand Down Expand Up @@ -213,16 +214,19 @@ Execute_Loadpoint 'input' vm_deltaCap;
*** Load exogenous Labour, GDP
pm_cesdata(t,regi,"inco","quantity") = pm_gdp(t,regi);
pm_cesdata(t,regi,"lab","quantity") = pm_lab(t,regi);
*** Load exogenous FE trajectories

*** Load exogenous FE trajectories for buildings and industry
*** Change EJ to TWa

pm_cesdata(t,regi,in,"quantity")$(pm_fedemand(t,regi,in)) =
pm_cesdata(t,regi,in,"quantity")$(pm_fedemand_build(t,regi,in)) = sm_EJ_2_TWa * pm_fedemand_build(t,regi,in)

pm_cesdata(t,regi,in,"quantity")$(pm_fedemand_ind(t,regi,in)) =
$ifthen.industry_subsectors "%industry%" == "subsectors"
pm_fedemand(t,regi,in)$(industry_ue_calibration_target_dyn37(in))
pm_fedemand_ind(t,regi,in)$(industry_ue_calibration_target_dyn37(in))
+
sm_EJ_2_TWa * pm_fedemand(t,regi,in)$(NOT industry_ue_calibration_target_dyn37(in));
sm_EJ_2_TWa * pm_fedemand_ind(t,regi,in)$(NOT industry_ue_calibration_target_dyn37(in));
$else.industry_subsectors
sm_EJ_2_TWa * pm_fedemand(t,regi,in)
sm_EJ_2_TWa * pm_fedemand_ind(t,regi,in)
$endif.industry_subsectors

*** Load exogenous transport demand - required for the EDGE transport module
Expand Down
5 changes: 3 additions & 2 deletions modules/29_CES_parameters/load/not_used.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ sm_tmp2,input,questionnaire
pm_ttot_val,input,questionnaire
pm_ue_eff_target,parameter,not needed
pm_calibrate_eff_scale,parameter,not needed
pm_fedemand,parameter,not needed
pm_fedemand_ind,parameter,not needed
pm_fedemand_build,parameter,not needed
pm_energy_limit,,
sm_CES_calibration_iteration,scalar,only applicable during calibration
cm_H2InBuildOnlyAfter,parameter,???
p29_building_relaxed_bounds_dyn,set,not needed
p29_building_relaxed_bounds_dyn,set,not needed
1 change: 0 additions & 1 deletion modules/36_buildings/simple/input/files
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
f36_floorspace_scen.cs4r
f36_uedemand_build.cs4r
f_fedemand_build.cs4r
Comment thread
fbenke-pik marked this conversation as resolved.
Loading
Loading