API wind spectrum

Dear Luigia,

I have no experience with the API spectra in TurbSim, so, may not be able to help. I don’t really see anything odd in the portion (upper half) of the TurbSim input file that you show; perhaps there is a problem lower half of the file? You may want to compile TurbSim in debug mode and run your model to identify where the NaNs are coming from.

Best regards,

Dear Jason,

Thank you very much for your quick reply.

Please, find attached the second part of the input file.
Thank you for your suggestion, I will try to compile TurbSim in debug mode and run FAST code to identify where the NaNs are coming from.

Best regards,
Luigia

Dear Luigia,

OK, I don’t see anything odd in the lower half of your file either. Hopefully you can find the source of the problem in the debugger.

Best regards,

Dear Jason,

Please, could you tell me who is the person in charge with the implementation of the API (Froya) spectrum in TurbSim ?
I would understand why my simulations run without problems but in the output I have only the fluctuating v and w components of the wind speed and the Reynolds stress, but not the horizontal component.

Thank you in advance for your support

Best regards,
Luigia

Dear Luiga,

Yi Guo of NREL originally implemented the API wind spectrum, but I don’t believe she regularly checks this forum. Moreover, there are several people that have worked on the TurbSim code, including Bonnie Jonkman and Marshall Buhl, who no longer work at NREL. It is difficult to support TurbSim in their absence. So again, I suggest that you run the model through the debugger to identify the source of the NaNs. Perhaps one of the DEFAULT parameters is not set properly for the API wind spectrum?

Best regards,

Dear Jason,

I have run the model through the debugger, as you suggested me, and an error came up:
forrtl: severe (408): fort: (11): Subscript #1 of the array Y has value -303174163 which is less than the lower bound of 1.
The problem is in the size of the vectors. In fact, in the file TS_FileIO.f90 the issue is when the Matrix p%grid%Y( p%grid%GridPtIndx(1:p%grid%NumGrid_Y) is computed.
Please, could you ask to Yi Guo of NREL or someone else to check the original code? I have tried to attach also the .exe file but is too big. If you prefer I can send it to you by email. By the way, here enclosed you can find the input and output files.

Thank you in advance for your help

Best regards,
Luigia
TurbSim_input_output_files.rar (895 KB)

Hi, Luigia.

I’m not sure why you got the subscript out of range error in the debugger. However, I compiled with the /fpe-all:0 option, which makes the compiler stop any time there is a IEEE numeric issue (underflow, overflow, NaN, Inf, etc.). It flagged a line in the Spec_API() routine, which I then investigated.

It looks like I introduced a bug in the version of TurbSim 2.0 I uploaded just before I left NREL. A character was deleted, resulting in a power operation (**) turning into a multiplication (*) in the API spectra calculations. I fixed the code (line 179 of VelocitySpectra.f90) and uploaded it to [url]https://github.com/old-NWTC/TurbSim[/url]. I uploaded my executable to the v2.00.08a-bjj pre-release page.

Dear Bonnie,

Thank you for your reply.
I will try with the fixed version. Please, may you also share the executable for x64 and an example of input for the API spectrum?

Thank you again for your support

Best regards,
Luigia

Dear Bonnie,

I would let you know that the fixed version of TurbSim is working.
The bug I was getting was related to the code VelocitySpectra.f90.
Finally, please may you share the executable x64 and an example of input for API spectrum?

Thank you very much for your time

Best regards,
Luigia

Hi, Luigia.

I added an x64 version to the TurbSim release, but have not tested it at all.

Dear Dr. Jason and Dr. Bonie,

Based on my previous posting “[url]FAST: blade flexibility troubleshooting]”, I’m trying to generate API wind spectrum (NPD spectrum) to simulate the dynamic wind only case for OC4 DeepCwind Semi-Submersible FOWT by using TurbSim v2.00.07a-bjj.

The wind input is following:

  1. Mean wind speed = 19.6m/s
  2. Hub height = 90 m

As per my understanding, the API (NPD) spectrum results from the TurbSim should provide the standard deviation of 1.94m/s, a maximum wind speed of 27.4m/s, and a minimum wind speed of 12.3m/s (correct me if I was wrong).

However, I received a warning that indicates an error in Cholesky factorization, which in the TurbSim User’s Guide mentioned that algorithm is to sped up the code and provide memory reduction. Even though I already follows some of the recommendation step based on previous posting, but still the same error is pop-up. May I know on which parameter should be modify, in order the code can run smoothly?

Refer the whole coding file below for your review:

---------TurbSim v2.00.* Input File------------------------
Example input file for TurbSim.
---------Runtime Options-----------------------------------
False Echo - Echo input data to .ech (flag)
1342858 RandSeed1 - First random seed (-2147483648 to 2147483647)
“Ranlux” RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: “RanLux” or “RNSNLW”
False WrBHHTP - Output hub-height turbulence parameters in binary form? (Generates RootName.bin)
False WrFHHTP - Output hub-height turbulence parameters in formatted form? (Generates RootName.dat)
False WrADHH - Output hub-height time-series data in AeroDyn form? (Generates RootName.hh)
False WrADFF - Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts)
True WrBLFF - Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd)
False WrADTWR - Output tower time-series data? (Generates RootName.twr)
False WrFMTFF - Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w)
False WrACT - Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts)
True Clockwise - Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn)
0 ScaleIEC - Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales]

--------Turbine/Model Specifications-----------------------
31 NumGrid_Z - Vertical grid-point matrix dimension
31 NumGrid_Y - Horizontal grid-point matrix dimension
0.05 TimeStep - Time step [seconds]
3600 AnalysisTime - Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) )
“ALL” UsableTime - Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is “ALL”)
90 HubHt - Hub height [m] (should be > 0.5GridHeight)
145.00 GridHeight - Grid height [m]
145.00 GridWidth - Grid width [m] (should be >= 2
(RotorRadius+ShaftLength))
0 VFlowAng - Vertical mean flow (uptilt) angle [degrees]
0 HFlowAng - Horizontal mean flow (skew) angle [degrees]

--------Meteorological Boundary Conditions-------------------
“API” TurbModel - Turbulence model (“IECKAI”,“IECVKM”,“GP_LLJ”,“NWTCUP”,“SMOOTH”,“WF_UPW”,“WF_07D”,“WF_14D”,“TIDAL”,“API”,“USRINP”,“TIMESR”, or “NONE”)
“unused” UserFile - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for “USRINP” and “TIMESR” models)
“1-Ed3” IECstandard - Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. “1-Ed2”) )
“A” IECturbc - IEC turbulence characteristic (“A”, “B”, “C” or the turbulence intensity in percent) (“KHTEST” option with NWTCUP model, not used for other models)
“NTM” IEC_WindType - IEC turbulence type (“NTM”=normal, “xETM”=extreme turbulence, “xEWM1”=extreme 1-year wind, “xEWM50”=extreme 50-year wind, where x=wind turbine class 1, 2, or 3)
default ETMc - IEC Extreme Turbulence Model “c” parameter [m/s]
“PL” WindProfileType - Velocity profile type (“LOG”;“PL”=power law;“JET”;“H2L”=Log law for TIDAL model;“API”;“USR”;“TS”;“IEC”=PL on rotor disk, LOG elsewhere; or “default”)
“unused” ProfileFile - Name of the file that contains input profiles for WindProfileType=“USR” and/or TurbModel=“USRVKM” [-]
10 RefHt - Height of the reference velocity (URef) [m]
19.6 URef - Mean (total) velocity at the reference height [m/s] (or “default” for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds]
default ZJetMax - Jet height [m] (used only for JET velocity profile, valid 70-490 m)
default PLExp - Power law exponent [-] (or “default”)
default Z0 - Surface roughness length [m] (or “default”)

--------Non-IEC Meteorological Boundary Conditions------------
default Latitude - Site latitude [degrees] (or “default”)
0.05 RICH_NO - Gradient Richardson number [-]
default UStar - Friction or shear velocity [m/s] (or “default”)
default ZI - Mixing layer depth [m] (or “default”)
default PC_UW - Hub mean u’w’ Reynolds stress [m^2/s^2] (or “default” or “none”)
default PC_UV - Hub mean u’v’ Reynolds stress [m^2/s^2] (or “default” or “none”)
default PC_VW - Hub mean v’w’ Reynolds stress [m^2/s^2] (or “default” or “none”)

--------Spatial Coherence Parameters----------------------------
“API” SCMod1 - u-component coherence model (“GENERAL”, “IEC”, “API”, “NONE”, or “default”)
default SCMod2 - v-component coherence model (“GENERAL”, “IEC”, “NONE”, or “default”)
default SCMod3 - w-component coherence model (“GENERAL”, “IEC”, “NONE”, or “default”)
default InCDec1 - u-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default InCDec2 - v-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default InCDec3 - w-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default CohExp - Coherence exponent for general model [-] (or “default”)

--------Coherent Turbulence Scaling Parameters-------------------
“E:\TurbSim_v2.00.07\CertTest\EventData” CTEventPath - Name of the path where event data files are located
“Random” CTEventFile - Type of event files (“LES”, “DNS”, or “RANDOM”)
true Randomize - Randomize the disturbance scale and locations? (true/false)
1.0 DistScl - Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.)
0.5 CTLy - Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.)
0.5 CTLz - Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.)
10.0 CTStartTime - Minimum start time for coherent structures in RootName.cts [seconds]

====================================================
! NOTE: Do not add or remove any lines in this file!

Thanks and regards,
Hanis

Dear Mhanis,

I see a few errors in your TurbSim inut file:

  • You want a standard deviation of 1.94 m/s, but you’ve set IECturbc to “A” instead of 1.94 m/s.
  • You want the mean wind speed at hub height to be 19.6 m/s, but while you’ve set URef to 19.6 m/s, you’ve set RefHt to 10 m instead 90 m.
  • From the post you reference, you want a shear exponent of 0.0912, but you’ve set PLExp to default instead of 0.0912.

Trying fixing these items and hopefully the error will go away.

By the way, unless you intend to use Bladed, I would recommend using WrADFF = TRUE instead of WrBLFF = TRUE.

Best regards,

Dear Dr. Jason,

I already modified the code based on your suggestions, but the same warning appear again.

  1. Standard deviation already changed to 1.94 m/s, and 0.0912 has been set as PLExp value.

  2. The reason I set the RefHT to be 10-m previously because of the API requirement.
    Simulation abort when I set RefHt to be 90 metres - " TS_ValidateInput:API model requires a 10-m reference height. Set RefHt = 10."

  3. Based on API wind profile equation that stated in TurbSim Manual (as shown in snapshot given), I re-calculate the Uref, and got three mean velocity (URef1 = 2005.71 m/s, URef2 = 9.84 m/s and URef3 = 8.245 m/s).
    z is the height above ground (Hubheight = 90m), (u)z is the mean wind speed at height z (19.611 m/s), and RefHt is 10 meters.
    Unfortunately, all URef values, including 19.611 m/s give the same error as my previous post.

---------TurbSim v2.00.* Input File------------------------
Example input file for TurbSim.
---------Runtime Options-----------------------------------
False Echo - Echo input data to .ech (flag)
1342858 RandSeed1 - First random seed (-2147483648 to 2147483647)
“Ranlux” RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: “RanLux” or “RNSNLW”
False WrBHHTP - Output hub-height turbulence parameters in binary form? (Generates RootName.bin)
False WrFHHTP - Output hub-height turbulence parameters in formatted form? (Generates RootName.dat)
False WrADHH - Output hub-height time-series data in AeroDyn form? (Generates RootName.hh)
True WrADFF - Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts)
False WrBLFF - Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd)
False WrADTWR - Output tower time-series data? (Generates RootName.twr)
False WrFMTFF - Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w)
False WrACT - Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts)
True Clockwise - Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn)
0 ScaleIEC - Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales]

--------Turbine/Model Specifications-----------------------
31 NumGrid_Z - Vertical grid-point matrix dimension
31 NumGrid_Y - Horizontal grid-point matrix dimension
0.05 TimeStep - Time step [seconds]
3600 AnalysisTime - Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) )
“ALL” UsableTime - Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is “ALL”)
90 HubHt - Hub height [m] (should be > 0.5GridHeight)
145.00 GridHeight - Grid height [m]
145.00 GridWidth - Grid width [m] (should be >= 2
(RotorRadius+ShaftLength))
0 VFlowAng - Vertical mean flow (uptilt) angle [degrees]
0 HFlowAng - Horizontal mean flow (skew) angle [degrees]

--------Meteorological Boundary Conditions-------------------
“API” TurbModel - Turbulence model (“IECKAI”,“IECVKM”,“GP_LLJ”,“NWTCUP”,“SMOOTH”,“WF_UPW”,“WF_07D”,“WF_14D”,“TIDAL”,“API”,“USRINP”,“TIMESR”, or “NONE”)
“unused” UserFile - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for “USRINP” and “TIMESR” models)
“1-Ed3” IECstandard - Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. “1-Ed2”) )
9.892 IECturbc - IEC turbulence characteristic (“A”, “B”, “C” or the turbulence intensity in percent) (“KHTEST” option with NWTCUP model, not used for other models)
“NTM” IEC_WindType - IEC turbulence type (“NTM”=normal, “xETM”=extreme turbulence, “xEWM1”=extreme 1-year wind, “xEWM50”=extreme 50-year wind, where x=wind turbine class 1, 2, or 3)
default ETMc - IEC Extreme Turbulence Model “c” parameter [m/s]
“PL” WindProfileType - Velocity profile type (“LOG”;“PL”=power law;“JET”;“H2L”=Log law for TIDAL model;“API”;“USR”;“TS”;“IEC”=PL on rotor disk, LOG elsewhere; or “default”)
“unused” ProfileFile - Name of the file that contains input profiles for WindProfileType=“USR” and/or TurbModel=“USRVKM” [-]
10 RefHt - Height of the reference velocity (URef) [m]
19.611 URef - Mean (total) velocity at the reference height [m/s] (or “default” for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds]
default ZJetMax - Jet height [m] (used only for JET velocity profile, valid 70-490 m)
0.0912 PLExp - Power law exponent [-] (or “default”)
default Z0 - Surface roughness length [m] (or “default”)

--------Non-IEC Meteorological Boundary Conditions------------
default Latitude - Site latitude [degrees] (or “default”)
0.05 RICH_NO - Gradient Richardson number [-]
default UStar - Friction or shear velocity [m/s] (or “default”)
default ZI - Mixing layer depth [m] (or “default”)
default PC_UW - Hub mean u’w’ Reynolds stress [m^2/s^2] (or “default” or “none”)
default PC_UV - Hub mean u’v’ Reynolds stress [m^2/s^2] (or “default” or “none”)
default PC_VW - Hub mean v’w’ Reynolds stress [m^2/s^2] (or “default” or “none”)

--------Spatial Coherence Parameters----------------------------
default SCMod1 - u-component coherence model (“GENERAL”, “IEC”, “API”, “NONE”, or “default”)
default SCMod2 - v-component coherence model (“GENERAL”, “IEC”, “NONE”, or “default”)
default SCMod3 - w-component coherence model (“GENERAL”, “IEC”, “NONE”, or “default”)
default InCDec1 - u-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default InCDec2 - v-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default InCDec3 - w-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default CohExp - Coherence exponent for general model [-] (or “default”)

--------Coherent Turbulence Scaling Parameters-------------------
“E:\TurbSim_v2.00.07\CertTest\EventData” CTEventPath - Name of the path where event data files are located
“Random” CTEventFile - Type of event files (“LES”, “DNS”, or “RANDOM”)
true Randomize - Randomize the disturbance scale and locations? (true/false)
1.0 DistScl - Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.)
0.5 CTLy - Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.)
0.5 CTLz - Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.)
10.0 CTStartTime - Minimum start time for coherent structures in RootName.cts [seconds]

====================================================
! NOTE: Do not add or remove any lines in this file!

Hope you may clarify and provide a way forward for this matter.
Thank you in advance for your help.

Kind regards,
Hanis
API Wind Profile Equation.jpg

Dear Mhanis,

You are using the power-law profile in TurbSim (WindProfileType =“PL”), not the API wind profile (WindProfileType=“API”). With the power-law profile, to get a mean wind speed of 19.6 at hub height, you should set URef=19.6 m/s and RefHt=90 m.

You also need to set IECturbc=1.94 m/s (instead of IECturbc=9.892 m/s) to get the standard deviation you desire.

Best regards,

Dear Dr. Jason,

Noted on the IECturb value and WindProfileType. However, since the API Turbulence model is selected, the RefHt cannot be set to 90 metres because the same warning regarding the RefHt=10 m is required. I try to put any values (80m, 50m and 4m), but still it required to be RefHt=10.

Besides, even when I set the RefHt = 10 m, TurbSim will be abort due to

.

Maybe you can try/check the given code, and hopefully we can solve this issue.

---------TurbSim v2.00.* Input File------------------------
Example input file for TurbSim.
---------Runtime Options-----------------------------------
False Echo - Echo input data to .ech (flag)
1342858 RandSeed1 - First random seed (-2147483648 to 2147483647)
“Ranlux” RandSeed2 - Second random seed (-2147483648 to 2147483647) for intrinsic pRNG, or an alternative pRNG: “RanLux” or “RNSNLW”
False WrBHHTP - Output hub-height turbulence parameters in binary form? (Generates RootName.bin)
False WrFHHTP - Output hub-height turbulence parameters in formatted form? (Generates RootName.dat)
False WrADHH - Output hub-height time-series data in AeroDyn form? (Generates RootName.hh)
True WrADFF - Output full-field time-series data in TurbSim/AeroDyn form? (Generates RootName.bts)
False WrBLFF - Output full-field time-series data in BLADED/AeroDyn form? (Generates RootName.wnd)
False WrADTWR - Output tower time-series data? (Generates RootName.twr)
False WrFMTFF - Output full-field time-series data in formatted (readable) form? (Generates RootName.u, RootName.v, RootName.w)
False WrACT - Output coherent turbulence time steps in AeroDyn form? (Generates RootName.cts)
True Clockwise - Clockwise rotation looking downwind? (used only for full-field binary files - not necessary for AeroDyn)
0 ScaleIEC - Scale IEC turbulence models to exact target standard deviation? [0=no additional scaling; 1=use hub scale uniformly; 2=use individual scales]

--------Turbine/Model Specifications-----------------------
31 NumGrid_Z - Vertical grid-point matrix dimension
31 NumGrid_Y - Horizontal grid-point matrix dimension
0.05 TimeStep - Time step [seconds]
3600 AnalysisTime - Length of analysis time series [seconds] (program will add time if necessary: AnalysisTime = MAX(AnalysisTime, UsableTime+GridWidth/MeanHHWS) )
“ALL” UsableTime - Usable length of output time series [seconds] (program will add GridWidth/MeanHHWS seconds unless UsableTime is “ALL”)
90 HubHt - Hub height [m] (should be > 0.5GridHeight)
145.00 GridHeight - Grid height [m]
145.00 GridWidth - Grid width [m] (should be >= 2
(RotorRadius+ShaftLength))
0 VFlowAng - Vertical mean flow (uptilt) angle [degrees]
0 HFlowAng - Horizontal mean flow (skew) angle [degrees]

--------Meteorological Boundary Conditions-------------------
“API” TurbModel - Turbulence model (“IECKAI”,“IECVKM”,“GP_LLJ”,“NWTCUP”,“SMOOTH”,“WF_UPW”,“WF_07D”,“WF_14D”,“TIDAL”,“API”,“USRINP”,“TIMESR”, or “NONE”)
“unused” UserFile - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for “USRINP” and “TIMESR” models)
“1-Ed3” IECstandard - Number of IEC 61400-x standard (x=1,2, or 3 with optional 61400-1 edition number (i.e. “1-Ed2”) )
1.94 IECturbc - IEC turbulence characteristic (“A”, “B”, “C” or the turbulence intensity in percent) (“KHTEST” option with NWTCUP model, not used for other models)
“NTM” IEC_WindType - IEC turbulence type (“NTM”=normal, “xETM”=extreme turbulence, “xEWM1”=extreme 1-year wind, “xEWM50”=extreme 50-year wind, where x=wind turbine class 1, 2, or 3)
default ETMc - IEC Extreme Turbulence Model “c” parameter [m/s]
“API” WindProfileType - Velocity profile type (“LOG”;“PL”=power law;“JET”;“H2L”=Log law for TIDAL model;“API”;“USR”;“TS”;“IEC”=PL on rotor disk, LOG elsewhere; or “default”)
“unused” ProfileFile - Name of the file that contains input profiles for WindProfileType=“USR” and/or TurbModel=“USRVKM” [-]
90 RefHt - Height of the reference velocity (URef) [m]
19.611 URef - Mean (total) velocity at the reference height [m/s] (or “default” for JET velocity profile) [must be 1-hr mean for API model; otherwise is the mean over AnalysisTime seconds]
default ZJetMax - Jet height [m] (used only for JET velocity profile, valid 70-490 m)
0.0912 PLExp - Power law exponent [-] (or “default”)
default Z0 - Surface roughness length [m] (or “default”)

--------Non-IEC Meteorological Boundary Conditions------------
default Latitude - Site latitude [degrees] (or “default”)
0.05 RICH_NO - Gradient Richardson number [-]
default UStar - Friction or shear velocity [m/s] (or “default”)
default ZI - Mixing layer depth [m] (or “default”)
default PC_UW - Hub mean u’w’ Reynolds stress [m^2/s^2] (or “default” or “none”)
default PC_UV - Hub mean u’v’ Reynolds stress [m^2/s^2] (or “default” or “none”)
default PC_VW - Hub mean v’w’ Reynolds stress [m^2/s^2] (or “default” or “none”)

--------Spatial Coherence Parameters----------------------------
default SCMod1 - u-component coherence model (“GENERAL”, “IEC”, “API”, “NONE”, or “default”)
default SCMod2 - v-component coherence model (“GENERAL”, “IEC”, “NONE”, or “default”)
default SCMod3 - w-component coherence model (“GENERAL”, “IEC”, “NONE”, or “default”)
default InCDec1 - u-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default InCDec2 - v-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default InCDec3 - w-component coherence parameters for general or IEC models [-, m^-1] (e.g. “10.0 0.3e-3” in quotes) (or “default”)
default CohExp - Coherence exponent for general model [-] (or “default”)

--------Coherent Turbulence Scaling Parameters-------------------
“E:\TurbSim_v2.00.07\CertTest\EventData” CTEventPath - Name of the path where event data files are located
“Random” CTEventFile - Type of event files (“LES”, “DNS”, or “RANDOM”)
true Randomize - Randomize the disturbance scale and locations? (true/false)
1.0 DistScl - Disturbance scale [-] (ratio of event dataset height to rotor disk). (Ignored when Randomize = true.)
0.5 CTLy - Fractional location of tower centerline from right [-] (looking downwind) to left side of the dataset. (Ignored when Randomize = true.)
0.5 CTLz - Fractional location of hub height from the bottom of the dataset. [-] (Ignored when Randomize = true.)
10.0 CTStartTime - Minimum start time for coherent structures in RootName.cts [seconds]

====================================================
! NOTE: Do not add or remove any lines in this file!

Thanks and regards,
Hanis

Dear Hanis,

As you can probably tell, I have little knowledge of the API spectrum and have not run it myself.

But looking at the TurbSim documentation, it is clear that–as you said–RefHt must be set to 10 m when using the API spectrum. I haven’t looked at the source code, but I assume you could enable set WindProfileType = “PL” when TurbModel = “API”. When using WindProfileType = “PL” with RefHt = 10 m, you’d have to reduce URef to be the wind speed at 10 m that would result in a hub-height (90-m) mean wind speed of 19.6 m/s, i.e.:

u(90) = 19.6 m/s = URef*( ( 90 m )/( 10 m) )^0.0912 → URef = 16.04 m/s

Do those settings work?

Best regards,

Hi Dr. Jason,

I’ve tried to set the URef = 16.04 m/s and “PL” for WindProfileType, unfortunately, the TurbSim abort by giving the same previous warning

.

I managed to run another code by changing the Turbulence model to “IECKAI”, and maintained the “API” WindProfileType. The results can be referred as following:

Turbulence Simulation Scaling Parameter Summary:

Turbulence model used = IEC Kaimal
Turbulence characteristic = User-specified
IEC standard = IEC 61400-1 Ed. 3: 2005
Mean wind speed at hub height = 19.611 m/s
Characteristic value of standard deviation = 1.942 m/s
Turbulence scale = 42.000 m
u-component integral scale = 340.200 m
Coherency scale = 340.200 m
Characteristic value of hub turbulence intensity = 9.904%
Gradient Richardson number = 0.000

Wind profile type = API
Equivalent power law exponent across rotor disk = 0.121
Mean shear across rotor disk = 0.033 (m/s)/m
Assumed rotor diameter = 140.000 m
Surface roughness length = 0.030 m

Nyquist frequency of turbulent wind field = 10.000 Hz

Number of time steps in the FFT = 72000
Number of time steps output = 72000
Number of points simulated = 961

Hub-Height Simulated Turbulence Statistical Summary:

Type of Wind Min (m/s) Mean (m/s) Max (m/s) Sigma (m/s) TI (%)


Longitudinal (u) 12.18 19.61 26.45 1.873 9.548
Lateral (v) -6.21 0.00 5.77 1.536 7.830
Vertical (w) -4.19 0.00 3.89 0.945 4.821
U component 12.18 19.61 26.45 1.873 9.548
V component -6.21 0.00 5.77 1.536 7.830
W component -4.19 0.00 3.89 0.945 4.821
Horizontal (U&V) 12.21 19.67 26.46 1.869 9.501
Total 12.25 19.69 26.47 1.867 9.481

So, is this result can be considered as an API spectrum since we are using the API wind profile type, eventhough the turbulence model is referring to IEC? If not, then what is the recommendation step to run the “API” turbulence model, instead of TurbSim giving the same error due to Cholesky factorization.

Kindly advise.

Thanks and regards,
Hanis

Dear Mhanis,

The JRSE 2013 paper from Coulling et al that you referred to originally called out an NPD (API) spectrum with a power-law profile. This is not the same as a Kaimal spectrum with an API profile.

I honest don’t know why you keep getting the Cholesky factorization error when using the API spectrum, but a Cholesky factorization generally results from having too high (i.e., unphysical) spatial coherence. I’m not sure which version of TurbSim you are using, but if you haven’t already, you could try upgrading to TurbSim within OpenFAST…where there was a small bug fixed in the coherence formulation: github.com/OpenFAST/openfast/. You could also try reducing the number of grid points (NumGrid_Z, NumGrid_Y) so that points in space are not as close together (and coherence is not as strong) or try playing withe spatial coherence parameters.

Otherwise, if you are not too concerned about the actual shape of the turbulence spectra, then you could continue using the Kaimal spectrum.

Best regards,

Dear Jonkman,

I’m trying to use self-defined wind profile and spectra model to generate wind field, and I have two questions as follow:
(1) how to make the wind direction change over time by modifying Usr.profiles?
(2) if I use the self-defined spectra model, where should I modify the coherence function? And should I modify the coherent turbulence scaling parameters in TurbSim_UsrSpec.inp?
Thanks in advance.

Best regards,
Kevin

Dear Kevin,

Here are my answers to your questions:
(1) The user-defined wind profile option in TurbSim (WindProfileType = “USR”) only allows the user to specify a mean wind profile that varies with height, but does not support a time-varying mean profile. A similar question was discussed in the following forum topic: Stitch Together TurbSim Timeseries - #6 by Jason.Jonkman.
(2) The user-defined spectrum option in TurbSim (TurbModel = “USRINP”) allows the user to specify their own power spectrum of the u-, v-, and w-components of the wind speed at point, but it does not permit the user to specify their own spatial coherence function. To specify spatial coherence in TurbSim that differs from standard values, TurbSim supports the setting of SCMod1 = SCMod2 = SCMod3 = “GENERAL”, which then allows you to specify your own values for the spatial coherence decrement (a) and offset parameter (b) in TurbSim inputs InCDec1, InCDec2, and InCDec3, as well as your own coherence exponent (CohExp). While you can’t provide your own coherence function directly, this feature of TurbSim does make it possible to tailor the built-in coherence function as needed.

See the TurbSim User’s Guide v2.00.00 for more information: nrel.gov/wind/nwtc/assets/d … _v2.00.pdf.

Best regards,