From 934783750931eb2b3e6c64b5b65b139522d4b70a Mon Sep 17 00:00:00 2001
From: Marianna Rottoli <marianna.rottoli@mail.polimi.it>
Date: Wed, 8 Jan 2020 18:16:43 +0100
Subject: [PATCH] Missing code chunks to perform edge_esm runs.

---
 core/datainput.gms                            | 14 +++++-----
 core/declarations.gms                         |  2 +-
 core/sets.gms                                 | 27 ++++++++++---------
 modules/04_PE_FE_parameters/iea2014/sets.gms  |  1 +
 .../29_CES_parameters/calibrate/datainput.gms | 14 ++++++++++
 .../calibrate/declarations.gms                |  1 +
 modules/29_CES_parameters/load/datainput.gms  |  2 +-
 modules/35_transport/edge_esm/postsolve.gms   |  8 ++++++
 modules/40_techpol/NDC2018/bounds.gms         |  4 +--
 modules/40_techpol/NPi2018/bounds.gms         |  4 +--
 10 files changed, 51 insertions(+), 26 deletions(-)
 create mode 100644 modules/35_transport/edge_esm/postsolve.gms

diff --git a/core/datainput.gms b/core/datainput.gms
index 9cbd9af..d167c43 100644
--- a/core/datainput.gms
+++ b/core/datainput.gms
@@ -1134,14 +1134,14 @@ $offdelim
 ;
 
 *** ----- Emission factor of final energy carriers -----------------------------------
-*GL* demand side emission factor of final energy carriers in MtCO2/EJ
-*** www.eia.gov/oiaf/1605/excel/Fuel%20EFs_2.xls
+*AD* Updated Demand Side Emission Factors
+*** https://www.umweltbundesamt.de/sites/default/files/medien/1968/publikationen/co2_emission_factors_for_fossil_fuels_correction.pdf
 p_ef_dem(entyFe) = 0;
-p_ef_dem("fedie") = 69.3;
-p_ef_dem("fehos") = 69.3;
-p_ef_dem("fepet") = 68.5;
-p_ef_dem("fegas") = 50.3;
-p_ef_dem("fesos") = 90.5;
+p_ef_dem("fedie") = 74;
+p_ef_dem("fehos") = 73;
+p_ef_dem("fepet") = 73;
+p_ef_dem("fegas") = 55;
+p_ef_dem("fesos") = 96;
 
 
 *** some balances are not matching by small amounts;
diff --git a/core/declarations.gms b/core/declarations.gms
index 775fe53..a8aade9 100644
--- a/core/declarations.gms
+++ b/core/declarations.gms
@@ -120,7 +120,7 @@ p_aux_capacityFactorHistOverREMIND(all_regi,all_te)         "aux. param. to calc
 pm_fe2es(tall,all_regi,all_teEs)                     "Conversion factor from final energies to energy services. Default is 1."
 
 pm_shFeCes(ttot,all_regi,all_enty,all_in,all_teEs)   "Final energy shares for CES nodes"
-
+pm_bunker_share_in_nonldv_fe(tall,all_regi)   "Share of bunkers in non-LDV transport - fedie"
 
 p_adj_coeff_Orig(ttot,all_regi,all_te)               "initial value of p_adj_coeff"
 p_adj_seed_te_Orig(ttot,all_regi,all_te)             "initial value of p_adj_seed_te"
diff --git a/core/sets.gms b/core/sets.gms
index b2a7c76..06f6de7 100755
--- a/core/sets.gms
+++ b/core/sets.gms
@@ -407,10 +407,10 @@ all_esty "energy services"
 	esdie_frgt_lo
 	esdie_frgt_sm
 	eselt_frgt_sm
-*    esh2t_pass_sm
-*    esgat_pass_sm
-*    esh2t_frgt_sm
-*    esgat_frgt_sm
+        esh2t_pass_sm
+        esgat_pass_sm
+        esh2t_frgt_sm
+        esgat_frgt_sm
 
 *** Buildings module: Energy services (useful energy)
     ueshheb  "buildings space heating district heat"
@@ -601,13 +601,13 @@ all_teEs                 "energy service technologies"
     te_espet_pass_sm "short-to-medium distance passenger transport CES node"
     te_esdie_pass_sm "short-to-medium distance passenger transport CES node"
     te_eselt_pass_sm "short-to-medium distance passenger transport CES node"
-*    te_esh2t_pass_sm "short-to-medium distance passenger transport CES node"
-*    te_esgat_pass_sm "short-to-medium distance passenger transport CES node"
+    te_esh2t_pass_sm "short-to-medium distance passenger transport CES node"
+    te_esgat_pass_sm "short-to-medium distance passenger transport CES node"
     te_esdie_pass_lo "long distance passenger transport (aviation) CES node"
     te_esdie_frgt_sm "short-to-medium distance freight transport CES node"
     te_eselt_frgt_sm "short-to-medium distance freight transport CES node"
-*    te_esh2t_frgt_sm "short-to-medium distance freight transport CES node"
-*    te_esgat_frgt_sm "short-to-medium distance freight transport CES node"
+    te_esh2t_frgt_sm "short-to-medium distance freight transport CES node"
+    te_esgat_frgt_sm "short-to-medium distance freight transport CES node"
     te_esdie_frgt_lo "long distance freight transport CES node" 
 
 *** Buildings module
@@ -1406,6 +1406,7 @@ enty(all_enty)       "all types of quantities"
 	feelt         "final energy electricity for transport"
         fetf          "final energy transport fuels"
         feh2t         "final energy hydrogen transport"
+        fegat         "final energy nat. gas for transport"
         co2          "carbon dioxide emissions"  
         ch4          "methane emissions"
         n2o          "n2o emissions from the energy system"
@@ -2100,18 +2101,18 @@ se2fe(all_enty,all_enty,all_te)   "map secondary energy to end-use energy using
 /
         seel.feels.tdels
         segabio.fegas.tdbiogas
-		segafos.fegas.tdfosgas
+        segafos.fegas.tdfosgas
         seliqbio.fehos.tdbiohos
-		seliqfos.fehos.tdfoshos
+	seliqfos.fehos.tdfoshos
         sesobio.fesos.tdbiosos
-		sesofos.fesos.tdfossos
+	sesofos.fesos.tdfossos
         seh2.feh2s.tdh2s
         sehe.fehes.tdhes
         seel.feelt.tdelt
         seliqbio.fepet.tdbiopet
-		seliqfos.fepet.tdfospet
+	seliqfos.fepet.tdfospet
         seliqbio.fedie.tdbiodie
-		seliqfos.fedie.tdfosdie
+	seliqfos.fedie.tdfosdie
         seh2.feh2t.tdh2t
 /
 
diff --git a/modules/04_PE_FE_parameters/iea2014/sets.gms b/modules/04_PE_FE_parameters/iea2014/sets.gms
index c77461c..756ae34 100644
--- a/modules/04_PE_FE_parameters/iea2014/sets.gms
+++ b/modules/04_PE_FE_parameters/iea2014/sets.gms
@@ -32,6 +32,7 @@ uet2fet(all_enty,all_enty,all_te,all_te)  "match ESM fe for ue-items of the tran
   fedie.fedie.tdbiodie.tdbiodie
   fedie.fedie.tdfosdie.tdfosdie
   feelt.feelt.tdelt.tdelt
+  fegat.fegat.tdgat.tdgat
 /
 in2enty(all_enty,all_enty,all_te,all_te)  "match ESM fe to CES structure"
 in2enty2(all_enty,all_enty,all_te,all_te)  "alias of in2enty"
diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms
index 182b0a2..6cd230e 100644
--- a/modules/29_CES_parameters/calibrate/datainput.gms
+++ b/modules/29_CES_parameters/calibrate/datainput.gms
@@ -167,8 +167,16 @@ p29_esdemand       "energy service demand"
 $ondelim
 $include "./modules/29_CES_parameters/calibrate/input/pm_es_demand.cs4r"
 $offdelim
+/
 
+p29_trpdemand       "transport demand"
 /
+$ondelim
+$include "./modules/29_CES_parameters/calibrate/input/pm_trp_demand.cs4r"
+$offdelim
+/
+
+
 p29_efficiency_growth       "efficency growth for ppf beyond calibration"
 /
 $ondelim
@@ -260,6 +268,12 @@ pm_cesdata(t,regi,in,"quantity") $ p29_fedemand(t,regi,"%cm_GDPscen%",in)
 *** Load exogenous ES trajectories
 pm_cesdata(t,regi,in,"quantity") $ p29_esdemand(t,regi,"%cm_GDPscen%",in) 
            = p29_esdemand(t,regi,"%cm_GDPscen%",in);
+
+*** Load exogenous transport demand
+pm_cesdata(t,regi,in,"quantity") $ p29_trpdemand(t,regi,"%cm_GDPscen%",in)
+           = p29_trpdemand(t,regi,"%cm_GDPscen%",in);
+
+
 *** Load capital quantities
 pm_cesdata(t,regi,ppfKap,"quantity") = p29_capitalQuantity(t,regi,"%cm_GDPscen%",ppfKap);
 
diff --git a/modules/29_CES_parameters/calibrate/declarations.gms b/modules/29_CES_parameters/calibrate/declarations.gms
index 5f4c8a5..866b37f 100644
--- a/modules/29_CES_parameters/calibrate/declarations.gms
+++ b/modules/29_CES_parameters/calibrate/declarations.gms
@@ -17,6 +17,7 @@ Parameters
   p29_effGr(tall,all_regi,all_in)                                   "growth of factor efficiency from input.gdx"
   p29_fedemand(tall,all_regi,all_GDPscen,all_in)                  "final energy demand"
   p29_cesdata_price(tall,all_regi,all_in)                          "exogenous prices in case they are needed"
+  p29_trpdemand(tall,all_regi,all_GDPscen,all_in)                 "transport demand"
   p29_esdemand(tall,all_regi,all_GDPscen,all_in)                  "energy service demand"
   p29_efficiency_growth(tall,all_regi,all_GDPscen,all_in)         "efficency level paths for ppf beyond calibration"
   p29_capitalQuantity(tall,all_regi,all_GDPscen,all_in)            "capital quantities"
diff --git a/modules/29_CES_parameters/load/datainput.gms b/modules/29_CES_parameters/load/datainput.gms
index a951c9e..dfc7863 100644
--- a/modules/29_CES_parameters/load/datainput.gms
+++ b/modules/29_CES_parameters/load/datainput.gms
@@ -8,7 +8,7 @@
 *** Load CES parameters based on current model configuration
 *** ATTENTION the file name is replaced by the function start_run()
 *##################### R SECTION START (CES INPUT) ##########################
-$include "./modules/29_CES_parameters/load/input/stat_off-indu_fixed_shares-buil_simple-tran_complex-POP_pop_SSP2-GDP_gdp_SSP2-Kap_perfect-Reg_690d3718e1.inc"
+$include "./modules/29_CES_parameters/load/input/stat_off-indu_fixed_shares-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-Kap_perfect-Reg_690d3718e1.inc"
 *###################### R SECTION END (CES INPUT) ###########################
 
 
diff --git a/modules/35_transport/edge_esm/postsolve.gms b/modules/35_transport/edge_esm/postsolve.gms
new file mode 100644
index 0000000..e2e5df8
--- /dev/null
+++ b/modules/35_transport/edge_esm/postsolve.gms
@@ -0,0 +1,8 @@
+*** SOF ./modules/35_transport/edge_esm/postsolve.gms
+pm_bunker_share_in_nonldv_fe(t,regi) = (
+    vm_demFeForEs.l(t,regi,"fedie","esdie_frgt_lo","te_esdie_frgt_lo") +
+    vm_demFeForEs.l(t,regi,"fedie","esdie_pass_lo","te_esdie_pass_lo")) /
+    sum(fe2es_dyn35("fedie",esty,teEs), vm_demFeForEs.l(t,regi,"fedie",esty,teEs));
+display pm_bunker_share_in_nonldv_fe;
+
+*** EOF ./modules/35_transport/edge_esm/postsolve.gms
diff --git a/modules/40_techpol/NDC2018/bounds.gms b/modules/40_techpol/NDC2018/bounds.gms
index 4c89360..b5efbe3 100755
--- a/modules/40_techpol/NDC2018/bounds.gms
+++ b/modules/40_techpol/NDC2018/bounds.gms
@@ -21,7 +21,7 @@ if(cm_nucscen eq 7,
 
 display vm_cap.lo;
 
-
+$ifthen.complex_transport "%transport%" == "complex"
 *** additional target for electro mobility, overwriting the general bounds in 35_transport/complex/bounds.gms
 *** requiring higher EV and FC vehicle shares, to mirror efficiency mandates and EV legislation in many countries
  loop(regi,
@@ -52,6 +52,6 @@ display vm_cap.lo;
      );
    );
  );
-
+$endif.complex_transport
 
 *** EOF ./modules/40_techpol/NDC2018/bounds.gms
diff --git a/modules/40_techpol/NPi2018/bounds.gms b/modules/40_techpol/NPi2018/bounds.gms
index 796f151..56781dc 100644
--- a/modules/40_techpol/NPi2018/bounds.gms
+++ b/modules/40_techpol/NPi2018/bounds.gms
@@ -15,7 +15,7 @@ vm_cap.lo(t,regi,"apCarElT","1") = p40_TechBound(t,regi,"apCarElT");
 
 display vm_cap.lo;
 
-
+$ifthen.complex_transport "%transport%" == "complex"
 *** additional target for electro mobility, overwriting the general bounds in 35_transport/complex/bounds.gms
 *** requiring higher EV and FC vehicle shares, to mirror efficiency mandates and EV legislation in many countries
  loop(regi,
@@ -46,6 +46,6 @@ display vm_cap.lo;
      );
    );
  );
-
+$endif.complex_transport
 
 *** EOF ./modules/40_techpol/NPi2018/bounds.gms
-- 
GitLab