Skip to content

update capacity input database to AEO-NEMS 2026 - #13

Open
atpham88 wants to merge 24 commits into
mainfrom
ap_update_NEMS
Open

update capacity input database to AEO-NEMS 2026#13
atpham88 wants to merge 24 commits into
mainfrom
ap_update_NEMS

Conversation

@atpham88

@atpham88 atpham88 commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR updates ReEDS capacity input database with AEO-NEMS 2026 and EIA860M version June 2026, and also overhauls the NEMS processing script to make it more clear and easier to use as well as remove redundant steps.

Technical details

Implementation notes

Changes made to to this PR include:

  • Remove a_inheritance.py: This script is no longer necessary. We now directly merge AEO-NEMS to EIA860M using the final output file structure established in Clean up input plant database ReEDS#164.
  • b_aeo_cleaning.py --> a_data_cleaning.py: Improve the process of cleaning AEO and EIA860M data to resolve issues saw in prior version of capacity database used in ReEDS (such as applying repower year as new start year).
    • Units with statuses (OA) Out of service but expected to return to service in next calendar year , (OS) Out of service and NOT expected to return to service in next calendar year and (SB) Standby/Backup: available for service but not normally used are considered operating and available for dispatch.
  • c_geospatial_mapping.py --> b_geospatial_mapping.py.
  • d_hydro_classification.py --> c_hydro_classification.py: Remove any mention of state and resource regions (we only use FIPS from now on to capacity input database).
  • e_additional_inputs.py --> d_additional_inputs.py:
    • Remove several manual retirement data adjustment for nuclear power plants (For example Palisades nuclear restarting in 2026 is now captured in new version of EIA860M and no longer need manual adjustment here).
    • Plant max ages are now read directly from main ReEDS repo from inputs/plant_characteristics/maxage.csv and only include one value for each plant type regardless of its size. lfill-gas, pumped-hydro, csp-ns, pvb_pv and pvb_battery are missing from maxage.csv in the ReEDs repo and are assigned values of 100, 100, 30, 30, 30 years respectively.

Additional changes

  • Rename all subfolders to lower case for consistency.
  • Add intermediate_outputs folder within the outputs folder to store outputs from each step of the process.

Issues resolved

  • Several units in current capacity input database have wrong start years (and thus wrong retirement years) due to not having their start years updated to their repowered years. This issue is fixed in this PR.
  • Units with out of service and standby statuses previously are not considered operating and not available for dispatch but now they are. This results in some extra 16GW of capacity available for dispatch compared to last version.

Relevant sources or documentation

  • Output verification:
  • Plot national- and FIPS-level changes in online and retire capacity by tech for each year between 2010 and 2050.
    • Planned online:
planned_oneline_current_conus planned_oneline_new_conus planned_oneline_diff_conus planned_online_diff_r
  • Planned retire:
planned_retire_current_conus planned_retire_new_conus planned_retire_diff_conus planned_retire_diff_r
  • Rerun ReEDS model with updated capacity input database (in ReEDS main repo).
  • Documentation: did you update the README for a given a folder?
    Yes
  • ReEDS Documentation: do any parts of the ReEDS documentation need to be updated because of the changes in this pull request?
    No. Updated README for this input processing only.

Comment thread nems_database_processing/d2_fix_upgrades.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant