Skip to content

Commit b0f70e9

Browse files
committed
Examples yaml commenting for clarity, especially in 01_visualization folder
1 parent 0c3803d commit b0f70e9

11 files changed

+161
-54
lines changed

examples/01_Visualization/01_2D-visual_turbine_locations.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11

22
# ----- Array-level inputs -----
33

4-
# Wind turbine array layout
4+
# platform array layout
55
array:
66
keys : [ID, topsideID, platformID, mooringID, x_location, y_location, heading_adjust]
7+
# ID: unique identifier for that platform/turbine system (can be anything you want)
8+
# topside ID: index in list of topsides, which includes wind turbines (indices starting at 1. 0 means there is no topside).
9+
# In this case, we have no topside design defined, so all are 0.
10+
# platform ID: index in list of platforms, which includes FOWT platforms, substation platforms, etc.
11+
# (indices starting at 1, 0 means there is no platform). In this case, we only have 1 platform design defined, so all are 1.
12+
# mooringID: string/id of mooring system to apply to this platform if using mooring_system.
13+
# If there is no mooring or you want to define the mooring lines individually (i.e. through array_mooring table),
14+
# then set mooringID=0, which means there is no mooring system and we've instead individually defined the mooring lines in the array_mooring table.
15+
# In this case, we have no mooring system defined, so all are 0.
16+
# x_location: x coord of platform location
17+
# y_location: y coord of platform location
18+
# z_location: z coord of platform location. For FOWTs generally is 0
19+
# heading_adjust: rotation of platform relative to its 0 position defined for that platformID
720
data : # ID# ID# ID# [m] [m] [deg]
821
- [fowt0, 0, 1, 0, -1600, -1600, 0 ]
922
- [fowt1, 0, 1, 0, 0, -1600, 0 ]
@@ -16,4 +29,4 @@ array:
1629
- [fowt8, 0, 1, 0, 1600, 1600, 0 ]
1730

1831
platform:
19-
type : FOWT
32+
type : FOWT # type of platform, can be FOWT, substation, WEC, or other

examples/01_Visualization/02_visual_moorings.yaml

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@
44
# Wind turbine array layout
55
array:
66
keys : [ID, topsideID, platformID, mooringID, x_location, y_location, heading_adjust]
7+
# ID: unique identifier for that platform/turbine system (can be anything you want)
8+
# topside ID: index in list of topsides, which includes wind turbines (indices starting at 1. 0 means there is no topside).
9+
# In this case, we have no topside design defined, so all are 0.
10+
# platform ID: index in list of platforms, which includes FOWT platforms, substation platforms, etc.
11+
# (indices starting at 1, 0 means there is no platform). In this case, we only have 1 platform design defined, so all are 1.
12+
# mooringID: string/id of mooring system to apply to this platform if using mooring_system.
13+
# If there is no mooring or you want to define the mooring lines individually (i.e. through array_mooring table),
14+
# then set mooringID=0, which means there is no mooring system and we've instead individually defined the mooring lines in the array_mooring table.
15+
# In this case, we have a mooring system defined in mooring_systems section called 'ms1'. All platforms use that mooring system, so all are set to 'ms1'.
16+
# x_location: x coord of platform location
17+
# y_location: y coord of platform location
18+
# z_location: z coord of platform location. For FOWTs generally is 0
19+
# heading_adjust: rotation of platform relative to its 0 position defined for that platformID.
20+
# We have 2 platforms rotated here to show different orientations. This rotation affects the mooring line headings as well.
721
data : # ID# ID# ID# [m] [m] [deg]
822
- [fowt0, 0, 1, ms1, -1600, -1600, 180 ]
923
- [fowt1, 0, 1, ms1, 0, -1600, 0 ]
@@ -16,9 +30,9 @@ array:
1630
- [fowt8, 0, 1, ms1, 1600, 1600, 0 ]
1731

1832
platform:
19-
type : FOWT
20-
rFair : 58
21-
zFair : -14
33+
type : FOWT # type of platform, can be FOWT, substation, WEC, or other
34+
rFair : 58 # [m] fairlead radius from platform center
35+
zFair : -14 # [m] fairlead depth from platform center (negative value)
2236

2337

2438

@@ -28,9 +42,16 @@ platform:
2842
mooring_systems:
2943

3044
ms1:
31-
name: 2-line semi-taut polyester mooring system with a third line shared
45+
name: 3-line semi-taut polyester mooring system
3246

3347
keys: [MooringConfigID, heading, anchorType]
48+
# MooringConfigID: references a key from mooring_line_configs section.
49+
# In this case, we have a mooring line configuration defined below called 'semitaut-poly_1'. Each mooring line in this system (ms1) uses that configuration.
50+
# heading: compass heading, relative to 0 deg platform heading
51+
# In this case, we have a mooring line at 150 deg (Southeast if platform heading is 0),
52+
# a line at 270 deg (due West if platform heading is 0), and a line at 30 deg (Northeast if platform heading is 0).
53+
# anchorType: references a key from anchor_types section. In this case, we have a drag-embedment anchor type defined below called 'drag-embedment1'.
54+
# Each mooring line in this system (ms1) uses that anchor type.
3455
data:
3556
- [ semitaut-poly_1, 150 , drag-embedment1]
3657
- [ semitaut-poly_1, 270 , drag-embedment1]
@@ -40,17 +61,18 @@ mooring_systems:
4061
# Mooring line configurations
4162
mooring_line_configs:
4263

43-
semitaut-poly_1: # mooring line configuration identifier, matches MooringConfigID
64+
semitaut-poly_1: # mooring line configuration identifier, matches MooringConfigID in mooring_systems section
4465

4566
name: Semitaut polyester configuration 1 # descriptive name
4667

47-
span: 642 # 2D x-y distance from fairlead to anchor
68+
span: 642 # [m] 2D x-y distance from fairlead to anchor
4869

4970
sections: #in order from anchor to fairlead
50-
- mooringFamily: chain # ID of a mooring line section type
51-
d_nom: .1549 # nominal diameter of material [m]
71+
- mooringFamily: chain # ID of a mooring line section material type
72+
# (alternatively could define mooring material properties in a mooring_line_properties section and use type: <mooring prop id> instead of mooringFamily and d_nom))
73+
d_nom: .1549 # nominal diameter of material [m] (not required if using type: <mooring prop id> instead of mooringFamily)
5274
length: 497.7 # [m] usntretched length of line section
53-
- mooringFamily: polyester # ID of a mooring line section type
75+
- mooringFamily: polyester # ID of a mooring line section material type
5476
d_nom: .182 # nominal diameter of material [m]
5577
length: 199.8 # [m] length (unstretched)
5678

@@ -61,5 +83,7 @@ anchor_types:
6183

6284
drag-embedment1:
6385
type : DEA # type of anchor (drag-embedment anchor)
86+
# additional anchor properties can be defined here, such as d (diameter), m (mass), etc., but are not required for visualization
87+
# To see the full list of anchor properties and anchor types, refer to the anchor readme (famodel/anchors/README.md)
6488

6589

examples/01_Visualization/03_visual_cables.yaml

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@
44
# Wind turbine array layout
55
array:
66
keys : [ID, topsideID, platformID, mooringID, x_location, y_location, heading_adjust]
7+
# ID: unique identifier for that platform/turbine system (can be anything you want)
8+
# topside ID: index in list of topsides, which includes wind turbines (indices starting at 1. 0 means there is no topside).
9+
# In this case, we have no topside design defined, so all are 0.
10+
# platform ID: index in list of platforms, which includes FOWT platforms, substation platforms, etc.
11+
# (indices starting at 1, 0 means there is no platform). In this case, we only have 1 platform design defined, so all are 1.
12+
# mooringID: string/id of mooring system to apply to this platform if using mooring_system.
13+
# If there is no mooring or you want to define the mooring lines individually (i.e. through array_mooring table),
14+
# then set mooringID=0, which means there is no mooring system and we've instead individually defined the mooring lines in the array_mooring table.
15+
# In this case, we have no mooring system defined, so all are 0.
16+
# x_location: x coord of platform location
17+
# y_location: y coord of platform location
18+
# z_location: z coord of platform location. For FOWTs generally is 0
19+
# heading_adjust: rotation of platform relative to its 0 position defined for that platformID
720
data : # ID# ID# ID# [m] [m] [deg]
821
- [fowt0, 0, 1, 0, -1600, -1600, 0 ]
922
- [fowt1, 0, 1, 0, 0, -1600, 0 ]
@@ -21,46 +34,60 @@ platform:
2134
# Array cables
2235
array_cables:
2336
keys: [ AttachA, AttachB, DynCableA, DynCableB, headingA, headingB, cableType]
37+
# AttachA: ID of attachment for end A of the cable (platform ID from array table )
38+
# AttachB: ID of attachment for end B of the cable (platform ID from array table)
39+
# DynCableA: dynamic cable configuration ID at end A (matches key from dynamic_cables section)
40+
# DynCableB: dynamic cable configuration ID at end B (matches key from dynamic_cables section). If there is only 1 dynamic cable (i.e. a suspended cable design), put NONE
41+
# headingA: compass heading of dynamic cable relative to platform heading (if platform at end A is rotated +15, headingA should be true heading - 15)
42+
# In this case, we have a cable going East from fowt0 to fowt1 and fowt0 has no rotation, so headingA is 90 deg
43+
# For the 2nd cable from fowt1 to fowt2, fowt1 has no rotation and the cable goes East coming out of fowt1, so headingA is also 90 deg
44+
# headingB: compass heading of dynamic cable relative to platform heading (if platform at end B is rotated +15, headingB should be true heading - 15)
45+
# In this case, we have a cable coming into fowt1 from fowt0 from the West, so headingB is 270 deg
46+
# For the 2nd cable from fowt1 to fowt2, the cable comes into fowt2 from the West, so headingB is also 270 deg
47+
# cableType: references a cable type from cable_types section or from famodel/cables/cableProps_default.yaml static cables.
48+
# If no static cable (i.e. a suspended cable design), put NONE
49+
# In this case, we have no static cable for the 1st cable because it is suspended,
50+
# but the 2nd cable has a static cable defined in famodel/cables/cableProps_default.yaml called 'static_cable_66'.
2451
data:
2552
- [ fowt0, fowt1, suspended_1, None, 90, 270, None] # suspended cable, so only one dynamic cable configuration, no static cable
2653
- [ fowt1, fowt2, lazy_wave1, lazy_wave1, 90, 270, static_cable_66]
2754

2855
# Dynamic and cable configurations
2956
dynamic_cable_configs:
30-
# contains the subsections that make up each section of the subsea cable (i.e., what sections make up the lazywave cable in array_cable_1)
57+
# contains the subsections that make up each section of the subsea dynamic cable (i.e., what sections make up the lazywave cable in array_cable_1)
3158
lazy_wave1:
32-
name: Lazy wave configuration 1 (simpler approach)
33-
voltage: 66 # [kV]
59+
name: Lazy wave configuration 1
60+
voltage: 66 # [kV]
3461
span : 195 # [m] horizontal distance to end of dynamic cable from attachment point
35-
A: 300 # cable conductor area [mm^2]
36-
cable_type: dynamic_cable_66 # ID of a cable section type from famodel/cables/cableProps_default.yaml. Cable props loaded automatically from this!
62+
A: 300 # cable conductor area [mm^2]
63+
cable_type: dynamic_cable_66 # ID of a cable section type from famodel/cables/cableProps_default.yaml. Cable props loaded automatically from this!
3764
length: 353.505 # [m] length (unstretched)
3865

3966
sections:
4067
- type: Buoyancy_750m # name of buoy type from famodel/cables/cableProps_default.yaml - buoy design info read in automatically from this!
41-
L_mid: 200 # [m] from platform connection
42-
N_modules: 6
43-
spacing: 11.23 # [m]
44-
V: 1 # [m^3]
68+
L_mid: 200 # [m] length of cable to the midpoint of the buoyancy section from platform connection
69+
N_modules: 6 # number of buoyancy modules
70+
spacing: 11.23 # [m] distance between module centers
71+
V: 1 # [m^3] volume of buoyancy module
4572

4673

4774
suspended_1:
4875
name: Dynamic suspended cable configuration 1
4976
voltage: 33 # [kV]
50-
span: 1512 # [m]
77+
span: 1512 # [m] horizontal distance to end of dynamic cable from attachment point
5178
cable_type: dynamic_cable_66 # ID of a cable section type from famodel/cables/cableProps_default.yaml. Cable props loaded automatically from this!
5279
A: 300 # cable conductor area [mm^2]
5380
length: 1650 # [m] length (unstretched)
5481

5582
sections:
5683
- type: Buoyancy_750m
57-
L_mid: 510 # [m] from end A
58-
N_modules: 6
59-
spacing: 18 # [m]
60-
V: 2 # [m^3]
84+
L_mid: 510 # [m] length of cable to the midpoint of the buoyancy section from end A
85+
N_modules: 6 # number of buoyancy modules
86+
spacing: 18 # [m] distance between module centers
87+
V: 2 # [m^3] volume of buoyancy module
6188

6289
- type: Buoyancy_750m
63-
L_mid: 1040 # [m] from end A
64-
N_modules: 6
65-
spacing: 18 # [m]
66-
V: 2 # [m^3]
90+
L_mid: 1040 # [m] from end A, length of cable to the midpoint of the buoyancy section
91+
N_modules: 6 # number of buoyancy modules
92+
spacing: 18 # [m] distance between module centers
93+
V: 2 # [m^3] volume of buoyancy module

examples/01_Visualization/04_visual_bathymetry.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
site:
33
general: {}
44
bathymetry:
5-
file: './bathymetry200m_sample.txt'
5+
file: './bathymetry200m_sample.txt' # bathymetry data file in MoorPy bathymetry format

examples/01_Visualization/06_2D-visual_misc_platforms.yaml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,33 @@
44
# Wind turbine array layout
55
array:
66
keys : [ID, topsideID, platformID, mooringID, x_location, y_location, heading_adjust]
7+
# ID: unique identifier for that platform/turbine system (can be anything you want)
8+
# topside ID: index in list of topsides, which includes wind turbines (indices starting at 1. 0 means there is no topside).
9+
# In this case, we have no topside design defined, so all are 0.
10+
# platform ID: index in list of platforms, which includes FOWT platforms, substation platforms, etc.
11+
# (indices starting at 1, 0 means there is no platform). In this case, we only have 4 platform designs defined.
12+
# mooringID: string/id of mooring system to apply to this platform if using mooring_system.
13+
# If there is no mooring or you want to define the mooring lines individually (i.e. through array_mooring table),
14+
# then set mooringID=0, which means there is no mooring system and we've instead individually defined the mooring lines in the array_mooring table.
15+
# In this case, we have no mooring system defined, so all are set to 0.
16+
# x_location: x coord of platform location
17+
# y_location: y coord of platform location
18+
# z_location: z coord of platform location. For FOWTs generally is 0
19+
# heading_adjust: rotation of platform relative to its 0 position defined for that platformID.
720
data : # ID# ID# ID# [m] [m] [deg]
821
- [fowt0, 0, 1, 0, -1600, -1600, 0 ]
922
- [fowt1, 0, 1, 0, 0, -1600, 0 ]
1023
- [fowt2, 0, 1, 0, 1600, -1600, 0 ]
1124
- [fowt3, 0, 1, 0, -1600, 0, 0 ]
12-
- [fowt4, 0, 2, 0, 0, 0, 0 ]
25+
- [tidal1, 0, 2, 0, 0, 0, 0 ]
1326
- [wec0, 0, 3, 0, 1600, 0, 0 ]
14-
- [wec1, 0, 3, 0, -1600, 1600, 0 ]
15-
- [wec2, 0, 3, 0, 0, 1600, 0 ]
27+
- [wec1, 0, 3, 0, -1600, 1600, -10 ]
28+
- [wec2, 0, 3, 0, 0, 1600, -10 ]
1629
- [oss0, 0, 4, 0, 1600, 1600, 0 ]
1730

1831
platforms:
19-
- type : FOWT # identify entity of each platform type
20-
- type : Tidal
21-
- type : WEC
22-
- type : Substation
32+
- type : FOWT # identify entity of each platform type (this is a floating wind turbine, described with FOWT)
33+
- type : Tidal # tidal turbine platform
34+
- type : WEC # wave energy converter platform
35+
- type : Substation # substation platform
2336

0 commit comments

Comments
 (0)