From 778dea981dc4166740caf6182ad59118c6f6bd11 Mon Sep 17 00:00:00 2001 From: jcarag Date: Wed, 13 May 2026 14:01:08 -0600 Subject: [PATCH 1/4] Duplicate all changes from branch in private repo: - Add PSH data from ORNL (to replace data in repo) - Change relevant instances of `storage_duration(i)` with `storage_duration_m(i,v,r)` --- inputs/storage/cap_existing_psh_ORNL.csv | 36 ++++++++++++++++++++++++ reeds/core/setup/b_inputs.gms | 1 + reeds/core/setup/c_model.gms | 6 ++-- reeds/core/terminus/report.gms | 4 +-- 4 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 inputs/storage/cap_existing_psh_ORNL.csv 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 e2a65430..a8855523 100644 --- a/reeds/core/setup/b_inputs.gms +++ b/reeds/core/setup/b_inputs.gms @@ -5831,6 +5831,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)] = From cc9fd8ab5c2307911736a235ee55c358304231c6 Mon Sep 17 00:00:00 2001 From: jcarag Date: Wed, 17 Jun 2026 16:37:31 -0600 Subject: [PATCH 2/4] Remove IHA dataset and replace with ORNL dataset --- inputs/storage/cap_existing_psh.csv | 68 ++++++++++++------------ inputs/storage/cap_existing_psh_ORNL.csv | 36 ------------- 2 files changed, 35 insertions(+), 69 deletions(-) delete mode 100644 inputs/storage/cap_existing_psh_ORNL.csv diff --git a/inputs/storage/cap_existing_psh.csv b/inputs/storage/cap_existing_psh.csv index c7f6a74f..998fb290 100644 --- a/inputs/storage/cap_existing_psh.csv +++ b/inputs/storage/cap_existing_psh.csv @@ -1,34 +1,36 @@ *i,v,r,operational_capacity_MW,pump_capacity_MW,max_energy_MWh -pumped-hydro,init-1,p04013,235,192,26654 -pumped-hydro,init-1,p05019,68,28,190 -pumped-hydro,init-1,p06007,939,474,1859862 -pumped-hydro,init-1,p06019,1411.8,1412,185600 -pumped-hydro,init-1,p06037,1556,1500,18672 -pumped-hydro,init-1,p06047,529.2,451,510012.4 -pumped-hydro,init-1,p06073,40,40,15792 -pumped-hydro,init-1,p08019,324,324,1450 -pumped-hydro,init-1,p08065,200,200,2410 -pumped-hydro,init-1,p08069,94.5,9,1134 -pumped-hydro,init-1,p09190,29,12,26790 -pumped-hydro,init-1,p13105,600,300,7200 -pumped-hydro,init-1,p13115,1095,903,6080 -pumped-hydro,init-1,p13141,321,210,213000 -pumped-hydro,init-1,p13213,500,250,1890 -pumped-hydro,init-1,p25011,1724,1680,14190 -pumped-hydro,init-1,p26105,1872,1872,17200 -pumped-hydro,init-1,p29173,58,31,280 -pumped-hydro,init-1,p29179,450,440,2750 -pumped-hydro,init-1,p34041,453,420,2800 -pumped-hydro,init-1,p36063,240,240,4800 -pumped-hydro,init-1,p36095,1160,1160,12000 -pumped-hydro,init-1,p37039,185,185,289200 -pumped-hydro,init-1,p40097,260,260,2650 -pumped-hydro,init-1,p42071,1072,1072,11100 -pumped-hydro,init-1,p42123,469,440,3920 -pumped-hydro,init-1,p45039,576,576,4100 -pumped-hydro,init-1,p45073,1065.2,1065,24000 -pumped-hydro,init-1,p45077,710,710,57540 -pumped-hydro,init-1,p47115,1652,1652,32130 -pumped-hydro,init-1,p51017,3003,2880,23700 -pumped-hydro,init-1,p51143,560,100,3330 -pumped-hydro,init-1,p53047,314,314,11120 +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/inputs/storage/cap_existing_psh_ORNL.csv b/inputs/storage/cap_existing_psh_ORNL.csv deleted file mode 100644 index 998fb290..00000000 --- a/inputs/storage/cap_existing_psh_ORNL.csv +++ /dev/null @@ -1,36 +0,0 @@ -*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 From 7cdd03b3e64ffe4c89d80173c5711ee309f39b4b Mon Sep 17 00:00:00 2001 From: jcarag Date: Wed, 17 Jun 2026 16:56:49 -0600 Subject: [PATCH 3/4] Update data source of cap_existing_psh.csv in sources.csv --- docs/sources.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sources.csv b/docs/sources.csv index ffa11a35..1883a009 100644 --- a/docs/sources.csv +++ b/docs/sources.csv @@ -574,7 +574,7 @@ RelativeFilePath,RelativeFolderPath,FileName_new,FileExtension,Description_new,I /inputs/state_policies/techs_banned_rps.csv,/inputs/state_policies,techs_banned_rps,.csv,Indicates which technolgies are not eligible to contribute to RPS,,,,, /inputs/state_policies/unbundled_limit_ces.csv,/inputs/state_policies,unbundled_limit_ces,.csv,Limit on fraction of credits towards CES which can be purchased unbundled from other states ,,,,, /inputs/state_policies/unbundled_limit_rps.csv,/inputs/state_policies,unbundled_limit_rps,.csv,Limit on fraction of credits towards RPS which can be purchased unbundled from other states ,,,,, -/inputs/storage/cap_existing_psh.csv,/inputs/storage,cap_existing_psh,.csv,"County-wide PSH operational capacity, pump capacity, and max energy, based on plant-level data from https://www.hydropower.org/hydropower-pumped-storage-tool",,,,,MW/MWh +/inputs/storage/cap_existing_psh.csv,/inputs/storage,cap_existing_psh,.csv,"County-wide PSH operational capacity, pump capacity, and max energy, based on plant-level data from https://www.energy.gov/sites/prod/files/2021/01/f82/us-hydropower-market-report-full-2021.pdf",,,,,MW/MWh /inputs/storage/PSH_supply_curves_durations.csv,/inputs/storage,PSH_supply_curves_durations,.csv,,,,,, /inputs/storage/storage_duration.csv,/inputs/storage,storage_duration,.csv,,,,,, /inputs/supply_curve/bio_supplycurve.csv,/inputs/supply_curve,bio_supplycurve,.csv,Regional biomass supply and costs by resource class,,2015,,, From 140872ad44a0d156a6785dfc104969d6ad4b9cae Mon Sep 17 00:00:00 2001 From: jcarag Date: Fri, 26 Jun 2026 12:58:09 -0600 Subject: [PATCH 4/4] Add storage_duration_m parameter to report_params.csv --- reeds/core/terminus/report_params.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/reeds/core/terminus/report_params.csv b/reeds/core/terminus/report_params.csv index 92d20d84..dc7be675 100644 --- a/reeds/core/terminus/report_params.csv +++ b/reeds/core/terminus/report_params.csv @@ -267,6 +267,7 @@ pvf_onm,,,,,1 r,,,,,1 rsc_dat,,,,,1 storage_duration,,,,,1 +storage_duration_m,,,,,1 storage_eff,,,,,1 szn_stress_t,,,,,1 tc_phaseout_mult,,,,,1