Skip to content

v0.4.0

Choose a tag to compare

@johnjasa johnjasa released this 02 Oct 17:22
· 490 commits to develop since this release
cc25a49

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.