Skip to content

Releases: NatLabRockies/H2Integrate

v0.6

10 Feb 22:30
fbb92ef

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.1...v0.6

v0.5.1

18 Dec 07:19
d51a3cd

Choose a tag to compare

Updating version number correctly from prior release

v0.5.0

18 Dec 06:44
8c040e2

Choose a tag to compare

This release greatly expands the modeling capabilities of H2I by building upon the dispatch framework, introducing grid connections, adding additional supported resources, expanding the financial calculations, and many other improvements.

New Features and Technology Models

  • Added PySAM Windpower performance model to simulate wind PR 306
  • Added simple_grid_layout.py for wind plant layout modeling, can model square or rectangular layouts PR 306
  • Added ability to visualize the wind plant layout for PySAM Windpower model using post_process(show_plots=True) PR 306
  • Added Wind Annual Technology Baseline cost model atb_wind_cost.py PR 306
  • Added resource models to make solar resource API calls to the NREL Developer GOES dataset PR 279
  • Added solar resource models for Meteosat Prime Meridian and Himawari datasets available through NSRDB PR 377
  • Added wind resource model for API calls to Open-Meteo archive PR 332
  • Added PySAM battery model as a storage technology performance model PR 211
  • Added framework to run heuristic load following dispatch for storage technologies PR 211
  • Added storage auto-sizing performance model based on storage sizing calculations that existed in the coupled hydrogen storage performance and cost model PR 324
  • Added grid converter performance and cost model which can be used to buy, sell, or buy and sell electricity to/from the grid PR 340
  • Add feature for natural gas plant converter to take electricity demand as an input and added system capacity as an input PR 334
  • Added standalone iron mine performance and cost model PR 364
  • Add open-loop load demand controllers: DemandOpenLoopConverterController and FlexibleDemandOpenLoopConverterController PR 328

Improvements and Refactoring

  • Updated inputs for the ATBBatteryCostModel and DemandOpenLoopController so storage capacity and charge rate can be design variables PR 290
  • Split out cost models from coupled hydrogen storage performance and cost model PR 324
  • Created ProFastBase, a base class for the ProFastLCO and ProFastNPV models PR 310
  • Added ProFastNPV, a finance model using ProFAST to calculate NPV of the commodity PR 310
  • Moved compute() from ProFastBase to ProFastLCO PR 310
  • Added NumpyFinancialNPV, a finance model that uses NumPy Financial npv to calculate the npv from the cash flows PR 310
  • Added capability for user-defined finance models in the H2Integrate framework PR 247
  • Enabled dynamic plant component sizing modes through the resizeable model class ResizeablePerformanceModelBaseClass PR 198
  • Move geologic hydrogen models into specific geoh2 subsurface converters PR 367
  • Updated generic combiner to accept any number of inflow streams instead of just 2 PR 406
  • Allow multiple instances of the same electricity producing technologies using prefix-based matching PR 397
  • Allow multiple instances of custom models in the same hybrid system PR 397
  • Removed a large portion of the old GreenHEART code that was no longer being used PR 384
  • Moved high-level tests to the appropriate directory and removed defunct tests PR 412

Configuration and Optimization

  • Added tools/run_cases.py with tools to run different tech_config cases from a spreadsheet, with new docs page to describe: docs/user_guide/how_to_run_several_cases_in_sequence.md PR 242
  • Updated setting up recorder in PoseOptimization PR 291
  • Added create_om_reports option to driver config to enable/disable OpenMDAO reports (N2 diagrams, etc.) PR 308
  • Added design of experiment functionality PR 314
  • Added "csvgen" as generator type for design of experiments PR 314
  • Added load_yaml() function and flexibility to input a config dictionary to H2IntegrateModel rather than a filepath PR 313
  • Removed boundaries from the necessary keys in plant_config validation PR 361
  • Added ability for latitude and longitude to be design variables in design sweep PR 336

Documentation, Examples, and Miscellaneous

  • Added an optimized offshore methanol production case to examples/03_methanol/co2_hydrogenation_doc PR 137
  • Improved the readability of the postprocessing printout PR 361
  • Improved readability of the postprocessing printout by simplifying numerical representation, especially for years PR 378
  • Fixed stoichiometry mistake in ammonia synloop PR 363

v0.4.0

02 Oct 17:22
cc25a49

Choose a tag to compare

This release introduces significant new technology models and framework capabilities for system design and optimization, alongside major refactoring and user experience improvements.

New Features and Technology Models

  • Added capability for user-defined technologies in the H2Integrate framework, allowing for custom models to be integrated into the system PR 128.
  • Added a check for if a custom model's name clashes with an existing model name in the H2Integrate framework, raising an error if it does PR 128.
  • Added geologic hydrogen (GeoH2) converter and examples PR 135.
  • Added methanol production base class PR 137.
  • Added steam methane reforming methanol production technology PR 137.
  • Added CO2 hydrogenation methanol production technology PR 137.
  • Added run of river hydro plant model, an example, and a documentation page PR 145.
  • Added marine carbon capture base class PR 165.
  • Added direct ocean capture technology PR 165.
  • Added ammonia synloop, partially addressing Issue 169 PR 177.
  • Added simple air separation unit (ASU) converter to model nitrogen production PR 179.
  • Added rule-based storage system control capability (e.g., for battery, H2, CO2) PR 195.
  • Added ocean alkalinity enhancement technology model PR 212.
  • Added natural_gas_performance and natural_gas_cost models, allowing for natural gas power plant modeling PR 221.
  • Added wind resource model, API baseclasses, updated examples, and documentation PR 245.
  • Added generic storage model, useful for battery, hydrogen, CO2, or other resource storage PR 248.

Improvements and Refactoring

  • Removed the to_organize directory PR 138.
  • Updated the naming scheme throughout the framework so resources produced always have _out and resources consumed always have _in in their names PR 148.
  • Added ability to export ProFAST object to yaml file in ProFastComp PR 207.
  • Refactored ProFastComp and put in a new file (h2integrate/core/profast_financial.py). Added flexibility to allow users to specify different financial models PR 218.
  • Revamped the feedstocks technology group to allow for more precise modeling of feedstock supply chains, including capacity constraints and feedstock amount consumed PR 221.
  • Made pipe and cable substance-agnostic rather than hard-coded for hydrogen and electricity PR 241.
  • Updated option to pass variables in technology interconnections to allow for different variable names from source to destination in the format [source_tech, dest_tech, (source_tech_variable, dest_tech_variable)] PR 236.
  • Split out the electrolyzer cost models basic and singlitico for clarity PR 147.
  • Refactored the ammonia production model to use the new H2Integrate framework natively and removed the prior performance and cost functions PR 163.
  • Added a new ammonia production model which has nitrogen, hydrogen, and electricity inputs and ammonia output, with performance and cost functions PR 163.
  • Added WOMBAT electrolyzer O&M model PR 168.
  • Changed electrolyzer capacity to be specified as n_clusters rather than rating in electrolyzer performance model config PR 194.
  • Changed electrolyzer capacity to be an input to the electrolyzer cost models rather than pulled from the cost model config PR 194.
  • Added cost model base class and removed plant_config['finance_parameters']['discount_years']['tech']. Cost year is now an optional input (tech_config[tech]['model_inputs']['cost_parameters']['cost_year']) and a discrete output PR 199.
  • Added two ATB-compatible solar-PV cost models PR 193.
  • Update PySAM solar performance model to allow for more user-configurability PR 187.
  • Added "custom_electrolyzer_cost" model, an electrolyzer cost model that allows for user-defined CapEx and OpEx values PR 227.
  • Added variable O&M to CostModelBaseClass and integrated into finance-related models PR 235.
  • Improved h2integrate/transporters/power_combiner.py and enabled usage of multiple electricity producing technologies PR 232.

Configuration and Optimization

  • Updated finance parameter organization naming in plant_config PR 218.
  • Changed finance handling to use finance_subgroups and finance_groups defined in the plant_config rather than previous financial_groups in the tech_config and technologies_to_include_in_metrics in plant_config PR 240.
  • Allow users to specify the technologies to include in the metrics calculations in the plant configuration file PR 240.
  • Added option for user to provide ProFAST parameters in finance parameters PR 240.
  • Changed plant_config atb_year entry to financial_analysis_start_year PR 190.
  • Added simulation section under plant_config['plant'] that has information such as number of timesteps in the simulation, time step interval in seconds, simulation start time, and time zone PR 219.
  • Moved overwrite_fin_values to HOPP PR 164.
  • Enable optimization with HOPP technology ratings using recreate_hopp_config_for_optimization PR 164.
  • Made caching in the HOPP wrapper optional PR 164.
  • Added more available constraints from the HOPP wrapper useful for design optimizations PR 164.

Documentation, Examples, and Miscellaneous

  • Added an example of a user-defined technology in the examples directory, demonstrating an extremely simple paper mill model PR 128.
  • Added example for running with HOPP as the only technology in the H2Integrate system PR 164.
  • Added an optimization example with a wind plant and electrolyzer to showcase how to define design variables, constraints, and objective functions PR 126.
  • Expanded docs to include a new section on modifying config dicts after model instantiation PR 151.
  • Added *_out/ to .gitignore to avoid clutter PR 191.
  • Bump min Python version and removed unnecessary packages from pyproject.toml PR 150.
  • Bugfix: only run pyxdsm when there are connections in the system PR 201.

v0.3.0

03 May 04:02
00335b9

Choose a tag to compare

What's changed

This release features a large-scale framework overhaul as we increase H2Integrate's modularity and capabilities.
We introduce a new core framework that uses OpenMDAO to handle the data-passing, model debugging, and optimization capabilities used in H2Integrate.
This release is missing some features previously available in H2Integrate; please use v0.2.0 for the prior framework with additional features.
Future efforts and releases will expand the capabilities of H2Integrate.

v0.2 Release

08 Apr 21:24
b17f8ec

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.4...v0.2

v0.1.4

05 Feb 20:46
5bef3be

Choose a tag to compare

What's Changed

  • Added CoolProp to pyproject.toml
  • Changed units of lcoe_real in HOPPComponent from "MWh" to "kWh"
  • Added pre-commit, ruff, and isort checks, and CI workflow to ensure these steps aren't
    skipped.
  • Updates steel and ammonia cost years to 2022
  • Requires HOPP 3.1.1 or higher and removed support for python 3.9
  • Add steel feedstock transport costs (lime, carbon, and iron ore pellets)
  • Allow individual debt rate, equity rate, and debt/equity ratio/split for each subsystem
  • Add initial docs focused on new GreenHEART development
  • New documentation CI pipeline to publish documentation here
    that the documentation site will build on each pull request

Full Changelog: v0.1.3...v0.1.4

v0.1.3

02 Nov 00:04
ad7d7c8

Choose a tag to compare

What's Changed

Full Changelog: v0.1.1...v0.1.3

v0.1.1

28 Oct 17:32
aa329cf

Choose a tag to compare

Small changes and improvements to examples ahead of the NAWEA workshop.

v0.1 Release

18 Oct 23:05
7d5d19f

Choose a tag to compare

First public release with GreenHEART as its own package.