Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
3e82f3a
capitalize ORBIT acronym everywhere
cfrontin Apr 29, 2025
5913dac
merge offshore into BOS feature
cfrontin May 5, 2025
21f9510
fix merge issues
cfrontin May 5, 2025
24d1ac9
small fixes
cfrontin May 6, 2025
434477e
update dependencies
cfrontin May 9, 2025
65e2492
Merge branch 'main' into develop
cfrontin May 9, 2025
f679d39
revert wisdem to match main rather than dev
cfrontin May 9, 2025
5325eab
Merge branch 'main' into develop
cfrontin May 9, 2025
a648e3b
silly un-reversion to preserve history
cfrontin May 9, 2025
4a06ad2
Propogate python version (#70)
cfrontin May 12, 2025
46555fb
Merge branch 'develop' into offshore-development
cfrontin May 15, 2025
d915523
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 15, 2025
13b557d
Merge remote-tracking branch 'upstream/offshore-development' into off…
cfrontin May 15, 2025
59cf9b8
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 15, 2025
3f816d1
Merge remote-tracking branch 'upstream/offshore-development' into off…
cfrontin May 16, 2025
61b9f32
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 16, 2025
07d81dd
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 19, 2025
6f44aa4
rename mooring design to create space for detailed mooring design
cfrontin May 23, 2025
a79ded3
Merge branch 'WISDEM:offshore-development' into offshore-development
cfrontin May 23, 2025
5e2e8f0
updated geomorphology/material data storage objects
cfrontin May 27, 2025
e12ab94
added detailed mooring design example
cfrontin May 27, 2025
8ea2b28
forgot example script
cfrontin May 27, 2025
3837c15
reorganize example
cfrontin May 27, 2025
932faec
Merge remote-tracking branch 'upstream/offshore-development' into off…
cfrontin May 27, 2025
6b64a83
Merge remote-tracking branch 'upstream/offshore-development' into off…
cfrontin May 28, 2025
88a546c
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 28, 2025
1361ecc
Merge remote-tracking branch 'upstream/offshore-development' into off…
cfrontin May 30, 2025
c21434e
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 30, 2025
fff84b8
Merge branch 'offshore-development' into feature/bos-layout-improvement
cfrontin May 30, 2025
0f43acd
Merge branch 'feature/bos-layout-improvement' of github.com:cfrontin/…
cfrontin Jun 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ The components that achieve this can be assembled to either run a single top-dow

A second example is in progress to reoptimize the layout of two offshore wind farms, one fixed bottom (OFB) and one floating (OFL).
Both wind farms are made of the [22 MW reference wind turbine](https://github.com/IEAWindSystems/IEA-22-280-RWT).
In this example, BOS costs are estimated using the tool [Orbit](https://github.com/WISDEM/ORBIT).
In this example, BOS costs are estimated using the tool [ORBIT](https://github.com/WISDEM/ORBIT).

## Roadmap to future capabilities

Expand Down
12 changes: 6 additions & 6 deletions ard/cost/wisdem_wrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,14 @@ def compute(self, inputs, outputs, discrete_inputs=None, discrete_outputs=None):
return super().compute(inputs, outputs, discrete_inputs, discrete_outputs)


class Orbit(Orbit_orig):
class ORBIT(Orbit_orig):
"""
Wrapper for WISDEM's Orbit offshore BOS calculators.
Wrapper for WISDEM's ORBIT offshore BOS calculators.

A thin wrapper of `wisdem.orbit.api.wisdem`
that traps warning messages that are recognized not to be issues.

See: https://github.com/WISDEM/Orbit
See: https://github.com/WISDEM/ORBIT
"""

def setup(self):
Expand Down Expand Up @@ -304,12 +304,12 @@ def LandBOSSE_setup_latents(prob, modeling_options):

def ORBIT_setup_latents(prob, modeling_options):
"""
A function to set up the Orbit latent variables using modeling options.
A function to set up the ORBIT latent variables using modeling options.

Parameters
----------
prob : openmdao.api.Problem
an OpenMDAO problem for which we want to setup the Orbit latent
an OpenMDAO problem for which we want to setup the ORBIT latent
variables
modeling_options : dict
a modeling options dictionary
Expand All @@ -321,7 +321,7 @@ def ORBIT_setup_latents(prob, modeling_options):
for v in prob.model.list_vars(val=False, out_stream=None)
}

# set latent/non-design inputs to Orbit using values in modeling_options
# set latent/non-design inputs to ORBIT using values in modeling_options
prob.set_val(
comp2promotion_map["orbit.orbit.turbine_rating"],
modeling_options["turbine"]["nameplate"]["power_rated"],
Expand Down
4 changes: 2 additions & 2 deletions ard/glue/prototype.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ def create_setup_OM_problem(
],
)
if modeling_options["offshore"]:
model.add_subsystem( # Orbit component
model.add_subsystem( # ORBIT component
"orbit",
cost_wisdem.Orbit(),
cost_wisdem.ORBIT(),
)
model.connect( # effective primary spacing for BOS
"spacing_effective_primary", "orbit.plant_turbine_spacing"
Expand Down
4 changes: 2 additions & 2 deletions examples/LCOE_stack/LCOE_OFL_demo.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@

if False: # set true to run one-shot analysis

# setup the latent variables for Orbit and FinanceSE
# setup the latent variables for ORBIT and FinanceSE
cost_wisdem.ORBIT_setup_latents(prob, modeling_options)
cost_wisdem.FinanceSE_setup_latents(prob, modeling_options)

Expand Down Expand Up @@ -107,7 +107,7 @@
# setup the problem
prob.setup()

# setup the latent variables for Orbit and FinanceSE
# setup the latent variables for ORBIT and FinanceSE
cost_wisdem.ORBIT_setup_latents(prob, modeling_options)
cost_wisdem.FinanceSE_setup_latents(prob, modeling_options)

Expand Down
5 changes: 3 additions & 2 deletions examples/data/turbine_spec_IEA-22-284-RWT.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ geometry:
nameplate:
power_rated: 22.0 # MW
power_rated_aero: 22.86 # MW
windspeed_rated: 11.0 # m/s
turbine_class: I # future-proofing
turbulence_class: B # future-proofing
drivetrain: direct-drive # future-proofing
Expand Down Expand Up @@ -58,7 +59,7 @@ costs:
construction_plan_cost: 250000.0 # $
installation_plan_cost: 1000000.0 # $
boem_review_cost: 0.0 # $

transition_piece_mass: 100. # (ton)
transition_piece_cost: 0. # (USD)

Expand All @@ -67,7 +68,7 @@ costs:
monopile_cost: 4744119.28172591 # (USD)
tcc_per_kW: 1397.17046735 # (USD/kW)
opex_per_kW: 110. # (USD/kWh)

# Floating configuration
num_mooring_lines: 3 # (-)
mooring_line_mass: 843225.1875 # (kg)
Expand Down
1 change: 1 addition & 0 deletions examples/data/turbine_spec_IEA-3p4-130-RWT.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ geometry:
nameplate:
power_rated: 3.37 # MW
power_rated_aero: 3.62 # MW
windspeed_rated: 9.8 # m/s
turbine_class: III # future-proofing
turbulence_class: A # future-proofing
drivetrain: geared # future-proofing
Expand Down
2 changes: 1 addition & 1 deletion examples/offshore/optimization_demo.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@
if modeling_options["offshore"]:
model.add_subsystem( # Orbit component
"orbit",
ard.cost.wisdem_wrap.Orbit(floating=True),
ard.cost.wisdem_wrap.ORBIT(floating=True),
)
model.connect( # effective primary spacing for BOS
"spacing_effective_primary", "orbit.plant_turbine_spacing"
Expand Down
2 changes: 1 addition & 1 deletion test/system/ard/LCOE_stack/test_LCOE_OFB_stack.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def setup_method(self):

def test_model(self):

# setup the latent variables for Orbit and FinanceSE
# setup the latent variables for ORBIT and FinanceSE
cost_wisdem.ORBIT_setup_latents(self.prob, self.modeling_options)
cost_wisdem.FinanceSE_setup_latents(self.prob, self.modeling_options)

Expand Down
2 changes: 1 addition & 1 deletion test/system/ard/LCOE_stack/test_LCOE_OFL_stack.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def setup_method(self):

def test_model(self):

# setup the latent variables for Orbit and FinanceSE
# setup the latent variables for ORBIT and FinanceSE
cost_wisdem.ORBIT_setup_latents(self.prob, self.modeling_options)
cost_wisdem.FinanceSE_setup_latents(self.prob, self.modeling_options)

Expand Down
6 changes: 3 additions & 3 deletions test/unit/ard/cost/test_wisdem_wrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def test_baseline_farm(self):
)


class TestOrbit:
class TestORBIT:

def setup_method(self):

Expand Down Expand Up @@ -118,7 +118,7 @@ def setup_method(self):
)
self.orbit = self.model.add_subsystem(
"orbit",
wcost.Orbit(),
wcost.ORBIT(),
)
self.model.connect( # effective primary spacing for BOS
"spacing_effective_primary", "orbit.plant_turbine_spacing"
Expand All @@ -130,7 +130,7 @@ def setup_method(self):
self.prob = om.Problem(self.model)
self.prob.setup()

# setup the latent variables for Orbit and FinanceSE
# setup the latent variables for ORBIT and FinanceSE
wcost.ORBIT_setup_latents(self.prob, self.modeling_options)
# wcost.FinanceSE_setup_latents(self.prob, self.modeling_options)

Expand Down