diff --git a/CaseStudy.py b/CaseStudy.py index fca9eb9..3b7c2e1 100644 --- a/CaseStudy.py +++ b/CaseStudy.py @@ -201,6 +201,9 @@ def scale_CaseStudy(self): if hasattr(self, "dPower_Inflows") and self.dPower_Inflows is not None: self.scale_dPower_Inflows() + if hasattr(self, "dPower_VRESProfiles") and self.dPower_VRESProfiles is not None: + self.scale_dPower_VRESProfiles() + if self.dPower_Parameters["pEnableVRES"]: self.scale_dPower_VRES() @@ -269,8 +272,19 @@ def scale_dPower_ThermalGen(self): self.dPower_ThermalGen['Qmax'] = self.dPower_ThermalGen['Qmax'].fillna(0) * self.reactive_power_scaling_factor def scale_dPower_Inflows(self): + # Allow only positive capacity factors + if (self.dPower_Inflows["value"] < 0).any(): + negative_values = self.dPower_Inflows[self.dPower_Inflows["value"] < 0] + raise ValueError(f"Inflows contains negative values:\n{negative_values}") + self.dPower_Inflows["value"] *= self.power_scaling_factor + def scale_dPower_VRESProfiles(self): + # Allow only positive capacity factors + if (self.dPower_VRESProfiles["Capacity"] < 0).any(): + negative_values = self.dPower_VRESProfiles[self.dPower_VRESProfiles["Capacity"] < 0] + raise ValueError(f"VRES_Profiles contains negative values:\n{negative_values}") + def scale_dPower_VRES(self): if "MinProd" not in self.dPower_VRES.columns: self.dPower_VRES['MinProd'] = 0