Sync-up variables defined under plant vs financial_parameters in plant_config
In plant_config there is a section plant and a section finance_parameters.
Some parameters defined under plant are
cost_year: target year used for capex and opex inflation adjustment calc (done in AdjustedCapexOpexComp). Could be described as "dollar year for output costs".
atb_year: used to calculate analysis start year ProFAST parameter in finance calculations. Usually analysis_start_year = atb_year + 2
plant_life: used as operating life ProFAST parameter, sometimes used in performance models that can do lifetime performance estimates (like the electrolyzer)
installation_time: used as installation months ProFAST parameter and could be used in some (not integrated) cost models to create a list of years of operation.
Parameters defined under finance_parameters are:
discount_years: the "original" cost years that capex and opex are prior to inflation adjustment calculations
costing_general_inflation: the inflation rate used to convert capex and opex values in original cost years (specified under discount_years) to the dollar year specified in plant['cost_year'].
pf_params: this is optional but may include information like operating life, installation months, and analysis start year (aka - may include parameters that may otherwise be pulled from plant).
profast_general_inflation: value to use for escalation entries in ProFAST inputs and used as value for general inflation rate ProFAST parameter (if pf_params are not included)
So - given the above summary, values used in finance calculations are not solely pulled from finance_parameters and there are many instances where there could be conflicting information between pf_params dictionary (if provided) and plant or finance_parameters.
To avoid this, I think we ought to think about adjusting how finance information is organized in the input files and used in the finance models. I think we have to answer a few questions to work on resolving this:
- what is the intended purpose of the
plant section of plant config
- what is one clean method of specifying general finance parameters
- what finance-type parameters may:
- come from cost or performance models (like maintenance)
- is technology specific
- expected to be a one-time user input and not change based on cost, performance, or technology
- where is the line between computations done in cost models vs finance models vs some other model
Proposed solution
This isn't a full solution but one part of this is that I think we should have cost adjustment information (like costing_general_inflation, cost_year, and discount_years) specified together and not in two different sections.
Alternatives considered
Additional context
Related issues:
Sync-up variables defined under plant vs financial_parameters in plant_config
In
plant_configthere is a sectionplantand a sectionfinance_parameters.Some parameters defined under
plantarecost_year: target year used for capex and opex inflation adjustment calc (done inAdjustedCapexOpexComp). Could be described as "dollar year for output costs".atb_year: used to calculateanalysis start yearProFAST parameter in finance calculations. Usuallyanalysis_start_year = atb_year + 2plant_life: used asoperating lifeProFAST parameter, sometimes used in performance models that can do lifetime performance estimates (like the electrolyzer)installation_time: used asinstallation monthsProFAST parameter and could be used in some (not integrated) cost models to create a list of years of operation.Parameters defined under
finance_parametersare:discount_years: the "original" cost years that capex and opex are prior to inflation adjustment calculationscosting_general_inflation:the inflation rate used to convert capex and opex values in original cost years (specified underdiscount_years) to the dollar year specified inplant['cost_year'].pf_params: this is optional but may include information like operating life, installation months, and analysis start year (aka - may include parameters that may otherwise be pulled fromplant).profast_general_inflation: value to use for escalation entries in ProFAST inputs and used as value forgeneral inflation rateProFAST parameter (ifpf_paramsare not included)So - given the above summary, values used in finance calculations are not solely pulled from
finance_parametersand there are many instances where there could be conflicting information betweenpf_paramsdictionary (if provided) andplantorfinance_parameters.To avoid this, I think we ought to think about adjusting how finance information is organized in the input files and used in the finance models. I think we have to answer a few questions to work on resolving this:
plantsection of plant configProposed solution
This isn't a full solution but one part of this is that I think we should have cost adjustment information (like
costing_general_inflation,cost_year, anddiscount_years) specified together and not in two different sections.Alternatives considered
Additional context
Related issues: