Model Overview#
Currently, H2I recognizes five types of models:
Resource#
Resource models process resource data that is usually passed to a technology model. See Resource models for available models.
Converters#
Converter models are technologies that:
converts energy available in the 'Primary Input' to another form of energy ('Primary Commodity') OR
consumes the 'Primary Input' (and perhaps secondary inputs or feedstocks), which is converted to the 'Primary Commodity' through some process
Note
When the Primary Commodity is electricity, those converters are considered electricity producing technologies and their electricity production is summed for financial calculations.
See Converter models for the full list of available converter technologies.
Transport#
Transport models are used to either:
connect the 'Transport Commodity' from a technology that produces the 'Transport Commodity' to a technology that consumes or stores the 'Transport Commodity' OR
combine multiple input streams of the 'Transport Commodity' into a single stream
split a single input stream of the 'Transport Commodity' into multiple output streams
Connection: [source_tech, dest_tech, transport_commodity, transport_technology]
See Transport models for available models.
Storage#
Storage technologies input and output the 'Storage Commodity' at different times. These technologies can be filled or charged, then unfilled or discharged at some later time. These models are usually constrained by two key model parameters: storage capacity and charge/discharge rate.
See Storage models for available models.
Control#
Control models are used to control the Storage models and resource flows.
See Control models for available models.
Technology Models Overview#
The tables below are generated at docs build time from
supported_models.py
and the package source tree, so they always reflect the models that
are actually registered with H2Integrate. Each class name links to its
auto-generated API page.
Resource models#
riverother components:
RiverResource- A resource component for processing river discharge data from a CSV file.
solar: solar resource data providerstidalother components:
TidalResource- A resource component for processing tidal data from a CSV file.
wind: wind resource data providersother components:
Converter models#
ammonia: ammonia synthesisperformance models:
AmmoniaSynLoopPerformanceModel- OpenMDAO component modeling the performance of an ammonia synthesis loop.SimpleAmmoniaPerformanceModel- An OpenMDAO component for modeling the performance of an ammonia plant.
cost models:
AmmoniaSynLoopCostModel- OpenMDAO component modeling the cost of an ammonia synthesis loop.SimpleAmmoniaCostModel- An OpenMDAO component for calculating the costs associated with ammonia production.
co2_marine: marine carbon dioxide removalperformance models:
DOCPerformanceModel- An OpenMDAO component for modeling the performance of a Direct Ocean Capture (DOC) plant.OAEPerformanceModel- OpenMDAO component for modeling Ocean Alkalinity Enhancement (OAE) performance.
cost models:
DOCCostModel- OpenMDAO component for computing capital (CapEx) and operational (OpEx) costs of a direct ocean capture (DOC) system.OAECostModel- OpenMDAO component for computing capital (CapEx) and operational (OpEx) costs of a ocean alkalinity enhancement (OAE) system.
combined cost and financial models:
OAECostAndFinancialModel- OpenMDAO component for calculating costs and financial metrics of an Ocean Alkalinity Enhancement (OAE) system.
desal: water desalinationperformance models:
ReverseOsmosisPerformanceModel- An OpenMDAO component that computes the performance of a reverse osmosis desalination system.
cost models:
ReverseOsmosisCostModel- An OpenMDAO component that computes the cost of a reverse osmosis desalination system.
generic: generic converter componentscost models:
geoh2: geologic hydrogen well and surface processingperformance models:
AspenGeoH2SurfacePerformanceModel- ASPEN-based geologic hydrogen surface processing performance model for a surface processing system for a natural geologic hydrogen plant.NaturalGeoH2PerformanceModel- OpenMDAO component for modeling the performance of a subsurface well for a natural geologic hydrogen plant.StimulatedGeoH2PerformanceModel- OpenMDAO component modeling the performance of a stimulated geologic hydrogen plant.
cost models:
AspenGeoH2SurfaceCostModel- OpenMDAO component for modeling the cost of a surface processing system for a natural geologic hydrogen plant based on curve fits from an ASPEN model.GeoH2SubsurfaceCostModel- An OpenMDAO component for modeling subsurface well costs in geologic hydrogen plants.
grid: electricity grid connectionperformance models:
GridPerformanceModel- Model a grid interconnection point.
cost models:
GridCostModel- An OpenMDAO component that computes costs for grid connections.
hopp: hybrid renewable plant via HOPPcombined performance and cost models:
HOPPComponent- A simple OpenMDAO component that represents a HOPP model.
hydrogen: hydrogen productionperformance models:
ECOElectrolyzerPerformanceModel- An OpenMDAO component that wraps the PEM electrolyzer model.HTSEPerformanceModel- A simplified high-temperature steam electrolysis (HTSE) model.LinearH2FuelCellPerformanceModel- Performance model for a hydrogen fuel cell.SteamMethaneReformerPerformanceModel- Performance model for steam methane reforming (SMR) hydrogen production plants.
cost models:
BasicElectrolyzerCostModel- An OpenMDAO component that computes the cost of a PEM electrolyzer.CustomElectrolyzerCostModel- An OpenMDAO component that computes the cost of a PEM electrolyzer.H2FuelCellCostModel- Cost model for a hydrogen fuel cell system.HTSECostModel- A simple size-based cost model for HTSE.SingliticoCostModel- An OpenMDAO component that computes the cost of a PEM electrolyzer.SteamMethaneReformerCostModel- Cost model for steam methane reforming hydrogen production plants.
combined performance and cost models:
WOMBATElectrolyzerModel- WOMBATElectrolyzerModel is a joint performance and cost model for electrolyzers using the WOMBAT simulation framework.
iron: iron mining, reduction, and electrowinningperformance models:
HumbertEwinPerformanceComponent- OpenMDAO component for the Humbert iron electrowinning performance model.HydrogenIronReductionPlantPerformanceComponent- Performance component for hydrogen-based direct reduced iron (DRI) plant using the Rosner performance model.NaturalGasIronReductionPlantPerformanceComponent- Performance component for natural gas-based direct reduced iron (DRI) plant using the Rosner performance model.
cost models:
HumbertStinnEwinCostComponent- OpenMDAO component for the Humbert/Stinn iron electrowinning cost model.HydrogenIronReductionPlantCostComponent- Cost component for hydrogen-based direct reduced iron (DRI) plant using the Rosner cost model.NaturalGasIronReductionPlantCostComponent- Cost component for natural gas-based direct reduced iron (DRI) plant using the Rosner cost model.
other components:
methanol: methanol synthesisperformance models:
CO2HMethanolPlantPerformanceModel- An OpenMDAO component for modeling the performance of a CO2 Hydrogenation (CO2H) methanol plant.SMRMethanolPlantPerformanceModel- An OpenMDAO component for modeling the performance of a steam methane reforming (SMR) methanol plant.
cost models:
CO2HMethanolPlantCostModel- An OpenMDAO component for modeling the cost of a CO2 hydrogenation (CO2H) methanol plant.SMRMethanolPlantCostModel- An OpenMDAO component for modeling the cost of a steam methane (SMR) reforming methanol plant.
financial models:
CO2HMethanolPlantFinanceModel- An OpenMDAO component for modeling the financing of a CO2 Hydrogenation (CO2H) methanol plant.SMRMethanolPlantFinanceModel- An OpenMDAO component for modeling the financing of a steam methane reforming (SMR) methanol plant.
natural_gas: natural gas combined-cycle and combustion turbinesperformance models:
NaturalGasPerformanceModel- Performance model for natural gas power plants.
cost models:
NaturalGasCostModel- Cost model for natural gas power plants.
nitrogen: nitrogen separation from airperformance models:
SimpleASUPerformanceModel- Simple linear converter to model nitrogen production from an Air Separation Unit.
cost models:
nuclear: nuclear power plantsperformance models:
QuinnNuclearPerformanceModel- Simple nuclear performance model producing electricity.SimpleThermalNuclearReactorPerformanceModel- Simple thermal nuclear reactor model with heat and electricity outputs.
cost models:
QuinnNuclearCostModel- Cost model for nuclear power plants.SimpleThermalNuclearReactorCostModel- Simple cost model for the thermal nuclear reactor.
solar: solar-PV panelsperformance models:
PYSAMSolarPlantPerformanceModel- An OpenMDAO component that wraps a SolarPlant model.
cost models:
steel: steel productionperformance models:
CMUElectricArcFurnaceScrapOnlyPerformanceComponent- Electric Arc Furnace performance model based on CMU decarbSTEEL EAF Model v5HydrogenEAFPlantPerformanceComponent- Performance component for hydrogen-based electric arc furnace (EAF) plant using the Rosner performance model.NaturalGasEAFPlantPerformanceComponent- Performance component for natural gas-based electric arc furnace (EAF) plant using the Rosner performance model.SteelPerformanceModel- An OpenMDAO component for modeling the performance of an steel plant.
cost models:
CMUElectricArcFurnaceCostModel- OpenMDAO component for calculating electric arc furnace capital and operating expenditures based on the CMU decarbSTEEL v5 model.HydrogenEAFPlantCostComponent- Cost component for hydrogen-based electric arc furnace (EAF) plant using the Rosner cost model.NaturalGasEAFPlantCostComponent- Cost component for natural gas-based electric arc furnace (EAF) plant using the Rosner cost model.
combined cost and financial models:
SteelCostAndFinancialModel- An OpenMDAO component for calculating the costs associated with steel production.
water_power: tidal and run-of-river hydropowerperformance models:
PySAMTidalPerformanceModel- An OpenMDAO component that wraps the PySAM MhkTidal model.RunOfRiverHydroPerformanceModel- An OpenMDAO component for modeling the performance of a run-of-river hydropower plant.
cost models:
PySAMMarineCostModel- An OpenMDAO component for calculating the costs associated with Marine Hydrokinetic (MHK) energy systems.RunOfRiverHydroCostModel- An OpenMDAO component that calculates the capital expenditure (CapEx) for a run-of-river hydropower plant.
wind: wind turbine plantsperformance models:
FlorisWindPlantPerformanceModel- An OpenMDAO component that wraps a Floris model.PYSAMWindPlantPerformanceModel- An OpenMDAO component that wraps a WindPlant model.
cost models:
ATBWindPlantCostModel- OpenMDAO component for calculating wind plant capital and operating expenditures.
other components:
ArdWindPlantModel- OpenMDAO Group integrating the Ard wind plant as a sub-problem.
Transport models#
transport: commodity transporters, combiners, and splittersother components:
GasStreamCombinerPerformanceModel- Combine multiple gas streams into one using mass-weighted averaging.GenericCombinerPerformanceModel- Combine any commodity or resource from multiple sources into one output without losses.GenericSplitterPerformanceModel- Split a commodity stream from one source into two outputs.GenericSummerPerformanceModel- Sum the production or consumption profile of some commodity from a single source.GenericTransporterPerformanceModel- Transport any commodity from a source technology to a destination technology.CablePerformanceModel(registered ascable) - Pass-through cable with no losses.PipePerformanceModel(registered aspipe) - Pass-through pipe with no losses.
Storage models#
battery: battery storageperformance models:
PySAMBatteryPerformanceModel- OpenMDAO component wrapping the PySAM Battery Performance model.
cost models:
ATBBatteryCostModel- This cost model is based on the equations in the "Utility-Scale Battery Storage" sheet in the ATB 2024 workbook.
generic_storage: generic storage performance/costperformance models:
StorageAutoSizingModel- Performance model that calculates the storage charge rate and capacity needed to either:StoragePerformanceModel- OpenMDAO component for a storage component.
cost models:
GenericStorageCostModel- Generic storage cost model for any commodity (electricity, hydrogen, etc.).
h2_storage: hydrogen storagecost models:
CompressedGasStorageCostModel- Capital and operational cost model for compressed gas hydrogen storage.LinedRockCavernStorageCostModel- Capital and operational cost model for lined rock cavern hydrogen storage.MCHTOLStorageCostModel- Cost model representing a toluene/methylcyclohexane (TOL/MCH) hydrogen storage system.PipeStorageCostModel- Capital and operational cost model for underground pipeline hydrogen storage.SaltCavernStorageCostModel- Capital and operational cost model for salt cavern hydrogen storage.
Control models#
pyomo_converter_dispatch: Pyomo dispatch rules for convertersdispatch rules:
PyomoDispatchGenericConverterMinOperatingCosts- Class defining Pyomo rules for the optimized dispatch for load following for generic commodity production components.
pyomo_storage_dispatch: Pyomo dispatch rules for storagedispatch rules:
PyomoRuleStorageBaseclass- Base class defining Pyomo rules for generic commodity storage components.PyomoRuleStorageMinOperatingCosts- Class defining Pyomo rules for the optimized dispatch for load following for generic commodity storage components.
storage_controllers: storage controllerscontrollers:
DemandOpenLoopStorageController- A controller that manages commodity flow based on demand and storage constraints.HeuristicLoadFollowingStorageController- Operates storage based on heuristic rules to meet the demand profile based on available commodity from generation profiles and demand profile.OptimizedDispatchStorageController- Operates storage based on optimization to meet the demand profile based on available commodity from generation profiles and demand profile while minimizing costs.PeakLoadManagementHeuristicOpenLoopStorageController- Peak-load management storage controller implementing an open-loop control strategy.PeakLoadManagementOptimizedStorageController- Demand-response storage controller using a rolling-horizon MILP.SimpleStorageOpenLoopController- A simple open-loop controller for storage systems.
system_level_controllers: system-level controllerscontrollers:
CostMinimizationControl- Cost-minimizing system-level controller.DemandFollowingControl- Demand-following system-level controller.ProfitMaximizationControl- Profit-maximizing system-level controller.
Demand models#
demand: demand componentsperformance models:
FlexibleDemandComponent- Demand component for flexible demand with ramping and utilization constraints.GenericDemandComponent- Component for for converting input supply into met demand.
Feedstock models#
feedstocks: feedstock supplycost models:
EIANaturalGasFeedstockCostModel- Feedstock cost model based on the EIA natural gas price API results that uses annual or monthly data to model an hourly time step for a single year to model the price of natural gas used in the model.
other components:
Finance models#
finances: finance models (LCO/NPV)financial models:
NumpyFinancialNPV- OpenMDAO component for calculating Net Present Value (NPV) using the NumPy Financial.ProFastLCO- Calculate the Levelized Cost of Commodity (LCO) with ProFAST.ProFastNPV- Calculates the Net Present Value (NPV) of a commodity using ProFAST.