From 2ae3adc493819e58d8187b3b6c23e05dfedfa7f9 Mon Sep 17 00:00:00 2001 From: piontek Date: Wed, 20 Sep 2023 09:54:27 +0200 Subject: [PATCH 1/4] bug fixes to inequality and damage modules, add temperature and scc convergence criterium to nash convergence --- core/sets.gms | 172 +++++++++--------- main.gms | 10 + .../02_welfare/ineqLognormal/datainput.gms | 1 + .../02_welfare/ineqLognormal/declarations.gms | 1 + .../02_welfare/ineqLognormal/equations.gms | 12 +- modules/02_welfare/utilitarian/not_used.txt | 1 + modules/15_climate/magicc/declarations.gms | 2 +- modules/15_climate/magicc/postsolve.gms | 4 +- modules/15_climate/off/not_used.txt | 1 + modules/29_CES_parameters/load/datainput.gms | 2 +- modules/50_damages/BurkeLike/not_used.txt | 1 - modules/50_damages/DiceLike/not_used.txt | 1 - modules/50_damages/KWLike/not_used.txt | 1 - modules/50_damages/KWTCint/not_used.txt | 1 - modules/50_damages/KW_SE/datainput.gms | 1 - modules/50_damages/KW_SE/declarations.gms | 1 - modules/50_damages/KW_SE/postsolve.gms | 8 +- modules/50_damages/Labor/not_used.txt | 1 - modules/50_damages/TC/not_used.txt | 1 - modules/50_damages/off/not_used.txt | 1 - .../BurkeLikeItr/declarations.gms | 2 +- .../BurkeLikeItr/not_used.txt | 1 - .../BurkeLikeItr/postsolve.gms | 4 +- .../DiceLikeItr/declarations.gms | 2 +- .../DiceLikeItr/not_used.txt | 1 - .../DiceLikeItr/postsolve.gms | 4 +- .../KWTCintItr/declarations.gms | 2 +- .../KWTCintItr/not_used.txt | 1 - .../KWTCintItr/postsolve.gms | 4 +- .../KW_SEitr/declarations.gms | 2 +- .../KW_SEitr/not_used.txt | 1 - .../KW_SEitr/postsolve.gms | 6 +- .../KWlikeItr/declarations.gms | 2 +- .../KWlikeItr/not_used.txt | 1 - .../KWlikeItr/postsolve.gms | 4 +- .../KWlikeItrCPnash/declarations.gms | 2 +- .../KWlikeItrCPnash/not_used.txt | 1 - .../KWlikeItrCPnash/postsolve.gms | 4 +- .../KWlikeItrCPreg/declarations.gms | 2 +- .../KWlikeItrCPreg/not_used.txt | 1 - .../KWlikeItrCPreg/postsolve.gms | 4 +- .../LabItr/declarations.gms | 2 +- .../51_internalizeDamages/LabItr/not_used.txt | 1 - .../LabItr/postsolve.gms | 4 +- .../TCitr/declarations.gms | 2 +- .../51_internalizeDamages/TCitr/not_used.txt | 1 - .../51_internalizeDamages/TCitr/postsolve.gms | 4 +- .../51_internalizeDamages/off/not_used.txt | 2 +- modules/80_optimization/nash/postsolve.gms | 15 ++ modules/80_optimization/nash/sets.gms | 2 +- modules/80_optimization/negishi/not_used.txt | 4 + .../80_optimization/testOneRegi/not_used.txt | 4 + 52 files changed, 171 insertions(+), 144 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 6e0d7cf63..b56b58b09 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -754,20 +754,20 @@ sets ext_regi "extended regions list (includes subsets of H12 regions)" / GLO, - LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi, - LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA + LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,EU27_regi,NEU_UKI_regi, + OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA / - all_regi "all regions" /LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA/ + all_regi "all regions" /OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA/ regi_group(ext_regi,all_regi) "region groups (regions that together corresponds to a H12 region)" / - GLO.( LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA ) + GLO.( OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA ) LAM_regi .(LAM) OAS_regi .(OAS) SSA_regi .(SSA) - EUR_regi .(EUR) - NEU_regi .(NEU) + EUR_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW) + NEU_regi .(NES,NEN) MEA_regi .(MEA) REF_regi .(REF) CAZ_regi .(CAZ) @@ -775,102 +775,110 @@ sets IND_regi .(IND) JPN_regi .(JPN) USA_regi .(USA) + EU27_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,ESW) + NEU_UKI_regi .(NES,NEN,UKI) / iso "list of iso countries" / - ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, - ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, - BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, - BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, - CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, - COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, - DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, - EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, - GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, - GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, - HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, - ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, - KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, - LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, - MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, - MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, - NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, - NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, - PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, - RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, - SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, - SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, - TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, - UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, - VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / + AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, + ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, + BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, + BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, + CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, + COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, + DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, + ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, + GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, + GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, + HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, + JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, + KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, + MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, + MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, + MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, + NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, + PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, + REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, + VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, + SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, + SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, + THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, + TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, + VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / regi2iso(all_regi,iso) "mapping regions to iso countries" / - LAM . (ABW,AIA,ARG,ATA,ATG,BES,BHS,BLM,BLZ,BMU) - LAM . (BOL,BRA,BRB,BVT,CHL,COL,CRI,CUB,CUW,CYM) - LAM . (DMA,DOM,ECU,FLK,GLP,GRD,GTM,GUF,GUY,HND) - LAM . (HTI,JAM,KNA,LCA,MAF,MEX,MSR,MTQ,NIC,PAN) - LAM . (PER,PRI,PRY,SGS,SLV,SUR,SXM,TCA,TTO,URY) - LAM . (VCT,VEN,VGB,VIR) - OAS . (AFG,ASM,ATF,BGD,BRN,BTN,CCK,COK,CXR,FJI) - OAS . (FSM,GUM,IDN,IOT,KHM,KIR,KOR,LAO,LKA,MDV) - OAS . (MHL,MMR,MNG,MNP,MYS,NCL,NFK,NIU,NPL,NRU) - OAS . (PAK,PCN,PHL,PLW,PNG,PRK,PYF,SGP,SLB,THA) - OAS . (TKL,TLS,TON,TUV,UMI,VNM,VUT,WLF,WSM) - SSA . (AGO,BDI,BEN,BFA,BWA,CAF,CIV,CMR,COD,COG) - SSA . (COM,CPV,DJI,ERI,ETH,GAB,GHA,GIN,GMB,GNB) - SSA . (GNQ,KEN,LBR,LSO,MDG,MLI,MOZ,MRT,MUS,MWI) - SSA . (MYT,NAM,NER,NGA,REU,RWA,SEN,SHN,SLE,SOM) - SSA . (SSD,STP,SWZ,SYC,TCD,TGO,TZA,UGA,ZAF,ZMB) - SSA . (ZWE) - EUR . (ALA,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST) - EUR . (FIN,FRA,FRO,GBR,GGY,GIB,GRC,HRV,HUN,IMN) - EUR . (IRL,ITA,JEY,LTU,LUX,LVA,MLT,NLD,POL,PRT) - EUR . (ROU,SVK,SVN,SWE) - NEU . (ALB,AND,BIH,CHE,GRL,ISL,LIE,MCO,MKD,MNE) - NEU . (NOR,SJM,SMR,SRB,TUR,VAT) - MEA . (ARE,BHR,DZA,EGY,ESH,IRN,IRQ,ISR,JOR,KWT) - MEA . (LBN,LBY,MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN) + OAS . (AFG,ASM,BGD,BTN,IOT,BRN,KHM,CXR,CCK,COK) + OAS . (FJI,PYF,ATF,GUM,IDN,KIR,PRK,KOR,LAO,MYS) + OAS . (MDV,MHL,FSM,MNG,MMR,NRU,NPL,NCL,NIU,NFK) + OAS . (MNP,PAK,PLW,PNG,PHL,PCN,WSM,SGP,SLB,LKA) + OAS . (THA,TLS,TKL,TON,TUV,UMI,VUT,VNM,WLF) + ENC . (ALA,DNK,FRO,FIN,SWE) + NES . (ALB,AND,BIH,VAT,MKD,MCO,MNE,SMR,SRB,TUR) + MEA . (DZA,BHR,EGY,IRN,IRQ,ISR,JOR,KWT,LBN,LBY) + MEA . (MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN,ARE,ESH) MEA . (YEM) + SSA . (AGO,BEN,BWA,BFA,BDI,CMR,CPV,CAF,TCD,COM) + SSA . (COG,COD,CIV,DJI,GNQ,ERI,ETH,GAB,GMB,GHA) + SSA . (GIN,GNB,KEN,LSO,LBR,MDG,MWI,MLI,MRT,MUS) + SSA . (MYT,MOZ,NAM,NER,NGA,REU,RWA,SHN,STP,SEN) + SSA . (SYC,SLE,SOM,ZAF,SSD,SWZ,TZA,TGO,UGA,ZMB) + SSA . (ZWE) + LAM . (AIA,ATA,ATG,ARG,ABW,BHS,BRB,BLZ,BMU,BOL) + LAM . (BES,BVT,BRA,CYM,CHL,COL,CRI,CUB,CUW,DMA) + LAM . (DOM,ECU,SLV,FLK,GUF,GRD,GLP,GTM,GUY,HTI) + LAM . (HND,JAM,MTQ,MEX,MSR,NIC,PAN,PRY,PER,PRI) + LAM . (BLM,KNA,LCA,MAF,VCT,SXM,SGS,SUR,TTO,TCA) + LAM . (URY,VEN,VGB,VIR) REF . (ARM,AZE,BLR,GEO,KAZ,KGZ,MDA,RUS,TJK,TKM) REF . (UKR,UZB) CAZ . (AUS,CAN,HMD,NZL,SPM) + EWN . (AUT,BEL,LUX,NLD) + ECS . (BGR,HRV,HUN,ROU,SVN) CHA . (CHN,HKG,MAC,TWN) + ESC . (CYP,GRC,ITA,MLT) + ECE . (CZE,EST,LVA,LTU,POL,SVK) + FRA . (FRA) + DEU . (DEU) + UKI . (GIB,GGY,IRL,IMN,JEY,GBR) + NEN . (GRL,ISL,LIE,NOR,SJM,CHE) IND . (IND) JPN . (JPN) + ESW . (PRT,ESP) USA . (USA) / iso_regi "all iso countries and EU and greater China region" / EUR,CHA, - ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, - ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, - BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, - BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, - CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, - COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, - DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, - EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, - GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, - GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, - HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, - ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, - KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, - LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, - MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, - MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, - NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, - NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, - PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, - RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, - SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, - SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, - TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, - UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, - VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / + AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, + ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, + BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, + BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, + CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, + COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, + DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, + ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, + GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, + GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, + HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, + JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, + KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, + MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, + MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, + MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, + NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, + PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, + REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, + VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, + SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, + SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, + THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, + TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, + VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / map_iso_regi(iso_regi,all_regi) "mapping from iso countries to regions that represent country" / - EUR . EUR CHA . CHA + FRA . FRA + DEU . DEU IND . IND JPN . JPN USA . USA diff --git a/main.gms b/main.gms index bab074473..71b0f1a8f 100755 --- a/main.gms +++ b/main.gms @@ -925,6 +925,16 @@ parameter ; cm_damage_KWSE = 0; !! def = 0 *' {1.645 for 90% CI, 1.96 for 95% CI, no correction when 0} +parameter + cm_sccConvergence "convergence indicator for SCC iteration" +; + cm_sccConvergence = 0.05; !! def = 0.05 +; +parameter + cm_tempConvergence "convergence indicator for temperature in damage iteration" +; + cm_tempConvergence = 0.05; !! def = 0.05 +; parameter cm_carbonprice_temperatureLimit "not-to-exceed temperature target in degree above pre-industrial" ; diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index 6f07fb48e..ba97135f4 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -44,6 +44,7 @@ if ((cm_emiscen ne 1), Execute_Loadpoint 'input_bau' p02_taxrev_redistr0_ref=v02_taxrev_Add.l; Execute_Loadpoint 'input_bau' p02_cons_ref=vm_cons.l; Execute_Loadpoint 'input_bau' p02_energyExp_ref=v02_energyExp.l; + Execute_Loadpoint 'input_bau' p02_damageFactor_ref=vm_damageFactor.l; * if energy system costs are used: * Execute_Loadpoint 'input_bau' p02_energyExp_ref=vm_costEnergySys.l; diff --git a/modules/02_welfare/ineqLognormal/declarations.gms b/modules/02_welfare/ineqLognormal/declarations.gms index 69c2b9826..1bf6b9eff 100644 --- a/modules/02_welfare/ineqLognormal/declarations.gms +++ b/modules/02_welfare/ineqLognormal/declarations.gms @@ -14,6 +14,7 @@ pm_welf(tall) "Weight parameter in the welfa pm_w(all_regi) "Negishi weights" pm_prtp(all_regi) "Pure rate of time preference" p02_cons_ref(ttot,all_regi) "consumption in reference run" +p02_damageFactor_ref(ttot,all_regi) "damage factor in reference run" p02_ineqTheil(ttot,all_regi) "regional Theil-T index = sigma^2/2 for lognormal" p02_distrMu(ttot,all_regi) "mu of lognormal distribution (prior to mitigation costs)" p02_distrSigma(ttot,all_regi) "sigma of lognormal distribution (prior to mitigation costs)" diff --git a/modules/02_welfare/ineqLognormal/equations.gms b/modules/02_welfare/ineqLognormal/equations.gms index 6b30b0043..bb1f1b966 100644 --- a/modules/02_welfare/ineqLognormal/equations.gms +++ b/modules/02_welfare/ineqLognormal/equations.gms @@ -125,7 +125,8 @@ q02_energyexpShare(ttot,regi)$(ttot.val ge cm_startyear).. v02_energyexpShare(ttot,regi) =e= * simply divided by conso - v02_energyExp_Add(ttot,regi)/(vm_cons(ttot,regi)) + v02_energyExp_Add(ttot,regi)/(p02_cons_ref(ttot,regi)) +* v02_energyExp_Add(ttot,regi)/(vm_cons(ttot,regi)) * divided by adjusted conso * (v02_energyExp_Add(ttot,regi))/(vm_cons(ttot,regi)+v02_energyExp_Add(ttot,regi)-v02_taxrev_Add(ttot,regi)$(v02_taxrev_Add.l(ttot,regi) ge 0)) @@ -145,7 +146,8 @@ q02_relTaxlevels(ttot,regi)$(ttot.val ge cm_startyear).. v02_revShare(ttot,regi) =e= * Simply divided by conso - v02_taxrev_Add(ttot,regi)$(v02_taxrev_Add.l(ttot,regi) ge 0)/vm_cons(ttot,regi) + v02_taxrev_Add(ttot,regi)$(v02_taxrev_Add.l(ttot,regi) ge 0)/p02_cons_ref(ttot,regi) +* v02_taxrev_Add(ttot,regi)$(v02_taxrev_Add.l(ttot,regi) ge 0)/vm_cons(ttot,regi) * Divided by adjusted conso * (v02_taxrev_Add(ttot,regi)$(v02_taxrev_Add.l(ttot,regi) ge 0))/(vm_cons(ttot,regi)+v02_energyExp_Add(ttot,regi)-v02_taxrev_Add(ttot,regi)$(v02_taxrev_Add.l(ttot,regi) ge 0)) @@ -156,7 +158,8 @@ q02_relTaxlevels(ttot,regi)$(ttot.val ge cm_startyear).. q02_consLossShare(ttot,regi)$(ttot.val ge cm_startyear).. v02_damageConsShare(ttot,regi) =e= - 1/(p02_damConsFactor1(ttot,regi)+vm_damageFactor(ttot,regi)*p02_damConsFactor2(ttot,regi))-1 + vm_cons(ttot,regi)/((p02_damConsFactor1(ttot,regi)+vm_damageFactor(ttot,regi)*p02_damConsFactor2(ttot,regi))*p02_cons_ref(ttot,regi))-vm_cons(ttot,regi)/p02_cons_ref(ttot,regi) +* 1/(p02_damConsFactor1(ttot,regi)+vm_damageFactor(ttot,regi)*p02_damConsFactor2(ttot,regi))-1 ; * Alpha, the elasticity of energy expenditure, depends upon the region's GDP @@ -164,7 +167,8 @@ q02_consLossShare(ttot,regi)$(ttot.val ge cm_startyear).. q02_distrAlpha(ttot,regi)$(ttot.val ge cm_startyear).. v02_distrAlpha(ttot,regi) =e= - 1+1.618788-2*0.09746092*log(1000*vm_cesIO(ttot,regi,"inco")/pm_pop(ttot,regi)) + 1+1.618788-2*0.09746092*log(1000*(vm_cesIO(ttot,regi,"inco")/pm_shPPPMER(regi)*vm_damageFactor(ttot,regi))/pm_pop(ttot,regi)) +* 1+1.618788-2*0.09746092*log(1000*vm_cesIO(ttot,regi,"inco")/pm_pop(ttot,regi)) * Note that the above equation defines alpha as a parameter depending upon GDP, which could potentially bring a complex feedback (rich countries moderating GDP growth to reduce the regressivity of energy expenditures). * For tests, I also used previously consumption in the baseline instead of actual GDP in the current scenario, so that alpha is a parameter * 1+1.618788-2*0.09746092*log(1000*p02_cons_ref(ttot,regi)/pm_pop(ttot,regi)) diff --git a/modules/02_welfare/utilitarian/not_used.txt b/modules/02_welfare/utilitarian/not_used.txt index 03e4a5b46..d8e32d03b 100644 --- a/modules/02_welfare/utilitarian/not_used.txt +++ b/modules/02_welfare/utilitarian/not_used.txt @@ -23,3 +23,4 @@ cm_distrAlphaDam,switch,??? sm_tgn_2_pgc,scalar,??? sm_tgch4_2_pgc,scalar,??? pm_taxCO2eqRegi,input,added by codeCheck +pm_shPPPMER,input,questionnaire diff --git a/modules/15_climate/magicc/declarations.gms b/modules/15_climate/magicc/declarations.gms index 82ad49f8c..7144d73cc 100644 --- a/modules/15_climate/magicc/declarations.gms +++ b/modules/15_climate/magicc/declarations.gms @@ -31,7 +31,7 @@ p15_oghgf_minaer "exogenous forcings from RCP: mineral dust", p15_oghgf_nitaer "exogenous forcings from RCP: nitrates", p15_emicapregi(tall,all_regi) "regional emission caps, used for calculation of global emission cap", p15_forc_magicc(tall) "actual radiative forcing as calculated by magicc [W/m^2]" -p15_gmt_conv "global mean temperature convergence" +pm_gmt_conv "global mean temperature convergence" p15_gmt0(tall) "global mean temperature convergence saved for the next iteration" ; diff --git a/modules/15_climate/magicc/postsolve.gms b/modules/15_climate/magicc/postsolve.gms index d21eb1dc2..f36d2851a 100644 --- a/modules/15_climate/magicc/postsolve.gms +++ b/modules/15_climate/magicc/postsolve.gms @@ -42,8 +42,8 @@ pm_globalMeanTemperature(tall) = pm_globalMeanTemperature(tall) - s15_tempOffset display pm_globalMeanTemperature; *** temperature convergence indicator -p15_gmt_conv = 100*smax(t,abs(pm_globalMeanTemperature(t)/max(p15_gmt0(t),1e-8) -1)); -display p15_gmt_conv; +pm_gmt_conv = 100*smax(t,abs(pm_globalMeanTemperature(t)/max(p15_gmt0(t),1e-8) -1)); +display pm_gmt_conv; *** save temp from last iteration p15_gmt0(tall) = pm_globalMeanTemperature(tall); diff --git a/modules/15_climate/off/not_used.txt b/modules/15_climate/off/not_used.txt index c10cf4dd2..82d845d29 100644 --- a/modules/15_climate/off/not_used.txt +++ b/modules/15_climate/off/not_used.txt @@ -14,3 +14,4 @@ cm_iterative_target_adj, switch, ??? pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_globalMeanTemperature,input,questionnaire +pm_gmt_conv,parameter,??? diff --git a/modules/29_CES_parameters/load/datainput.gms b/modules/29_CES_parameters/load/datainput.gms index 17c011e6a..41672e3b2 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/indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2EU-GDP_gdp_SSP2EU-En_gdp_SSP2EU-Kap_debt_limit-Reg_62eff8f7.inc" +$include "./modules/29_CES_parameters/load/input/indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2EU-GDP_gdp_SSP2EU-En_gdp_SSP2EU-Kap_debt_limit-Reg_2b1450bc.inc" *###################### R SECTION END (CES INPUT) ########################### diff --git a/modules/50_damages/BurkeLike/not_used.txt b/modules/50_damages/BurkeLike/not_used.txt index 1f745f76f..21ec74012 100644 --- a/modules/50_damages/BurkeLike/not_used.txt +++ b/modules/50_damages/BurkeLike/not_used.txt @@ -16,7 +16,6 @@ pm_tempScaleGlob2Reg,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageProd,input,questionnaire pm_damageTC,input,questionnaire pm_damageGrowthRateTC,input,questionnaire diff --git a/modules/50_damages/DiceLike/not_used.txt b/modules/50_damages/DiceLike/not_used.txt index 654386e03..affac1b01 100644 --- a/modules/50_damages/DiceLike/not_used.txt +++ b/modules/50_damages/DiceLike/not_used.txt @@ -26,7 +26,6 @@ pm_GDPfrac,input,questionnaire pm_gdp,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire -pm_damageScc,input,questionnaire pm_shPPPMER,input,questionnaire pm_interpolWeight_ttot_tall,input,questionnaire pm_tall_2_ttot,input,questionnaire diff --git a/modules/50_damages/KWLike/not_used.txt b/modules/50_damages/KWLike/not_used.txt index 6b640cc34..4c44ec3c6 100644 --- a/modules/50_damages/KWLike/not_used.txt +++ b/modules/50_damages/KWLike/not_used.txt @@ -19,7 +19,6 @@ pm_damageTC,input,questionnaire pm_damageGrowthRateTC,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire -pm_damageScc,input,questionnaire pm_damageProd,input,questionnaire pm_GDPfrac,input,questionnaire pm_gdp,input,questionnaire diff --git a/modules/50_damages/KWTCint/not_used.txt b/modules/50_damages/KWTCint/not_used.txt index 3425ae862..e36d3b939 100755 --- a/modules/50_damages/KWTCint/not_used.txt +++ b/modules/50_damages/KWTCint/not_used.txt @@ -12,6 +12,5 @@ pm_temperatureImpulseResponseCO2,input,questionnaire cm_damage_KWSE,input,questionnaire pm_tempScaleGlob2Reg,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire diff --git a/modules/50_damages/KW_SE/datainput.gms b/modules/50_damages/KW_SE/datainput.gms index c01f3764b..b4a8ab4cf 100755 --- a/modules/50_damages/KW_SE/datainput.gms +++ b/modules/50_damages/KW_SE/datainput.gms @@ -34,7 +34,6 @@ p50_cov_b1_b2 = 1.354e-7; * initialize pm_damage(tall,regi) = 1; pm_damageImp(tall,tall2,regi) = 1; -pm_damageScc(tall,tall2,regi) = 1; pm_damageGrowthRate(tall,regi) = 0; pm_damageMarginalT(tall,regi) = 0; pm_damageMarginalTm1(tall,regi) = 0; diff --git a/modules/50_damages/KW_SE/declarations.gms b/modules/50_damages/KW_SE/declarations.gms index c8bc53ca5..ca3a470ec 100755 --- a/modules/50_damages/KW_SE/declarations.gms +++ b/modules/50_damages/KW_SE/declarations.gms @@ -11,7 +11,6 @@ p50_regionalTemperatureImp(tall,tall,all_regi) "regional temperature with e p50_damageGrowthRateImp(tall,tall,all_regi) "growth rate damage with emission pulse" p50_seImp(tall,tall,all_regi) "damage standard error with emission pulse" pm_damageImp(tall,tall,all_regi) "damage with emission pulse" -pm_damageScc(tall,tall,all_regi) "damage without pulse" pm_damage(tall,all_regi) "damage factor (reduces GDP)" pm_damageGrowthRate(tall,all_regi) "damage function for growth rate of GDP" pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" diff --git a/modules/50_damages/KW_SE/postsolve.gms b/modules/50_damages/KW_SE/postsolve.gms index 3155fd7bf..55a1b2f67 100755 --- a/modules/50_damages/KW_SE/postsolve.gms +++ b/modules/50_damages/KW_SE/postsolve.gms @@ -85,6 +85,7 @@ p50_damageGrowthRateImp(tall,tall2,regi)$(tall.val le 2020) = 0; *no growth rate damages after 2150 to prevent extreme runaway damages pm_damageGrowthRate(tall,regi)$(tall.val gt 2150) = 0; p50_damageGrowthRateImp(tall,tall2,regi)$(tall.val gt 2150) = 0; +p50_damageGrowthRateImp(tall,tall2,regi)$(tall2.val gt 2150) = 0; *damage function. match observed 2020 GDP, that is, assume that no climate damages unitl then. *damage factor for budget equation @@ -93,12 +94,7 @@ pm_damage(tall,regi)$(tall.val ge 2020 and tall.val le 2300) = (1 + pm_damageGrowthRate(tall2,regi)) ) ; -*damage used in SCC calculation -pm_damageScc(tall,tall2,regi)$(tall.val ge 2020 and tall.val le 2300 and tall2.val ge 2020 and tall2.val le 2300) = - prod(tall3$(tall3.val gt tall.val AND tall3.val le tall2.val), - (1 + pm_damageGrowthRate(tall3,regi)) - ) -; + *damage with emission pulse for SCC calculation pm_damageImp(tall,tall2,regi)$(tall.val ge 2020 and tall.val le 2300 and tall2.val ge 2020 and tall2.val le 2300) = prod(tall3$(tall3.val gt tall.val AND tall3.val le tall2.val), diff --git a/modules/50_damages/Labor/not_used.txt b/modules/50_damages/Labor/not_used.txt index 9936079ff..85cfaee50 100755 --- a/modules/50_damages/Labor/not_used.txt +++ b/modules/50_damages/Labor/not_used.txt @@ -26,7 +26,6 @@ pm_GDPfrac,input,questionnaire pm_gdp,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire -pm_damageScc,input,questionnaire pm_shPPPMER,input,questionnaire pm_interpolWeight_ttot_tall,input,questionnaire pm_tall_2_ttot,input,questionnaire diff --git a/modules/50_damages/TC/not_used.txt b/modules/50_damages/TC/not_used.txt index 2105ca131..5b22dda33 100755 --- a/modules/50_damages/TC/not_used.txt +++ b/modules/50_damages/TC/not_used.txt @@ -20,4 +20,3 @@ pm_damageMarginalTm1,input,questionnaire pm_damageMarginalTm2,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire diff --git a/modules/50_damages/off/not_used.txt b/modules/50_damages/off/not_used.txt index 492a06d4d..16fb7c646 100644 --- a/modules/50_damages/off/not_used.txt +++ b/modules/50_damages/off/not_used.txt @@ -29,7 +29,6 @@ pm_gdp,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_damageTC,input,questionnaire -pm_damageScc,input,questionnaire pm_shPPPMER,input,questionnaire pm_interpolWeight_ttot_tall,input,questionnaire pm_tall_2_ttot,input,questionnaire diff --git a/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms b/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms index f8cd3d49b..7c003c07f 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms @@ -14,7 +14,7 @@ p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last itera p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/BurkeLikeItr/declarations.gms diff --git a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt index 5609ffea4..67d73dcb9 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt @@ -19,7 +19,6 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms index c685c84d1..70efbed83 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms @@ -55,7 +55,7 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms diff --git a/modules/51_internalizeDamages/DiceLikeItr/declarations.gms b/modules/51_internalizeDamages/DiceLikeItr/declarations.gms index d6a479d21..b0c135186 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/declarations.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/declarations.gms @@ -10,7 +10,7 @@ parameters p51_scc(tall) "Social cost of carbon (due to GDP damages) [$ per tCO2eq]" p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last iteration [$ per tCO2eq]" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/DiceLikeItr/declarations.gms diff --git a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt index 08a38da33..f46ff4339 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt @@ -23,7 +23,6 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms index 2c31c11d2..c1cb17c48 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms @@ -33,7 +33,7 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/DiceLikeItr/postsolve.gms diff --git a/modules/51_internalizeDamages/KWTCintItr/declarations.gms b/modules/51_internalizeDamages/KWTCintItr/declarations.gms index cab3c2ce1..f1f121ad6 100755 --- a/modules/51_internalizeDamages/KWTCintItr/declarations.gms +++ b/modules/51_internalizeDamages/KWTCintItr/declarations.gms @@ -16,7 +16,7 @@ p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region p51_sccPartsTC(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/KWTCintItr/declarations.gms diff --git a/modules/51_internalizeDamages/KWTCintItr/not_used.txt b/modules/51_internalizeDamages/KWTCintItr/not_used.txt index 69499cc6f..599fe3418 100755 --- a/modules/51_internalizeDamages/KWTCintItr/not_used.txt +++ b/modules/51_internalizeDamages/KWTCintItr/not_used.txt @@ -14,7 +14,6 @@ pm_damage,input,questionnaire pm_tall_2_ttot,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms index 1264b9261..7cf50a106 100755 --- a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms @@ -72,8 +72,8 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; diff --git a/modules/51_internalizeDamages/KW_SEitr/declarations.gms b/modules/51_internalizeDamages/KW_SEitr/declarations.gms index a2f86b483..83cd27d0d 100755 --- a/modules/51_internalizeDamages/KW_SEitr/declarations.gms +++ b/modules/51_internalizeDamages/KW_SEitr/declarations.gms @@ -13,7 +13,7 @@ p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last itera p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/KW_SEitr/declarations.gms diff --git a/modules/51_internalizeDamages/KW_SEitr/not_used.txt b/modules/51_internalizeDamages/KW_SEitr/not_used.txt index b4d9a6fc3..a1d65ba51 100755 --- a/modules/51_internalizeDamages/KW_SEitr/not_used.txt +++ b/modules/51_internalizeDamages/KW_SEitr/not_used.txt @@ -13,7 +13,6 @@ pm_temperatureImpulseResponseCO2,input,questionnaire pm_interpolWeight_ttot_tall,input,questionnaire pm_tall_2_ttot,input,questionnaire pm_tempScaleGlob2Reg,input,questionnaire -pm_damage,input,questionnaire pm_damageGrowthRate,input,questionnaire pm_damageMarginalT,input,questionnaire pm_damageMarginalTm1,input,questionnaire diff --git a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms index 8d53e3465..310510038 100755 --- a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms +++ b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms @@ -13,7 +13,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) * pm_GDPGross(tall2,regi2) - * (pm_damageScc(tall,tall2,regi2)-pm_damageImp(tall,tall2,regi2)) + * (pm_damage(tall2,regi2)-pm_damageImp(tall,tall2,regi2)) ; *convert unit from tr$/GtC to $/tCO2 as GDP is in tr$ and pulse is 1 GtC @@ -49,8 +49,8 @@ display pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/KW_SEitr/postsolve.gms diff --git a/modules/51_internalizeDamages/KWlikeItr/declarations.gms b/modules/51_internalizeDamages/KWlikeItr/declarations.gms index 850703479..054ae563c 100644 --- a/modules/51_internalizeDamages/KWlikeItr/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItr/declarations.gms @@ -14,7 +14,7 @@ p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last itera p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/KWlikeItr/declarations.gms diff --git a/modules/51_internalizeDamages/KWlikeItr/not_used.txt b/modules/51_internalizeDamages/KWlikeItr/not_used.txt index 73a60f0ef..56e98ee15 100644 --- a/modules/51_internalizeDamages/KWlikeItr/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItr/not_used.txt @@ -18,6 +18,5 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms index a41f7db7c..f7b5c63cf 100644 --- a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms @@ -57,8 +57,8 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms index 19a08d2ad..c33c1fd7f 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms @@ -14,7 +14,7 @@ p51_sccLastItr(tall,all_regi) "Social cost of carbon (due to GDP damages) from l p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation(all_regi) "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation(all_regi) "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt index 4713fdf9f..6c71fe4bf 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt @@ -19,6 +19,5 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms index 7580198c5..a10404b6e 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms @@ -55,8 +55,8 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation(regi) = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation(regi) = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms index f700d9bd4..db68197f8 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms @@ -14,7 +14,7 @@ p51_sccLastItr(tall,all_regi) "Social cost of carbon (due to GDP damages) from l p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation(all_regi) "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation(all_regi) "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt index 659794f4d..7c15785d8 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt @@ -18,6 +18,5 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms index b78aa050d..975ad0703 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms @@ -57,8 +57,8 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation(regi) = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation(regi) = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms diff --git a/modules/51_internalizeDamages/LabItr/declarations.gms b/modules/51_internalizeDamages/LabItr/declarations.gms index d6fba21bd..36e2d5343 100755 --- a/modules/51_internalizeDamages/LabItr/declarations.gms +++ b/modules/51_internalizeDamages/LabItr/declarations.gms @@ -12,7 +12,7 @@ p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last itera p51_sccParts(tall,tall,all_regi) "component needed for SCC calculation" p51_dy(tall,all_regi) "damage factor for GDP instead of labor" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" p51_labRho(tall,all_regi) "ces parameter rho for labor, needed for extension beyond 2150" p51_labXi(tall,all_regi) "ces parameter xi for labor, needed for extension beyond 2150" diff --git a/modules/51_internalizeDamages/LabItr/not_used.txt b/modules/51_internalizeDamages/LabItr/not_used.txt index 35b978b05..24b7f0225 100755 --- a/modules/51_internalizeDamages/LabItr/not_used.txt +++ b/modules/51_internalizeDamages/LabItr/not_used.txt @@ -17,7 +17,6 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/LabItr/postsolve.gms b/modules/51_internalizeDamages/LabItr/postsolve.gms index 30a065298..2d00dfdc1 100755 --- a/modules/51_internalizeDamages/LabItr/postsolve.gms +++ b/modules/51_internalizeDamages/LabItr/postsolve.gms @@ -71,8 +71,8 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: *p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/(p51_sccLastItr(tall)+1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/(p51_sccLastItr(tall)+1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/LabItr/postsolve.gms diff --git a/modules/51_internalizeDamages/TCitr/declarations.gms b/modules/51_internalizeDamages/TCitr/declarations.gms index 256abaf85..0bdc75adb 100755 --- a/modules/51_internalizeDamages/TCitr/declarations.gms +++ b/modules/51_internalizeDamages/TCitr/declarations.gms @@ -14,7 +14,7 @@ p51_scc(tall) "Social cost of carbon (due to GDP damages) [$ per tCO2eq]" p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last iteration [$ per tCO2eq]" p51_sccParts(tall,tall,all_regi) "Social cost of carbon components (time, region)" -p51_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" ; *** EOF ./modules/51_internalizeDamages/TCitr/declarations.gms diff --git a/modules/51_internalizeDamages/TCitr/not_used.txt b/modules/51_internalizeDamages/TCitr/not_used.txt index 325791090..c64d6eaba 100755 --- a/modules/51_internalizeDamages/TCitr/not_used.txt +++ b/modules/51_internalizeDamages/TCitr/not_used.txt @@ -22,6 +22,5 @@ pm_damageGrowthRateTC,input,questionnaire pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/TCitr/postsolve.gms b/modules/51_internalizeDamages/TCitr/postsolve.gms index 2cdadcc0e..567c5ba94 100755 --- a/modules/51_internalizeDamages/TCitr/postsolve.gms +++ b/modules/51_internalizeDamages/TCitr/postsolve.gms @@ -59,8 +59,8 @@ display p51_scc,pm_taxCO2eqSCC; * convergence indicator: -p51_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); -display p51_sccConvergenceMaxDeviation; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; *** EOF ./modules/51_internalizeDamages/TCitr/postsolve.gms diff --git a/modules/51_internalizeDamages/off/not_used.txt b/modules/51_internalizeDamages/off/not_used.txt index 6a8e69384..09a8db094 100644 --- a/modules/51_internalizeDamages/off/not_used.txt +++ b/modules/51_internalizeDamages/off/not_used.txt @@ -30,7 +30,7 @@ pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire -pm_damageScc,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire +pm_sccConvergenceMaxDeviation,input,questionnaire diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index 4c9967f1b..476941050 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -325,6 +325,13 @@ if (sm_globalBudget_dev gt 1.01 OR sm_globalBudget_dev lt 0.99, p80_messageShow("target") = YES; ); +*** additional criterion: if damage internalization is on, is damage iteration converged? +$ifthen.internalizeDamages not "%internalizeDamages%" == "off" + if(pm_sccConvergenceMaxDeviation > cm_sccConvergence OR pm_gmt_conv > cm_tempConvergence, + s80_bool = 0; + p80_messageShow("damage") = YES; + ); +$endIf.internalizeDamages display "####"; display "Convergence diagnostics"; @@ -414,6 +421,14 @@ $ifthen.cm_implicitPePriceTarget not "%cm_implicitPePriceTarget%" == "off" display pm_implicitPePrice_NotConv, pm_implicitPePrice_ignConv; ); $endIf.cm_implicitPePriceTarget +$ifthen.internalizeDamages not "%internalizeDamages%" == "off" + if(sameas(convMessage80,"damage"), + display "#### 11) The damage iteration did not converge."; + display "#### Check out below the values for pm_gmt_conv and pm_sccConvergenceMaxDeviation." + display "#### The should be below 0.05." + display pm_gmt_conv, pm_sccConvergenceMaxDeviation; + ); +$endIf.internalizeDamages ); display "See the indicators below to dig deeper on the respective reasons of non-convergence: " diff --git a/modules/80_optimization/nash/sets.gms b/modules/80_optimization/nash/sets.gms index 9d7e6ca5f..ba39af9b3 100644 --- a/modules/80_optimization/nash/sets.gms +++ b/modules/80_optimization/nash/sets.gms @@ -32,7 +32,7 @@ solvestat, modelstat, resusd, objval convMessage80 "contains possible reasons for failed convergence" / -infes,surplus,nonopt,taxconv,anticip,target,regiTarget,implicitEnergyTarget,cm_implicitPriceTarget,cm_implicitPePriceTarget +infes,surplus,nonopt,taxconv,anticip,target,regiTarget,implicitEnergyTarget,cm_implicitPriceTarget,cm_implicitPePriceTarget,damage / nash_sol_itr80 "nash iterations" / diff --git a/modules/80_optimization/negishi/not_used.txt b/modules/80_optimization/negishi/not_used.txt index 2a92fab47..1a1c66364 100644 --- a/modules/80_optimization/negishi/not_used.txt +++ b/modules/80_optimization/negishi/not_used.txt @@ -13,6 +13,10 @@ cm_solver_try_max, switch, not needed cm_TaxConvCheck, variable, ?? cm_emiMktTarget_tolerance, switch, not needed cm_implicitQttyTarget_tolerance, switch, not needed +cm_sccConvergence, switch, not needed +cm_tempConvergence, switch, not needed +pm_sccConvergenceMaxDeviation, parameter, ??? +pm_gmt_conv, parameter, ??? pm_budgetCO2eq, parameter, ??? pm_capCum0, parameter, ??? pm_cesdata, parameter, ??? diff --git a/modules/80_optimization/testOneRegi/not_used.txt b/modules/80_optimization/testOneRegi/not_used.txt index 1e3b7f301..a7d895f49 100644 --- a/modules/80_optimization/testOneRegi/not_used.txt +++ b/modules/80_optimization/testOneRegi/not_used.txt @@ -59,3 +59,7 @@ pm_implicitPePriceTarget, parameter, not needed pm_implicitPePrice_NotConv, parameter, not needed pm_implicitPePrice_ignConv, parameter, not needed cm_maxFadeOutPriceAnticip, parameter, ??? +cm_sccConvergence, switch, not needed +pm_sccConvergenceMaxDeviation, parameter, ??? +pm_gmt_conv, parameter, ??? +cm_tempConvergence, switch, not needed From f3bfa6327d890037df62f9ef8dbc7c7dbe50be85 Mon Sep 17 00:00:00 2001 From: piontek Date: Thu, 5 Oct 2023 13:35:03 +0200 Subject: [PATCH 2/4] set inequality reference to input_ref instead of input_bau --- modules/02_welfare/ineqLognormal/datainput.gms | 8 ++++---- modules/80_optimization/nash/postsolve.gms | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index ba97135f4..c8487605e 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -41,10 +41,10 @@ display p02_ineqTheil; * for a policy run, we need to load values coming from the baseline for consumption, tax revenues and energy expenditures: if ((cm_emiscen ne 1), - Execute_Loadpoint 'input_bau' p02_taxrev_redistr0_ref=v02_taxrev_Add.l; - Execute_Loadpoint 'input_bau' p02_cons_ref=vm_cons.l; - Execute_Loadpoint 'input_bau' p02_energyExp_ref=v02_energyExp.l; - Execute_Loadpoint 'input_bau' p02_damageFactor_ref=vm_damageFactor.l; + Execute_Loadpoint 'input_ref' p02_taxrev_redistr0_ref=v02_taxrev_Add.l; + Execute_Loadpoint 'input_ref' p02_cons_ref=vm_cons.l; + Execute_Loadpoint 'input_ref' p02_energyExp_ref=v02_energyExp.l; + Execute_Loadpoint 'input_ref' p02_damageFactor_ref=vm_damageFactor.l; * if energy system costs are used: * Execute_Loadpoint 'input_bau' p02_energyExp_ref=vm_costEnergySys.l; diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index 476941050..8e8327bf5 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -425,7 +425,7 @@ $ifthen.internalizeDamages not "%internalizeDamages%" == "off" if(sameas(convMessage80,"damage"), display "#### 11) The damage iteration did not converge."; display "#### Check out below the values for pm_gmt_conv and pm_sccConvergenceMaxDeviation." - display "#### The should be below 0.05." + display "#### They should be below 0.05." display pm_gmt_conv, pm_sccConvergenceMaxDeviation; ); $endIf.internalizeDamages From c8ead8ad62a2645d80770778502d97a0970da6de Mon Sep 17 00:00:00 2001 From: piontek Date: Thu, 5 Oct 2023 13:35:03 +0200 Subject: [PATCH 3/4] set inequality reference to input_ref instead of input_bau --- modules/02_welfare/ineqLognormal/datainput.gms | 8 ++++---- modules/80_optimization/nash/postsolve.gms | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index ba97135f4..c8487605e 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -41,10 +41,10 @@ display p02_ineqTheil; * for a policy run, we need to load values coming from the baseline for consumption, tax revenues and energy expenditures: if ((cm_emiscen ne 1), - Execute_Loadpoint 'input_bau' p02_taxrev_redistr0_ref=v02_taxrev_Add.l; - Execute_Loadpoint 'input_bau' p02_cons_ref=vm_cons.l; - Execute_Loadpoint 'input_bau' p02_energyExp_ref=v02_energyExp.l; - Execute_Loadpoint 'input_bau' p02_damageFactor_ref=vm_damageFactor.l; + Execute_Loadpoint 'input_ref' p02_taxrev_redistr0_ref=v02_taxrev_Add.l; + Execute_Loadpoint 'input_ref' p02_cons_ref=vm_cons.l; + Execute_Loadpoint 'input_ref' p02_energyExp_ref=v02_energyExp.l; + Execute_Loadpoint 'input_ref' p02_damageFactor_ref=vm_damageFactor.l; * if energy system costs are used: * Execute_Loadpoint 'input_bau' p02_energyExp_ref=vm_costEnergySys.l; diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index 476941050..8e8327bf5 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -425,7 +425,7 @@ $ifthen.internalizeDamages not "%internalizeDamages%" == "off" if(sameas(convMessage80,"damage"), display "#### 11) The damage iteration did not converge."; display "#### Check out below the values for pm_gmt_conv and pm_sccConvergenceMaxDeviation." - display "#### The should be below 0.05." + display "#### They should be below 0.05." display pm_gmt_conv, pm_sccConvergenceMaxDeviation; ); $endIf.internalizeDamages From 3966f819a3d86d3d0cb19ec938e5a340d27337fe Mon Sep 17 00:00:00 2001 From: piontek Date: Thu, 5 Oct 2023 13:57:11 +0200 Subject: [PATCH 4/4] fix unintended changes --- core/sets.gms | 172 +++++++++---------- modules/29_CES_parameters/load/datainput.gms | 2 +- 2 files changed, 83 insertions(+), 91 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index b56b58b09..6e0d7cf63 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -754,20 +754,20 @@ sets ext_regi "extended regions list (includes subsets of H12 regions)" / GLO, - LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,EU27_regi,NEU_UKI_regi, - OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA + LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi, + LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA / - all_regi "all regions" /OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA/ + all_regi "all regions" /LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA/ regi_group(ext_regi,all_regi) "region groups (regions that together corresponds to a H12 region)" / - GLO.( OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA ) + GLO.( LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA ) LAM_regi .(LAM) OAS_regi .(OAS) SSA_regi .(SSA) - EUR_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW) - NEU_regi .(NES,NEN) + EUR_regi .(EUR) + NEU_regi .(NEU) MEA_regi .(MEA) REF_regi .(REF) CAZ_regi .(CAZ) @@ -775,110 +775,102 @@ sets IND_regi .(IND) JPN_regi .(JPN) USA_regi .(USA) - EU27_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,ESW) - NEU_UKI_regi .(NES,NEN,UKI) / iso "list of iso countries" / - AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, - ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, - BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, - BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, - CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, - COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, - DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, - ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, - GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, - GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, - HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, - JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, - KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, - MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, - MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, - MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, - NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, - PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, - REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, - VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, - SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, - SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, - THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, - TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, - VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / + ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, + ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, + BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, + BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, + CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, + COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, + DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, + EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, + GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, + GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, + HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, + ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, + KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, + LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, + MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, + MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, + NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, + NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, + PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, + RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, + SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, + SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, + TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, + UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, + VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / regi2iso(all_regi,iso) "mapping regions to iso countries" / - OAS . (AFG,ASM,BGD,BTN,IOT,BRN,KHM,CXR,CCK,COK) - OAS . (FJI,PYF,ATF,GUM,IDN,KIR,PRK,KOR,LAO,MYS) - OAS . (MDV,MHL,FSM,MNG,MMR,NRU,NPL,NCL,NIU,NFK) - OAS . (MNP,PAK,PLW,PNG,PHL,PCN,WSM,SGP,SLB,LKA) - OAS . (THA,TLS,TKL,TON,TUV,UMI,VUT,VNM,WLF) - ENC . (ALA,DNK,FRO,FIN,SWE) - NES . (ALB,AND,BIH,VAT,MKD,MCO,MNE,SMR,SRB,TUR) - MEA . (DZA,BHR,EGY,IRN,IRQ,ISR,JOR,KWT,LBN,LBY) - MEA . (MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN,ARE,ESH) - MEA . (YEM) - SSA . (AGO,BEN,BWA,BFA,BDI,CMR,CPV,CAF,TCD,COM) - SSA . (COG,COD,CIV,DJI,GNQ,ERI,ETH,GAB,GMB,GHA) - SSA . (GIN,GNB,KEN,LSO,LBR,MDG,MWI,MLI,MRT,MUS) - SSA . (MYT,MOZ,NAM,NER,NGA,REU,RWA,SHN,STP,SEN) - SSA . (SYC,SLE,SOM,ZAF,SSD,SWZ,TZA,TGO,UGA,ZMB) + LAM . (ABW,AIA,ARG,ATA,ATG,BES,BHS,BLM,BLZ,BMU) + LAM . (BOL,BRA,BRB,BVT,CHL,COL,CRI,CUB,CUW,CYM) + LAM . (DMA,DOM,ECU,FLK,GLP,GRD,GTM,GUF,GUY,HND) + LAM . (HTI,JAM,KNA,LCA,MAF,MEX,MSR,MTQ,NIC,PAN) + LAM . (PER,PRI,PRY,SGS,SLV,SUR,SXM,TCA,TTO,URY) + LAM . (VCT,VEN,VGB,VIR) + OAS . (AFG,ASM,ATF,BGD,BRN,BTN,CCK,COK,CXR,FJI) + OAS . (FSM,GUM,IDN,IOT,KHM,KIR,KOR,LAO,LKA,MDV) + OAS . (MHL,MMR,MNG,MNP,MYS,NCL,NFK,NIU,NPL,NRU) + OAS . (PAK,PCN,PHL,PLW,PNG,PRK,PYF,SGP,SLB,THA) + OAS . (TKL,TLS,TON,TUV,UMI,VNM,VUT,WLF,WSM) + SSA . (AGO,BDI,BEN,BFA,BWA,CAF,CIV,CMR,COD,COG) + SSA . (COM,CPV,DJI,ERI,ETH,GAB,GHA,GIN,GMB,GNB) + SSA . (GNQ,KEN,LBR,LSO,MDG,MLI,MOZ,MRT,MUS,MWI) + SSA . (MYT,NAM,NER,NGA,REU,RWA,SEN,SHN,SLE,SOM) + SSA . (SSD,STP,SWZ,SYC,TCD,TGO,TZA,UGA,ZAF,ZMB) SSA . (ZWE) - LAM . (AIA,ATA,ATG,ARG,ABW,BHS,BRB,BLZ,BMU,BOL) - LAM . (BES,BVT,BRA,CYM,CHL,COL,CRI,CUB,CUW,DMA) - LAM . (DOM,ECU,SLV,FLK,GUF,GRD,GLP,GTM,GUY,HTI) - LAM . (HND,JAM,MTQ,MEX,MSR,NIC,PAN,PRY,PER,PRI) - LAM . (BLM,KNA,LCA,MAF,VCT,SXM,SGS,SUR,TTO,TCA) - LAM . (URY,VEN,VGB,VIR) + EUR . (ALA,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST) + EUR . (FIN,FRA,FRO,GBR,GGY,GIB,GRC,HRV,HUN,IMN) + EUR . (IRL,ITA,JEY,LTU,LUX,LVA,MLT,NLD,POL,PRT) + EUR . (ROU,SVK,SVN,SWE) + NEU . (ALB,AND,BIH,CHE,GRL,ISL,LIE,MCO,MKD,MNE) + NEU . (NOR,SJM,SMR,SRB,TUR,VAT) + MEA . (ARE,BHR,DZA,EGY,ESH,IRN,IRQ,ISR,JOR,KWT) + MEA . (LBN,LBY,MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN) + MEA . (YEM) REF . (ARM,AZE,BLR,GEO,KAZ,KGZ,MDA,RUS,TJK,TKM) REF . (UKR,UZB) CAZ . (AUS,CAN,HMD,NZL,SPM) - EWN . (AUT,BEL,LUX,NLD) - ECS . (BGR,HRV,HUN,ROU,SVN) CHA . (CHN,HKG,MAC,TWN) - ESC . (CYP,GRC,ITA,MLT) - ECE . (CZE,EST,LVA,LTU,POL,SVK) - FRA . (FRA) - DEU . (DEU) - UKI . (GIB,GGY,IRL,IMN,JEY,GBR) - NEN . (GRL,ISL,LIE,NOR,SJM,CHE) IND . (IND) JPN . (JPN) - ESW . (PRT,ESP) USA . (USA) / iso_regi "all iso countries and EU and greater China region" / EUR,CHA, - AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, - ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, - BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, - BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, - CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, - COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, - DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, - ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, - GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, - GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, - HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, - JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, - KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, - MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, - MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, - MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, - NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, - PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, - REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, - VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, - SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, - SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, - THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, - TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, - VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / + ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, + ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, + BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, + BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, + CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, + COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, + DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, + EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, + GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, + GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, + HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, + ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, + KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, + LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, + MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, + MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, + NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, + NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, + PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, + RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, + SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, + SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, + TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, + UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, + VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / map_iso_regi(iso_regi,all_regi) "mapping from iso countries to regions that represent country" / + EUR . EUR CHA . CHA - FRA . FRA - DEU . DEU IND . IND JPN . JPN USA . USA diff --git a/modules/29_CES_parameters/load/datainput.gms b/modules/29_CES_parameters/load/datainput.gms index 41672e3b2..0d4d0ef11 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/indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2EU-GDP_gdp_SSP2EU-En_gdp_SSP2EU-Kap_debt_limit-Reg_2b1450bc.inc" +$include "./modules/29_CES_parameters/load/input/indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.inc" *###################### R SECTION END (CES INPUT) ###########################