From 9090f2a011c0a0e611db7847ef27fddc932f63d0 Mon Sep 17 00:00:00 2001 From: ppinchuk Date: Wed, 5 Jun 2024 01:12:19 -0600 Subject: [PATCH] Add in required gen outputs for solar --- reV/generation/generation.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/reV/generation/generation.py b/reV/generation/generation.py index a2065425b..90ce6ce21 100644 --- a/reV/generation/generation.py +++ b/reV/generation/generation.py @@ -956,6 +956,14 @@ def _parse_output_request(self, req): if "cf_mean" not in output_request: output_request.append("cf_mean") + if _is_solar_run_with_ac_outputs(self.tech): + if "dc_ac_ratio" not in output_request: + output_request.append("dc_ac_ratio") + for dset in ["cf_mean", "cf_profile"]: + ac_dset = f"{dset}_ac" + if dset in output_request and ac_dset not in output_request: + output_request.append(ac_dset) + for request in output_request: if request not in self.OUT_ATTRS: msg = ( @@ -1100,3 +1108,10 @@ def run(self, out_fpath=None, max_workers=1, timeout=1800, pool_size=None): raise e return self._out_fpath + + +def _is_solar_run_with_ac_outputs(tech): + """True if tech is pvwattsv8+""" + if "pvwatts" not in tech.casefold(): + return False + return tech.casefold() not in {f"pvwattsv{i}" for i in range(8)}