Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
d84e843
(prep to) liberate python 3.13 (#69)
cfrontin May 12, 2025
b3c5bd6
add glue design doc temporarily (#89)
cfrontin Jun 2, 2025
693ca35
copy in input files for IEA 740 10 ROWP
jaredthomas68 Jun 5, 2025
4a78304
reorganize example 01 a bit
jaredthomas68 Jun 6, 2025
58e6b5c
wip
jaredthomas68 Jun 6, 2025
76f63fe
glue code working, but not with wisdem yet
jaredthomas68 Jun 6, 2025
4e2f28c
minor typo correction
jaredthomas68 Jun 6, 2025
361a82d
recursive glue mostly working
jaredthomas68 Jun 9, 2025
1b8bb3e
run script and input file for glue code example
jaredthomas68 Jun 9, 2025
51c66e0
attempt to get laten variable setting working with glue code
jaredthomas68 Jun 9, 2025
3f114bc
Merge branch 'main' into develop
cfrontin Jun 23, 2025
712563b
remove comments
cfrontin Jun 23, 2025
9628a80
Merge branch 'develop' into gluedraft
cfrontin Jun 23, 2025
4f8a180
fix merge conflicts
jaredthomas68 Jun 23, 2025
e38be0e
Merge remote-tracking branch 'myfork/gluedraft' into gluedraft
jaredthomas68 Jun 23, 2025
325fb57
run black
jaredthomas68 Jun 23, 2025
4e96ad1
Merge branch 'develop' into gluedraft
cfrontin Jun 23, 2025
12d23c9
get latent variable setting working automatically
jaredthomas68 Jun 23, 2025
2dcc163
get 02_onshore running
jaredthomas68 Jun 24, 2025
dd19ebf
fix mapping bug in glue code
jaredthomas68 Jun 24, 2025
d3e6fc6
get optimization working for onshore example using glue code
jaredthomas68 Jun 24, 2025
c9869b9
Merge remote-tracking branch 'myfork/gluedraft' into gluedraft
jaredthomas68 Jun 24, 2025
5493937
optimization onshore example working with gluecode prototype
jaredthomas68 Jun 24, 2025
45a34bb
include convergence plot
jaredthomas68 Jun 24, 2025
1dad700
run black
jaredthomas68 Jun 24, 2025
4ceaac1
remove commented connections
jaredthomas68 Jun 25, 2025
0f51aba
update onshore example for new glue code
jaredthomas68 Jun 25, 2025
2d2d2ec
update file paths
jaredthomas68 Jun 25, 2025
175a21b
update onshore example to use set_up_ard_model
jaredthomas68 Jun 26, 2025
4a1bf66
wip creating default systems for ard api
jaredthomas68 Jul 2, 2025
d81097e
resolve merge conflict
jaredthomas68 Jul 2, 2025
ad62862
move LCOE stack tests into api test directory
jaredthomas68 Jul 3, 2025
5fc0f88
wip api
jaredthomas68 Jul 3, 2025
c260431
api unit test
jaredthomas68 Jul 3, 2025
dc4acfa
bring clarity to pyrite test
jaredthomas68 Jul 3, 2025
72f2d95
working out wisdem differences
jaredthomas68 Jul 3, 2025
f7d85fd
wip debug wisdem
jaredthomas68 Jul 3, 2025
94ecd60
roll back to older ard compoent
jaredthomas68 Jul 3, 2025
f6d6e84
wip working on debugging LandBOSSE Ard wrapper
jaredthomas68 Jul 3, 2025
24d7dba
restore old landbosse comp naming
jaredthomas68 Jul 3, 2025
9356e60
get all tests passing
jaredthomas68 Jul 3, 2025
03dad17
convert LCOE stack test to new glue code
jaredthomas68 Jul 3, 2025
6cb2170
fixing tests with new inputs
jaredthomas68 Jul 7, 2025
a597150
new files to work with path restrictions
jaredthomas68 Jul 7, 2025
e197b4b
all tests passing again
jaredthomas68 Jul 7, 2025
5bbfbf7
set up offshore fixed bottom and floating w/o cable default systems
jaredthomas68 Jul 8, 2025
866bc84
include new default systems in unit test
jaredthomas68 Jul 8, 2025
d4371bc
run black
jaredthomas68 Jul 8, 2025
d1390e7
include default system design files
jaredthomas68 Jul 8, 2025
75d9961
including initial des var values in modeling options
jaredthomas68 Jul 8, 2025
102510c
use total capex from landbosse and bos capex in financese
jaredthomas68 Jul 8, 2025
5c46c86
use decorator
jaredthomas68 Jul 8, 2025
72157da
include input files
jaredthomas68 Jul 8, 2025
8e39043
run black
jaredthomas68 Jul 8, 2025
9185146
include input files for onshore example
jaredthomas68 Jul 8, 2025
bdc4350
include deprecated api
jaredthomas68 Jul 8, 2025
72ed9a4
working towards offshore optimization demo refactor, still not matchi…
cfrontin Jul 8, 2025
7050d1e
black refactor
cfrontin Jul 8, 2025
ffa9f79
black reformat 2
cfrontin Jul 8, 2025
7e6b80a
fixed 03_offshore
cfrontin Jul 14, 2025
80cf106
cleared out offshore folder of extraneous example data, still need to…
cfrontin Jul 14, 2025
6101f5b
remove old FLORIS power comparison examples, they're no longer relevant
cfrontin Jul 14, 2025
ea17984
debugging
jaredthomas68 Jul 14, 2025
7c1c527
finish merge
jaredthomas68 Jul 14, 2025
be5d6e1
run black
jaredthomas68 Jul 14, 2025
144dda7
edit .gitignore and include example 04_offshore_fixed
jaredthomas68 Jul 14, 2025
b024643
update offshore fixed example for glue code
jaredthomas68 Jul 14, 2025
9f4b8d2
swap numbering for fixed and floating examples
jaredthomas68 Jul 14, 2025
46271a8
run black
jaredthomas68 Jul 14, 2025
10c4eb9
include inputs for all examples
jaredthomas68 Jul 14, 2025
db57f26
include system tests for new glue code for floating and offshore fixed
jaredthomas68 Jul 14, 2025
06f37dc
run black
jaredthomas68 Jul 14, 2025
d9eefd8
include offshore fixed and floating systems defaults with cable design
jaredthomas68 Jul 14, 2025
c802750
include system test inputs for offshore fixed and floating tests
jaredthomas68 Jul 14, 2025
b071b9d
close back ticks in docstring
jaredthomas68 Jul 14, 2025
099c8e5
remove deprecated examples
jaredthomas68 Jul 14, 2025
5efe4f6
update doc strings
jaredthomas68 Jul 14, 2025
ce6ca4e
update doc string
jaredthomas68 Jul 14, 2025
4e60bc8
update doc string
jaredthomas68 Jul 14, 2025
e9559bb
updated the example, removed LCOE stack
cfrontin Jul 15, 2025
9ee3b13
Merge branch 'gluedraft' of github.com:jaredthomas68/Ard into gluedraft
cfrontin Jul 15, 2025
92fda37
black reformat
cfrontin Jul 15, 2025
dc4bc64
include approx totals in all default systems and remove old debug code
jaredthomas68 Jul 16, 2025
39daa84
Merge remote-tracking branch 'myfork/gluedraft' into gluedraft
jaredthomas68 Jul 16, 2025
eec3645
run black
jaredthomas68 Jul 16, 2025
fa4147a
Update test/unit/ard/farm_aero/test_templates.py
jaredthomas68 Jul 16, 2025
984a9e4
Update test/system/ard/api/test_LCOE_OFL_stack.py
jaredthomas68 Jul 16, 2025
9fbda7a
Update test/unit/ard/farm_aero/test_templates.py
jaredthomas68 Jul 16, 2025
20e00c4
remove trailing comma and comment out unused check tol
jaredthomas68 Jul 16, 2025
a38e76f
Merge remote-tracking branch 'myfork/gluedraft' into gluedraft
jaredthomas68 Jul 16, 2025
164ae37
Merge remote-tracking branch 'upstream/develop' into gluedraft
cfrontin Jul 16, 2025
9c1f57c
minor changes to accomodate optiwind net version update
jaredthomas68 Jul 17, 2025
2ca59aa
run black
jaredthomas68 Jul 17, 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
5 changes: 5 additions & 0 deletions ard/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,8 @@
from . import offshore
from . import wind_query
from . import utils

from pathlib import Path

BASE_DIR = Path(__file__).resolve().parent
ASSET_DIR = BASE_DIR / "api" / "default_systems"
1 change: 1 addition & 0 deletions ard/api/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .interface import set_up_ard_model, replace_key_value, set_up_system_recursive
107 changes: 107 additions & 0 deletions ard/api/default_systems/ard_system_offshore_floating.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
type: group
systems:
layout2aep:
type: group
promotes: ["*"]
approx_totals:
method: "fd"
step: 1.0E-3
form: "central"
step_calc: "rel_avg"
systems:
layout:
type: component
module: ard.layout.gridfarm
object: GridFarmLayout
promotes: ["*"]
kwargs:
modeling_options:
aepFLORIS:
type: component
module: ard.farm_aero.floris
object: FLORISAEP
promotes: ["x_turbines", "y_turbines", "AEP_farm"]
kwargs:
modeling_options:
case_title: "offshore-floating"
data_path:
landuse:
type: component
module: ard.layout.gridfarm
object: GridFarmLanduse
promotes: ["*"]
kwargs:
modeling_options:
collection:
type: component
module: ard.collection
object: OptiwindnetCollection
promotes: ["x_turbines", "y_turbines"]
kwargs:
modeling_options:
mooring_design:
type: component
module: ard.offshore.mooring_design_constant_depth
object: ConstantDepthMooringDesign
promotes: ["x_turbines", "y_turbines", "x_anchors", "y_anchors", "phi_platform"]
kwargs:
modeling_options:
wind_query:
mooring_constraint:
type: component
module: ard.offshore.mooring_constraint
object: MooringConstraint
promotes: ["x_turbines", "y_turbines", "x_anchors", "y_anchors"]
kwargs:
modeling_options:
spacing_constraint:
type: component
module: ard.layout.spacing
object: TurbineSpacing
promotes: ["x_turbines", "y_turbines"]
kwargs:
modeling_options:
tcc:
type: component
module: ard.cost.wisdem_wrap
object: TurbineCapitalCosts
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
]
orbit:
type: component
module: ard.cost.wisdem_wrap
object: ORBIT
promotes: [
["plant_turbine_spacing", "spacing_effective_primary"],
["plant_row_spacing", "spacing_effective_secondary"],
# "installation_capex",
]
kwargs:
floating: true
opex:
type: component
module: ard.cost.wisdem_wrap
object: OperatingExpenses
promotes: [
"turbine_number",
"machine_rating",
"opex_per_kW"
]
financese:
type: component
module: ard.cost.wisdem_wrap
object: PlantFinance
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
"opex_per_kW",
]
connections:
- ["AEP_farm", "financese.plant_aep_in"]
- ["orbit.total_capex_kW", "financese.bos_per_kW"] # For offshore systems
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
type: group
connections:
- ["AEP_farm", "financese.plant_aep_in"]
- ["orbit.installation_capex", "financese.bos_per_kW"]
systems:
layout2aep:
type: group
promotes: ["*"]
approx_totals:
method: "fd"
step: 1.0E-3
form: "central"
step_calc: "rel_avg"
systems:
layout:
type: component
module: ard.layout.gridfarm
object: GridFarmLayout
promotes: ["*"]
kwargs:
modeling_options:
aepFLORIS:
type: component
module: ard.farm_aero.floris
object: FLORISAEP
promotes: ["x_turbines", "y_turbines", "AEP_farm"]
kwargs:
modeling_options:
data_path:
case_title: "default"
landuse:
type: component
module: ard.layout.gridfarm
object: GridFarmLanduse
promotes: ["*"]
kwargs:
modeling_options:
orbit:
type: component
module: ard.cost.wisdem_wrap
object: ORBIT
promotes: [
"turbine_number",
"machine_rating",
"installation_capex",
]
kwargs:
floating: true
tcc:
type: component
module: ard.cost.wisdem_wrap
object: TurbineCapitalCosts
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
]
opex:
type: component
module: ard.cost.wisdem_wrap
object: OperatingExpenses
promotes: [
"turbine_number",
"machine_rating",
"opex_per_kW"
]
financese:
type: component
module: ard.cost.wisdem_wrap
object: PlantFinance
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
"opex_per_kW",
]
92 changes: 92 additions & 0 deletions ard/api/default_systems/ard_system_offshore_monopile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
type: group
systems:
layout2aep:
type: group
promotes: ["*"]
approx_totals:
method: "fd"
step: 1.0E-3
form: "central"
step_calc: "rel_avg"
systems:
layout:
type: component
module: ard.layout.gridfarm
object: GridFarmLayout
promotes: ["*"]
kwargs:
modeling_options:
aepFLORIS:
type: component
module: ard.farm_aero.floris
object: FLORISAEP
promotes: ["x_turbines", "y_turbines", "AEP_farm"]
kwargs:
modeling_options:
case_title: "Offshore-monopile"
data_path:
landuse:
type: component
module: ard.layout.gridfarm
object: GridFarmLanduse
promotes: ["*"]
kwargs:
modeling_options:
collection:
type: component
module: ard.collection
object: OptiwindnetCollection
promotes: ["x_turbines", "y_turbines"]
kwargs:
modeling_options:
spacing_constraint:
type: component
module: ard.layout.spacing
object: TurbineSpacing
promotes: ["x_turbines", "y_turbines"]
kwargs:
modeling_options:
tcc:
type: component
module: ard.cost.wisdem_wrap
object: TurbineCapitalCosts
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
]
orbit:
type: component
module: ard.cost.wisdem_wrap
object: ORBIT
promotes: [
["plant_turbine_spacing", "spacing_effective_primary"],
["plant_row_spacing", "spacing_effective_secondary"],
# "installation_capex",
]
kwargs:
floating: true
opex:
type: component
module: ard.cost.wisdem_wrap
object: OperatingExpenses
promotes: [
"turbine_number",
"machine_rating",
"opex_per_kW"
]
financese:
type: component
module: ard.cost.wisdem_wrap
object: PlantFinance
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
"opex_per_kW",
]
connections:
- ["AEP_farm", "financese.plant_aep_in"]
- ["orbit.total_capex_kW", "financese.bos_per_kW"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
type: group
connections:
- ["AEP_farm", "financese.plant_aep_in"]
- ["orbit.total_capex_kW", "financese.bos_per_kW"] # For offshore systems
systems:
layout2aep:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approximate semitotals?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

type: group
promotes: ["*"]
approx_totals:
method: "fd"
step: 1.0E-3
form: "central"
step_calc: "rel_avg"
systems:
layout:
type: component
module: ard.layout.gridfarm
object: GridFarmLayout
promotes: ["*"]
kwargs:
modeling_options:
aepFLORIS:
type: component
module: ard.farm_aero.floris
object: FLORISAEP
promotes: ["x_turbines", "y_turbines", "AEP_farm"]
kwargs:
modeling_options:
case_title: "default"
landuse:
type: component
module: ard.layout.gridfarm
object: GridFarmLanduse
promotes: ["*"]
kwargs:
modeling_options:
orbit:
type: component
module: ard.cost.wisdem_wrap
object: ORBIT
promotes: [
["plant_turbine_spacing", "spacing_effective_primary"],
["plant_row_spacing", "spacing_effective_secondary"],
# "installation_capex",
]
kwargs:
floating: false
tcc:
type: component
module: ard.cost.wisdem_wrap
object: TurbineCapitalCosts
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
]
opex:
type: component
module: ard.cost.wisdem_wrap
object: OperatingExpenses
promotes: [
"turbine_number",
"machine_rating",
"opex_per_kW"
]
financese:
type: component
module: ard.cost.wisdem_wrap
object: PlantFinance
promotes: [
"turbine_number",
"machine_rating",
"tcc_per_kW",
"offset_tcc_per_kW",
"opex_per_kW",
]
Loading
Loading