Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
e87cb07
copy .gov branch
patrickbrown4 Apr 15, 2026
0660c5f
Merge branch 'main' into pb/inputs
patrickbrown4 Apr 22, 2026
edb0fc7
move scale_column() to reeds.output_calc to avoid propagating bokeh l…
patrickbrown4 Apr 22, 2026
e6f039e
add read_input and write_csv_to_h5 to reeds.io; add h5_to_gdx.py
patrickbrown4 Apr 24, 2026
8840ec9
use write_csv_to_h5 for sets in copy_files instead of copying .csv files
patrickbrown4 Apr 24, 2026
9506d1e
standardize some set csv formats
patrickbrown4 Apr 24, 2026
61befc0
input_processing: use read_input() to read quarters set
patrickbrown4 Apr 24, 2026
df4941e
start moving sets from b_inputs.gms to runfiles.csv
patrickbrown4 Apr 24, 2026
23435c1
fix comments for h5_to_gdx
patrickbrown4 Apr 24, 2026
4ade0f1
remote.download_remote_files(): print acknowledgment if local file is ok
patrickbrown4 Apr 24, 2026
007690e
Merge branch 'main' into pb/inputs
patrickbrown4 Apr 24, 2026
353b1f0
b_inputs.gms: remove more csv set inputs; write ccseason to h5 from c…
patrickbrown4 Apr 24, 2026
1613bd6
write aliases in h5_to_gdx.py
patrickbrown4 Apr 24, 2026
2e98528
move gen_mandate_tech_list.csv -> nat_gen_tech_frac.csv to match GAMS…
patrickbrown4 Apr 26, 2026
ddd646f
inputs.h5: allow for empty sets
patrickbrown4 Apr 26, 2026
1e83c9f
move vintage definition to WriteHintage.py
patrickbrown4 Apr 26, 2026
63f8551
move spatial sets to inputs.h5
patrickbrown4 Apr 26, 2026
107ef85
move primary temporal sets to inputs.h5
patrickbrown4 Apr 26, 2026
f864a4b
fix vintage bounds
patrickbrown4 Apr 26, 2026
a00721d
move set comments to inputs/sets/README.md
patrickbrown4 Apr 26, 2026
2da17d6
move sw.csv -> wst_surface.csv; fix bokeh
patrickbrown4 Apr 26, 2026
2351485
fix bokeh health calculations
patrickbrown4 Apr 26, 2026
6e4bc88
clean up for PR
patrickbrown4 Apr 26, 2026
4554c37
h5_to_gdx.py: declare r set first (same as the old approach)
patrickbrown4 Apr 27, 2026
85b3ec5
rename val_county.csv -> county.csv (so it can be accessed the same a…
patrickbrown4 Apr 27, 2026
3b2c75c
define pcat programmatically in writecapdat.py instead of copy-pastin…
patrickbrown4 Apr 27, 2026
8651baf
Merge branch 'main' into pb/inputs
patrickbrown4 May 1, 2026
ab6fb0c
write_input_to_h5(): add 'written_by' and 'units' attributes
patrickbrown4 May 6, 2026
6756c86
Merge branch 'main' into pb/inputs
patrickbrown4 May 7, 2026
6d01278
calc_historical_capex.py: fix missing lower-case
patrickbrown4 May 8, 2026
ddfba00
Merge branch 'main' into pb/inputs
patrickbrown4 May 8, 2026
932e249
Fix typos
patrickbrown4 May 8, 2026
3bee175
remove extra element from nat_gen_tech_frac.csv; add missing docstrin…
patrickbrown4 May 8, 2026
18a6f62
Merge branch 'pb/inputs' of github.com:ReEDS-Model/ReEDS into pb/inputs
patrickbrown4 May 8, 2026
0c3b8ca
reeds.io.write_input_to_h5(): add missing docstring
patrickbrown4 May 8, 2026
4d691b3
Merge branch 'main' into pb/inputs
patrickbrown4 May 8, 2026
6a25508
Merge branch 'main' into pb/inputs
patrickbrown4 May 13, 2026
7fde0e6
Merge branch 'main' into pb/inputs
patrickbrown4 May 22, 2026
1547606
reeds.io: fix type annotation
patrickbrown4 May 22, 2026
06cd3ef
add hintage_unit_number=300 to scalars.csv
patrickbrown4 May 22, 2026
236d9aa
use more explicit function names
patrickbrown4 May 22, 2026
3b338b8
write_to_inputs_h5: automatically rename unnamed series to '*'
patrickbrown4 May 22, 2026
913d104
add overwrite option to copy_files.get_regions_and_agglevel() to keep…
patrickbrown4 May 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 0 additions & 62 deletions inputs/national_generation/gen_mandate_tech_list.csv

This file was deleted.

139 changes: 139 additions & 0 deletions inputs/national_generation/nat_gen_tech_frac.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
*i,RE,Nuclear,NuclearCCS,RE_NoCombust
can-imports,1,1,1,1
coal-CCS_mod,0,0,1,0
coal-CCS_max,0,0,1,0
coal-CCS-F1,0,0,1,0
coal-CCS-F2,0,0,1,0
coal-CCS-F3,0,0,1,0
Coal-IGCC,0,0,0,0
coal-new,0,0,0,0
CoalOldScr,0,0,0,0
CoalOldUns,0,0,0,0
CofireNew,0,0,0,0
CofireOld,0,0,0,0
Gas-CC,0,0,0,0
Gas-CC_H_1x1,0,0,0,0
Gas-CC_H_2x1,0,0,0,0
Gas-CC-CCS_mod,0,0,1,0
Gas-CC-CCS_max,0,0,1,0
Gas-CC_H_1x1-CCS_mod,0,0,1,0
Gas-CC_H_1x1-CCS_max,0,0,1,0
Gas-CC_H_2x1-CCS_mod,0,0,1,0
Gas-CC_H_2x1-CCS_max,0,0,1,0
Gas-CC-CCS-F1,0,0,1,0
Gas-CC-CCS-F2,0,0,1,0
Gas-CC-CCS-F3,0,0,1,0
Gas-CT,0,0,0,0
Gas-CT_aero,0,0,0,0
o-g-s,0,0,0,0
Nuclear,0,1,1,0
Nuclear-SMR,0,1,1,0
H2-CT,1,1,1,0
H2-CC,1,1,1,0
ng-fuel-cell,0,0,0,0
biopower,1,1,1,0
beccs_mod,1,1,1,0
beccs_max,1,1,1,0
geothermal,1,1,1,1
Hydro,1,1,1,1
lfill-gas,1,1,1,0
battery_li,0,0,0,0
pumped-hydro,0,0,0,0
pumped-hydro-flex,0,0,0,0
distpv,1,1,1,1
upv_1,1,1,1,1
upv_2,1,1,1,1
upv_3,1,1,1,1
upv_4,1,1,1,1
upv_5,1,1,1,1
upv_6,1,1,1,1
upv_7,1,1,1,1
upv_8,1,1,1,1
upv_9,1,1,1,1
upv_10,1,1,1,1
wind-ofs_1,1,1,1,1
wind-ofs_2,1,1,1,1
wind-ofs_3,1,1,1,1
wind-ofs_4,1,1,1,1
wind-ofs_5,1,1,1,1
wind-ofs_6,1,1,1,1
wind-ofs_7,1,1,1,1
wind-ofs_8,1,1,1,1
wind-ofs_9,1,1,1,1
wind-ofs_10,1,1,1,1
wind-ons_1,1,1,1,1
wind-ons_2,1,1,1,1
wind-ons_3,1,1,1,1
wind-ons_4,1,1,1,1
wind-ons_5,1,1,1,1
wind-ons_6,1,1,1,1
wind-ons_7,1,1,1,1
wind-ons_8,1,1,1,1
wind-ons_9,1,1,1,1
wind-ons_10,1,1,1,1
csp1_1,1,1,1,1
csp1_2,1,1,1,1
csp1_3,1,1,1,1
csp1_4,1,1,1,1
csp1_5,1,1,1,1
csp1_6,1,1,1,1
csp1_7,1,1,1,1
csp1_8,1,1,1,1
csp1_9,1,1,1,1
csp1_10,1,1,1,1
csp1_11,1,1,1,1
csp1_12,1,1,1,1
csp2_1,1,1,1,1
csp2_2,1,1,1,1
csp2_3,1,1,1,1
csp2_4,1,1,1,1
csp2_5,1,1,1,1
csp2_6,1,1,1,1
csp2_7,1,1,1,1
csp2_8,1,1,1,1
csp2_9,1,1,1,1
csp2_10,1,1,1,1
csp2_11,1,1,1,1
csp2_12,1,1,1,1
egs_allkm_1,1,1,1,1
egs_allkm_2,1,1,1,1
egs_allkm_3,1,1,1,1
egs_allkm_4,1,1,1,1
egs_allkm_5,1,1,1,1
egs_allkm_6,1,1,1,1
egs_allkm_7,1,1,1,1
egs_allkm_8,1,1,1,1
egs_allkm_9,1,1,1,1
egs_allkm_10,1,1,1,1
geohydro_allkm_1,1,1,1,1
geohydro_allkm_2,1,1,1,1
geohydro_allkm_3,1,1,1,1
geohydro_allkm_4,1,1,1,1
geohydro_allkm_5,1,1,1,1
geohydro_allkm_6,1,1,1,1
geohydro_allkm_7,1,1,1,1
geohydro_allkm_8,1,1,1,1
geohydro_allkm_9,1,1,1,1
geohydro_allkm_10,1,1,1,1
egs_nearfield_1,1,1,1,1
egs_nearfield_2,1,1,1,1
egs_nearfield_3,1,1,1,1
egs_nearfield_4,1,1,1,1
egs_nearfield_5,1,1,1,1
egs_nearfield_6,1,1,1,1
egs_nearfield_7,1,1,1,1
egs_nearfield_8,1,1,1,1
egs_nearfield_9,1,1,1,1
egs_nearfield_10,1,1,1,1
dr_shed_1,1,1,1,1
dr_shed_2,1,1,1,1
hydD,1,1,1,1
hydND,1,1,1,1
hydSD,1,1,1,1
hydSND,1,1,1,1
hydUD,1,1,1,1
hydUND,1,1,1,1
hydNPD,1,1,1,1
hydNPND,1,1,1,1
hydED,1,1,1,1
hydEND,1,1,1,1
3 changes: 2 additions & 1 deletion inputs/scalars.csv
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ h2_ptc_temporal_match_year,2030,"--year-- year in which the h2 production incent
h2_storage_area_threshold,0.01,"--fraction-- fraction of a model region's land area that must overlap with the collective area of H2 storage sites of a given type for the H2 storage type to be considered available in the model region"
h2_storage_duration,240,"--hours-- hours of H2 storage capacity associated with a given invesment in H2 storage capacity. Based on relationship in SERA of 10 days storage for a given tons/hour storage inflow (provided by Paige Jadun)."
h2_tranloss,0.005,"--fraction-- H2 transmission losses for regional pipeline trade; based on DOE targets at https://www.energy.gov/eere/fuelcells/doe-technical-targets-hydrogen-delivery"
hintage_unit_number,300,"--integer-- Number of hintages to use when numhintage is 'unit' or 'group'"
hurdle_rate_floor,0.01,"--2004$/MWh-- lower bound for transmission hurdle rates (used to prevent degeneracy between transmission losses and curtailment)"
ilr_dist,1.21,"--MW_dc/MW_ac-- inverter-loading ratio for distpv"
ilr_utility,1.34,"--MW_dc/MW_ac-- inverter-loading ratio for UPV and DUPV"
Expand Down Expand Up @@ -92,4 +93,4 @@ upgrade_inflator,1.72,inflator for 1987 cost values of upgrade costs in the gene
years_until_min,1,"--years-- minimum years until generation capacity can be built endogenously"
years_until_RPS,1,"--years-- years until state RPS policies start being enforced"
years_until_trans_longterm,8,"--years-- years until transmission expansion within Sw_TransInvMaxLongterm is allowed (assuming 8 years for planning + construction based on MISO LRTP 2022 https://www.misoenergy.org/meet-miso/media-center/2022/miso-board-approves-$10.3-in-transmission-projects)"
years_until_trans_nearterm,1,"--years-- years until transmission expansion within Sw_TransInvMaxNearterm is allowed"
years_until_trans_nearterm,1,"--years-- years until transmission expansion within Sw_TransInvMaxNearterm is allowed"
50 changes: 47 additions & 3 deletions inputs/sets/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,48 @@
# Sets
## Notes
* These files can have comment lines but remember to use '*' (for GAMS) instead of '#'
* Don't use * for element expansion

## Formatting guidelines

- Primary sets (those that define elements that are not subsets of other sets):
- No header column
- One element per line
- No element-wise comments; each line should contain only the element
- Subsets (groups of elements from other sets, either 1-dimensional or multidimensional):
- Include a header column specifying the relevant primary sets
- The header column should start with a `*`
- Even 1-dimensional subsets should have a header column.
So if the set `food` has elements `[apple, banana, cauliflower]`, the subset `fruit(food)` (specified by `fruit.csv`) has the following lines:
- `*food`
- `apple`
- `banana`
- Don't use * or # for element expansion in GAMS
- Don't use * for full-line comments; only use it for the first (header) row in subset definitions

## Set-defining files

- `ctt.csv`: cooling technology types
- `o`: once through
- `r`: recirculating
- `d`: dry cooled
- `p`: pond cooled
- `n`: no cooling (or generic placeholder)
- `sc_cat.csv`: resource supply curve data categories
- `cap`: power capacity available [MW]
- `cost`: total supply curve cost [\$/MW]
- `cost_trans`: transmission (spur, point-of-interconnection, and reinforcement) component of supply curve cost [\$/MW]
- `cost_cap`: economies of scale, land cost, and other modifier components of supply curve cost [\$/MW]
- `wst.csv`: water source type
- `fsu`: fresh surface water that is unappropriated
- `fsa`: fresh surface water that is appropriated
- `fsl`: fresh surface lake
- `fg`: fresh groundwater
- `sg`: brackish or saline groundwater
- `ss`: saline surface water
- `ww`: wastewater effluent

## Special-case files

- `_aliases.csv`: aliases (extra names for the same set) used in GAMS
- Aliases of primary sets should be added here
- Aliases of sets defined in `b_inputs.gms` (e.g., `h`→`hh`) should instead be defined in GAMS after the set definition
- `_pcat.csv`: prescribed capacity categories
- The `pcat` set in GAMS (defined in `writecapdat.py`) includes the members of the `i` set; this file includes only the *extra* elements on top of the `i` set
Comment on lines +44 to +48
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see here that these are special case file. Is that why the underscore is used, as a flag that this won't exactly match the GAMS set?

Copy link
Copy Markdown
Contributor Author

@patrickbrown4 patrickbrown4 May 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that's right; I thought it would be confusing if all the csv files in inputs/sets match the sets used in the model except for these files.

26 changes: 26 additions & 0 deletions inputs/sets/_aliases.csv
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the underscore for aliases and pcat? None of the others use that convention.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to set them apart because they are not read directly into GAMS (explained in inputs/sets/README.md)

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
*parent,alias
allh,allhh
allh,allhhh
allszn,allsznn
allt,alltt
cendiv,cendiv2
dummy,adummy
fuelbin,afuelbin
gb,gbb
i,ii
i,iii
itlgrp,itlgrpp
nercr,nercrr
pcat,ppcat
r,n
r,nn
r,rr
rscbin,arscbin
st,ast
t,tt
t,ttt
tg,tgg
transgrp,transgrpp
trtype,intype
trtype,outtype
v,vv
8 changes: 8 additions & 0 deletions inputs/sets/_pcat.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
upv
pvb
wind-ons
wind-ofs
csp-ws
geohydro_allkm
egs_allkm
egs_nearfield
10 changes: 5 additions & 5 deletions inputs/sets/ctt.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
o "once through",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it feasible to keep comments in the set files? I see you moved these to the ReadMe--it just seems more useful here than there, but keeping it in the file might be a hassle.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if gdxpds supports element-level comments, and it would add a lot of overhead to propagate them to the inputs.h5 file. To me it doesn't seem worth it for something that's only used in two sets. I also feel like README.md is a more suitable place for documentation than raw .csv files.

r "recirculating",
d "dry cooled",
p "pond cooled",
n "no cooling (or generic placeholder)"
o
r
d
p
n
2 changes: 1 addition & 1 deletion inputs/sets/h2_stor.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*h2_stor
*h2_st
h2_storage_saltcavern
h2_storage_hardrock
h2_storage_undergroundpipe
10 changes: 1 addition & 9 deletions inputs/sets/i.csv
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ beccs_max
can-imports
coal-CCS_mod
coal-CCS_max
* flexible CCS technology options that use coal as fuel
coal-CCS-F1
coal-CCS-F2
coal-CCS-F3
Expand All @@ -26,7 +25,6 @@ Gas-CC_H_1x1-CCS_mod
Gas-CC_H_1x1-CCS_max
Gas-CC_H_2x1-CCS_mod
Gas-CC_H_2x1-CCS_max
* flexible CCS technology options that use natural gas as fuel
Gas-CC-CCS-F1
Gas-CC-CCS-F2
Gas-CC-CCS-F3
Expand Down Expand Up @@ -215,17 +213,11 @@ egs_nearfield_7
egs_nearfield_8
egs_nearfield_9
egs_nearfield_10
* consuming technologies
* electrolyzer == h2 production from electricity
electrolyzer
* smr = steam methane reforming
smr
smr_ccs
* dac == direct air capture
dac
* dac_gas == direct air capture fueled by natural gas
dac_gas
* upgrade technologies
Gas-CT_H2-CT
Gas-CC_H2-CC
CoalOldUns_CoalOldScr
Expand All @@ -252,4 +244,4 @@ CofireNew_coal-CCS_max
CofireOld_coal-CCS_max
hydEND_hydED
hydED_pumped-hydro
hydED_pumped-hydro-flex
hydED_pumped-hydro-flex
1 change: 1 addition & 0 deletions inputs/sets/i_h2_ptc_gen.csv
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*i
Gas-CC-CCS_mod
Gas-CC-CCS_max
Gas-CC_H_1x1-CCS_mod
Expand Down
11 changes: 0 additions & 11 deletions inputs/sets/pcat.csv

This file was deleted.

5 changes: 0 additions & 5 deletions inputs/sets/sc_cat.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
* capacity available
cap
* total supply curve cost
cost
* transmission component of supply curve cost
cost_trans
* generation capacity (e.g. economies of scale) component of supply curve cost
cost_cap

Loading
Loading