h2integrate.finances.profast_lco#

Classes

ProFastLCO(**kwargs)

Calculates the Levelized Cost of Commodity (LCO) using ProFAST for a given technology configuration.

class h2integrate.finances.profast_lco.ProFastLCO(**kwargs)#

Calculates the Levelized Cost of Commodity (LCO) using ProFAST for a given technology configuration.

This component estimates the levelized cost of user-defined commodities—such as hydrogen (LCOH), electricity (LCOE), ammonia (LCOA), nitrogen (LCON), or CO₂ (LCOC)—based on the technologies included in the configuration. It can output both scalar results (e.g., LCO, IRR, WACC) and detailed cost breakdowns. Optionally, ProFAST inputs, configurations, and results can be exported to YAML and CSV files for record-keeping or debugging.

LCO_str#

Name of the primary output variable (e.g., "LCOH").

Type:

str

output_txt#

Text label used for output naming, typically based on the commodity type.

Type:

str

outputs_to_units#

Mapping of output variable names to their physical units.

Type:

dict

lco_units#

Units of the LCO output, dependent on the commodity type (e.g., USD/kg or USD/kWh).

Type:

str

Outputs:
LCOx (float): Levelized cost of the commodity, where x corresponds to the first letter of

the commodity (e.g., LCOH for hydrogen). Units depend on commodity type.

wacc_<commodity> (float): Weighted average cost of capital, as a fraction. crf_<commodity> (float): Capital recovery factor, as a fraction. irr_<commodity> (float): Internal rate of return, as a fraction. profit_index_<commodity> (float): Profitability index, dimensionless. investor_payback_period_<commodity> (float): Time until the initial investment is

recovered (years).

price_<commodity> (float): First-year selling price of the commodity in the same units

as LCOx.

<LCOx>_breakdown (dict): Annualized breakdown of LCO costs by category.

add_model_specific_outputs()#
Creates model outputs for the LCO and associated financial metrics, including

cost breakdowns.

compute(inputs, outputs, discrete_inputs, discrete_outputs)#

Runs the ProFAST simulation, calculates the LCO and financial outputs, generates breakdowns, and optionally exports configuration and results to files.

Notes

  • The outputs and file exports are governed by user-specified finance parameters in the plant configuration.

  • The computation relies on run_profast() for core financial simulation and make_price_breakdown() for cost disaggregation.

add_model_specific_outputs()#

Define output variables specific to the selected commodity.

Constructs standardized names for the Levelized Cost of Commodity (LCO) and its associated financial metrics (WACC, CRF, IRR, etc.), based on the commodity type and optional user-specified description.

Returns:

None

compute(inputs, outputs, discrete_inputs, discrete_outputs)#

Run ProFAST simulation and populate outputs.

Executes a ProFAST financial simulation using model inputs to calculate the Levelized Cost of Commodity (LCO) and related economic metrics. Generates cost breakdown dictionaries and optionally exports configuration and results to YAML or CSV files, depending on user options.

Parameters:
  • inputs (dict) -- Continuous model inputs.

  • outputs (dict) -- Continuous model outputs to be populated.

  • discrete_inputs (dict) -- Discrete model inputs (e.g., configuration flags).

  • discrete_outputs (dict) -- Discrete outputs for structured results.

Returns:

None