Skip to content

Commit

Permalink
Lasted IRP report changes: New scenario list including USA sensitivity.
Browse files Browse the repository at this point in the history
  • Loading branch information
= committed Oct 4, 2019
1 parent b38b235 commit a124ae2
Show file tree
Hide file tree
Showing 8 changed files with 99 additions and 25 deletions.
Binary file modified RECC_Config_V2_2.xlsx
Binary file not shown.
26 changes: 19 additions & 7 deletions RECC_G7IC_Cascade_PassVehicles_V2_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,21 +32,24 @@ def main(RegionalScope,PassVehList):
NE = 7 # no of Res. eff. scenarios

CumEmsV = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
CumEmsV2060 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
AnnEmsV2030 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
AnnEmsV2050 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
ASummaryV = np.zeros((9,NE)) # For direct copy-paste to Excel
ASummaryV = np.zeros((12,NE)) # For direct copy-paste to Excel
AvgDecadalEmsV = np.zeros((NS,NE,4)) # SSP-Scenario x RES scenario, RCP is fixed: RCP2.6
# for materials:
MatCumEmsV = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatCumEmsV2060 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2030 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2050 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatSummaryV = np.zeros((9,NE)) # For direct copy-paste to Excel
MatSummaryV = np.zeros((12,NE)) # For direct copy-paste to Excel
AvgDecadalMatEmsV = np.zeros((NS,NE,4)) # SSP-Scenario x RES scenario, RCP is fixed: RCP2.6
# for materials incl. recycling credit:
MatCumEmsVC = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatCumEmsVC2060 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2030C = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2050C = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatSummaryVC = np.zeros((9,NE)) # For direct copy-paste to Excel
MatSummaryVC = np.zeros((12,NE)) # For direct copy-paste to Excel
AvgDecadalMatEmsVC= np.zeros((NS,NE,4)) # SSP-Scenario x RES scenario, RCP is fixed: RCP2.6


Expand All @@ -58,6 +61,8 @@ def main(RegionalScope,PassVehList):
for c in range(0,NR):
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
CumEmsV[s,c,r] += Resultsheet.cell_value(t +2, 1 + c + NR*s)
for t in range(0,45): # time until 2060.
CumEmsV2060[s,c,r] += Resultsheet.cell_value(t +2, 1 + c + NR*s)
AnnEmsV2030[s,c,r] = Resultsheet.cell_value(16 , 1 + c + NR*s)
AnnEmsV2050[s,c,r] = Resultsheet.cell_value(36 , 1 + c + NR*s)
AvgDecadalEmsV[s,r,0] = sum([Resultsheet.cell_value(i, 2*(s+1)) for i in range(7,17)])/10
Expand All @@ -67,7 +72,8 @@ def main(RegionalScope,PassVehList):

ASummaryV[0:3,:] = AnnEmsV2030[:,1,:].copy() # RCP is fixed: RCP2.6
ASummaryV[3:6,:] = AnnEmsV2050[:,1,:].copy() # RCP is fixed: RCP2.6
ASummaryV[6::,:] = CumEmsV[:,1,:].copy() # RCP is fixed: RCP2.6
ASummaryV[6:9,:] = CumEmsV[:,1,:].copy() # RCP is fixed: RCP2.6
ASummaryV[9::,:] = CumEmsV2060[:,1,:].copy() # RCP is fixed: RCP2.6

# Waterfall plot
MyColorCycle = pylab.cm.Set1(np.arange(0,1,0.14)) # select 12 colors from the 'Paired' color map.
Expand Down Expand Up @@ -191,6 +197,8 @@ def main(RegionalScope,PassVehList):
for c in range(0,NR):
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
MatCumEmsV[s,c,r] += Resultsheet2.cell_value(mci+ 2*s +c,t+8)
for t in range(0,45): # time until 2060.
MatCumEmsV2060[s,c,r] += Resultsheet2.cell_value(mci+ 2*s +c,t+8)
MatAnnEmsV2030[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,22)
MatAnnEmsV2050[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,42)
AvgDecadalMatEmsV[s,r,0] = sum([Resultsheet2.cell_value(mci+ 2*s +1,t) for t in range(13,23)])/10
Expand All @@ -202,6 +210,8 @@ def main(RegionalScope,PassVehList):
for c in range(0,NR):
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
MatCumEmsVC[s,c,r]+= Resultsheet2.cell_value(mci+ 2*s +c,t+8) + Resultsheet2.cell_value(rci+ 2*s +c,t+8)
for t in range(0,45): # time until 2060.
MatCumEmsVC2060[s,c,r]+= Resultsheet2.cell_value(mci+ 2*s +c,t+8) + Resultsheet2.cell_value(rci+ 2*s +c,t+8)
MatAnnEmsV2030C[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,22) + Resultsheet2.cell_value(rci+ 2*s +c,22)
MatAnnEmsV2050C[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,42) + Resultsheet2.cell_value(rci+ 2*s +c,42)
AvgDecadalMatEmsVC[s,r,0] = sum([Resultsheet2.cell_value(mci+ 2*s +1,t) for t in range(13,23)])/10 + sum([Resultsheet2.cell_value(rci+ 2*s +1,t) for t in range(13,23)])/10
Expand All @@ -211,11 +221,13 @@ def main(RegionalScope,PassVehList):

MatSummaryV[0:3,:] = MatAnnEmsV2030[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[3:6,:] = MatAnnEmsV2050[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[6::,:] = MatCumEmsV[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[6:9,:] = MatCumEmsV[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[9::,:] = MatCumEmsV2060[:,1,:].copy() # RCP is fixed: RCP2.6

MatSummaryVC[0:3,:]= MatAnnEmsV2030C[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[3:6,:]= MatAnnEmsV2050C[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[6::,:]= MatCumEmsVC[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[6:9,:]= MatCumEmsVC[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[9::,:]= MatCumEmsVC2060[:,1,:].copy() # RCP is fixed: RCP2.6

# Area plot, stacked, GHG emissions, system
MyColorCycle = pylab.cm.Set1(np.arange(0,1,0.1)) # select colors from the 'Paired' color map.
Expand Down Expand Up @@ -300,7 +312,7 @@ def main(RegionalScope,PassVehList):
for c in range(0,NR):
for t in range(0,45): # timeAnnEmsV_SecondarySteel[t,s,c,r] = Resultsheet2.cell_value(151+ 2*s +c,t+8)
AnnEmsV_PrimarySteel[t,s,c,r] = Resultsheet2.cell_value(19+ 2*s +c,t+8)
AnnEmsV_SecondarySteel[t,s,c,r] = Resultsheet2.cell_value(151+ 2*s +c,t+8)
AnnEmsV_SecondarySteel[t,s,c,r] = Resultsheet2.cell_value(163+ 2*s +c,t+8)

Title = ['primary_steel','secondary_steel']
Sector = ['Passenger vehicles']
Expand Down
26 changes: 19 additions & 7 deletions RECC_G7IC_Cascade_ResBuildings_V2_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,24 @@ def main(RegionalScope,ResBldgsList):
NE = 6 # no of Res. eff. scenarios

CumEmsV = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
CumEmsV2060 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
AnnEmsV2030 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
AnnEmsV2050 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
ASummaryV = np.zeros((9,NE)) # For direct copy-paste to Excel
ASummaryV = np.zeros((12,NE)) # For direct copy-paste to Excel
AvgDecadalEmsV = np.zeros((NS,NE,4)) # SSP-Scenario x RES scenario, RCP fixed to RCP2.6
# for materials:
MatCumEmsV = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatCumEmsV2060 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2030 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2050 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatSummaryV = np.zeros((9,NE)) # For direct copy-paste to Excel
MatSummaryV = np.zeros((12,NE)) # For direct copy-paste to Excel
AvgDecadalMatEmsV = np.zeros((NS,NE,4)) # SSP-Scenario x RES scenario, RCP is fixed: RCP2.6
# for materials incl. recycling credit:
MatCumEmsVC = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatCumEmsVC2060 = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2030C = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatAnnEmsV2050C = np.zeros((NS,NR,NE)) # SSP-Scenario x RCP scenario x RES scenario
MatSummaryVC = np.zeros((9,NE)) # For direct copy-paste to Excel
MatSummaryVC = np.zeros((12,NE)) # For direct copy-paste to Excel
AvgDecadalMatEmsVC= np.zeros((NS,NE,4)) # SSP-Scenario x RES scenario, RCP is fixed: RCP2.6

for r in range(0,NE): # RE scenario
Expand All @@ -56,6 +59,8 @@ def main(RegionalScope,ResBldgsList):
for c in range(0,NR):
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
CumEmsV[s,c,r] += Resultsheet.cell_value(t +2, 1 + c + NR*s)
for t in range(0,45): # time until 2060.
CumEmsV2060[s,c,r] += Resultsheet.cell_value(t +2, 1 + c + NR*s)
AnnEmsV2030[s,c,r] = Resultsheet.cell_value(16 , 1 + c + NR*s)
AnnEmsV2050[s,c,r] = Resultsheet.cell_value(36 , 1 + c + NR*s)
AvgDecadalEmsV[s,r,0] = sum([Resultsheet.cell_value(i, 2*(s+1)) for i in range(7,17)])/10
Expand All @@ -65,7 +70,8 @@ def main(RegionalScope,ResBldgsList):

ASummaryV[0:3,:] = AnnEmsV2030[:,1,:].copy()
ASummaryV[3:6,:] = AnnEmsV2050[:,1,:].copy()
ASummaryV[6::,:] = CumEmsV[:,1,:].copy()
ASummaryV[6:9,:] = CumEmsV[:,1,:].copy()
ASummaryV[9::,:] = CumEmsV2060[:,1,:].copy()

# Waterfall plot
MyColorCycle = pylab.cm.Set1(np.arange(0,1,0.14)) # select 12 colors from the 'Paired' color map.
Expand Down Expand Up @@ -186,6 +192,8 @@ def main(RegionalScope,ResBldgsList):
for c in range(0,NR):
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
MatCumEmsV[s,c,r] += Resultsheet2.cell_value(mci+ 2*s +c,t+8)
for t in range(0,45): # time until 2060.
MatCumEmsV2060[s,c,r] += Resultsheet2.cell_value(mci+ 2*s +c,t+8)
MatAnnEmsV2030[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,22)
MatAnnEmsV2050[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,42)
AvgDecadalMatEmsV[s,r,0] = sum([Resultsheet2.cell_value(mci+ 2*s +1,t) for t in range(13,23)])/10
Expand All @@ -197,6 +205,8 @@ def main(RegionalScope,ResBldgsList):
for c in range(0,NR):
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
MatCumEmsVC[s,c,r]+= Resultsheet2.cell_value(mci+ 2*s +c,t+8) + Resultsheet2.cell_value(rci+ 2*s +c,t+8)
for t in range(0,45): # time until 2060.
MatCumEmsVC2060[s,c,r]+= Resultsheet2.cell_value(mci+ 2*s +c,t+8) + Resultsheet2.cell_value(rci+ 2*s +c,t+8)
MatAnnEmsV2030C[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,22) + Resultsheet2.cell_value(rci+ 2*s +c,22)
MatAnnEmsV2050C[s,c,r] = Resultsheet2.cell_value(mci+ 2*s +c,42) + Resultsheet2.cell_value(rci+ 2*s +c,42)
AvgDecadalMatEmsVC[s,r,0] = sum([Resultsheet2.cell_value(mci+ 2*s +1,t) for t in range(13,23)])/10 + sum([Resultsheet2.cell_value(rci+ 2*s +1,t) for t in range(13,23)])/10
Expand All @@ -206,11 +216,13 @@ def main(RegionalScope,ResBldgsList):

MatSummaryV[0:3,:] = MatAnnEmsV2030[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[3:6,:] = MatAnnEmsV2050[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[6::,:] = MatCumEmsV[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[6:9,:] = MatCumEmsV[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryV[9::,:] = MatCumEmsV2060[:,1,:].copy() # RCP is fixed: RCP2.6

MatSummaryVC[0:3,:]= MatAnnEmsV2030C[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[3:6,:]= MatAnnEmsV2050C[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[6::,:]= MatCumEmsVC[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[6:9,:]= MatCumEmsVC[:,1,:].copy() # RCP is fixed: RCP2.6
MatSummaryVC[9::,:]= MatCumEmsVC2060[:,1,:].copy() # RCP is fixed: RCP2.6

# Area plot, stacked, GHG emissions, system
MyColorCycle = pylab.cm.Set1(np.arange(0,1,0.1)) # select colors from the 'Paired' color map.
Expand Down Expand Up @@ -295,7 +307,7 @@ def main(RegionalScope,ResBldgsList):
for c in range(0,NR):
for t in range(0,45): # timeAnnEmsV_SecondarySteel[t,s,c,r] = Resultsheet2.cell_value(151+ 2*s +c,t+8)
AnnEmsV_PrimarySteel[t,s,c,r] = Resultsheet2.cell_value(19+ 2*s +c,t+8)
AnnEmsV_SecondarySteel[t,s,c,r] = Resultsheet2.cell_value(151+ 2*s +c,t+8)
AnnEmsV_SecondarySteel[t,s,c,r] = Resultsheet2.cell_value(163+ 2*s +c,t+8)

Title = ['primary_steel','secondary_steel']
Sector = ['Residential_Buildings']
Expand Down
13 changes: 11 additions & 2 deletions RECC_G7IC_Sensitivity_PassVehicles_V2_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,19 @@ def main(RegionalScope,PassVehList):
NR = 11

CumEmsV_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
CumEmsV_Sens2060 = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
AnnEmsV2030_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
AnnEmsV2050_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
AvgDecadalEms = np.zeros((NS,NR,4)) # SSP-Scenario x RES scenario x 4 decades
# for materials:
MatCumEmsV_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenarioß
MatCumEmsV_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatCumEmsV_Sens2060 = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatAnnEmsV2030_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatAnnEmsV2050_Sens = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatAvgDecadalEms = np.zeros((NS,NR,4)) # SSP-Scenario x RES scenario x 4 decades
# for materials incl. recycling credit:
MatCumEmsV_SensC = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatCumEmsV_SensC2060 = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatAnnEmsV2030_SensC = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatAnnEmsV2050_SensC = np.zeros((NS,NR)) # SSP-Scenario x RES scenario
MatAvgDecadalEmsC = np.zeros((NS,NR,4)) # SSP-Scenario x RES scenario x 4 decades
Expand All @@ -58,6 +61,8 @@ def main(RegionalScope,PassVehList):
for s in range(0,NS): # SSP scenario
for t in range(0,35): # time
CumEmsV_Sens[s,r] += Resultsheet.cell_value(t +2, 2*(s+1))
for t in range(0,45): # time
CumEmsV_Sens2060[s,r] += Resultsheet.cell_value(t +2, 2*(s+1))
AnnEmsV2030_Sens[s,r] = Resultsheet.cell_value(16 , 2*(s+1))
AnnEmsV2050_Sens[s,r] = Resultsheet.cell_value(36 , 2*(s+1))
AvgDecadalEms[s,r,0] = sum([Resultsheet.cell_value(i, 2*(s+1)) for i in range(7,17)])/10
Expand Down Expand Up @@ -85,6 +90,8 @@ def main(RegionalScope,PassVehList):
for s in range(0,NS): # SSP scenario
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
MatCumEmsV_Sens[s,r] += Resultsheet2.cell_value(mci+ 2*s +1,t+8)
for t in range(0,45): # time until 2060.
MatCumEmsV_Sens2060[s,r] += Resultsheet2.cell_value(mci+ 2*s +1,t+8)
MatAnnEmsV2030_Sens[s,r] = Resultsheet2.cell_value(mci+ 2*s +1,22)
MatAnnEmsV2050_Sens[s,r] = Resultsheet2.cell_value(mci+ 2*s +1,42)
MatAvgDecadalEms[s,r,0] = sum([Resultsheet2.cell_value(mci+ 2*s +1,t) for t in range(13,23)])/10
Expand All @@ -95,6 +102,8 @@ def main(RegionalScope,PassVehList):
for s in range(0,NS): # SSP scenario
for t in range(0,35): # time until 2050 only!!! Cum. emissions until 2050.
MatCumEmsV_SensC[s,r]+= Resultsheet2.cell_value(mci+ 2*s +1,t+8) + Resultsheet2.cell_value(rci+ 2*s +1,t+8)
for t in range(0,45): # time until 2060.
MatCumEmsV_SensC2060[s,r]+= Resultsheet2.cell_value(mci+ 2*s +1,t+8) + Resultsheet2.cell_value(rci+ 2*s +1,t+8)
MatAnnEmsV2030_SensC[s,r] = Resultsheet2.cell_value(mci+ 2*s +1,22) + Resultsheet2.cell_value(rci+ 2*s +1,22)
MatAnnEmsV2050_SensC[s,r] = Resultsheet2.cell_value(mci+ 2*s +1,42) + Resultsheet2.cell_value(rci+ 2*s +1,42)
MatAvgDecadalEmsC[s,r,0] = sum([Resultsheet2.cell_value(mci+ 2*s +1,t) for t in range(13,23)])/10 + sum([Resultsheet2.cell_value(rci+ 2*s +1,t) for t in range(13,23)])/10
Expand Down Expand Up @@ -215,7 +224,7 @@ def main(RegionalScope,PassVehList):
fig_name = 'Cum_GHG_Sens_' + Region + '_ ' + Title[0] + '_' + Scens[m] + '.png'
fig.savefig(os.path.join(RECC_Paths.results_path,fig_name), dpi = 400, bbox_inches='tight')

return CumEmsV_Sens, AnnEmsV2030_Sens, AnnEmsV2050_Sens, AvgDecadalEms, MatCumEmsV_Sens, MatAnnEmsV2030_Sens, MatAnnEmsV2050_Sens, MatAvgDecadalEms, MatCumEmsV_SensC, MatAnnEmsV2030_SensC, MatAnnEmsV2050_SensC, MatAvgDecadalEmsC
return CumEmsV_Sens, AnnEmsV2030_Sens, AnnEmsV2050_Sens, AvgDecadalEms, MatCumEmsV_Sens, MatAnnEmsV2030_Sens, MatAnnEmsV2050_Sens, MatAvgDecadalEms, MatCumEmsV_SensC, MatAnnEmsV2030_SensC, MatAnnEmsV2050_SensC, MatAvgDecadalEmsC, CumEmsV_Sens2060, MatCumEmsV_Sens2060, MatCumEmsV_SensC2060


# code for script to be run as standalone function
Expand Down
Loading

0 comments on commit a124ae2

Please sign in to comment.