h2integrate.tools.profast_tools#

Functions

adjust_dollar_year(init_cost, ...)

create_and_populate_profast(pf_config)

Create ProFAST object and populate it with inputs.

create_years_of_operation(plant_life_years, ...)

Create list of years of operation.

make_price_breakdown(price_breakdown, pf_config)

Make a custom price breakdown of primary cost items in $/unit of commodity.

run_profast(pf)

Simulate financials with ProFAST

update_defaults(orig_dict, new_key, new_val)

update_params_based_on_defaults(pf_config, ...)

h2integrate.tools.profast_tools.adjust_dollar_year(init_cost, init_dollar_year, adj_cost_year, costing_general_inflation)#
h2integrate.tools.profast_tools.update_defaults(orig_dict, new_key, new_val)#
h2integrate.tools.profast_tools.update_params_based_on_defaults(pf_config, update_config)#
h2integrate.tools.profast_tools.create_and_populate_profast(pf_config)#

Create ProFAST object and populate it with inputs.

Parameters:

pf_config (dict) -- populated dictionary of ProFAST inputs.

Returns:

ProFAST object -- profast object initialized with data from pf_config

h2integrate.tools.profast_tools.run_profast(pf)#

Simulate financials with ProFAST

Parameters:

pf (ProFAST object) -- populated ProFAST object

Returns:

3-element tuple containing

  • sol (dict): solved price generated by ProFAST

  • summary (dict): summary vals generated by ProFAST

  • price_breakdown (pd.DataFrame): price breakdown generated by ProFAST

h2integrate.tools.profast_tools.make_price_breakdown(price_breakdown, pf_config)#
Make a custom price breakdown of primary cost items in $/unit of commodity.

Distributes non-component financial contributions (remaining financials) across primary cost items as weighted by cost item capex.

Parameters:
  • price_breakdown (pd.DataFrame) -- price breakdown generated by ProFAST

  • pf_config (dict) -- dictionary of ProFAST inputs. can be used to recreate replica of ProFAST simulation.

Returns:

2-element tuple containing

  • full_price_breakdown (dict): dictionary of each item's contribution to overall LCO.

  • lco_check (float): if lcoh_check==sol['price']

    then the results of full_price_breakdown are accurate

h2integrate.tools.profast_tools.create_years_of_operation(plant_life_years, analysis_start_year, installation_period_months)#

Create list of years of operation.

Parameters:
  • plant_life_years (int) -- plant life duration in years

  • analysis_start_year (int) -- year to start analysis.

  • installation_period_months (float | int) -- installation period in months

Returns:

list[str] -- list of years of operation.