From 727e6a5689bd929632d6feca1d4000e37ed8aa9a Mon Sep 17 00:00:00 2001 From: "Hammond, Rob" <13874373+RHammond2@users.noreply.github.com> Date: Fri, 22 May 2026 12:59:23 -0700 Subject: [PATCH 1/2] add handling for fixed vs floating substation --- waves/project.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/waves/project.py b/waves/project.py index 974dea0..6a54a4f 100644 --- a/waves/project.py +++ b/waves/project.py @@ -508,10 +508,12 @@ def check_consistent_config(self) -> None: num_substations = {} if bool(self.orbit_config_dict): + orbit_num_substation = None num_turbines["orbit"] = self.orbit_config_dict["plant"]["num_turbines"] - orbit_num_substation = self.orbit_config_dict.get("oss_design", {}).get( - "num_substations" - ) + if (oss_design := self.orbit_config_dict.get("oss_design")) is not None: + orbit_num_substation = oss_design.get("num_substations") + elif (oss_design := self.orbit_config_dict.get("substation_design")) is not None: + orbit_num_substation = oss_design.get("num_substations") if orbit_num_substation is not None: num_substations["orbit"] = orbit_num_substation @@ -1127,13 +1129,16 @@ def n_substations(self) -> int: int The number of substations in the project. """ - if self.orbit_config is not None and "OffshoreSubstationDesign" not in self.orbit._phases: - return self.orbit_config_dict["oss_design"]["num_substations"] + if self.orbit_config is not None: + if "OffshoreSubstationDesign" in self.orbit._phases: + return self.orbit_config_dict["oss_design"]["num_substations"] + if "FloatingSubstationDesign" in self.orbit._phases: + return self.orbit_config_dict["substation_design"]["num_substations"] elif self.landbosse_config is not None: return 1 if self.wombat_config is not None: return len(self.wombat.windfarm.substation_id) - raise RuntimeError("No models were provided, cannot calculate value.") + raise RuntimeError("No models with substations were provided, cannot calculate value.") @validate_common_inputs(which=["units"]) def capacity(self, units: str = "mw") -> float: From be01e12a8577d9ad78512c59000e8184065804a8 Mon Sep 17 00:00:00 2001 From: "Hammond, Rob" <13874373+RHammond2@users.noreply.github.com> Date: Fri, 29 May 2026 12:58:22 -0700 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 122a7c9..57330f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ - Creates the `generate_floris_layout` boolean input to enable automatically generating FLORIS layout inputs from the existing layout file. - Adds more checks for existing configurations before attempting to access simulation objects. +- Fixes a bug where floating offshore substation design and installation results cause the + the code to error out when extracting substation results in ORBIT. ## v0.7 - 12 January 2026