Input Files

The V1 Input File

MoorDyn v1 uses a plain-text input file for its description of the mooring system as well as simulation settings. This file is divided into sections identified by header lines. The exact whitespace and alignment of the lines of the file is not important, so long as values are separated by at least one space.

Most of the sections are set up to contain a table of input information. The table begins with two preset lines that contain the column names and the corresponding units. These lines are followed by any number of lines containing the entries in that section’s table of inputs.

Front matter

The first lines of the input file until a section heading is provided are reserved for free-form user input, for labeling the input file, writing notes, etc.

MoorDyn input file...
MoorDyn v1 sample input file
True          Echo          echo the input file data (flag)

Line Types

The Line Types section of the file contains one or more definitions of physical line properties and four hydrodynamic coefficients.

------------------------- LINE TYPES --------------------------------------------------
LineType  Diam    MassDen    EA       BA/-zeta   Can   Cat   Cdn   Cdt
(-)       (m)     (kg/m)     (N)      (Pa-s/-)   (-)   (-)   (-)   (-)
nylon    0.124    13.76    2515288.0    -0.8     1.0   0.0   1.6   0.05

The columns in order are as follows:

  • Name – an identifier word for the line type

  • Diam – the volume-equivalent diameter of the line – the diameter of a cylinder having the same displacement per unit length (m)

  • MassDen – the mass per unit length of the line (kg/m)

  • EA – the line stiffness, product of elasticity modulus and cross-sectional area (N)

  • BA/-zeta – the line internal damping (measured in N-s) or, if a negative value is entered, the desired damping ratio (in fraction of critical) for the line type (and MoorDyn will set the BA of each line accordingly – see Section 4.1 for more information)

  • Can – transverse added mass coefficient (with respect to line displacement)

  • Cat – tangential added mass coefficient (with respect to line displacement)

  • Cdn – transverse drag coefficient (with respect to frontal area, d*l)

  • Cdt – tangential drag coefficient (with respect to surface area, π*d*l)

Point Properties

The Point Properties section defines the point node points which mooring lines can be connected to.

----------------------- POINT PROPERTIES ----------------------------------------------
Node      Type      X        Y         Z        M        V        FX       FY      FZ     CdA   CA
(-)       (-)      (m)      (m)       (m)      (kg)     (m^3)    (kN)     (kN)    (kN)   (m^2)  (-)
1         Vessel     0.0     0      -10.00       0        0        0        0       0       0     0
2         Fixed    267.0     0      -70.00       0        0        0        0       0       0     0
3         Connect    0.0     0      -10.00       0        0        0        0       0       0     0

The columns are as follows:

  • Node – the ID number of the point (must be sequential starting with 1)

  • Type – one of “Fixed”, “Vessel”, or “Connect”, as described here

  • X, Y, Z – Coordinates of the point (relative to global reference frame if “fixed” or “point”, relative to platform reference frame if “vessel”). In the case of “point” nodes, it is simply an initial guess for position before MoorDyn calculates the equilibrium initial position.(m)

  • M – node mass in the case of clump weights (kg)

  • V – node displacement in the case of floats (m^3)

  • FX, FY, FZ – any steady external forces applied to the node (N)

  • CdA – product of drag coefficient and projected area (assumed constant in all directions) to calculate a drag force for the node (m^2)

  • Ca – added mass coefficient used along with V to calculate added mass on node

Lines list

The Line Properties section defines each uniform-property section of mooring line to be simulated.

-------------------------- LINE PROPERTIES -------------------------------------------------
Line     LineType  UnstrLen  NumSegs    NodeAnch  NodeFair  Flags/Outputs
(-)      (-)       (m)         (-)       (-)       (-)      (-)
1        nylon     300.0        50        2         1        p
2        nylon     300.0        50        4         3        p
3        nylon     300.0        50        6         5        p

The columns are as follows:

  • Line - the ID number of the line (must be sequential starting with 1)

  • LineType - a string matching a Line Dictionary entry, specifying which physical properties it uses

  • UnstrLen - the unstretched length of the line

  • NumSegs - how many segments the line is discretized into (it will have NumSegs+1 nodes total, including its two end nodes)

  • NodeAnch - the ID number of the point that the first (anchor) end of the line is attached to

  • NodeFair - the ID number of the point that the final (fairlead) end of the line is attached to

  • flags/outputs - any data to be output in a dedicated output file for that line.

This last entry expects a string of one or more characters without spaces, each character activating a given output property. A placeholder character such as “-” should be used if no outputs are wanted. Eight output properties are currently possible:

  • p – node positions

  • v – node velocities

  • U – wave velocities at each node

  • D – hydrodynamic drag force at each node

  • t – tension force at each segment

  • c – internal damping force at each segment

  • s – strain of each segment

  • d – rate of strain of each segment

For example, outputting node positions and segment tensions could be achieved by writing “pt” for this last column. These outputs will go to a dedicated output file for each line only. For sending values to the global output file, use the Outputs section instead.

Options

The Solver Options section can contain any number of optional settings for the overall model, including seabed properties, initial condition (IC) generation settings, and the time step size.

-------------------------- SOLVER OPTIONS---------------------------------------------------
0.001    dtM          - time step to use in mooring integration
3.0e6    kb           - bottom stiffness
3.0e5    cb           - bottom damping
70       WtrDpth      - water depth
5.0      ICDfac       - factor by which to scale drag coefficients during dynamic relaxation IC gen
0.001    ICthresh     - threshold for IC convergence
0        ICTmax       - threshold for IC convergence (set to zero for debugging)

Any of these lines can be omitted, in which case default values will be used (shown in parenthesis). As such, they are all optional settings, although some of them (such as time step size) often need to be set by the user for proper operation. The list of possible options (with any default value provided in parentheses) is:

  • dtM (0.001) – desired mooring model time step (s)

  • g (9.80665) – gravitational constant (m/s^2)

  • rhoW (1025.0)– water density (kg/m^3)

  • WtrDpth (0.0) – water depth (m)

  • SeafloorFile (none) – Relative path of a 3D Seafloor file

  • kBot (3.0e6) – bottom stiffness constant (Pa/m)

  • cBot (3.0e5)– bottom damping constant (Pa-s/m)

  • dtIC (1.0)– period for analyzing convergence of dynamic relaxation IC generation (s)

  • TmaxIC (120.0) – maximum simulation time to allow for IC generation without convergence (s)

  • CdScaleIC (5.0) – factor by which to scale drag coefficients to accelerate convergence of IC generation (-)

  • ThreshIC (0.001) – convergence threshold for IC generation, acceptable relative difference between three successive fairlead tension measurements (-)

The bottom contact parameters, kBot and cBot, result in a pressure which is then applied to the cross-sectional area (d*l) of each contacting line segment to give a resulting vertical contact force for each segment.

Outputs

The Outputs section is used to specify general outputs, which are written to the main MoorDyn output file.

---------------------- OUTPUTS -----------------------------------------
FairTen1
FairTen2
AnchTen1
Con2px
Con2py
Con2Fz
END
------------------------- need this line -------------------------------------

Each output channel name should have its own line. There are keywords for fairlead and anchor tensions of a given line: fairten# and anchten#, where # is the line number. There is also a flexible naming system for outputting other quantities. There are currently five supported types of output quantities:

  • pX, pY , pZ – x/y/z coordinate (m)

  • vX, vY, vZ – velocity (m/s)

  • aX, aY, aZ – acceleration (m/s^2)

  • T or Ten – tension (N)

  • fX, fY, fZ – net force in x/y/z direction (N)

These can be produced at a point object, denoted by the prefix Con#, where # is the point number. Or, they can be produced at a node along a line, denoted by the prefix L#N@, where # is the line number and @ is the number of the node along that line. For example,

  • Con3vY outputs the point 3 y velocity,

  • L2N4pX outputs the line 2, node 4 x position.

The V2 Input File

MoorDyn v2 uses a standardized plain-text input file for its description of the mooring system and simulation settings that has some important additions and changes from V1.

Most helpfully, this new format is identical between C++ and FORTRAN versions of MoorDyn, and it is designed to support future capability enhancements without requiring format changes.

This file is divided into sections, some of which are optional. Each section is identified (and detected) by a header line consisting of a key phrase (e.g. Line Types) surrounded by dashes. While a couple sections are optional, the order of the sections cannot be changed. The exact whitespace and alignment of the lines of the file is not important, as long as values are separated by at least one space. However, every column must have a value. MoorDyn only reads the values of each column, not the column headers or units. The column identifiers and units can be changed by the user but should use similar names to retain readability.

To successfully run a simulation, MoorDyn requires at least one line. If you are aiming to simulate a system with no lines, the best approach is to create a short taut vertical line stretched between two fixed points located far from where your system is located.

Most of the sections are set up to contain a table of input information. These tables begin with two preset lines that contain the column names and the corresponding units. These lines are followed by any number of lines containing the entries in that section’s table of inputs. # is the general comment chacater. If you are adding notes to self after any of the lines, # will prevent MoorDyn from reading them.

Examples of input files for MoorDyn-C can be found in the test directory (note that these do not include outputs becasue they are for tests).

Examples for MoorDyn-F can be found in the OpenFAST tests.

Front matter

The first lines of the input file are reserved for free-form user input, for labeling the input file, writing notes, etc. There is not a limit on the number of lines you can write here.

--------------------- MoorDyn Input File ------------------------------------
MoorDyn v2 sample input file

Line Types

This section is required and describes the list of mooring line properties that will be used in the simulation

---------------------- LINE TYPES ----------------------------------------------------------------------
TypeName   Diam    Mass/m     EA     BA/-zeta    EI         Cd     Ca     CdAx    CaAx    Cl    dF    cF
(name)     (m)     (kg/m)     (N)    (N-s/-)     (N-m^2)    (-)    (-)    (-)     (-)     (-)   (-)   (-)
Chain      0.1      150.0     1e8    -1          0          2.3     1     1.0     0.5     0.8   0.08  0.18

The columns in order are as follows:

  • TypeName – an identifier word for the line type

  • Diam – the volume-equivalent diameter of the line – the diameter of a cylinder having the same displacement per unit length (m)

  • MassDen – the mass per unit length of the line (kg/m)

  • EA – the line stiffness, product of elasticity modulus and cross-sectional area (N)

  • BA/-zeta – the line internal damping (measured in N-s) or, if a negative value is entered, the desired damping ratio (in fraction of critical) for the line type (and MoorDyn will set the BA of each line accordingly)

  • EI – the line bent stiffness, product of elasticity modulus and inertia of the cross-sectional area (N-m^2)

  • Cd – transverse drag coefficient (with respect to frontal area, d*l)

  • Ca – transverse added mass coefficient (with respect to line displacement)

  • CdAx – tangential drag coefficient (with respect to surface area, π*d*l)

  • CaAx – tangential added mass coefficient (with respect to line displacement)

  • Cl – OPTIONAL - the crossflow VIV lift coefficient. If set to 0, then VIV calculations are disabled for the line. This coefficient has been made backwards compatible. If it is not provided, then it is assumed to be 0.0. The theory of vortex induced vibrations can be found here. Note that VIV is disabled for end nodes (and thus end half-segments), so if simulating VIV users should ensure to include a higher number of segments. Also note that VIV has only been tested with explicit time schemes (specifically rk2 and rk4). There may be unexpected behavior if used with an implicit time scheme.

  • dF - OPTIONAL - the cF +- range of non-dimensional frequnecies for the CF VIV synchronization model. If it is not provided and VIV is enabled (Cl > 0) then it is default to 0.08 to align with the the theory found here

  • cF - OPTIONAL - the center of the range of non-dimensional frequnecies for the CF VIV synchronization model. If it is not provided and VIV is enabled (Cl > 0) then it is default to 0.18 to align with the the theory found here

Note: Non-linear values for the stiffness (EA) are an option in MoorDyn. For this, a file name can be provided instead of a number. This file must be located in the same folder as the main MoorDyn input file for MoorDyn-C or for MoorDyn-F in the same folder as the executable calling MoorDyn-F, unless a path is specified. Such file is a tabulated file with 3 header lines and then a strain column and a tension column separated by a blank space:

----Polyester----
Strain    Tension
(-)       (N)
0.0       0.0
...       ...

Note: MoorDyn has the ability to model the viscoelastic properties of synthetic lines in two ways. The first method, from work linked in the theory section, allows a user to specify a bar-seperated constant dynamic and static stiffness. The second method allows the user to provide a constant static stiffness and two terms to determine the dynamic stiffness as a linear function of mean load. The equation is: EA_d = EA_Dc + EA_D_Lm * mean_load where EA_D_Lm is the slope of the load-stiffness curve. Both of these methods allow users to provide static and dynamic damping coefficients as values seperated by |. While the static damping can be described as a fraction of cricial, the dyanamic damping needs to be input as a value. Example inputs are below:

TypeName   Diam    Mass/m     EA                   BA
(name)     (m)     (kg/m)     (N)                 (N-s)
Polyester  ...      ...    EA_s|EA_d            BA_s|BA_d <-- Constant dynamic stiffness method with static and dynamic damping
Polyester  ...      ...    EA_s|EA_Dc|EA_D_Lm   BA_s|BA_d <-- Load dependent dynamic stiffness method with static and dynamic damping

Rod Types

This section (required if there are any rod objects) describes the list of rod property sets that will be used in the simulation.

---------------------- ROD TYPES ------------------------------------
TypeName      Diam     Mass/m    Cd     Ca      CdEnd    CaEnd
(name)        (m)      (kg/m)    (-)    (-)     (-)      (-)
Buoy          10       1.0e3     0.6    1.0     1.2      1.0
The columns are as follows:
  • TypeName – an identifier word for the rod type

  • Diam – the cylinder diameter (m)

  • Mass/m – the mass per unit length of the rod (kg/m)

  • Cd – the normal rod drag coefficient (with respect to the central axis of the rod)

  • Ca – the normal rod added mass coefficient (with respect to the central axis of the rod)

  • CdEnd – the axial drag coefficient of the rod

  • CaEnd – the axial added mass coefficient of the rod

Bodies list

This section (optional) describes the 6DOF body objects to be simulated.

---------------------- BODIES ---------------------------------------
ID   Attachment  X0     Y0    Z0     r0      p0     y0     Mass  CG*   I*      Volume   CdA*   Ca*
(#)   (word)     (m)    (m)   (m)   (deg)   (deg)  (deg)   (kg)  (m)  (kg-m^2)  (m^3)   (m^2)  (-)
1     coupled     0     0      0     0       0      0       0     0     0        0       0      0
The columns are as follows:
  • ID – the ID number of the Body (must be sequential starting with 1)

  • Attachment – one of “Fixed”, “Vessel”, “Free”, etc, as described here

  • X0/Y0/Z0 – Coordinates of the body relative to the global reference frame. Note that bodies must have Z0 <= 0 (m)

  • r0/p0/y0 – Orientation of the body relative to the global reference frame in Euler angles (deg)

  • Mass – Body mass not including attached rods and points. Typically used to account for above surface mass such as a turbine (kg)

  • CG – Body center of gravity. If one value given, it is along the Z axis. To specify a coordinate point, the XYZ values are listed separated by | with no spaces (m)

  • I – Body moment of inertia diagonals for the 3x3 inertia matrix. If one value given, it is used for all three values. To specify three different values, the inputs are listed separated by | with no spaces (kg-m^2)

  • Volume – The body displaced volume used in buoyancy calculations excluding attached rod and point volume contributions (m^3)

  • CdA – The product of drag coefficient and frontal area of body. If one value given, it is used for all six values. If two values are given, the first is used for the translational drag and the second for the rotational drag. If three values are given, they are used as both the translational and rotational drag coefficicents for the respective axis. If six values are given, they are used as the drag coefficicnets in the respective degree of freedom. To specify different values, the inputs are listed separated by | with no spaces (m^2)

  • Ca – The body added mass coefficient. If one value given, it is used for all three values. To specify three different values, the inputs are listed separated by | with no spaces

Rods list

This section (optional) describes the rigid Rod objects

---------------------- RODS ----------------------------------------
ID   RodType  Attachment  Xa    Ya    Za    Xb    Yb    Zb   NumSegs  RodOutputs
(#)  (name)   (word/ID)   (m)   (m)   (m)   (m)   (m)   (m)  (-)       (-)
1      Can      Body1      0     0     2     0     0     15   8         p
2      Can   Body1Pinned   2     0     2     5     0     15   8         p
The columns are as follows:
  • ID – the ID number of the Rod (must be sequential starting with 1)

  • RodType

  • Attachment – one of “Fixed”, “Vessel”, “Pinned”, etc, as described here

  • Xa/Ya/Za – Coordinates of the A end (relative to global reference frame if “fixed/point/free”, or relative to platform/body reference frame if “body#”” or “body#pinned”) (m)

  • Xb/Yb/Zb – Coordinates of the B end (relative to global reference frame if “fixed/free”, or relative to platform/body reference frame if “body#”” or “body#pinned”) (m)

  • NumSegs - how many segments the rod is discretized into (it will have NumSegs+1 nodes total, including its two end nodes)

  • RodOutputs - any data to be output in a dedicated output file for the rod.

This last entry expects a string of one or more characters without spaces, each character activating a given output property. A placeholder character such as “-” should be used if no outputs are wanted. Eight output properties are currently possible:

  • p – node positions

  • v – node velocities

  • U – wave/current velocities at each node

  • D – hydrodynamic drag force at each node

  • t – tension force at each segment

  • c – internal damping force at each segment

  • s – strain of each segment

  • d – rate of strain of each segment

For example, outputting node positions and segment tensions could be achieved by writing “pt” for this last column. These outputs will go to a dedicated output file for each rod. For sending values to the global output file, use the Outputs section instead.

Points list

This section (optional) describes the Point objects

---------------------- POINTS ---------------------------------------
ID   Attachment  X       Y     Z      Mass   Volume  CdA    Ca
(#)   (word/ID) (m)     (m)   (m)    (kg)   (mˆ3)   (m^2)  (-)
1     Fixed      -500    0     -150    0      0       0      0
2     Coupled    0       0     -9      0      0       0      0
3     Body2      0       0     1.0     0      0       0      0

The columns are as follows:

  • ID – the ID number of the point (must be sequential starting with 1)

  • Attachment – one of “Fixed”, “Coupled”, “Free”, etc, as described here

  • X, Y, Z – Coordinates of the point (relative to global reference frame if “fixed/point/free/coupled”, or relative to body reference frame if “body#”). In the case of “point/free” nodes, it is simply an initial guess for position before MoorDyn calculates the equilibrium initial position. (m)

  • Mass – node mass in the case of clump weights (kg)

  • Volume – node displacement in the case of floats (m^3)

  • CdA – product of drag coefficient and projected area (assumed constant in all directions) to calculate a drag force for the node (m^2)

  • Ca – added mass coefficient used along with V to calculate added mass on node

Lines list

This section (required) describes the Line objects, typically used for mooring lines or dynamic power cables.

---------------------- LINES ----------------------------------------
ID   LineType   AttachA  AttachB  UnstrLen  NumSegs  LineOutputs
(#)   (name)     (ID)     (ID)      (m)       (-)      (-)
1     Chain       1        2        300        20       p

The columns are as follows:

  • ID - the ID number of the line (must be sequential starting with 1)

  • LineType - a string matching a Line Dictionary entry, specifying which physical properties it uses

  • AttachA - the ID number of the point (or Rod end) that the first (anchor) end of the line is attached to. For lines connected to rod ends, the value should be R#A or R#B where # is the rod number and A/B refer to which end of the rod the line is connected to.

  • AttachB - the ID number of the point (or Rod end) that the final (fairlead) end of the line is attached to. For lines connected to rod ends, the value should be R#A or R#B where # is the rod number and A/B refer to which end of the rod the line is connected to.

  • UnstrLen - the unstretched length of the line

  • NumSegs - how many segments the line is discretized into (it will have NumSegs+1 nodes total, including its two end nodes)

  • LineOutputs - any data to be output in a dedicated output file for that line.

This last entry expects a string of one or more characters without spaces, each character activating a given output property. A placeholder character such as “-” should be used if no outputs are wanted. Ten output properties are currently possible:

  • p – node positions

  • v – node velocities

  • U – wave/current velocities at each node

  • D – hydrodynamic drag force at each node

  • t – tension force at each segment

  • c – internal damping force at each segment

  • V - the cross-flow VIV lift force at each node

  • K - the curvature at each node

  • s – strain of each segment

  • d – rate of strain of each segment

For example, outputting node positions and segment tensions could be achieved by writing “pt” for this last column. These outputs will go to a dedicated output file for each line only. For sending values to the global output file, use the Outputs section instead.

Failure (MoorDyn-F only)

This section (optional) describes the failure conditions of the system. Line failures can only be triggered at an existing point or rod end where a line/lines are attached. Failures can be triggered by a time or attachment tension threshold, which ever comes first. Users can specify multiple failures for a given point, but duplicate failure configurations will be ignored. If two lines attached to a point are listed to fail (failure 1 for example), then after the failure the lines will remain attached to each other by a free point. In this multi line case, if any line reaches the tension threshold then the failure will be triggered.

---------------------- FAILURE ----------------------
FailureID  Point    Line(s)   FailTime   FailTen
()           ()       (,)      (s or 0)   (N or 0)
1          5        1,2,3,4     0         1200e3
2          3        1           0         1200e3
3         R1a       1,2,3       12          0

Control (MoorDyn-F only)

This section (optional) is only available for MoorDyn-F and describes which lines are assigned to which control channel in the ServoDyn input file. Setting up active tension controls involves modifying the MoorDyn and ServoDyn input file and passing deltaL and deltaLdot control command values into the appropriate channel of the OpenFAST S function (FAST_SFunc).

---------------------- CONTROL ----------------------
ChannelID  Line(s)
()       (,)
1        1,2,3,4
2        5

In the example above, channel 1 is used to control lines 1-4 and channel 2 is used to control line 5. These channel numbers must correspond to control channels in the ServoDyn input file. The ServoDyn summary file (enabled with SumPrint option) will contain a list of all line control channels in use and what they are assigned to.

An example set up using controls in Simulink would look like this:

For MoorDyn, add the control section below and specify which lines should be actuated using the tension control. In the below snippet, 5 lines are being independently controlled.

---------------------- CONTROL ----------------------
ChannelID Line(s)
() (,)
1 1
2 2
3 3
4 4
5 5

There are a total of 20 available channels for line deltaL command in the S function, and 20 available for the line deltaLdot command in the S function. So when passing in an array of values, pass in 0 for any unused channels. With all the other inputs (see example file described below for other controllers), the S function will take in a total of 51 channels.

In ServoDyn, change the cable control channel to 4 for Simulink control.

---------------------- CABLE CONTROL -------------------------------------------
          4   CCmode       - Cable control mode {0: none, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL} (switch)

To run the active tension control using Simulink, an example .mdl Simulink file and a .m matlab script to run the .mdl file are available in the OpenFAST GitHub repo under glue-codes/simulink/examples to show how to pass in values. A .dll OpenFAST shared library file and .mex OpenFAST S function file need to be in the same directory the controller is being run from.

External Loads (MoorDyn-F only)

This section (optional) allows users to specify external forces (constant) and translational linear and quadratic damping coefficients to MoorDyn point, rod, and body objects.

---------------------- EXTERNAL LOADS --------------------------------
ID    Object          Fext             Blin          Bquad         CSys
(#)   (name)           (N)            (Ns/m)       (Ns^2/m^2)      (-)
1    Body1        0.0|0.0|0.0     0.0|0.0|0.0     0.0|0.0|0.0      G
2    Body1        0.0|0.0|0.0     0.0|0.0|0.0     0.0|0.0|0.0      L
3    Point1       0.0|0.0|0.0     0.0|0.0|0.0     0.0|0.0|0.0      -
4    Rod1         0.0|0.0|0.0     0.0|0.0         0.0|0.0          -

For bodies, the force and damping are applied at the body reference point in the global earth-fixed coordinate system if CSys is G for global or in the local body-fixed coordinate system if CSys is L for local. CSys can only be G or L for bodies. For points, the force and damping are applied at the point location in the global earth-fixed coordinate system always. CSys should be -. Otherwise, a warning message with explanation will be shown. For rods, the force is applied at the rod end A in the earth-fixed coordinate system always. Only two linear and two quadratic damping coefficients can be specified for rods. The first one is for the transverse direction, and the second one is for the axial/tangential direction. The damping force is always evaluated in the body-fixed system. CSys should be -. Otherwise, a warning message with explanation will be shown.

Options

This section (required) describes the simulation options

---------------------- OPTIONS -----------------------------------------
1             writeLog      Write log file
0.002         dtM           time step to use in mooring integration (s)
3000000       kbot          bottom stiffness (Pa/m)
300000        cbot          bottom damping (Pa-s/m)
0.5           dtIC          time interval for analyzing convergence during IC gen (s)
10            TmaxIC        max time for ic gen (s)
0.001         threshIC      threshold for IC convergence (-)

The options list differs from the other sections in that it uses a value + key approach. MoorDyn reads in the value, and then assigns it to the corresponding key. This means the order of the options list does not matter, however any options listed above the writeLog flag will not be included in the log file. Any of these option lines can be omitted, in which case default values will be used (shown in parentheses). Default values with a C or a F indicate which version has that as the default. As such, they are all optional settings, although some of them (such as time step size) often needs to be set by the user for proper operation. The list of possible options is:

  • writeLog (0 C, -1 F): If >0 a log file is written recording information. The bigger the number the more verbose. Please, be mindful that big values would critically reduce the performance!

  • dtM (3.402823e+38 C, coupling timestep size F) – desired mooring model maximum time step (s). In MoorDyn-F if this is left blank it defaults to the driver file dtC value or the OpenFAST time step.

  • CFL (0.5) – Desired mooring model maximum Courant-Friedich-Lewy factor. CFL is the ratio between the time step and the natural period, computed considering the math described in the troubleshooting section.

  • tScheme (RK2): The time integrator. It should be one of Euler, LEuler, Heun, RK2, RK4, AB2, AB3, AB4, LAB2, LAB3, LAB4, BEulerN, MidpointN, ACAN, WilsonN. Look at the time schemes documentation to learn more about this.

  • g (9.81): The gravity acceleration (m/s^2)

  • rho (1025): The water density (kg/m^3)

  • WtrDpth (0.0): The water depth (m). In MoorDyn-F the bathymetry file path can be inputted here.

  • kBot (3.0e6): The bottom stiffness (Pa/m)

  • cBot (3.0e5): The bottom damping (Pa-s/m)

  • dtIC (1.0 C, 2.0 F): The threshold amount of time the system must be converged for to be considered stationary (s)

  • TmaxIC (120.0 C, 60.0 F): The maximum simulation time to run in order to find a stationary initial condition (s)

  • CdScaleIC (5.0 C, 4.0 F): The damping scale factor during the initial condition computation

  • threshIC (0.001 C, 0.01 F): The lines tension maximum relative error to consider that the initial condition have converged

  • WaveKin (0): The waves model to use. 0 = none, 1 = waves externally driven, 2 = FFT in a regular grid, 3 = kinematics in a regular grid, 7 = Wave Component Summing. Details on these flags can be found here.

  • dtWave (0.25): The time step to evaluate the waves, only for wave grid (WaveKin = 3) (s)

  • Currents (0): The currents model to use. 0 = none, 1 = steady in a regular grid, 2 = dynamic in a regular grid, 3 = WIP, 4 = WIP, 5 = 4D Current Grid. Details on these flags can be found here.

  • UnifyCurrentGrid (1): When both waves and currents are defined using a grid method, you may want to pre-combine those grids into a single grid that stores the summed wave and current kinematics. When this option is 1 the wave grid points get the interpolated current grid values added to them. When this option is 0 the wave grid and current grid are kept separate

  • WriteUnits (1): 0 to do not write the units header on the output files, 1 otherwise

  • FrictionCoefficient (0.0): The seabed friction coefficient

  • FricDamp (200.0): The seabed friction damping, to scale from no friction at null velocity to full friction when the velocity is large

  • StatDynFricScale (1.0): Ratio between Static and Dynamic friction coefficients

  • dtOut (0.0): Time step size to be written to output files. A value of zero will use the coupling timestep as a step size (s)

  • SeafloorFile: A path to the bathymetry file

  • ICgenDynamic (0): MoorDyn-C switch for using older dynamic relaxation method (same as MoorDyn-F). If this is enabled initial conditions are calculated with scaled drag according to CdScaleIC. The new stationary solver in MoorDyn-C is more stable and more precise than the dynamic solver, but it can take longer to reach equilibrium.

  • disableOutput (0): Disables some console and file outputs to improve runtime.

  • disableOutTime (0): Disables the printing of the current timestep to the console, useful for running with MATLAB

A note about time steps in MoorDyn-C: The internal time step is first taken from the dtM option. If no CFL factor is provided, then the user provided time step is used to calculate CFL and MoorDyn-C runs using the user time step. If no time step is provided, then the user provided CFL factor is used to calculate the time step and MoorDyn-C uses this calculated time step. If both the time step and CFL are provided, MoorDyn-C uses the smaller time step between user provided and CFL calculated.

In MoorDyn-F, the default values for g, rhoW, and WtrDpth are the values provided by FAST, so it is recommended to not use custom values for the sake of consistency.

The following MoorDyn-C options are not supported by MoorDyn-F:

  • CFL: In MoorDyn-F the time step is governed by the driver file dtC value or the OpenFAST time step. To override it just the option dtM is available.

  • WaveKin & Currents: In MoorDyn-F waves and currents are combined into a single option called WaterKin which takes a file path as a value and defaults to an empty string (i.e. no WaterKin). The file provided should be formatted as described in the additional MoorDyn inputs section. Further details on its implementation can be found in the water kinematics section.

  • tScheme: MoorDyn-F only uses the Runge-Kutta 2 method for time integration.

  • dtWave: MoorDyn-F uses the dtWave value from the water kinematics file.

  • unifyCurrentGrid: Not available in MoorDyn-F because currents and waves are handled in the same input file.

  • writeUnits: Units are always written to output file headers

  • SeafloorFile: MoorDyn-F accepts a bathymetry file path as an alternative to a number in the WtrDpth option

  • FrictionCoefficient: MoorDyn-F contains friction coefficients for lines in both the axial and transverse directions while MoorDyn-C only has a general seafloor contact coefficient of friction

  • FricDamp: Same as CV in MoorDyn-F.

  • StatDynFricScale: Same as MC in MoorDyn-F.

  • ICgenDynamic: MoorDyn-F does not have a stationary solver for initial conditions

  • disableOutput: MoorDyn-F output verbosity is controlled by OpenFAST

The following options from MoorDyn-F are not supported by MoorDyn-C:

  • WaterKin (Null): Path to the water kinematics file or the SEASTATE Keyword. The formatting of the water kinematics file can be found here. Details on the different MoorDyn-F water kinematics options can be found in the MoorDyn-F water kinematics section.

  • MU_KT (0.0): Transverse line coefficient of friction.

  • MU_KA (0.0): Axial line coefficient of friction.

  • MC (1.0): Same as StatDynFricScale in MoorDyn-C.

  • CV (200.0): Same as FricDamp in MoorDyn-C.

  • inertialF (0): Toggle to include inertial components in the returned forces from coupled bodies and rods. Transients in the acceleration passed into MoorDy-F by OpenFAST can result in large non-physical forces and moments which can cause instability in the model [0: no, 1: yes, 2: yes with ramp to inertialF_rampT]

  • inertialF_rampT (30.0): Ramp time for inertial forces to reduce coupled object instability (s). This is ignored unless inertialF = 2

  • OutSwitch (1): Switch to disable outputs when running with full OpenFAST simulations, where the MoorDyn-F output channels are written to the main FAST output file. 0: no MD main outfile, 1: write MD main outfile

Outputs

This section (optional) lists any specific output channels to be written in the main output file. All output flags need to be all caps. The section needs to end with another header-style line (as shown below) for MoorDyn to know when to stop reading inputs.

---------------------- OUTPUTS -----------------------------------------
BODY1PX
BODY1PY
BODY1PZ
BODY1RX
BODY1RY
LINE1N15FX
LINE1NAPZ
FAIRTEN1
FAIRTEN2
FAIRTEN3
ANCHTEN1
ANCHTEN2
ANCHTEN3
------------------------- need this line -------------------------------------

The avaible output flags are decribed in the table below:

Suffix

Description

Units

Line

Rod

Body

Point

PX/PY/PZ

Position

[m]

Node

Object/Node

Object

Object

RX/RY

Roll, Pitch

[deg]

Object

Object

RZ

Yaw

[deg]

Object

VX/VY/VZ

Velocity

[m/s]

Node

Object/Node

Object

Object

RVX/RVY

Rotational Velocity X/Y

[deg/s]

Object

Object

RVZ

Rotational Velocity Z

[deg/s]

Object

AX/AY/AZ

Acceleration

[m/s^2]

Object

Object

Object

RAX/RAY

Rotational acceleration X/Y

[deg/s^2]

Object

Object

RAZ

Rotational acceleration Z

[deg/s^2]

Object

FX/FY/FZ

Force

[N]

Node(1)

Object/Node(2)

Object

Object

MX/MY/MZ

Moments

[Nm]

Object

Object

TEN/T

Net force

[N]

Node(3)

Object

Object

TENA/B

Net force on ends

[N]

Object

Object

SUB

Submergence (frac of length)

[frac]

Object

When a node number is specified, the output pertains to that node and its kinematics or associated loads. In the output flag this node numer is given as [OBJECT#]N#[SUFFIX], i.e LINE1N15PX. When no node number is specified, the output pertains to the object as a whole and the values are of the object’s reference point (about the reference point for rotations). The output flag without a node number looks like [OBJECT#][SUFFIX], i.e. ROD1SUB.

Reference Points:

  • Rods: End A (Node 0)

  • No z rotations for rods (rotations along axis of rod negligible)

  • A vertical rod with end A below end B is defined as a rod with zero rotation. ROD#RX and ROD#RY will be zero for this case.

  • Bodies: Center of Mass

  • Points: Center of Mass

  • Lines: End A (Node 0)

Footnotes:

  • The tension on the Line n fairlead can be output with the FAIRTEN[n] flag (see examples above)

  • The tension on the Line n anchor can be output with the ANCHTEN[n] flag (see examples above)

  • Object indicates output is for whole object, Node indicates output is for node of object

  • Coupled/fixed bodies and points will output acceleration 0 because no forces are calculated

  • When looking at the rotational outputs of coupled pinned rods that are hanging near vertical, the best approach is to attach a rod to a zero-mass, zero-volume pinned body and output the body rotations. Hanging pinned rods are inverted (end A over end B) in MoorDyn and the output range for roll/pitch of rods is +/- 180 degrees.

  • There are a couple additional outputs left over from OpenFAST conventions that don’t follow the same format: FairTen and AnchTen. FairTen[n] is the same as Line[n]TenB. For example, the fairlead tension of line 1 would be FAIRTEN1 or LINE1TENB.

  • The output list is not case sensistive, however all MoorDyn-F outputs will be printed to the output file in all caps. When searching OpenFAST output channels, users will need to search for MoorDyn channels in all caps. Example: the channel fairten1 would appear in the output file as FAIRTEN1.

  1. Line node forces: Line node forces output the net force on the node, which includes the tension vectors of the adjacent segments plus the weight, buoyancy, seabed-contact, and hydrodynamic forces on the node.

  2. Rod node forces: The rod node forces contain weight, buoyancy (from pressure integration over the surface), and hydrodynamics. No internal structural forces are accounted for in rod force outputs.

  3. Line node tension: Node tensions for lines output different values depending on whether it is an end node or an internal node. End nodes output the net force on the end node, i.e. the magnitude of the Fnet vector. Internal nodes output the average tension from the segments on either side of the node.

Additional MoorDyn Files

MoorDyn-F Driver Input File

The MoorDyn-F driver that compiles with Openfast requires its own input file (located in the same with the following format in addition to the MoorDyn input file). The exact whitespace and alignment of the lines of the file is not important, so long as values are separated by at least one space.

MoorDyn driver input file
another comment line
---------------------- ENVIRONMENTAL CONDITIONS -------------------------------
9.80665                 Gravity          - Gravity (m/s^2)
1025.0                  rhoW             - Water density (kg/m^3)
75.0                    WtrDpth          - Water depth (m)
---------------------- MOORDYN ------------------------------------------------
"<input file path>"     MDInputFile      - Primary MoorDyn input file name (quoted string)
"Mooring/F"             OutRootName      - The name which prefixes all MoorDyn generated files (quoted string)
10.0                    TMax             - Number of time steps in the simulations (-)
0.001                   dtC              - TimeInterval for the simulation (sec)
0                       InputsMode       - MoorDyn coupled object inputs (0: all inputs are zero for every timestep, 1: time-series inputs) (switch)
"PtfmMotions.dat"       InputsFile       - Filename for the MoorDyn inputs file for when InputsMod = 1 (quoted string)
0                       NumTurbines      - Number of wind turbines (-) [>=1 to use FAST.Farm mode. 0 to use OpenFAST mode]
---------------------- Initial Positions --------------------------------------
ref_X    ref_Y    surge_init   sway_init  heave_init  roll_init  pitch_init  yaw_init
(m)      (m)        (m)          (m)        (m)       (rad)       (rad)        (rad)
0         0         0.0          0.0        0.0        0.0         0.0          0.0
<followed by MAX(1,NumTurbines) rows of data>
END of driver input file

If InputsMode is set to 1, the MoorDyn-F driver will require a platform motions time series dataset of the coupled object movements. The time units are seconds, the translational position units are meters, and the orentation units are radians. For a single coupled body, the order of the data columns would look like the following (lines beginning with # are treated as comments by MoorDyn):

# Time(s)    PtfmSurge(m)    PtfmSway(m)    PtfmHeave(m)    PtfmRoll(rad)    PtfmPitch(rad)    PtfmYaw(rad)

If there are multiple coupled objects then the general order of columns beyond the time column follows the order of the state vector: Body degrees of freedom, rod degrees of freedom, and points degrees of freedom. For coupled pinned bodies and rods the full 6DOF need to be provided, however the rotational values will be ignored by by the MoorDyn-F driver (they can be set to zero).

When using the MoorDyn driver in OpenFAST mode, the inital positions represents the offsets to the global frame. When using OpenFAST mode with the positions set to 0’s, then MoorDyn objects will be simulated based on the positions defined in the MoorDyn input file. If a non-zero value is provided, it will be incorporated into the inital positions of coupled objects. For example, if the following inital positions are given:

---------------------- Initial Positions --------------------------------------
ref_X    ref_Y    surge_init   sway_init  heave_init  roll_init  pitch_init  yaw_init
(m)      (m)        (m)          (m)        (m)       (rad)       (rad)        (rad)
0         0         10.0         0.0        0.0        0.0        20.0          0.0

Then a coupled body with a inital state defined in the input file as [0, 0, 0, 0, 0, 0] will have an inital state of [10, 0, 0, 20, 0, 0]. It is advised that for using the MoorDyn driver in OpenFAST mode that the Inital Positions are set to 0 unless the user has a reason to do otherwise.

Seafloor/Bathymetry File

For bathymetry inputs, MoorDyn-C takes a Seafloor file. This file allows you to define a square grid of points and define depths at each of these points.

num_x_points num_y_points
x_1 x_2 ... x_num_x_points
y_1 y_2 ... y_num_y_points
x_pos y_pos depth
x_pos y_pos depth
x_pos y_pos depth
etc, etc

The two values on the first line define the number of points in each axis of the grid. The second line defines the actual locations along the x axis for the x grid points. The third line defines the locations along the y axis for the y grid points. The remaining lines are (x, y, z) coordinates for the seafloor on grid points. It is important that the x_pos be a value found in line 2 and y_pos be a value found in line 3.

The bathymetry file in MoorDyn-F looks slightly different but functions the same.

----- MoorDyn Bathymetry Input File ----
nGridX 2
nGridY 2
       -1500 900
-1200   1000 700
 1200   1000 700

In this the -1500, 900 are x location, the -1200, and 1200 are y location while the 1000 and 700 are the depths at the corresponding x and y.

For both MoorDyn-C and MoorDyn-F what happens if one of these points does not fall on the grid is not defined and may overwrite other depth values.

If some part of the simulation falls outside of the defined grid area, it will use the depth of the nearest grid edge.

The V2 snapshot file

In MoorDyn-C v2 two new functions have been added:

int DECLDIR MoorDyn_Save(MoorDyn system, const char *filepath)

Save the system so it can be loaded afterwards.

At the time of loading the system, it is still required to create the system reading the same definition file and calling MoorDyn_Init_NoIC()

See also

MoorDyn_Load

Parameters:
  • system – The Moordyn system

  • filepath – The path of the file to write

Returns:

MOORDYN_SUCESS If the data is correctly set, an error code otherwise (see Errors reported by MoorDyn)

int DECLDIR MoorDyn_Load(MoorDyn system, const char *filepath)

Load the system saved before.

You must still call MoorDyn_Create() and MoorDyn_Init_NoIC() before calling this function

See also

MoorDyn_Save

Parameters:
  • system – The Moordyn system

  • filepath – The path of the MoorDyn saved system

Returns:

MOORDYN_SUCESS If the data is correctly set, an error code otherwise (see Errors reported by MoorDyn)

With the former a snapshot of the simulation can be saved, so that it can be resumed in a different session using the latter function. It is required to create the system using the same input file in both sessions. However, the initial equilibrium condition computation can be skipped in the second session by calling

int DECLDIR MoorDyn_Init_NoIC(MoorDyn system, const double *x, const double *xd)

The same than MoorDyn_Init(), but the initial condition is not computed at all.

This is of use when you are loading a state file afterwards with Moordyn_Load()

Note

MoorDyn_NCoupledDOF() can be used to know the number of components required for x and xd

Parameters:
  • system – The Moordyn system

  • x – Position vector (6 components per coupled body or cantilevered rod and 3 components per pinned rod or coupled point)

  • xd – Velocity vector (6 components per coupled body or cantilevered rod and 3 components per pinned rod or coupled point)

Returns:

MOORDYN_SUCESS If the mooring system is correctly initialized, an error code otherwise (see Errors reported by MoorDyn)

Wave Kinematics file (MoorDyn-C)

If the WaveKin option is nonzero then wave kinematics inputs need to be provided by a file with the formats described in the water kinematics section.

Water Kinematics file (MoorDyn-F)

This file is used if simulating water kinematics in MoorDyn-F with a user defined grid (Old Method and Hybrid Method). More details on the different MoorDyn-F water kinematics methods can be found in the MoorDyn-F water kinematics section.

The file provided to MoorDyn-F for water kinematics should have the following format, which specifies the inputted waves and current. MoorDyn-F can handle a maximum of 100 lines of current data.

MoorDyn Waves and Currents input file
...any notes here...
 --------------------------- WAVES -------------------------------------
 2                    WaveKinMod  - type of wave input {0 no waves; 1 use the old method; 2 use the hybrid method}
 ""                   WaveKinFile - file containing wave elevation time series at 0,0,0 # Ignored if WaveKinMod = 2
 0                    dtWave      - time step to use in setting up wave kinematics grid (s) # Ignored if WaveKinMod = 2
 0                    WaveDir     - wave heading (deg) # Ignored if WaveKinMod = 2
 2                                - X wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
 -800, 10, 101                    - X wave grid point data
 2                                - Y wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
 -5, 5, 3                         - Y wave grid point data
 2                                - Z wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num)
 -600, 0, 61                      - Z wave grid point data
 --------------------------- CURRENT -------------------------------------
 2                    CurrentMod  - type of current input {0 no current; 1 steady current profile described below; 2 hybrid method}
 2                                - Z wave input type (0: not used; 1: list values in ascending order; 2: uniform specified by -xlim, xlim, num) # Ignored if CurrentMod = 1
 -600, 0, 50                      - Z wave grid point data # Ignored if CurrentMod = 1
z-depth     x-current      y-current # Table ignored if CurrentMod = 2
(m)           (m/s)         (m/s)
0.0             0.9          0.0
150             0.5          0.0
1000            0.25         0.0
1500                    0.2            0.0
5000            0.15           0.0
--------------------- need this line ------------------

MoorDyn-F with FAST.Farm - Inputs

MoorDyn is available at an array level in FAST.Farm using the MoorDyn-F v2 input file format. A nice description of FAST.Farm is found on the OpenFAST repository README:

“FAST.Farm extends the capabilities of OpenFAST to provide physics-based engineering simulation of multi-turbine land-based, fixed-bottom offshore, and floating offshore wind farms. With FAST.Farm, you can simulate each wind turbine in the farm with an OpenFAST model and capture the relevant physics for prediction of wind farm power performance and structural loads, including wind farm-wide ambient wind, super controller, and wake advection, meandering, and merging. FAST.Farm maintains computational efficiency through parallelization to enable loads analysis for predicting the ultimate and fatigue loads of each wind turbine in the farm.”

FAST.Farm can be obtained from the OpenFAST repository.

General Organization

The regular ability for each OpenFAST instance to have its own MoorDyn simulation is unchanged in FAST.Farm. This ability can be used for any non-shared mooring lines in all cases. To enable simulation of shared mooring lines, which are coupled with multiple turbines, an additional farm-level MoorDyn instance has been added. This MoorDyn instance is not associated with any turbine but instead is called at a higher level by FAST.Farm. Attachments to different turbines within this farm-level MoorDyn instance are handled by specifying “TurbineN” as the attachment for any points/bodies/rods that are attached to a turbine, where “N” is the specific turbine number as listed in the FAST.Farm input file. Pinned bodies and rods are not yet supported in FAST.Farm.

MoorDyn Input File

The following input file excerpt shows how points can be specified as attached to specific turbines (turbines 3 and 4 in this example). When a point has “TurbineN” as its attachment, it acts similarly to a “BodyN” attachment, where the X/Y/Z inputs specify the relative location of the fairlead on the platform. ex. For a turbine located at (200, 0, 0), a vertical line attached to it’s center would have a fixed point at end A at (200, 0, 0) and a turbineN point at (0, 0, 0). In the farm-level MoorDyn input file, “Coupled” point types cannot be used because it is ambiguous which turbine they attach to.

----------------------- POINTS ----------------------------------------------
Node    Attachment    X       Y         Z        M        V       CdA   CA
(-)       (-)        (m)     (m)       (m)      (kg)     (m^3)   (m^2)  (-)
1         Turbine3   10.0     0      -10.00      0        0        0     0
3         Turbine4  -10.0     0      -10.00      0        0        0     0
2         Fixed     267.0    80      -70.00      0        0        0     0
-------------------------- LINE PROPERTIES ----------------------------------
ID    LineType      AttachA  AttachB  UnstrLen  NumSegs  LineOutputs
(-)     (-)         (-)        (-)       (m)       (-)      (-)
1     sharedchain    1         2        300.0      20        p
2     anchorchain    1         3        300.0      20        p

In this example, Line 1 is a shared mooring line and Line 2 is an anchored mooring line that has a fairlead point in common with the shared line. Individual mooring systems can be modeled in the farm-level MoorDyn instance as well.

The same approach is used for bodies and rods, where the attachment is defined as “TurbineN”. The body and rod positions and rotations are defined relative to the turbines position and rotation. The following code snippet shows rods using the turbine convention.

---------------------- LINE TYPES --------------------------------------------------
TypeName    Diam     Mass/m     EA      BA/-zeta     EI        Cd      Ca      CdAx    CaAx
(name)      (m)      (kg/m)     (N)     (N-s/-)    (N-m^2)     (-)     (-)     (-)     (-)
0           0.1410    35.78  2.030e+08 -1.000e+00  8.410e+03   1.200   1.000   0.20    0.00
--------------------- ROD TYPES -----------------------------------------------------
TypeName      Diam     Mass/m    Cd     Ca      CdEnd    CaEnd
(name)        (m)      (kg/m)    (-)    (-)     (-)      (-)
connector    0.2000    0.00      0.000  0.000   0.000    0.000
---------------------- RODS ---------------------------------------------------------
ID   RodType    Attachment   Xa      Ya    Za      Xb      Yb    Zb      NumSegs  RodOutputs
(#)  (name)     (#/key)      (m)     (m)   (m)     (m)     (m)   (m)     (-)       (-)
1    connector  Turbine1     -0.62   0.00  -13.22  0.62    0.00  -14.78   0         -
2    connector  Free         -947.81 0.00  -150.60 -945.82 0.00  -150.75  0         -
---------------------- LINES --------------------------------------------------------
ID    LineType      AttachA  AttachB  UnstrLen  NumSegs  LineOutputs
(#)    (name)        (#)      (#)       (m)       (-)     (-)
1        0           R1B      R2A     299.429     10      pt

In this example 0-length rods are used as bend-stiffeners for a suspended cable attached to Turbine1.

FAST.Farm Input File

Several additional lines have been added to the FAST.Farm primary input file. These are highlighted in the example input file excerpt below:

FAST.Farm v1.10.* INPUT FILE
Sample FAST.Farm input file
--- SIMULATION CONTROL ---
False              Echo               Echo input data to <RootName>.ech? (flag)
FATAL              AbortLevel         Error level when simulation should abort (string) {"WARNING", "SEVERE", "FATAL"}
2000.0             TMax               Total run time (s) [>=0.0]
False              UseSC              Use a super controller? (flag)
1                  Mod_AmbWind        Ambient wind model (-) (switch) {1: high-fidelity precursor in VTK format, 2: one InflowWind module, 3: multiple instances of InflowWind module}
2                  Mod_WaveField      Wave field handling (-) (switch) {1: use individual HydroDyn inputs without adjustment, 2: adjust wave phases based on turbine offsets from farm origin}
3                  Mod_SharedMooring  Shared mooring system model (-) (switch) {0: None, 3: MoorDyn}
--- SUPER CONTROLLER --- [used only for UseSC=True]
"SC_DLL.dll"       SC_FileName        Name/location of the dynamic library {.dll [Windows] or .so [Linux]} containing the Super Controller algorithms (quoated string)
--- SHARED MOORING SYSTEM --- [used only for Mod_SharedMooring > 0]
"FarmMoorDyn.dat"  FarmMoorDyn-File    Name of file containing shared mooring system input parameters (quoted string) [used only when Mod_SharedMooring > 0]
0.01               DT_Mooring         Time step for farm-level mooring coupling with each turbine (s) [used only when Mod_SharedMooring > 0]
--- AMBIENT WIND: PRECURSOR IN VTK FORMAT --- [used only for Mod_AmbWind=1]
2.0                DT_Low-VTK         Time step for low -resolution wind data input files  ; will be used as the global FAST.Farm time step (s) [>0.0]
0.3333333          DT_High-VTK        Time step for high-resolution wind data input files   (s) [>0.0]
"Y:\Wind\Public\Projects\Projects F\FAST.Farm\AmbWind\steady"          WindFilePath       Path name to VTK wind data files from precursor (string)
False              ChkWndFiles        Check all the ambient wind files for data consistency? (flag)
--- AMBIENT WIND: INFLOWWIND MODULE --- [used only for Mod_AmbWind=2 or 3]
2.0                DT_Low             Time step for low -resolution wind data interpolation; will be used as the global FAST.Farm time step (s) [>0.0]