This example shows a realistic pyIECWind workflow where one input file generates multiple IEC wind-condition files for use with OpenFAST InflowWind.
Starting from a single .ipt file, we will:
- define multiple IEC cases
- generate a set of
.wndfiles - understand how those filenames map into OpenFAST
InflowWindusage
The shipped example file is:
examples/sample_case.ipt
Its Cases block currently requests:
ECD True [+R] - Extreme Coherent Gust with Direction Change
EWS True [V+12.0] - Extreme Wind Shear
EOG True [R+2.0] - Extreme Operating Gust
EDC True [+R] - Extreme Direction Change
NWP True [23.7] - Normal Wind Profile
EWM True [50] - Extreme Wind Model
This means one run will expand into six output wind files.
Generate the files into a dedicated output folder:
pyiecwind run examples/sample_case.ipt -o outputsFor the current sample input, the generated filenames are:
outputs/ECD+R.wnd
outputs/EWSV+12.0.wnd
outputs/EOGR+2.0.wnd
outputs/EDC+R.wnd
outputs/NWP23.7.wnd
outputs/EWM50.wnd
Each filename directly reflects the expanded IEC condition code:
ECD+R.wnd: extreme coherent gust with direction change, positive direction, rated speedEWSV+12.0.wnd: extreme vertical wind shear, positive shear, 12.0 user-unit hub-height speedEOGR+2.0.wnd: extreme operating gust at rated speed plus modifierEDC+R.wnd: extreme direction change, positive direction, rated speedNWP23.7.wnd: normal wind profile at 23.7 m/sEWM50.wnd: 50-year extreme wind model
This naming is useful in parametric studies because the resulting file already tells you which IEC case it represents.
pyIECWind generates the wind input files themselves. OpenFAST still needs to be configured to point InflowWind at the desired .wnd file for a given simulation.
Typical usage pattern:
- generate a library of
.wndfiles withpyIECWind - choose one case for a simulation run
- set the
InflowWindwind-file path in your OpenFAST model to that.wndfile - run OpenFAST for that case
- repeat for the other generated files
In practice, many users run a batch study where each OpenFAST case references one of the generated .wnd files.
For the examples/sample_case.ipt file, the sample turbine geometry is:
- hub height:
150.0 m - rotor diameter / reference length:
240.0 m
If you want to run OpenFAST with one generated wind file such as:
outputs/EWM50.wnd
then the corresponding InflowWind section is typically set up as a uniform wind-file case, with the generated .wnd file referenced through Filename_Uni.
Illustrative snippet:
------- InflowWind INPUT FILE -------------------------------------------------------------------------
IEA 15 MW Offshore Reference Turbine
-------------------------------------------------------------------------------------------------------
False Echo - Echo input data to <RootName>.ech (flag)
2 WindType - wind file type (2 = uniform wind file)
0.0 PropagationDir - Direction of wind propagation (deg)
0.0 VFlowAng - Upflow angle (deg)
False VelInterpCubic - Use cubic interpolation for velocity in time
1 NWindVel - Number of points to output the wind velocity
0.0 WindVxiList - Inertial X coordinate list (m)
0.0 WindVyiList - Inertial Y coordinate list (m)
150.0 WindVziList - Inertial Z coordinate list (m)
================== Parameters for Uniform wind file [used only for WindType = 2] ======================
"outputs/EWM50.wnd" Filename_Uni - Filename of time series data for uniform wind field
150.0 RefHt_Uni - Reference height for horizontal wind speed (m)
240.0 RefLength - Reference length for linear horizontal and vertical shear (-)
For a pyIECWind study using the current sample case:
Filename_Unipoints to the specific generated wind file for the selected IEC caseRefHt_Unishould match the turbine hub height used in the.iptfileRefLengthshould match the rotor diameter used in the.iptfileWindVziListis commonly evaluated at hub height for a single-point velocity output example
This means that for the shipped example:
RefHt_Uni = 150.0RefLength = 240.0
and Filename_Uni changes from case to case:
outputs/ECD+R.wndoutputs/EWSV+12.0.wndoutputs/EOGR+2.0.wndoutputs/EDC+R.wndoutputs/NWP23.7.wndoutputs/EWM50.wnd
In a batch OpenFAST study, you would normally keep the structural and controller model fixed and vary only the wind-file reference between runs.
For example:
- Run 1 uses
Filename_Uni = "outputs/ECD+R.wnd" - Run 2 uses
Filename_Uni = "outputs/EWSV+12.0.wnd" - Run 3 uses
Filename_Uni = "outputs/EWM50.wnd"
That is the practical bridge between one pyIECWind case-definition file and a family of OpenFAST simulations.
This workflow gives you:
- one human-readable source file for a study
- multiple deterministic
.wndoutputs - filenames that preserve the IEC case identity
- a clean bridge from IEC case definition to OpenFAST batch execution
A few common extensions of this workflow are:
- adding multiple
NWPwind speeds in one file, such as[10.0, 14.0, 23.7] - adding both
EWM50andEWM01 - creating separate
.iptfiles for parked, operating, and verification studies