h2integrate.simulation.technologies.ammonia.ammonia#
Functions
|
Calculates the various costs associated with ammonia production, including capital expenditures (CapEx), operating expenditures (OpEx), and credits from byproducts, based on the provided configuration settings. |
|
Executes the financial analysis for an ammonia production plant based on the provided configuration settings. |
|
Runs the full ammonia production model, including capacity sizing, cost calculation, |
|
Calculates the annual ammonia production in kilograms based on the plant's capacity and its capacity factor. |
|
Calculates either the annual ammonia production in kilograms based on plant capacity and available hydrogen or the amount of required hydrogen based on a desired ammonia production. |
Classes
|
Configuration inputs for the ammonia capacity sizing model, including plant capacity and feedstock details. |
Outputs from the ammonia plant capacity size model. |
|
|
Configuration inputs for the ammonia cost model, including plant capacity and feedstock details. |
Outputs from the ammonia cost model, extending AmmoniaCosts with total capital expenditure calculations. |
|
|
Base dataclass for calculated costs related to ammonia production, including capital expenditures (CapEx) and operating expenditures (OpEx). |
|
Configuration for the financial model of an ammonia production plant, including operational parameters, cost inputs, and financial assumptions. |
|
Outputs from the financial model of an ammonia production plant, providing detailed financial analysis and projections. |
|
Represents the costs and consumption rates of various feedstocks and resources used in ammonia production. |
- class h2integrate.simulation.technologies.ammonia.ammonia.Feedstocks(electricity_cost, hydrogen_cost, cooling_water_cost, iron_based_catalyst_cost, oxygen_cost, electricity_consumption=0.0001207)#
Represents the costs and consumption rates of various feedstocks and resources used in ammonia production.
- Parameters:
electricity_cost (float)
hydrogen_cost (float)
cooling_water_cost (float)
iron_based_catalyst_cost (float)
oxygen_cost (float)
electricity_consumption (float)
- electricity_cost#
Cost per MWh of electricity.
- Type:
float
- hydrogen_cost#
Cost per kg of hydrogen.
- Type:
float
- cooling_water_cost#
Cost per gallon of cooling water.
- Type:
float
- iron_based_catalyst_cost#
Cost per kg of iron-based catalyst.
- Type:
float
- oxygen_cost#
Cost per kg of oxygen.
- Type:
float
- electricity_consumption#
Electricity consumption in MWh per kg of ammonia production, default is 0.1207 / 1000.
- Type:
float
- hydrogen_consumption#
Hydrogen consumption in kg per kg of ammonia production, default is 0.197284403.
- Type:
float
- cooling_water_consumption#
Cooling water consumption in gallons per kg of ammonia production, default is 0.049236824.
- Type:
float
- iron_based_catalyst_consumption#
Iron-based catalyst consumption in kg per kg of ammonia production, default is 0.000091295354067341.
- Type:
float
- oxygen_byproduct#
Oxygen byproduct in kg per kg of ammonia production, default is 0.29405077250145.
- Type:
float
- electricity_cost: float#
- hydrogen_cost: float#
- cooling_water_cost: float#
- iron_based_catalyst_cost: float#
- oxygen_cost: float#
- electricity_consumption: float#
- hydrogen_consumption = 0.197284403#
- cooling_water_consumption = 0.049236824#
- iron_based_catalyst_consumption = 9.1295354067341e-05#
- oxygen_byproduct = 0.29405077250145#
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaCostModelConfig(plant_capacity_kgpy, plant_capacity_factor, feedstocks)#
Configuration inputs for the ammonia cost model, including plant capacity and feedstock details.
- Parameters:
plant_capacity_kgpy (float)
plant_capacity_factor (float)
feedstocks (Feedstocks)
- plant_capacity_kgpy#
Annual production capacity of the plant in kg.
- Type:
float
- plant_capacity_factor#
The ratio of actual production to maximum possible production over a year.
- Type:
float
- feedstocks#
An instance of the Feedstocks class detailing the costs and consumption rates of resources used in production.
- Type:
- plant_capacity_kgpy: float#
- plant_capacity_factor: float#
- feedstocks: Feedstocks#
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaCosts(capex_air_separation_crygenic, capex_haber_bosch, capex_boiler, capex_cooling_tower, capex_direct, capex_depreciable_nonequipment, land_cost, labor_cost, general_administration_cost, property_tax_insurance, maintenance_cost, total_fixed_operating_cost, H2_cost_in_startup_year, energy_cost_in_startup_year, non_energy_cost_in_startup_year, variable_cost_in_startup_year, credits_byproduct)#
Base dataclass for calculated costs related to ammonia production, including capital expenditures (CapEx) and operating expenditures (OpEx).
- Parameters:
capex_air_separation_crygenic (float)
capex_haber_bosch (float)
capex_boiler (float)
capex_cooling_tower (float)
capex_direct (float)
capex_depreciable_nonequipment (float)
land_cost (float)
labor_cost (float)
general_administration_cost (float)
property_tax_insurance (float)
maintenance_cost (float)
total_fixed_operating_cost (float)
H2_cost_in_startup_year (float)
energy_cost_in_startup_year (float)
non_energy_cost_in_startup_year (float)
variable_cost_in_startup_year (float)
credits_byproduct (float)
- capex_air_separation_crygenic#
Capital cost for air separation.
- Type:
float
- capex_haber_bosch#
Capital cost for the Haber-Bosch process.
- Type:
float
- capex_boiler#
Capital cost for boilers.
- Type:
float
- capex_cooling_tower#
Capital cost for cooling towers.
- Type:
float
- capex_direct#
Direct capital costs.
- Type:
float
- capex_depreciable_nonequipment#
Depreciable non-equipment capital costs.
- Type:
float
- land_cost#
Cost of land.
- Type:
float
- labor_cost#
Annual labor cost.
- Type:
float
- general_administration_cost#
Annual general and administrative cost.
- Type:
float
- property_tax_insurance#
Annual property tax and insurance cost.
- Type:
float
- maintenance_cost#
Annual maintenance cost.
- Type:
float
- total_fixed_operating_cost#
Total annual fixed operating cost.
- Type:
float
- H2_cost_in_startup_year#
Hydrogen cost in the startup year.
- Type:
float
- energy_cost_in_startup_year#
Energy cost in the startup year.
- Type:
float
- non_energy_cost_in_startup_year#
Non-energy cost in the startup year.
- Type:
float
- variable_cost_in_startup_year#
Variable cost in the startup year.
- Type:
float
- credits_byproduct#
Credits from byproducts.
- Type:
float
- capex_air_separation_crygenic: float#
- capex_haber_bosch: float#
- capex_boiler: float#
- capex_cooling_tower: float#
- capex_direct: float#
- capex_depreciable_nonequipment: float#
- land_cost: float#
- labor_cost: float#
- general_administration_cost: float#
- property_tax_insurance: float#
- maintenance_cost: float#
- total_fixed_operating_cost: float#
- H2_cost_in_startup_year: float#
- energy_cost_in_startup_year: float#
- non_energy_cost_in_startup_year: float#
- variable_cost_in_startup_year: float#
- credits_byproduct: float#
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaCostModelOutputs(capex_air_separation_crygenic, capex_haber_bosch, capex_boiler, capex_cooling_tower, capex_direct, capex_depreciable_nonequipment, land_cost, labor_cost, general_administration_cost, property_tax_insurance, maintenance_cost, total_fixed_operating_cost, H2_cost_in_startup_year, energy_cost_in_startup_year, non_energy_cost_in_startup_year, variable_cost_in_startup_year, credits_byproduct, capex_total)#
Outputs from the ammonia cost model, extending AmmoniaCosts with total capital expenditure calculations.
- Parameters:
capex_air_separation_crygenic (float)
capex_haber_bosch (float)
capex_boiler (float)
capex_cooling_tower (float)
capex_direct (float)
capex_depreciable_nonequipment (float)
land_cost (float)
labor_cost (float)
general_administration_cost (float)
property_tax_insurance (float)
maintenance_cost (float)
total_fixed_operating_cost (float)
H2_cost_in_startup_year (float)
energy_cost_in_startup_year (float)
non_energy_cost_in_startup_year (float)
variable_cost_in_startup_year (float)
credits_byproduct (float)
capex_total (float)
- capex_total#
The total capital expenditure for the ammonia plant.
- Type:
float
- capex_total: float#
- h2integrate.simulation.technologies.ammonia.ammonia.run_ammonia_model(plant_capacity_kgpy, plant_capacity_factor)#
Calculates the annual ammonia production in kilograms based on the plant's capacity and its capacity factor.
- Parameters:
plant_capacity_kgpy (float) -- The plant's annual capacity in kilograms per year.
plant_capacity_factor (float) -- The capacity factor of the plant, a ratio of its actual output over a period of time to its potential output if it were possible for it to operate at full capacity continuously over the same period.
- Returns:
float -- The calculated annual ammonia production in kilograms per year.
- Return type:
float
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaCapacityModelConfig(input_capacity_factor_estimate, feedstocks, hydrogen_amount_kgpy=None, desired_ammonia_kgpy=None)#
Configuration inputs for the ammonia capacity sizing model, including plant capacity and feedstock details.
- Parameters:
input_capacity_factor_estimate (float)
feedstocks (Feedstocks)
hydrogen_amount_kgpy (float | None)
desired_ammonia_kgpy (float | None)
- hydrogen_amount_kgpy Optional
The amount of hydrogen available in kilograms per year to make ammonia.
- Type:
float
- desired_ammonia_kgpy Optional
The amount of desired ammonia production in kilograms per year.
- Type:
float
- input_capacity_factor_estimate#
The estimated ammonia plant capacity factor.
- Type:
float
- feedstocks#
An instance of the Feedstocks class detailing the costs and consumption rates of resources used in production.
- Type:
- input_capacity_factor_estimate: float#
- feedstocks: Feedstocks#
- hydrogen_amount_kgpy: float | None#
- desired_ammonia_kgpy: float | None#
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaCapacityModelOutputs(ammonia_plant_capacity_kgpy, hydrogen_amount_kgpy)#
Outputs from the ammonia plant capacity size model.
- Parameters:
ammonia_plant_capacity_kgpy (float)
hydrogen_amount_kgpy (float)
- ammonia_plant_capacity_kgpy#
If amount of hydrogen in kilograms per year is input, the size of the ammonia plant in kilograms per year is output.
- Type:
float
- hydrogen_amount_kgpy#
If amount of ammonia production in kilograms per year is input, the amount of necessary hydrogen feedstock in kilograms per year is output.
- Type:
float
- ammonia_plant_capacity_kgpy: float#
- hydrogen_amount_kgpy: float#
- h2integrate.simulation.technologies.ammonia.ammonia.run_size_ammonia_plant_capacity(config)#
Calculates either the annual ammonia production in kilograms based on plant capacity and available hydrogen or the amount of required hydrogen based on a desired ammonia production.
- Parameters:
config (AmmoniaCapacityModelConfig) -- Configuration object containing all necessary parameters for the capacity sizing, including capacity factor estimate and feedstock costs.
- Returns:
AmmoniaCapacityModelOutputs -- An object containing ammonia plant capacity in kilograms per year and amount of hydrogen required in kilograms per year.
- Return type:
- h2integrate.simulation.technologies.ammonia.ammonia.run_ammonia_cost_model(config)#
Calculates the various costs associated with ammonia production, including capital expenditures (CapEx), operating expenditures (OpEx), and credits from byproducts, based on the provided configuration settings.
- Parameters:
config (AmmoniaCostModelConfig) -- Configuration object containing all necessary parameters for the cost calculation, including plant capacity, capacity factor, and feedstock costs.
- Returns:
AmmoniaCostModelOutputs --
- Object containing detailed breakdowns of calculated
costs, including total capital expenditure, operating costs, and credits from byproducts.
- Return type:
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaFinanceModelConfig(plant_life, plant_capacity_kgpy, plant_capacity_factor, grid_prices, feedstocks, costs, financial_assumptions=NOTHING, install_years=3, gen_inflation=0.0, save_plots=False, show_plots=False, output_dir='./output/', design_scenario_id=0)#
Configuration for the financial model of an ammonia production plant, including operational parameters, cost inputs, and financial assumptions.
- Parameters:
plant_life (int)
plant_capacity_kgpy (float)
plant_capacity_factor (float)
grid_prices (dict[str, float])
feedstocks (Feedstocks)
costs (AmmoniaCosts | AmmoniaCostModelOutputs)
financial_assumptions (dict[str, float])
install_years (int)
gen_inflation (float)
save_plots (bool)
show_plots (bool)
output_dir (str)
design_scenario_id (int)
- plant_life#
Expected operational life of the plant in years.
- Type:
int
- plant_capacity_kgpy#
Annual production capacity of the plant in kilograms.
- Type:
float
- plant_capacity_factor#
The fraction of the year that the plant operates at full capacity.
- Type:
float
- grid_prices#
Electricity prices per kWh, indexed by year.
- Type:
Dict[str, float]
- feedstocks#
Instance of Feedstocks detailing costs and consumption rates of inputs.
- Type:
- costs#
Pre-calculated capital and operating costs for the plant.
- Type:
Union[AmmoniaCosts, AmmoniaCostModelOutputs]
- financial_assumptions#
Key financial metrics and assumptions for the model, such as discount rate and inflation rate. Default is an empty dict but should be populated with relevant values.
- Type:
Dict[str, float]
- install_years#
Number of years over which the plant is installed and ramped up to full production, default is 3 years.
- Type:
int
- gen_inflation#
General inflation rate, default is 0.0.
- Type:
float
- save_plots#
select whether or not to save output plots
- Type:
bool
- show_plots#
select whether or not to show output plots during run
- Type:
bool
- output_dir#
where to store any saved plots or data
- Type:
str
- design_scenario_id#
what design scenario the plots correspond to
- Type:
int
- plant_life: int#
- plant_capacity_kgpy: float#
- plant_capacity_factor: float#
- grid_prices: dict[str, float]#
- feedstocks: Feedstocks#
- costs: AmmoniaCosts | AmmoniaCostModelOutputs#
- financial_assumptions: dict[str, float]#
- install_years: int#
- gen_inflation: float#
- save_plots: bool#
- show_plots: bool#
- output_dir: str#
- design_scenario_id: int#
- class h2integrate.simulation.technologies.ammonia.ammonia.AmmoniaFinanceModelOutputs(sol, summary, price_breakdown)#
Outputs from the financial model of an ammonia production plant, providing detailed financial analysis and projections.
- Parameters:
sol (dict)
summary (dict)
price_breakdown (DataFrame)
- sol#
Solution to the financial model, containing key performance indicators like Net Present Value (NPV), Internal Rate of Return (IRR), and payback period.
- Type:
dict
- summary#
Summary of the financial analysis, providing a high-level overview of the plant's financial viability.
- Type:
dict
- price_breakdown#
Detailed breakdown of costs contributing to the production price of ammonia.
- Type:
pd.DataFrame
- ammonia_price_breakdown#
Breakdown of the ammonia production cost into component costs, showing the contribution of each cost element to the overall production cost.
- Type:
dict
- sol: dict#
- summary: dict#
- price_breakdown: DataFrame#
- h2integrate.simulation.technologies.ammonia.ammonia.run_ammonia_finance_model(config)#
Executes the financial analysis for an ammonia production plant based on the provided configuration settings. This analysis includes calculating the Net Present Value (NPV), Internal Rate of Return (IRR), payback period, and providing a detailed cost breakdown for producing ammonia.
This function leverages the configuration specified in AmmoniaFinanceModelConfig, including plant operational parameters, grid prices, feedstock costs, pre-calculated CapEx and OpEx, and financial assumptions to evaluate the financial performance of the ammonia production facility.
- Parameters:
config (AmmoniaFinanceModelConfig) -- Configuration object containing all the necessary parameters for the financial analysis, including assumptions and pre-calculated cost inputs.
- Returns:
AmmoniaFinanceModelOutputs --
- An object containing the results of the financial
analysis. This includes a solution dictionary with key financial metrics, a summary of the financial viability, a price breakdown of ammonia production costs, and a detailed breakdown of how each cost component contributes to the overall cost of ammonia.
- Return type:
- h2integrate.simulation.technologies.ammonia.ammonia.run_ammonia_full_model(h2integrate_config, save_plots=False, show_plots=False, output_dir='./output/', design_scenario_id=0)#
Runs the full ammonia production model, including capacity sizing, cost calculation,
- Parameters:
h2integrate_config (dict) -- Configuration settings for the ammonia production model, including capacity, costs, and financial assumptions.
- Returns:
Tuple[AmmoniaCapacityModelOutputs, AmmoniaCostModelOutputs, AmmoniaFinanceModelOutputs] -- A tuple containing the outputs of the ammonia capacity model, ammonia cost model, and ammonia finance model.
- Return type:
tuple[AmmoniaCapacityModelOutputs, AmmoniaCostModelOutputs, AmmoniaFinanceModelOutputs]