GF wind array boundaries violated: Grid too small in Y direction

Dear NREL,

I hope this finds you well.

I have a query regarding the use of the FastFarm Python toolbox. I used it recently to create a Python script that prepares and executes TurbSim and FastFarm input files in “Mod_AmbWind = 3” mode. I am able to generate low-resolution TurbSim boxes and extract high-resolution boxes from them using the toolbox. ;/./ver, there appears to be a problem in matching FastFarm’s low- and high-resolution domains with their corresponding TurbSim domains. The issue is that TurbSim and FastFarm’s domains do not match when utilizing the toolbox. The tools seem to be creating a similarly sized TurbSim and FastFarm high-resolution domains for each turbine, but when defining the boxes’ origins in the “.fstf” file, there is this restriction where for example Y0_High must be an integer multiple of DT_High. This requirement is likely causing the FastFarm domains to be misaligned with TurbSim’s, and I am receiving an error message when running FastFarm.
The error message:

  1. What do you recommend to avoid this issue?
  2. Do TurbSim and FastFarm domains have to be the same size or can FastFarm domains be smaller?

Please see attachments below.

Turbine_1 TurbSim input file (for high resolution domain):

FastFarm input file:

Thank you.

Dear @Abdulbaset.Alazhare

Which version of FAST.Farm? Is this from OpenFAST v3.4 or 3.5?

Best regards,

I am using version 3.5.0

Kind regards.

Hi @Abdulbaset.Alazhare,
It is unclear to me why you are getting this error. Are you able to reproduce the issue with a single turbine? I see you have 32 turbines. You did not share the coordinates of all of them, but regardless, in general it is difficult to know which turbine is related to the printed errors. If you can simplify your case down to 1 turbine and still keep receiving the error, it will be easier to find where the issue is.

Hello Regis,
Thank you for your reply.
As per your suggestion, I ran the script for the case of one turbine. However, the issue persists. The coordinates of the turbine are shown below.

Running the Python script for the single-turbine case, I am getting the TurbSim and FastFarm domain variables shown in the screenshots below.

The .fstf file for the single-turbine case:

TurbSim low-resolution domain .inp file for the single-turbine case:

TurbSim high-resolution domain .inp file for the single-turbine case:

When I run FastFarm using the .fstf file shown above, I get the following error message.

This issue seems to be the result of the rounding in the Python script ‘FASTFarmCaseCreation.py’ shown in the screenshot below.

When I deleted this rounding, the “Y0_Low” value defined in the .fstf file changed from -596.0 to -595.2 and as a result “Y0_High” also changes and the FastFarm error shown above disappeared. However, this change in the Python script does not resolve the error in the case of the 32-turbines case (error message attached in my original post).
To investigate this issue further, I created a two-turbines case.

The .fstf file for two-turbines case (with “np.floor()” enabled):

Terminal error message after running FastFarm executable for 2-turbines case (with “np.floor()” enabled):

I then disabled “np.floor()” and ran the new .fstf file shown below.

The .fstf file for two-turbines case (with “np.floor()” disabled):

Terminal error message after running FastFarm executable for 2-turbines case (with “np.floor()” disabled):


In summary, disabling the rounding for Y0_Low in the Python script ‘FASTFarmCaseCreation.py’ seems to resolve the error message for the low resolution FastFarm domain. However, it does not resolve the error which arises due to the misalignment of the high resolution boxes.

I tried disabling the rounding of “Y0_High” in the same script (shown below) but it did not solve the issue with the high-resolution boxes.

It looks like FastFarm requires not only Y0_High to be an integer multiple of DY_High but also for the FastFarm high-resolution domains to be symmetric around the turbines and aligned with the corresponding TurbSim boxes, is that correct?

Thank you for your time,

Kind regards.

Thank you for your deeper dive into this. I believe this was a problem in 3.5, but fixed on 3.5.1. (see here). Can you try using 3.5.1? I believe the problem is not on the scripts to generate the case, but rather on FAST.Farm itself. If the bug still persists, we’ll take it from there.

Hello @Regis.Thedin,

Thank you for the reply and for sharing that link. Unfortunately, I am still getting the same error message even after using the latest FastFarm version (v3.5.1). I tried with the two-turbines and the 32-turbines cases and both are returning the same error messages I shared above.

Reading through the thread you shared, @Jason.Jonkman had mensioned that " it is also important to center the high-resolution domain about the tower centerline in the Y-direction (because the domains in FAST.Farm should generally be aligned those used by InflowWind.".

I could be wrong, but the script does not seem to do that as if we look at TurbSim’s high-resolution domains and compare them to FastFarm’s (please refer to shared input files screenshots above), we notice that the two sets of domains have the same dimensions, but the script defines Y0_High in such a way that FastFarm’s high-resolution domains are not exactly centred around the tubines’ centre (in the y direction). I am wondering, is FastFarm expected to allow such a slight misalignement of domains?

Thank you again for your time and assistance which are both highly appreciated.

Kind regards.

Hello @Abdulbaset.Alazhare
I ran into a similar issue with my simulation.
We identified a small bug in v-3.5.1 which occurs when the turbine is not located exactly at the high resolution grid-point.
A particular logic in the AWAE module assumed that the turbine was the center of the high resolution box but that might not be true in some cases.

You can find the resolution here: https://github.com/OpenFAST/openfast/pull/1951

Let us know if this resolves the issue.

Abhineet

Hello @Abhineet.Gupta

Thank you for your response. It is great to know that the issue was found and rectified. Would you kindly provide the compiled executable of the modified code so that I can test it?

Kind regards.

@Abdulbaset.Alazhare
Which operating system are you using and how do you get the executable now?
Based on that I can provide you with correct instructions.

Abhineet

@Abhineet.Gupta
I use Windows. I get the FastFarm precompiled executables from OpenFast GitHub page.

Also, are there available precompiled executables of OpenFast, FastFarm, and TurbSim for Linux?

Kind regards.

In this case, there easiest path forward would be to stick to 3.4.1 release for now and then move to 3.5.2 which will include the fix for this bug. Version 3.5.2 is likely to be released early-mid January and we will release the OpenFAST executable with the release.

If this doesn’t work for you then, I can provide more detailed instructions what would require you to build OpenFAST and FAST.Farm locally on your computer. This would be more involved and take more time.

For Linux, we usually build OpenFAST, FAST.Farm and TurbSim using instructions provided here.

Hope this helps.
Abhineet

I used version 3.4.1 previously but the 10MW turbine files had an issue that I could not resolve. Could you kindly provide the compilation instructions on Windows?

Kind regards

Dear @Abhineet.Gupta,

I hope this finds you well.

Following my query above, I edited the source code to reflect the changes requested on this GitHub thread. I then compiled the source code on Windows according to the FastFarm manual. However, when I ran the simulation using the edited re-compiled FastFarm.exe, I got the same error message regarding domain misalignment. I am not sure what is the issue, is it the compilation procedure or is this still an issue with the code?

Screenshot of the requested changes on GitHub:

Screenshot of the compilation procedure:

Screenshot of the current edited source code:


Thank you for your assistance.
Kind regards.

Dear @Abdulbaset.Alazhare,

I reviewed the pull request you are using and don’t agree with the solution, which will have its own problems. NREL is considering a different solution and will update the PR accordingly. Please be patient.

Best regards,

Dear @Jason.Jonkman,

Thank you for the update.

Kind regards.

Dear NREL,

I hope this finds you well.

First of all, thank you for new FastFarm update.

Unfortunately, running the same simulation (Explained above) using the latest version of FastFarm is giving a similar a error message (attched below). I am not sure what the problem is as these input files were generated using NREL’s python toolbox and I am using the latest FastFarm version (v3.5.2).

Screenshot of the new error message:

FastFarm input file:

Your assistance is greatly appreciated.

Kind regards.

Dear @Abdulbaset.Alazhare,

The recent change made to FAST.Farm in PR #1963 (AWAE: Mod_AmbWind=3 add error if HR grid not centered on turbine in Y dimension by andrew-platt · Pull Request #1963 · OpenFAST/openfast · GitHub) simply provides a more intuitive error message when the high-resolution domain is not compatible with the underlying TurbSim domain when Mod_AmbWind = 3. It does not solve the main issue, which is actually in the OpenFAST (Python) Toolbox that is not properly defining the high-resolution domain to be compatible with the underlying TurbSim domain. The OpenFAST Toolbox needs to be updated to solve this issue.

Perhaps @Regis.Thedin can comment when he expects to update the OpenFAST Toolbox.

Best regards,

Dear NREL,

I hope this finds you well.

Could you please advise on when the updated Python toolbox (with the adjusted grid calculations) will be available?

Thank you,

Kind regards.

Dear @Abdulbaset.Alazhare,

We have not yet had the chance to update the OpenFAST (Python) Toolbox scripts to address this issue yet, but plan to in the next couple of months.

Sorry for the delay.

Best regards,