diff --git a/inputs/storage/cap_existing_psh_ORNL.csv b/inputs/storage/cap_existing_psh_ORNL.csv new file mode 100644 index 00000000..998fb290 --- /dev/null +++ b/inputs/storage/cap_existing_psh_ORNL.csv @@ -0,0 +1,36 @@ +*i,v,r,operational_capacity_MW,pump_capacity_MW,max_energy_MWh +pumped-hydro,init-1,p04013,194.1,194.1,3833.4 +pumped-hydro,init-1,p05019,28.0,28.0,112.0 +pumped-hydro,init-1,p06007,375.6,375.6,20885.6 +pumped-hydro,init-1,p06019,1252.8,1252.8,127784.5 +pumped-hydro,init-1,p06025,7.2,7.2,68.2 +pumped-hydro,init-1,p06037,1631.4,1631.4,16281.6 +pumped-hydro,init-1,p06047,449.2,449.2,3718.7 +pumped-hydro,init-1,p06073,42.0,42.0,252.0 +pumped-hydro,init-1,p08019,300.0,300.0,1200.0 +pumped-hydro,init-1,p08065,200.0,200.0,2400.0 +pumped-hydro,init-1,p08069,8.5,8.5,611.5 +pumped-hydro,init-1,p09190,31.0,31.0,12603.4 +pumped-hydro,init-1,p13115,847.8,847.8,6104.2 +pumped-hydro,init-1,p13213,250.0,250.0,54192.9 +pumped-hydro,init-1,p13237,208.8,208.8,2886.8 +pumped-hydro,init-1,p25011,1768.0,1768.0,11853.4 +pumped-hydro,init-1,p26105,1978.8,1978.8,15830.4 +pumped-hydro,init-1,p29015,161.4,161.4,6580.8 +pumped-hydro,init-1,p29173,31.0,31.0,1160.3 +pumped-hydro,init-1,p29179,408.0,408.0,3264.0 +pumped-hydro,init-1,p34041,453.0,453.0,2718.0 +pumped-hydro,init-1,p36063,240.0,240.0,1954.8 +pumped-hydro,init-1,p36095,1000.0,1000.0,15000.0 +pumped-hydro,init-1,p37039,95.0,95.0,4454.3 +pumped-hydro,init-1,p40097,259.2,259.2,7966.3 +pumped-hydro,init-1,p42071,1072.0,1072.0,15329.6 +pumped-hydro,init-1,p42123,469.0,469.0,5252.8 +pumped-hydro,init-1,p45001,328.0,328.0,1319.4 +pumped-hydro,init-1,p45039,587.2,587.2,4092.8 +pumped-hydro,init-1,p45073,2070.0,2070.0,103473.0 +pumped-hydro,init-1,p47065,1713.6,1713.6,37699.2 +pumped-hydro,init-1,p49041,0.1,0.1,0.6 +pumped-hydro,init-1,p51017,2862.0,2862.0,29478.6 +pumped-hydro,init-1,p51067,247.3,247.3,7797.8 +pumped-hydro,init-1,p53025,314.0,314.0,25120.0 diff --git a/reeds/core/setup/b_inputs.gms b/reeds/core/setup/b_inputs.gms index 83a4fd6f..c23f3b0e 100644 --- a/reeds/core/setup/b_inputs.gms +++ b/reeds/core/setup/b_inputs.gms @@ -5267,6 +5267,7 @@ $onlisting $offempty * Note that this PSH duration overwrites what is contained in storage_duration.csv +* and will be overridden by data in storage_duration_pshdata.csv if durations for existing PSH are used storage_duration(i)$psh(i) = psh_sc_duration ; storage_duration(i)$[i_water_cooling(i)$Sw_WaterMain] = diff --git a/reeds/core/setup/c_model.gms b/reeds/core/setup/c_model.gms index c6a8b834..d9be919f 100644 --- a/reeds/core/setup/c_model.gms +++ b/reeds/core/setup/c_model.gms @@ -3162,7 +3162,7 @@ eq_storage_duration(i,v,r,h,t)$[valgen(i,v,r,t)$valcap(i,v,r,t) $(not storage_interday(i))].. * [plus] storage duration times storage capacity for fixed-duration techs - storage_duration(i) * CAP(i,v,r,t) * (1$CSP_Storage(i) + 1$psh(i) + bcr(i)$pvb(i)) + storage_duration_m(i,v,r) * CAP(i,v,r,t) * (1$CSP_Storage(i) + 1$psh(i) + bcr(i)$pvb(i)) * [plus] EVMC storage has time-varying energy capacity + evmc_storage_energy_hours(i,r,h,t) * CAP(i,v,r,t) * (bcr(i)$evmc_storage(i)) @@ -3313,7 +3313,7 @@ eq_storage_interday_min_level_end(i,v,r,allszn,t)$[valgen(i,v,r,t)$storage_inter eq_storage_interday_max_level_start(i,v,r,allszn,t)$[valgen(i,v,r,t)$storage_interday(i)$tmodel(t)$numpartitions(allszn)].. * Fixed-duration storage - storage_duration(i) * CAP(i,v,r,t)$(not battery(i)) + storage_duration_m(i,v,r) * CAP(i,v,r,t)$(not battery(i)) * Variable-duration storage + CAP_ENERGY(i,v,r,t)$battery(i) @@ -3331,7 +3331,7 @@ eq_storage_interday_max_level_start(i,v,r,allszn,t)$[valgen(i,v,r,t)$storage_int * This is to make sure not only their hour 0 but also the highest point of the last period of each partition is greater than maximum capacity eq_storage_interday_max_level_end(i,v,r,allszn,t)$[valgen(i,v,r,t)$storage_interday(i)$tmodel(t)$numpartitions(allszn)].. - storage_duration(i) * CAP(i,v,r,t)$(not battery(i)) + storage_duration_m(i,v,r) * CAP(i,v,r,t)$(not battery(i)) + CAP_ENERGY(i,v,r,t)$battery(i) diff --git a/reeds/core/terminus/report.gms b/reeds/core/terminus/report.gms index bb729367..f6618830 100644 --- a/reeds/core/terminus/report.gms +++ b/reeds/core/terminus/report.gms @@ -910,10 +910,10 @@ cap_sdbin_out(i,r,ccseason,sdbin,t)$valcap_irt(i,r,t) = sum{v, CAP_SDBIN.l(i,v,r * energy capacity of storage stor_energy_cap(i,v,r,t)$[tmodel_new(t)$valcap(i,v,r,t)] = - storage_duration(i) * CAP.l(i,v,r,t) * (1$CSP_Storage(i) + 1$psh(i) + bcr(i)$[battery(i) or storage_hybrid(i)$(not csp(i))]) ; + storage_duration_m(i,v,r) * CAP.l(i,v,r,t) * (1$CSP_Storage(i) + 1$psh(i) + bcr(i)$[battery(i) or storage_hybrid(i)$(not csp(i))]) ; * add PSH energy capacity to cap_energy_ivrt -cap_energy_ivrt(i,v,r,t)$[valcap(i,v,r,t)$psh(i)] = CAP.l(i,v,r,t) * storage_duration(i) ; +cap_energy_ivrt(i,v,r,t)$[valcap(i,v,r,t)$psh(i)] = CAP.l(i,v,r,t) * storage_duration_m(i,v,r) ; * battery storage duration storage_duration_out(i,v,r,t)$[valcap(i,v,r,t)$battery(i)$CAP.l(i,v,r,t)] =