Recent Releases of PowerGenome
PowerGenome - v0.7.0
The major feature bump in this version is formatting outputs to match inputs required for GenX 0.4.. It is still possible to create inputs for GenX 0.3. using a settings parameter old_genx_format: true. Output folder structure has also changed to always follow the format /Inputs/Inputs_p*.
Other non-breaking changes and updates:
- Directly use hourly demand data when they are available for a planning year. This is not compatible with constructing demand profiles using end-use stock values and hourly demand factors.
- The case/scenario description file is no longer used. Case/scenario names are set entirely within the scenario definitions file.
- Resources without an assigned fuel will now have the fuel name No_fuel instead of None. Starting in v2.0 Pandas treats the None string as NaN by default, which can cause data processing issues.
What's Changed
- Bug fix: RG dicts were somehow modified before use by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/345
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/PowerGenome/PowerGenome/pull/347
- Fix typo by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/346
- Improve message for generators without lat/lon data by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/355
- 370 fix sqlite bug from double quoted f strings by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/371
- Rebase sql fixes into feature branch by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/372
- Rebase sql fixes into feature branch
output-format-genx-0.4
by @lbonaldo in https://github.com/PowerGenome/PowerGenome/pull/376 - Convert julia output formatting script to python function by @lbonaldo in https://github.com/PowerGenome/PowerGenome/pull/374
- Refactor scenario settings handling, remove unused case ID mapping function by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/369
- Only include proposed gens built on or before
model_year
by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/342 - Include UTC offset in unique hash for renewables clusters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/362
- Directly use demand data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/378
- Update fuel label from "None" to "No_fuel" in generator functions and… by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/379
- 380 tech matching fails when string contains special regex characters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/381
- Output format genx 0.4 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/377
- Fixes and features up to 0.7.0 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/384
New Contributors
- @lbonaldo made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/376
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.6.3...v0.7.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 1 month ago

PowerGenome - v0.7.0rc1
The major feature bump in this version is formatting outputs to match inputs required for GenX 0.4.. It is still possible to create inputs for GenX 0.3. using a settings parameter old_genx_format: true
. Output folder structure has also changed to always follow the format <case>/Inputs/Inputs_p*
.
Other non-breaking changes and updates:
- Directly use hourly demand data when they are available for a planning year. This is not compatible with constructing demand profiles using end-use stock values and hourly demand factors.
- The case/scenario description file is no longer used. Case/scenario names are set entirely within the scenario definitions file.
- Resources without an assigned fuel will now have the fuel name
No_fuel
instead ofNone
. Starting in v2.0 Pandas treats heNone
string asNaN
by default, which can cause data processing issues.
What's Changed
- Bug fix: RG dicts were somehow modified before use by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/345
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/PowerGenome/PowerGenome/pull/347
- Fix typo by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/346
- Improve message for generators without lat/lon data by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/355
- 370 fix sqlite bug from double quoted f strings by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/371
- Rebase sql fixes into feature branch by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/372
- Rebase sql fixes into feature branch
output-format-genx-0.4
by @lbonaldo in https://github.com/PowerGenome/PowerGenome/pull/376 - Convert julia output formatting script to python function by @lbonaldo in https://github.com/PowerGenome/PowerGenome/pull/374
- Refactor scenario settings handling, remove unused case ID mapping function by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/369
- Only include proposed gens built on or before
model_year
by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/342 - Include UTC offset in unique hash for renewables clusters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/362
- Directly use demand data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/378
- Update fuel label from "None" to "No_fuel" in generator functions and… by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/379
- 380 tech matching fails when string contains special regex characters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/381
- Output format genx 0.4 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/377
- Fixes and features up to 0.7.0 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/384
New Contributors
- @lbonaldo made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/376
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.6.3...v0.7.0rc1
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 1 month ago

PowerGenome - v0.6.3
This is a bug-fix release focused on the PyPI package distribution.
What's Changed
- Fix issues with built package on PyPI by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/341
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.6.2...v0.6.3
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley 12 months ago

PowerGenome - v0.6.2
Version 0.6.2 release
Major updates in the release include
- The case_id mapping to scenarios is now optional
- Existing generator clusters can now stay stable across periods when using the
--multi-period
command line flag or the settings parametercluster_with_retired_gens: true
- Outputs can be structured for GenX multi-period runs using the
--multi-period
command line flag - Allow the key "all_years" in settings_management rather than requiring settings to be copied across all years
- Reduce and simplify logging messages (full logs are still written to log text file)
- Modify the costs of each categorical group separately when clustering new-build renewables
- KMeans clustering for new-build renewables
What's Changed
- Find ResourceGroup profiles from settings file param by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/277
- Fix gen id zeros by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/279
- Allow region of "all" in spur/max cap file by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/280
- Data bug fixes & small features by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/281
- Sort settings keys by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/283
- Fix misc gen bug by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/286
- make case_id mapping optional by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/288
- Change annuity calcs to discrete compounding by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/289
- Distributed generation utc offset by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/290
- Cluster before retire by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/294
- Fix atb mapping hr bug by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/297
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/301
- Renewable group modifiers by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/300
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/303
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/304
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/305
- Allow "all" case for policies by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/302
- Name stashed files with hash by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/307
- GenX multi-period input format by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/309
- Reset isort by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/312
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/PowerGenome/PowerGenome/pull/314
- If using CCS pipeline capex, treat CCS disposal as FOM by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/318
- Allow all_years key in settings_management and use scenario-specific model years by @mfripp in https://github.com/PowerGenome/PowerGenome/pull/316
- Fix filepath bug when settings file is 2+ levels deep by @rebeccamccabe in https://github.com/PowerGenome/PowerGenome/pull/325
- Remove slash from sql prefix to fix bug with relative paths #285 by @rebeccamccabe in https://github.com/PowerGenome/PowerGenome/pull/319
- Warn if VRE/HYDRO profiles are not variable by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/323
- Update how resource tags from settings are applied by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/328
- Update resource groups for tests and CA_AZ example by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/329
- Reduce and simplify logging messages by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/330
- Renewable sites kmeans clustering by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/331
- Update the current example systems and add a 6-zone WECC system by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/332
- Fix filter planned 860m by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/333
- Version update by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/311
New Contributors
- @pre-commit-ci made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/314
- @mfripp made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/316
- @rebeccamccabe made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/325
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.6.1...v0.6.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley 12 months ago

PowerGenome - v0.6.1
Overview
This update introduces some major new data inputs to PowerGenome.
- Build demand profiles from the bottom up using future stocks of final energy demand technologies (EVs, heat pumps, water heaters, etc) and hourly demand profiles from NREL's Energy Futures Study.
- Automate creating flexible demand resources from future stocks and NREL EFS.
- Use distributed generation profiles from NREL Cambium scenarios, which use an agent-based model to determine rooftop solar deployment.
- Users can provide the cost for expanding/building inter-regional transmission lines rather than assuming centroid-to-centroid distance and a cost per mile.
- Use pre-calculated capital costs for CO₂ pipeline infrastructure attached to CCS plants rather than adding a variable cost per ton captured.
Note
This release is version 0.6.1. Due to an error with releasing the code on PyPi, no official version 0.6.0 was released.
What's Changed
- Load construction changes by @ritibhandarkar in https://github.com/PowerGenome/PowerGenome/pull/115
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/176
- Merge hydro fixes into EFS branch by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/175
- Merge upstream changes into efs_demand by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/168
- Allow users to specify load source. by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/199
- Check sql inputs to prevent injection by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/203
- Automate flexible demand resources from NREL EFS by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/186
- Conditional to avoid error if "USER" is the only specified load source. by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/208
- Limit sig figs in CPI data saved to csv (float_format="%g") by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/211
- Add storage energy capacity data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/212
- Custom ccs fuel fix & other fuel improvements by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/213
- Modify fuel prices by model region by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/214
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/217
- Provision with micromamba GH action by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/219
- Fix grow historical load by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/223
- Load and use interregional tx costs from file by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/225
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/224
- Speed up creation of existing/new gen clusters by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/226
- Extend plant region map by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/228
- Fix incorrect gen var time index when 8760 hours by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/231
- Clean plant gen matching by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/235
- Use EIA bulk files in place of API by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/234
- fix the issue that "regional_load_includes_demand_response" is not used by @xuqingyu in https://github.com/PowerGenome/PowerGenome/pull/222
- Fix missing heat rates by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/237
- Updates for new release version by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/236
- Feature: update cli args with kwargs by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/239
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/238
- Fix numpy version to avoid numba conflict by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/242
- Small fixes to help new users + bug fix for duplicated 860 data by @gmantegna in https://github.com/PowerGenome/PowerGenome/pull/240
- Bug fixes for merging 860m data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/243
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/248
- Bug fixes by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/247
- Bug fix: prime_mover_code can be in diff tables by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/249
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/251
- Fix bug where flex demand resource is not shifted from UTC by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/253
- Update precommit_update.yml by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/255
- Co2 pipeline cost from file by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/254
- Distributed generation scenario data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/250
- Added function apply_all_tag_to_regions by @annafjacobson in https://github.com/PowerGenome/PowerGenome/pull/246
- Tx expansion MW by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/257
- Fix flexible demand load profile UTC shift bug by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/260
- Use clean GeneratorsCluster object for each case/year by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/263
- Flexibly create VRE clusters from individual sites by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/256
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/261
- Remove EIA API, always use bulk data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/266
- Allow RG profiles to live in a single location by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/267
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/269
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/270
- Updates to 0.6.0 by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/268
- Update examples and notebooks by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/272
New Contributors
- @ritibhandarkar made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/115
- @gmantegna made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/240
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.6...v0.6.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 1 year ago

PowerGenome - v0.5.6
What's Changed
This release primarily fixes a bug in the calculation of how many existing generating units are in each cluster. The number of units is used to calculate existing capacity, so in many cases the existing capacity would be 0.
- Update README.md by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/204
- Bug fix num units in cluster by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/207
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.5...v0.5.6
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 2 years ago

PowerGenome - v0.5.5
What's Changed
This release has a number of updates that have accumulated in develop
. Many are related to improving inputs for GenX, such as time clustering or hydro (pumped hydro energy storage and hydro energy to power). Others include:
- Settings can now be split across multiple files in a single folder, making it easier to find settings related to a specific topic. Examples of these split settings files are now available and have been tested to ensure the outputs work with GenX.
- Don't cluster existing generators by setting the number of clusters for a technology to None (
~
in YAML). - Change the default transmission capacity column from
nonfirm_ttc_mw
tofirm_ttc_mw
. This change from nonfirm (N-0) to firm (N-1) will reduce transmission capacity between many regions. - Add the settings parameter
tx_value_col
to set the transmission capacity value column used. Set this tononfirm_ttc_mw
to get the same results as previous versions. - Miscellaneous values for generator technologies (a user input file) can now be set by region.
Pull request summary
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/171
- Fix time clustering rep period values by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/172
- Add pumped hydro energy storage and hydro energy to power by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/174
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/177
- Regional misc values by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/182
- Split settings parameters across multiple files by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/184
- No cluster existing units option by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/185
- Set "regional_capacity_reserves" param to empty dict if None by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/188
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/187
- Include reverse direction of user inputted transmission lines by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/190
- Define variables if there is not an emissions file. by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/191
- Sort load profiles by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/192
- Change sqlite prefix based on operating system by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/193
- Search for region names in user_region_geodata_fn with the property "name" by @bradenpecora in https://github.com/PowerGenome/PowerGenome/pull/194
- Update pre-commit hooks by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/196
- New features and bug fixes by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/197
- Add param for tx value col, let user data override database, & bug fix by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/198
- Change default tx capacity type by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/200
New Contributors
- @bradenpecora made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/190
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.4...v0.5.5
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley almost 3 years ago

PowerGenome - v0.5.4
This version bump adds a feature to include user fuels and fixes a number of bugs.
- Add the option for users to define/assign their own fuels
- New option for
atb_modifiers
andmodified_gen_atb
to directly set parameter values rather than using a python operator - Don't force retirement based on age if not specified in settings.
- Don't retire units unless there is a retirement year before the planning period year -- this is a change from previous behavior, where only units with retirement after the planning year would be kept
- Add new check for GenX model tags
- Fix http error for the EIA AEO API
- Update example system settings file based on results of check for model tags
- Expand testing
What's Changed
- Fix fuel name bug through eia/atb tech map by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/158
- Check resource tags by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/159
- Add option for user fuels and prices by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/163
- Updating nrelatb.py by @xuqingyu in https://github.com/PowerGenome/PowerGenome/pull/162
- Update GenX.py by @xuqingyu in https://github.com/PowerGenome/PowerGenome/pull/167
- Adjust code to match heat rate table with cost_case column by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/166
- Format Python code with psf/black push by @github-actions in https://github.com/PowerGenome/PowerGenome/pull/170
- User fuels, better tests, don't force age retirement, bug fixes by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/169
New Contributors
- @github-actions made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/170
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.3...v0.5.4
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 3 years ago

PowerGenome - v0.5.3
What's Changed
- Two suggestions by @xuqingyu in https://github.com/PowerGenome/PowerGenome/pull/156
- Critical bug fixes and new output files by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/157
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.2...v0.5.3
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 3 years ago

PowerGenome - v0.5.2
This minor version bump expands testing and fixes a few bugs. The new test clusters existing gens for all technologies in all IPM regions.
What's Changed
- Load 923 nuclear by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/154
- Fix missing nuclear gen/fuel data by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/155
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.1...v0.5.2
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 3 years ago

PowerGenome - v0.5.1
What's Changed
- Fix plant_id_eia reference by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/150
- Reload resource groups by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/151
- Expand testing coverage by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/152
- Expand testing and minor bug fix by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/153
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.5.0...v0.5.1
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 3 years ago

PowerGenome - v0.5.0
This is a major release focused on making PG outputs compatible with the open-source version of GenX. It also includes a number of other features and bug fixes.
In addition to the PRs listed below, some of the major features are:
- Add a second example system
- Improve example system documentation and change parameters for use with ATB2021
- Add a link to the wiki, where system documentation is being added
- Document how to use the newest version of PUDL data and keep data/code versions compatible
- Improve the settings file checks to catch common setup mistakes
What's Changed
- Genx mod by @aneeshamanocha in https://github.com/PowerGenome/PowerGenome/pull/113
- Fix the CapRes in the network.csv file by @xuqingyu in https://github.com/PowerGenome/PowerGenome/pull/133
- Check all new techs against cost mult map by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/132
- Start fuel fix by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/138
- GitHub ci by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/146
- Accept resource groups with sub_region under IPM by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/148
- Add existing dg as resources by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/135
- Update for open-source GenX and bug fixes by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/147
- Fix startup fuel bug for existing gens by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/137
New Contributors
- @aneeshamanocha made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/113
- @xuqingyu made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/133
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.4.3.1...v0.5.0
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 3 years ago

PowerGenome - v0.5.0-beta.1
This is the first beta release of PowerGenome with changes that make outputs compatible with the open-source version of GenX. The structure of input files has also changed -- the single sqlite database has been split into PUDL (which can be downloaded from Zenodo) and non-PUDL tables.
What's Changed
- Missing cap values by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/126
- Use BLS api to get CPI data and store as CSV by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/124
- Save AEO fuel price data locally by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/129
- Add operating gens from 860m that aren't in pudl by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/102
- Added a warning for typos in settings file ATB tech by @annafjacobson in https://github.com/PowerGenome/PowerGenome/pull/123
- Genx mod by @aneeshamanocha in https://github.com/PowerGenome/PowerGenome/pull/113
New Contributors
- @annafjacobson made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/123
- @aneeshamanocha made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/113
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.4.2...v0.5.0-beta.1
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 3 years ago

PowerGenome - v0.4.3.1
Minor update to 0.4.3 that include:
- Add a helpful error message when a renewable resource group doesn't have capacity in a model region
- Update precommit hooks so the most current stable versions are used
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.4.3...v0.4.3.1
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 3 years ago

PowerGenome - v0.4.3
What's Changed
- Missing cap values by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/126
- Use BLS api to get CPI data and store as CSV by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/124
- Save AEO fuel price data locally by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/129
- Add operating gens from 860m that aren't in pudl by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/102
- Added a warning for typos in settings file ATB tech by @annafjacobson in https://github.com/PowerGenome/PowerGenome/pull/123
- Version bump and bug fixes from develop by @gschivley in https://github.com/PowerGenome/PowerGenome/pull/131
This release has many bug fixes and speed improvements. It is also the last version that will keep existing output formats. Versions after this one will shift to outputs compatible with the open-source version of GenX and eventually to a PG specific output format.
- Reconcile gen IDs in the fgd csv and PUDL
- Fix bug where the number of existing units < num clusters caused an error
- Fix missing seasonal capacity values from generators, filling them with nameplate capacity instead (with the exception of combined cycle units, where seasonal capacity is often combined across all of the CT or CS generators)
- Use the BLS API to get CPI data and store it locally as a CSV instead of using the cpi package (this takes 10-15 seconds off importing PG functions)
- Save all AEO API data locally (now saving fuel prices, previously had only saved regional demand)
- Check 860m to make sure that all existing generators are included (not just adding proposed)
- More checks for the settings file to catch potential user errors
New Contributors
- @annafjacobson made their first contribution in https://github.com/PowerGenome/PowerGenome/pull/123
Full Changelog: https://github.com/PowerGenome/PowerGenome/compare/v0.4.2...v0.4.3
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 3 years ago

PowerGenome - v0.4.2
This will be the last release before we start making changes to the output file formats.
Accumulation of improvements and bug fixes.
- Change from nominal to real WACC when calculating investment annuities
- Account for coal unit FGD when calculating FOM costs; this uses a CSV data file but I don't expect coal FGD to change much in the future.
- Use input_folder for the user techs rather than data folder
- Don't force inclusion of RPS/CES policies in network file
- Change from Nominal to Real WACC
- Allow 1:many matches in EIA:ATB/user technologies
- Update parameter names in settings file
- Remove unused example settings file
- Other bug fixes
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 3 years ago

PowerGenome - v0.4.1
A minor release with some bug fixes and feature updates/changes.
- Fix offshore spur line km to mile conversion
- Can now read 860m files with different number of header/footer rows
- Pin xlrd version until we can update to Pandas 1.*
- Add a settings parameter
growth_scenario
to select an AEO load growth scenario. The default ofREF2020
will be used for now. - Change retirement behavior. Plants that retire in a
model_year
(planning year) will be removed, rather than being retained.
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley about 4 years ago

PowerGenome - v0.4.0
The major update here was to use a new version of the PUDL database with ATB 2020 data. The tables technology_costs_nrelatb and technology_heat_rates_nrelatb now contain data from both the 2019 and 2020 releases of ATB. The tables were changed from wide to long format, and PG code was modified to access only necessary data (rather than loading the whole tables). Other related changes include:
- Changes to parameter names in the ATB tables, which should also be changed in the settings file.
capex_mw
forcapex
(watch out so you don’t get capex_mwmwh from capex_mwh)fixed_o_m_mw
foro_m_fixed_mw
(same for the mwh version if it shows up anywhere)variable_o_m_mwh
foro_m_variable_mwh
- Add the parameter
atb_data_year: 2020
Other changes:
- Speed up filling null heat rates for existing generators.
- Modify nuclear fixed O&M to represent multi-unit, large single-unit (at least 900 MW), and small single-unit (less than 900 MW).
- Add the settings parameter
utc_offset
. Demand and renewable generation profiles are now shifted from UTC (how they're stored) based on this offset. - Add month to long duration storage.
- Rename
long_duration_storage
totime_series_mapping
in results of time domain reduction. - Fill coal/nuclear unit ages where they are missing (median value for plant or 40 years as a heuristic).
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 4 years ago

PowerGenome - v0.3.4
This release adds a couple new features.
- Check settings file to make sure IPM regions are spelled correctly in region aggregations and model regions are included in
cost_multiplier_region_map
andaeo_fuel_region_map
. These are things that could be easily messed up and might not have been obvious. - Add a list of all EIA plant id and PUDL unit ids to results from each cluster (available through the API functions).
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 4 years ago

PowerGenome - v0.3.3
A series of bug fixes and minor upgrades. Adding type hints in new function and functions that are modified.
- Single region models
- Demand response (flexible load) bug with a single region
- No transmission lines created
- Error when no regions aggregated (or renamed)
- Example settings file
- Remove unused parameters in settings
- Missing IPM regions and wrong name for historical load region
- Add "R_ID" to gen variability columns to ensure unique names
- Don't ignore spaces in technology names when applying model tag values (mixed up EIA/ATB names)
- Reset heat rates that are > 35 mmbtu/MWh (~11% efficency). Set to median value for that technology. This likely catches combined heat & power plants and plants that are doing more ancillary services than generation.
- Scenario settings
- When building scenario settings, only raise an error if the full path to a parameter is listed more than once.
- Allow years to have different case ids.
- New function to check/fix resource min power value
- Round min_power to match variable generation profiles. Don't want to have higher min power than generation due to rounding.
- Fix startup fuel matching. Was previously finding the wrong value for coal power plants.
- Consolidate most of value rounding into a single function.
Energy Systems - Energy Data Accessibility and Integration
- Python
Published by gschivley over 4 years ago
