Fill coal/nuclear unit ages where missing
If `operating_date` is null, FOM will be null or wrong. Use mean unit age
at plant, then use a heuristic of 40 year age.
@@ -574,6 +574,8 @@ def atb_fixed_var_om_existing(
assert plant_capacity > 0
age = settings["model_year"] - _df.operating_date.dt.year
+ age = age.fillna(age.mean())
+ age = age.fillna(40)
# https://www.eia.gov/analysis/studies/powerplants/generationcost/pdf/full_report.pdf
annual_capex = (16.53 + (0.126 * age) + (5.68 * 0.5)) * 1000
@@ -612,6 +614,8 @@ def atb_fixed_var_om_existing(
]
if "Nuclear" in eia_tech:
age = (settings["model_year"] - _df.operating_date.dt.year).values
+ age = age.fillna(age.mean())
+ age = age.fillna(40)
# EIA, 2020, "Assumptions to Annual Energy Outlook, Electricity Market Module,"
# Available: https://www.eia.gov/outlooks/aeo/assumptions/pdf/electricity.pdf
fixed = np.ones_like(age)
