Releases: NatLabRockies/hercules
v2.1.1
Patch release to enable PyPI distribution.
What's Changed
- Rename project from 'hercules' to 'nlr-hercules' by @genevievestarke in #243
Full Changelog: v2.1...v2.1.1
v2.1
This new version of Hercules brings a number of new capabilities and functionality! The new capabilities include the following:
- A thermal component base class to represent natural gas and coal electricity production components.
- An open-cycle gas turbine component and a hard coal steam turbine component.
- An updated naming and component structure that enables multiple components of the same type in a simulation.
- The release of Hercules as a package on PyPI.
- A power playback component that allows the user to work with SCADA data for any component with a power history.
- A new multi-unit thermal plant component that allows the simulation of a thermal plant on a unit-level. For example, this enables the simulation of a plant with two open-cycle natural gas turbines where each natural gas unit can be defined and controlled independently.
Other updates in this release include updating the documentation, specifically for adding new components and installing Hercules, and updated utilities for pre-processing incoming data.
What's Changed
- Add dependabot by @paulf81 in #198
- Update URLs by @misi9170 in #199
- Merge url updates for the lab name change back into develop by @genevievestarke in #200
- Clean up gitignore and consolidate examples documentation by @paulf81 in #201
- [BUGFIX] Remove bad copies in docs build procedure by @paulf81 in #202
- Open cycle gas turbine model and thermal power plant base class by @paulf81 in #189
- Update python versions by @paulf81 in #205
- [DOCS] Update installation instructions by @misi9170 in #214
- Minor clean up by @paulf81 in #204
- Always include
wd_meanby @paulf81 in #215 - Finish windfarmscadapower by @paulf81 in #196
- Update electrolyzer as a dependency by @genevievestarke in #220
- Reorganize component name and type by @paulf81 in #216
- Enable compatibility with
NREL-PySAMv6 and v7 by @misi9170 in #219 - PyPI publishing workflow by @misi9170 in #217
- Add initial coal plant model by @genevievestarke in #226
- Add power playback component by @paulf81 in #228
- Fix number check by @paulf81 in #233
- check for nan by @paulf81 in #235
- Feature/test nan by @paulf81 in #223
- Specify thermal plant shutdown time initial conditions by @jfrederik-nrel in #225
- Multiunit thermal plants by @misi9170 in #224
- Hercules v2.1 release by @genevievestarke in #241
Full Changelog: v2...v2.1
v2
Hercules v2 brings major changes in the Hercules interface and wind simulation modules which enable much faster simulation and flexible logging. The Hercules interface now exists fully in Python. The wind simulator has four options, based on wake handling, which also enables comparison with SCADA data. Hercules v2 also brings in functionality that downloads and upsamples wind and solar data from WTK and OpenMeteo for wind and the NSRDB for solar data. This streamlines the workflow of the tool and enables Hercules to be applied to more locations. Finally, a grid price module was added to enable the downloading and use of grid prices to simulate the interaction of hybrid plants with energy markets.
What's Changed
- Hercules v2 beta by @misi9170 in #160
- allow extrapolation in
find_time_utc_valueby @paulf81 in #163 - Allow wind input to specify mean wind speed by @misi9170 in #166
- Wind and solar resource downloading and upsampling by @ejsimley in #164
- Reorganize logging in Hercules by @paulf81 in #167
- Refactor to use UTC based inputs by @paulf81 in #168
- Refactor code to use HerculesModel by @paulf81 in #169
- Doc/docstring by @paulf81 in #171
- [BUGFIX] Hercules input yaml loader by @misi9170 in #174
- Add grid status tool by @paulf81 in #165
- Resolve doc warnings by @paulf81 in #175
- Add external data logging selection by @paulf81 in #176
- Fix deprecation and warning generating code by @paulf81 in #178
- Updating the electrolyzer plant model for v2 and new electrolyzer code release by @genevievestarke in #180
- external data to signals name by @paulf81 in #179
- Feature/clean up logging by @paulf81 in #177
- Clean up by @paulf81 in #181
- [BUGFIX] Hydrogen tracking example by @misi9170 in #182
- Update names by @misi9170 in #186
- Feature/update_100 by @paulf81 in #187
- apply dtype to missed locations by @paulf81 in #188
- Dtypes and linting by @paulf81 in #191
- Reconfigure wind models by @paulf81 in #173
- Improve controller for 1dof wind model by @abhineet-gupta in #158
- Hercules v2.0 by @genevievestarke in #194
New Contributors
Full Changelog: v1.3...v2
v2_beta
Beta version of Hercules v2. This version contains all structural changes intended for Hercules v2, but precedes the official release of version 2.0 as there are still some features that need to be ported over from v1 and may still be some minor changes to the user interface.
Change from v1 to v2
v1.3
What's Changed
- Minor PySAM speed-up improvements by @brookeslawski in #145
- adding weto stack to readme by @gbarter in #148
- Simplify WHOC imports in examples by @misi9170 in #147
- Provide options for grid charging and charging commands for batteries, electrolyzers by @misi9170 in #149
- [BUGFIX] Check whether PySims exist before calculating outputs by @misi9170 in #153
- Hercules v1.3 by @misi9170 in #152
New Contributors
Full Changelog: v1.2...v1.3
v1.2
V1.2 brings improvements to battery and energy storage modeling, dynamic PV system sizing, bug fixes, and package updates, such as example and documentation updates.
New Features
- Add dynamic PV system sizing by @mjprilliman in #141
- SimpleBattery parameterized for simple LDES modeling by @ZackTully in #136
Bug Fixes
- Feature/power tracking update by @genevievestarke in #118
- [BUGFIX] Specify previous OS for ubuntu tests. by @misi9170 in #125
- Bug: Numpy type represented as "np.float64(1.234)" instead of "1.234" by @ZackTully in #121
- fix electrolyzer import by @paulf81 in #142
Package Improvements
- Move all metadata into pyproject by @paulf81 in #120
- Add regression testing by @misi9170 in #129
- Standardize Examples by @paulf81 in #123
- Feature/minor cleanup by @paulf81 in #134
- Enhance use of batch scripts by @paulf81 in #133
- Update installation instructions by @paulf81 in #132
- Switch from Apache-2.0 to BSD-3-Clause license by @misi9170 in #137
- Update numpy requirement to 2.0 by @misi9170 in #138
- Update PySAM to v6.0.0 by @brookeslawski in #139
New Contributors
- @mjprilliman made their first contribution in #141
Full Changelog: v1.1...v1.2
v1.1
Hercules v1.1 adds various new features and improvements, as described below.
New features
- Add alternative standin for AMR-wind that runs FLORIS by @misi9170 in #63
- Enable passing power setpoints to wind simulators by @misi9170 in #76
- Feature/battery cell model by @ZackTully in #91
- Feature/floris electrolyzer example by @genevievestarke in #77
- Enable heterogeneous inflow in
FlorisStandinby @misi9170 in #112
Improvements and bug fixes
- Update README.md by @genevievestarke in #65
- [BUG] Hotfix: track floris v4 change in input file "turbulence_intensities" by @misi9170 in #66
- simple_battery unit tests by @ZackTully in #64
- Fix sync issue by @genevievestarke in #74
- [BUGFIX] Update FlorisStandin to use set() run() paradigm introduced in FLORIS v4 by @misi9170 in #83
- Updating installation documentation by @genevievestarke in #81
- [BUGFIX] Reenable AMR-Wind by setting up empty power_setpoints by @misi9170 in #85
- Feature/update example 6 by @paulf81 in #84
- Adding PV module unit tests and documentation by @brookeslawski in #79
- Refactor example 7 by @paulf81 in #87
- Smooth output of FlorisStandin to prevent oscilations in closed-loop response by @misi9170 in #90
- [BUGFIX] Create outputs folder in examples to avoid error when output file does not exist by @misi9170 in #93
- Add external controls for solar PySAM module by @misi9170 in #107
- [BUGFIX] Force
yaw_anglesto zero inFlorisStandinwhenpower_setpointspassed by @misi9170 in #109 - Improving indexing of solar weather file based on dt in input .yaml file by @brookeslawski in #111
- Change FLORIS to a "regular" requirement by @misi9170 in #103
- Adding solar controller and replacing AMR-Wind standin with FLORIS standin in example 07 by @brookeslawski in #104
- Added AMR-Wind+OpenFAST example (including batch script) by @jfrederik-nrel in #89
- updated installation docs by @achenry in #106
- Fix solar pysam bug for when an external signal is defined by @genevievestarke in #115
- Bugfix/floris standin by @brookeslawski in #101
New Contributors
- @jfrederik-nrel made their first contribution in #89
- @achenry made their first contribution in #106
Full Changelog: v1.0...v1.1
V1.0
What's Changed
- Dv/seas by @dvaidhyn in #6
- Feature/recursive log by @paulf81 in #8
- Update example eagle with mb input by @paulf81 in #7
- Feature/move to letter precursors by @paulf81 in #9
- Adding simple battery model to py_sims by @genevievestarke in #10
- Feature/update dummy amr by @paulf81 in #13
- Updating README in preparation for April sprint by @misi9170 in #15
- Update for global HELICS_PORT by @dvaidhyn in #16
- rename to hercules by @paulf81 in #17
- Feature/reorganize examples by @paulf81 in #19
- Feature/electrolyzer by @genevievestarke in #22
- Catch up main to develop by @paulf81 in #28
- Feature/update docs by @paulf81 in #27
- Feature/update reqs and add simple test by @paulf81 in #36
- Updating controller to align with WHOC by @misi9170 in #41
- Update to public seas by @paulf81 in #39
- Update to public seas (#39) (Bring develop up to date with main) by @misi9170 in #43
- Feature/battery example by @ZackTully in #30
- Stand-in AMR-wind uses stop time defined in amr_input.inp by @misi9170 in #47
- Improved PV solar model by @brookeslawski in #58
- Feature/rename dummyamr by @genevievestarke in #48
- Add WHOC installation instructions to Hercules documentation by @genevievestarke in #59
- Add ruff linting, formatting and pre-commit hooks by @paulf81 in #46
- Feature/add ruff by @genevievestarke in #60
- Hercules V1.0 Release by @genevievestarke in #61
Full Changelog: v0.1.0...v1.0
Initial Kafka Version
Merge pull request #3 from NREL/develop Merge main to develop