FAST.Farm

Dear Younes,

Nice video :slight_smile:.

From the plots, it looks like the turbine and/or controller of T2 are not reacting as expected when the wake from T1 hits T2. The error you are receiving seems to be triggered by the large (and negative) generator speed.

I gather you are using the OpenFAST model of NREL 5-MW baseline turbine. Did you change the controller DLL or OpenFAST models in any way (other than, say, file names/paths and initial conditions)?

The figure heading says Test #26; are you modeling the blades with BeamDyn? If so, does switching from BeamDyn to ElastoDyn solve the problem?

Best regards,

Dear Jason,

Thank you a lot, you spotted the issues!
For the DLL controller, I was using the same DLL file for both turbines, which created an interference between their control behaviors. Each turbine WT{i} must have its own ServoDyn_WT{i} and DLL_WT{i} files.
For the blade modeling, I switched from BeamDyn to ElastoDyn and it worked.

Thank you again for the help!

Kindest regards

Younes

Dear Jason,

Have the FAST.Farm User’s Guide and Theory Manuel be published ? Or could you send me the newest version about it ?

Best regards,

Jiaping.Cui

Dear Jason,
I could not find the “Super Controller” file(s) in the Fast.Farm folder downloaded from git (github.com/jjonkman/OpenFAST/tree/f/fast-farm). How can I have it? Is it the right location to have the latest version of Fast.Farm?
In addition, Is there any document/tutorial to show how to compile (with Linux) and use “Super Controller”?
Best regards,
Hamid

Dear Jiaping,

Yes, the FAST.Farm User’s Guide and Theory Manuel has now been finalized and published. Here: nrel.gov/docs/fy21osti/78485.pdf.

Dear Hamid,

The FAST.Farm source code now fully supports the functional super controller. And the super controller interface is documented in the FAST.Farm User’s Guide and Theory Manual. A template of the super controller source code (SC_DLL.f90) is located in the modules\supercontroller\src directory of the repository. And a template of the source code at the turbine level (DISCON_SC.f90) is located in the reg_tests\r-test\glue-codes\fast-farm\5MW_Baseline\ServoData\DISCON directory of the repository. Moreover, my post dated Mar 18, 2021 above attaches a simple implementation example that should further clarify how it works.

My branch of FAST.Farm that you linked to is the source of the active pull request of FAST.Farm into OpenFAST: github.com/OpenFAST/openfast/pull/584. This should be merged into the dev branch of OpenFAST very soon (hopefully today).

Best regards,

Dear Jason,

In page 61 of the user FAST.Farm manual, it is stated three methods in defining the weighting factors to compute the spatial average of the disturbed wind velocity across a wake plane (equation 6.34 and 6.35). I am wondering if the wake plane at OutDist=0m will give the spatial average wind velocity on the wind turbine rotor, and if one of the weighting three methods can be selected somehow in the FAST.Farm input files.

Kindest regards

Younes

Dear Younes,

I’m not sure what you mean when you ask, “I am wondering if the wake plane at OutDist=0m will give the spatial average wind velocity on the wind turbine rotor?”; please clarify.

Regarding the three spatial averaging methods, the three options can be selected via FAST.Farm input Mod_Meander, which DEFAULTs to Mod_Meander = 3 (windowed jinc).

Best regards,

Dear Jason,

Are there sample input files for FAST.Farm v2?
If so, can you share them with me?

Thanks in advance,
Eduardo

Dear Eduardo,

By FAST.Farm v2, I assume you mean the version of FAST.Farm that was recently merged into the dev branch of OpenFAST: github.com/OpenFAST/r-test/tree … /fast-farm.

Best regards,

Dear Jason,

I’ve used the files you mentioned but I get this when I try to run FAST.Farm with them

FAST.Farm

Copyright (C) 2017 National Renewable Energy Laboratory
Copyright (C) 2017 Envision Energy USA LTD

This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************

FAST.Farm-v2.1.0-153-g559532b4
Compile Info:
 - Architecture: 64 bit
 - Precision: single
 - Date: Aug 05 2019
 - Time: 12:47:42
Execution Info:
 - Date: 04/28/2021
 - Time: 14:55:36+0200

 Heading of the FAST.Farm input file:
   Sample FAST.Farm input file
Running AWAE.
Running InflowWind.

Farm_Initialize:Farm_ValidateInput:OutFmt produces a column width of 10 instead of 14 characters.
Farm_Initialize:For efficiency, NumPlanes has been reduced to the number of time steps (134).
Farm_Initialize:AWAE_Init:InflowWind_Init:InflowWind_ReadInput:Invalid numerical input for file
"Downloads\TSinflow\InflowWind.dat" occurred while trying to read HWindSpeed.



 Aborting FAST.Farm.

I’ve enabled the ECHO flag in both the .fstf file and the InflowWind.dat file.
For the .fstf the echo seems to be OK, but for the inflow I get




            T  Echo           - Echo the input file data
            3  WindType       - switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined)
   0.0000E+00  PropagationDir - Direction of wind propagation (meteoroligical direction)
            0  NWindVel       - Number of points to output the wind velocity (0 to 9)
               WindVxiList    - List of coordinates in the inertial X direction (m)

               WindVyiList    - List of coordinates in the inertial Y direction (m)

               WindVziList    - List of coordinates in the inertial Z direction (m)

Which is weird because NWindVel should be 1, not 0

Do you have any idea of what might be the cause of this problem and how to fix it?

Thanks in advance,
Eduardo

Dear Eduardo,

The version of FAST.Farm you are running is older than the input files you are using. The input files in the r-test I linked to are compatible with the newest version of OpenFAST and FAST.Farm in the dev branch of OpenFAST. You’ll need to recompile FAST.Farm using the source code files from this dev branch to use the corresponding r-test input files.

Best regards,

Dear Jason:
I met some problems when i try to do simulation using “5MW_OC3Spar_DLL_WTurb_WavesIrr.fst” which download from the r-test, the error information is :

[code] Heading of the FAST.Farm input file:
FAST Certification Test #24: NREL 5.0 MW Baseline Wind Turbine with OC3 Hywind Configuration,
for use in offshore analysis

Farm_Initialize:Farm_ReadPrimaryFile:Invalid logical input for file
“.\5MW_OC3Spar_DLL_WTurb_WavesIrr.fst” occurred while trying to read UseSC.

Aborting FAST.Farm.
[/code]
I don’t know how to find and define the “UseSC”, is that mean supercontroller? But i do compile the newest version of the Farm.
By the way i wanna know whether i can use more than two turbines in this simulation like example’Neutral_8mps_3MW’, i mean what i need to do is add some similiar code as followed?

1000.0 1000.0 0.0 "OpenFAST\NRELOffshrBsline5MW_WT1.fst" 921.0 925.0 5.0 10.0 10.0 10.0 1308.0 1170.0 0.0 "OpenFAST\NRELOffshrBsline5MW_WT2.fst" 1229.0 1095.0 5.0 10.0 10.0 10.0 1616.0 1340.0 0.0 "OpenFAST\NRELOffshrBsline5MW_WT3.fst" 1537.0 1265.0 5.0 10.0

Wish for your reply .
Thanks.

Yours, Jundong.

Dear Jundong

I might have an idea about your issue. If I understand well your error, you are trying to run “5MW_OC3Spar_DLL_WTurb_WavesIrr.fst” file using FAST.Farm. But FAST.Farm takes “.fstf” files as input and not “.fst” files. The “.fstf” files define the wind farm configuration, while the “.fst” files define the wind turbine configuration (that OpenFAST uses to compute the power, loads and other outputs). So in your case, you should use “TSinflow.fstf” file instead. “UseSC” can be set to True or False if you want to use the Super Controller. In the system command, you should write something like that:

C:\LocationOfFastFarm\FAST.Farm_x64.exe  C:\LocationOfTheFSTFfile\TSinflow.fstf

For increasing the number of turbines, you can do it by setting “NumTurbines” variable in the “TSinflow.fstf” file to the number of turbines you want in the park, then specify their locations, the “.fst” files that each one of them uses, and the high-resolution grid around them like you did in your similar code.

I hope this helps and please correct me if I’m wrong or it doesn’t work.

Kindest regards

Younes

Thanks, Younes, for your response to Jundong’s question, which I agree with.

Just one point of clarification: we often use the extension “fst” for the OpenFAST primary input file and “fstf” for the FAST.Farm primary input file, but the software do not require these extensions.

Best regards,

1 Like

Thanks,Jason and Younes,for your reponse to my questions, and i am sorry for making such error…

I solved it this problem by wrting a new ‘fstf’ file,but i have two more questions:

  1. When try to use the super controller, I don’t kown why i failed, i have compiled the last-version(I think use Fast-Farm.sln is enough,right :question: ). Nevertheless, I found ‘SC_DLL.sln’ in vs-build and completed the compilation, but the situation did not get better,the error information is followed:
Farm_Initialize:SC_Init:The procedure sc_end in file .\SC_DLL.dll could not be loaded.
  1. I temporarily gave up the call of SC, but i got an error information:

[code]OpenFAST input file heading:
FAST Certification Test #24: NREL 5.0 MW Baseline Wind Turbine with OC3 Hywind Configuration,
for use in offshore analysis

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.

Farm_Initialize:Farm_ValidateInput:OutFmt produces a column width of 10 instead of 20 characters.
Farm_Initialize:For efficiency, NumPlanes has been reduced to the number of time steps (101).
Farm_Initialize:T1:Farm_InitFAST:FWrap_Init:FAST_InitializeAll:AD_Init:ParsePrimaryFileInfo:ParseI
nVar:

A fatal error occurred when parsing data from
“.\openfast\NRELOffshrBsline5MW_OC3Hywind_AeroDyn15.dat”.
The variable “TwrShadow” was not assigned valid INTEGER value on line #9.
The text being parsed was :
“True TwrShadow - Calculate tower influence on wind based on downstream
tower shadow? (flag)”

Aborting FAST.Farm.[/code]

The distressing thing is that this problem occurs no matter if I change the Flag to ‘True’ or keep it to ‘False’.
It also indicate something wrong with ElastoDyn input file, I just use the default ‘OC3Hywind’ series of dat files in r-test.

If you have any ideas, I would be very grateful, and if you need ech file, i can provide it.

Best regards

Jundong

Dear Jundong and Jason,

Thank you for your reply and I am glad to help you a bit.
For the 1. question, I don’t know either where the issue is sorry :frowning: . Maybe try to compile the super controller alone using the sc_dll.f90 file?

For the 2nd question, I had the same issue when updating FAST.Farm. If you look at the error, it says:

nVar:

A fatal error occurred when parsing data from
“.\openfast[b]NRELOffshrBsline5MW_OC3Hywind_AeroDyn15.dat[/b]”.
The variable “TwrShadow” was not assigned valid INTEGER value on line #9.
The text being parsed was :
“True TwrShadow - Calculate tower influence on wind based on downstream
tower shadow? (flag)”

So FAST.Farm has issues with the AeriDyn15.dat file in line #9, where it expects an INTEGER for the variable TwrShadow , and not a boolean True or False anymore. Try to put 0 instead for False (or 1 for True). You can look at the updated files here and compare them with what you have now (compare your .dat files with those updated here):
github.com/OpenFAST/r-test/tree … m/TSinflow
If I’m not wrong, you will have also issues with the ServoDyn of each turbine since it has been updated as well.

I hope this helps you a bit :slight_smile: !

I have a question as well regarding the “InflowWind INPUT file” of FAST.Farm. When I use a steady wind field (WindType=1), everything works smoothly. But I want a wind speed that changes in time, so I try to use a uniform wind file (.hh file) as follows:

!UAE Phase VI (Ames) wind for for a simple power curve.
!Time   Wind    Wind    Vert.   Horiz.  Vert.   LinV    Gust
!       Speed   Dir     Speed   Shear   Shear   Shear   Speed
0.0  8.0     0.0     0.0     0.0     0.0     0.0     0.0
210.0  8.0     0.0     0.0     0.0     0.0     0.0     0.0
210.01 10.0     0.0     0.0     0.0     0.0     0.0     0.0
9999.9 10.0     0.0     0.0     0.0     0.0     0.0     0.0

But I keep getting the following error even after updating FAST.Farm:

************************************************************************************************** 
FAST.Farm 
 
Copyright (C) 2021 National Renewable Energy Laboratory 
Copyright (C) 2021 Envision Energy USA LTD 
 
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY. 
See the "LICENSE" file distributed with this software for details. 
************************************************************************************************** 
 
FAST.Farm-Unversioned from 4d598b2ce513b12103a0ed7f484a8cf5b8324f89 
Compile Info: 
 - Compiler: Intel(R) Fortran Compiler 1910 
 - Architecture: 64 bit 
 - Precision: single 
 - OpenMP: No 
 - Date: May 08 2021 
 - Time: 10:06:37 
Execution Info: 
 - Date: 05/09/2021 
 - Time: 21:09:08+0200 
 
 Heading of the FAST.Farm input file: 
   Sample FAST.Farm input file 
Running AWAE. 
Running InflowWind. 
Running Super Controller. 
Running WakeDynamics. 
Running FASTWrapper (v1.00.00, 7-Feb-2017). 
Running OpenFAST. 
OpenFAST input file heading: 
    FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore) 
 
Running ElastoDyn. 
Nodal outputs section of ElastoDyn input file not found or improperly formatted. 
Running AeroDyn. 
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted. 
Skipping nodal outputs.
Running InflowWind. 
Running ServoDyn. 
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows, ). 
Using legacy Bladed DLL interface. 
 
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:Error opening BLADED interface DLL. Checking 
for legacy DLL. 

Running OpenFAST. 
OpenFAST input file heading: 
    FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore) 
 
Running ElastoDyn. 
Nodal outputs section of ElastoDyn input file not found or improperly formatted. 
Running AeroDyn. 
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted. 
Skipping nodal outputs. 
Running InflowWind. 
Running ServoDyn. 
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows, ).
Using legacy Bladed DLL interface. 
 
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:Error opening BLADED interface DLL. Checking 
for legacy DLL. 
 
Running OpenFAST. 
OpenFAST input file heading: 
    FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore) 
 
Running ElastoDyn. 
Nodal outputs section of ElastoDyn input file not found or improperly formatted. 
Running AeroDyn. 
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted. 
Skipping nodal outputs.
Running InflowWind. 
Running ServoDyn. 
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows, ). 
Using legacy Bladed DLL interface. 
 
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:Error opening BLADED interface DLL. Checking 
for legacy DLL. 
 
Running OpenFAST. 
OpenFAST input file heading: 
    FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore) 
 
Running ElastoDyn. 
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn. 
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted. 
Skipping nodal outputs. 
Running InflowWind. 
Running ServoDyn. 
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows, ). 
Using legacy Bladed DLL interface. 
 
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:Error opening BLADED interface DLL. Checking 
for legacy DLL. 

Running OpenFAST. 
OpenFAST input file heading: 
    FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore) 
 
Running ElastoDyn. 
Nodal outputs section of ElastoDyn input file not found or improperly formatted. 
Running AeroDyn. 
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted. 
Skipping nodal outputs. 
Running InflowWind. 
Running ServoDyn. 
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows, ).
Using legacy Bladed DLL interface. 
 
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:Error opening BLADED interface DLL. Checking 
for legacy DLL. 
 
 Time: 0 of 400 seconds.
forrtl: severe (157): Program Exception - access violation 
Image              PC                Routine            Line        Source              
FAST.Farm_x64.exe  00007FF7F2F57678  Unknown               Unknown  Unknown 
FAST.Farm_x64.exe  00007FF7F30FA1DA  Unknown               Unknown  Unknown 
FAST.Farm_x64.exe  00007FF7F30FFA25  Unknown               Unknown  Unknown 
FAST.Farm_x64.exe  00007FF7F2F31476  Unknown               Unknown  Unknown 
FAST.Farm_x64.exe  00007FF7F578444E  Unknown               Unknown  Unknown 
FAST.Farm_x64.exe  00007FF7F5C7FDB4  Unknown               Unknown  Unknown 
KERNEL32.DLL       00007FFD18367034  Unknown               Unknown  Unknown 
ntdll.dll          00007FFD19FE2651  Unknown               Unknown  Unknown 

Any suggestions to overcome the issue please?

Kindest regards

Younes

Dear Jundong,

Regarding your first question, I’ve now fixed a small bug in the sc_dll.f90 that would have otherwise caused problems running the super controller compiled with Intel Fortran on Windows. You can find the fix in the following pull request, which I expect will get merged in soon: github.com/OpenFAST/openfast/pull/746. I’ve also fixed this in the super controller attached to my post dated Mar 18, 2021 attached. Thanks for reporting the problem.

Dear Younes.

Thank you for answering Jundong’s questions.

I’m not sure what the problem is. All you did between the FAST.Farm simulation that runs and the one that errors out is change the WindType in InflowWind? I’m afraid the error message is not providing any useful information. I suggest compiling in debug mode and trying again; hopefully this will provide more information that can be used to identify the problem.

Best regards,

Dear Jason:

Thanks for your help that i can use supercontroller after add the code you given.
But i still met the problem followed:

[code]OpenFAST input file heading:
FAST Certification Test #24: NREL 5.0 MW Baseline Wind Turbine with OC3 Hywind Configuration,
for use in offshore analysis

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.

Farm_Initialize:Farm_ValidateInput:OutFmt produces a column width of 10 instead of 20 characters.
Farm_Initialize:For efficiency, NumPlanes has been reduced to the number of time steps (101).
Farm_Initialize:T1:Farm_InitFAST:FWrap_Init:FAST_InitializeAll:AD_Init:ParsePrimaryFileInfo:ParseI
nVar:

A fatal error occurred when parsing data from
“.\openfast\NRELOffshrBsline5MW_OC3Hywind_AeroDyn15.dat”.
The variable “TwrShadow” was not assigned valid INTEGER value on line #9.
The text being parsed was :
“True TwrShadow - Calculate tower influence on wind based on downstream
tower shadow? (flag)”

Aborting FAST.Farm.[/code]

As i said before,the distressing thing is that this problem occurs no matter if I change the Flag to ‘True’ or keep it to ‘False’.
It also indicate something wrong with ElastoDyn input file, I just use the default ‘OC3Hywind’ series of dat files in r-test.

I noticed that there is already a pull request called “Shared Moorings updates for FAST.Farm” on the Git Hub. Is it used to solve this problem?

Best regards
Jundong

Dear Jundong,

I thought Younes answered your question regarding TwrShadow well. TwrShadow was changed from a TRUE/FALSE flag to an integer input in the dev branch of OpenFAST, i.e.:

0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model}

The pull request titled “Shared Mooring Updates for FAST.Farm” is for new functionality for floating offshore wind farms.

Best regards,

Dear Jason

Sorry I ignored this part of the information…
Thanks !

Dear Younes

Sorry for not being able to grasp your suggestion in time, thank you very much for your help!

Kindest regards

Jundong