diff --git a/.gitignore b/.gitignore
index 1250cd2fdde76e9fbd3599364c8e074ef8951873..78fa0e0d90bc6aff93574f27681b47290d503bdc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,6 +18,7 @@ core/input/f_macBaseMagpie.cs4r
 core/input/f_maxProdGradeRegiHydro.cs3r
 core/input/f_maxProdGradeRegiWind.cs3r
 core/input/f_pop.cs3r
+core/input/f_IO_trade.cs4r
 core/input/p_abatparam_CH4.cs4r
 core/input/p_abatparam_N2O.cs4r
 core/input/p_abatparam_CO2.cs4r
@@ -79,7 +80,6 @@ modules/23_capitalMarket/imperfect/input/pm_ies.cs4r
 modules/23_capitalMarket/imperfect/input/pm_nfa_start.cs4r
 modules/23_capitalMarket/imperfect/input/pm_risk_premium.cs4r
 modules/23_capitalMarket/perfect/input/pm_nfa_start.cs4r
-modules/24_trade/standard/input/f24_IO_trade.cs4r
 modules/24_trade/standard/input/pm_costsPEtradeMp.cs4r
 modules/24_trade/standard/input/pm_costsTradePeFinancial.cs3r
 modules/26_agCosts/costs/input/p26_totLUcostLookup.cs4r
diff --git a/config/default.cfg b/config/default.cfg
index 758a9eaa1c0fb7539c5ddbe3a59ecc7719dd394d..5c9de305c1b35df346ad69d5634d2ea4c19e26fa 100755
--- a/config/default.cfg
+++ b/config/default.cfg
@@ -13,7 +13,7 @@ cfg <- list()
 #### Main settings ####
 
 #short description of the actual run
-cfg$title <- "default_mm"
+cfg$title <- "default"
 
 # path to the submodel to be used relative to main model folder (e.g."standalone/template.gms")
 #cfg$model <- "main.gms"   #def = "main.gms"
diff --git a/core/datainput.gms b/core/datainput.gms
index 774ab42a94bb12d68dac0ee3747abb27a12ec83c..22e7f302b19d461b7da74e0a824071428a1fab78 100644
--- a/core/datainput.gms
+++ b/core/datainput.gms
@@ -114,12 +114,12 @@ p_developmentState(tall,all_regi) = f_developmentState(tall,all_regi,"%c_GDPpcSc
 *** Load information from BAU run
 $ifthen.cm_compile_main %cm_compile_main% == "TRUE"
 pm_gdp_gdx(ttot,regi) = 0;
-pm_inv_gdx(ttot,regi)  = 0;
+p_inv_gdx(ttot,regi)  = 0;
 $else.cm_compile_main
 Execute_Loadpoint 'input'      vm_cesIO, vm_invMacro;
 
 pm_gdp_gdx(ttot,regi)    = vm_cesIO.l(ttot,regi,"inco");
-pm_inv_gdx(ttot,regi)     = vm_invMacro.l(ttot,regi,"kap");
+p_inv_gdx(ttot,regi)     = vm_invMacro.l(ttot,regi,"kap");
 $endif.cm_compile_main
 
 *** permit price initilization
@@ -327,6 +327,26 @@ loop(emi2te(enty,enty2,te,enty3)$teCCS(te),
 p_boundtmp(ttot,all_regi,te,rlf)$(ttot.val ge 2005)       = 0;
 p_bound_cap(ttot,all_regi,te,rlf)$(ttot.val ge 2005)       = 0;
 
+*NB* include data and parameters for upper bounds on fossil fuel transport
+parameter f_IO_trade(tall,all_regi,all_enty,char)        "Energy trade bounds based on IEA data"
+/
+$ondelim
+$include "./core/input/f_IO_trade.cs4r"
+$offdelim
+/
+;
+pm_IO_trade(ttot,regi,enty,char) = f_IO_trade(ttot,regi,enty,char) * sm_EJ_2_TWa;
+
+*LB* use scaled data for export to guarantee net trade = 0 for each traded good
+loop(tradePe,
+    loop(t,
+       if(sum(regi2, pm_IO_trade(t,regi2,tradePe,"Xport")) ne 0,
+            pm_IO_trade(t,regi,tradePe,"Xport") = pm_IO_trade(t,regi,tradePe,"Xport") * sum(regi2, pm_IO_trade(t,regi2,tradePe,"Mport")) / sum(regi2, pm_IO_trade(t,regi2,tradePe,"Xport"));
+       );
+    );
+);
+display pm_IO_trade;
+
 ***nicolasb*DOT* FILE produced from D:\projekte\rose\resources\fossilGrades_nico.m; 2011,12,16;12:14:44
 ***nicolasb*DOT* original data from literature (Brandt 2009, Charpentier 2009)
 ***nicolasb*DOT* data files are available at RD3 drive roseBob_finSSP.xls
diff --git a/core/declarations.gms b/core/declarations.gms
index 319c5caa320aea9260b891e959addab1055c761e..e560f50a82809d57741b8dc61bb4a6d4bf6bd3e3 100644
--- a/core/declarations.gms
+++ b/core/declarations.gms
@@ -26,7 +26,7 @@ pm_pricePerm(ttot)                                   "permit price in special ca
 p_share(ttot,all_regi,all_in,all_in)                 "share of production factors"
 pm_share_trans(tall,all_regi)                        "transportation share"
 pm_gdp_gdx(tall,all_regi)                            "GDP path from gdx, updated iteratively."   
-pm_inv_gdx(tall,all_regi)                            "macro-investments path from gdx, updated iteratively."
+p_inv_gdx(tall,all_regi)                            "macro-investments path from gdx, updated iteratively."
 pm_taxCO2eq(ttot,all_regi)                           "CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]"
 pm_taxCO2eqHist(ttot,all_regi)                       "Historic CO2 tax path in 2010 and 2015 (also in BAU!) in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]"
 pm_taxCO2eq_iteration(iteration,ttot,all_regi)       "save CO2eq tax used in iteration"
@@ -267,7 +267,7 @@ vm_damageFactor(ttot,all_regi)                       "damage factor reducing GDP
 vm_esCapInv(ttot,all_regi,all_teEs)                   "investment for energy end-use capital at the energy service level"
 ***----------------------------------------------------------------------------------------
 *-----------------------------------------------ESM module---------------------------------
-vm_costEnergySys(ttot,all_regi)                         "total energy cost"
+vm_costEnergySys(ttot,all_regi)                      "energy system costs"
 
 vm_cap(tall,all_regi,all_te,rlf)                     "net total capacities"
 vm_capDistr(tall,all_regi,all_te,rlf)                "net capacities, distributed to the different grades for renewables"
@@ -318,7 +318,7 @@ q_limitSeel2fehes(ttot,all_regi)                     "equation to limit the shar
 q_esCapInv(ttot,all_regi,all_teEs)                   "investment equation for end-use capital investments (energy service layer)"
 ***----------------------------------------------------------------------------------------
 ***-----------------------------------------------ESM module-------------------------------
-q_costEnergySys(ttot,all_regi)                          "total energy cost"
+q_costEnergySys(ttot,all_regi)                       "energy system costs"
 
 q_costFu(ttot,all_regi)                              "costs of fuels"
 q_costOM(ttot,all_regi)                              "costs of o&m"
diff --git a/core/input/files b/core/input/files
index 2b766a863595278b59fb3fa805174778c618e188..510d2f10e7971fb8e2c2f99c0e832a94f8a16b72 100644
--- a/core/input/files
+++ b/core/input/files
@@ -7,6 +7,7 @@ f_macBaseMagpie.cs4r
 f_maxProdGradeRegiHydro.cs3r
 f_maxProdGradeRegiWind.cs3r
 f_pop.cs3r
+f_IO_trade.cs4r
 p_abatparam_CH4.cs4r
 p_abatparam_N2O.cs4r
 p_abatparam_CO2.cs4r
@@ -18,6 +19,8 @@ p_earlyRetirementAdjFactor.cs3r
 p_emiFossilFuelExtr.cs4r
 p_emineg_econometric.cs3r
 p_histCap.cs3r
+p_histEmiMac.cs4r
+p_histEmiSector.cs4r
 p_PE_histCap.cs3r
 p_macBase1990.cs4r
 p_macBase2005.cs4r
diff --git a/core/postsolve.gms b/core/postsolve.gms
index 030d56c9769b8099fb06d541a1465973228b4115..986af9aa57486b18c44799ca77abe8040a07a478 100644
--- a/core/postsolve.gms
+++ b/core/postsolve.gms
@@ -564,7 +564,7 @@ display p_bioshare;
 
 *LB* update parameter that are used for variables during the run
 pm_gdp_gdx(ttot,regi)$(ttot.val ge 2005)    = vm_cesIO.l(ttot,regi,"inco");
-pm_inv_gdx(ttot,regi)$(ttot.val ge 2005)     = vm_invMacro.l(ttot,regi,"kap");
+p_inv_gdx(ttot,regi)$(ttot.val ge 2005)     = vm_invMacro.l(ttot,regi,"kap");
 
 pm_GDPGross(ttot,regi)$( (pm_SolNonInfes(regi) eq 1) ) =  vm_cesIO.l(ttot,regi,"inco");
 
diff --git a/core/presolve.gms b/core/presolve.gms
index 9886986be32061f31a228ee5e9be76819950f6df..4629f60437462b4a5f7260a4d963197da3571245 100644
--- a/core/presolve.gms
+++ b/core/presolve.gms
@@ -26,7 +26,7 @@ p_emineg_econometric(regi,"n2owaste","p2")$(pm_gdp_gdx("2005",regi)/pm_pop("2005
 *JeS CO2 emissions from cement production. p_switch_cement describes an s-curve to provide a smooth switching from the short-term
 *** behavior (depending on per capita capital investments) to the long-term behavior (constant per capita emissions).
 p_switch_cement(ttot,regi)$(ttot.val ge 2005) = 1 / ( 1 + exp( - (s_c_so2 / s_tau_cement)
-                                          *(1000 * pm_inv_gdx(ttot,regi) / (pm_pop(ttot,regi)*pm_shPPPMER(regi)) - p_emineg_econometric(regi,"co2cement_process","p4"))
+                                          *(1000 * p_inv_gdx(ttot,regi) / (pm_pop(ttot,regi)*pm_shPPPMER(regi)) - p_emineg_econometric(regi,"co2cement_process","p4"))
                                         ) 
                               );
 display p_switch_cement;
@@ -42,8 +42,8 @@ p_emineg_econometric(regi,"co2cement_process","p1")$( p_switch_cement("2005",reg
     * ( ( 1000
           !! use default per-capita investments if no investment data in gdx
           !! (due to different region settings)
-        * ( (pm_inv_gdx("2005",regi) / pm_pop("2005",regi))$( pm_inv_gdx("2005",regi) )
-          + 4$( NOT pm_inv_gdx("2005",regi) )
+        * ( (p_inv_gdx("2005",regi) / pm_pop("2005",regi))$( p_inv_gdx("2005",regi) )
+          + 4$( NOT p_inv_gdx("2005",regi) )
           )
         / pm_shPPPMER(regi)
         )
@@ -96,7 +96,7 @@ display p_efFossilFuelExtr;
 ***--------------------------------------
 *JeS CO2 emissions from cement production. p_switch_cement describes an s-curve to provide a smooth switching from the short-term
 *** behavior (depending on per capita capital investments) to the long-term behavior (constant per capita emissions).
-p_switch_cement(ttot,regi)$(ttot.val ge 1990)=1/(1+exp(-(s_c_so2/s_tau_cement)*(1000*pm_inv_gdx(ttot,regi)/(pm_pop(ttot,regi)*pm_shPPPMER(regi))-p_emineg_econometric(regi,"co2cement_process","p4"))));
+p_switch_cement(ttot,regi)$(ttot.val ge 1990)=1/(1+exp(-(s_c_so2/s_tau_cement)*(1000*p_inv_gdx(ttot,regi)/(pm_pop(ttot,regi)*pm_shPPPMER(regi))-p_emineg_econometric(regi,"co2cement_process","p4"))));
 display p_switch_cement;
 
 *** scale CO2 luc baselines from MAgPIE to EDGAR v4.2 2005 data in REMIND standalone runs: linear, phase out within 20 years
@@ -155,7 +155,7 @@ vm_macBase.fx(ttot,regi,"co2cement_process")$( ttot.val ge 2005 )
     * ( (1 - p_switch_cement(ttot,regi))
       * p_emineg_econometric(regi,"co2cement_process","p1") 
       * ( (1000 
-          * pm_inv_gdx(ttot,regi)
+          * p_inv_gdx(ttot,regi)
           / ( pm_pop(ttot,regi)
             * pm_shPPPMER(regi)
             )
@@ -165,7 +165,7 @@ vm_macBase.fx(ttot,regi,"co2cement_process")$( ttot.val ge 2005 )
         * p_emineg_econometric(regi,"co2cement_process","p3")
         )
        )
-    )$(pm_inv_gdx(ttot,regi) ne 0)
+    )$(p_inv_gdx(ttot,regi) ne 0)
 ;
 
 vm_macBaseInd.fx(ttot,regi,"co2cement_process","cement")$( ttot.val ge 2005 )
diff --git a/main.gms b/main.gms
index bc20146310238e9eaea27d6d9652de908e408bb3..f9c27fe469277514af73f5d4b90596e1340dd1fe 100644
--- a/main.gms
+++ b/main.gms
@@ -74,7 +74,7 @@
 * 
 * Input data revision: 5.937
 * 
-* Last modification (input data): Wed Jan 15 10:44:14 2020
+* Last modification (input data): Wed Jan 15 14:19:35 2020
 * 
 *###################### R SECTION END (VERSION INFO) ###########################
 
@@ -120,7 +120,7 @@ option profile = 0;
 
 
 ***---------------------    Run name    -----------------------------------------
-$setGlobal c_expname  default_mm
+$setGlobal c_expname  default
 
 ***------------------------------------------------------------------------------
 ***                           MODULES
diff --git a/modules/02_welfare/utilitarian/declarations.gms b/modules/02_welfare/utilitarian/declarations.gms
index 49d34a3bc9578743a8e7532b929f133da9daab42..81d70500effb6918f9958b13a12c142f4e85ebc6 100644
--- a/modules/02_welfare/utilitarian/declarations.gms
+++ b/modules/02_welfare/utilitarian/declarations.gms
@@ -29,7 +29,6 @@ vm_welfareGlob                                    "Global welfare"
 $ifthen.inconv %cm_INCONV_PENALTY% == "on" 
 v02_inconvPen(ttot,all_regi)                      "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?"
 v02_inconvPenCoalSolids(ttot,all_regi)            "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?"
-v02_inconvPenCoalSolids(ttot,all_regi)            "Inconvenience penalty in the welfare function, e.g. for air pollution. Unit: ?Utils?"
 v02_sesoInconvPenSlack(ttot,all_regi)             "Slack to avoid negative inconvenience penalty for Coal Solids" 
 $endif.inconv
 ;
diff --git a/modules/24_trade/standard/datainput.gms b/modules/24_trade/standard/datainput.gms
index fb82f4af7e8cb3c39f7015ac6412a72466aa0c17..ede5a82b33a7ac1b49ac33c1280c71308bcbc082 100644
--- a/modules/24_trade/standard/datainput.gms
+++ b/modules/24_trade/standard/datainput.gms
@@ -12,29 +12,6 @@ pm_Xport0("2005",regi,peFos) = 0;
 *ML* Reintroduction of trade cost for composite good (based on export/import value difference for non-energy goods in GTAP6)
 pm_tradecostgood(regi)        = 0.03;
 
-
-*NB* include data and parameters for upper bounds on fossil fuel transport
-parameter f24_IO_trade(tall,all_regi,all_enty,char)        "Energy trade bounds based on IEA data"
-/
-$ondelim
-$include "./modules/24_trade/standard/input/f24_IO_trade.cs4r"
-$offdelim
-/
-;
-pm_IO_trade(ttot,regi,enty,char) = f24_IO_trade(ttot,regi,enty,char) * sm_EJ_2_TWa;
-
-*LB* use scaled data for export to guarantee net trade = 0 for each traded good
-loop(tradePe,
-    loop(t,
-       if(sum(regi2, pm_IO_trade(t,regi2,tradePe,"Xport")) ne 0,
-            pm_IO_trade(t,regi,tradePe,"Xport") = pm_IO_trade(t,regi,tradePe,"Xport") * sum(regi2, pm_IO_trade(t,regi2,tradePe,"Mport")) / sum(regi2, pm_IO_trade(t,regi2,tradePe,"Xport"));
-       );
-    );
-);
-display pm_IO_trade;
-
-
-
 *** load data on transportation costs of imports
 parameter pm_costsPEtradeMp(all_regi,all_enty)                   "PE tradecosts (energy losses on import)"
 /