TIMESR Deviations

Hello everyone,

within my work I am trying to generate full field wind files for AeroDyn V13 with TurbSim_v2.00.07a-bjj. As input I am using a Time Series from measured wind data (12x12 Grid, 10 Hz). Altough I need the binary *.wnd file for AeroDyn, I set the Runtime Options of the „TurbSim.inp“ file to generate readable files for the u-, v- and w-component of the wind speed. Checking these files revealed significant deviations in the wind speed. I condensed the process to a minimum example with only two time steps shown beneath (2x2 Grit, 2 Hz).

As you can see I set the u-component of the wind speed to a constant 10 m/s, while the velocity in all other directions is set to zero. Only the lower left knot has wind speed of 11 m/s at the first time step. Running the TurbSim Code converts the course of this knot from 11->10 m/s to a course of 10.5->9.5 m/s.

Does anyone have an idea where this behaviour arises from? I would be really thankful for an explanation!

I also attached the used „TurbSim.inp“ file.

Kind regards,
Martin

--------------TurbSim v2.00.* User Time Series Input File-----------------------
Time series input from Y:/wind/013.mat. Using rotated series
--------------------------------------------------------------------------------
          3  nComp    - Number of velocity components in the file (1=u component only; 2=u & v components; 3=u,v,w) [if < 3 other components will be generated using values from input file]
          4  nPoints  - Number of time series points contained in this file (-)
          1  RefPtID  - Index of the reference point (1-nPoints)
Pointyi     Pointzi    ! listed in order of increasing height
  (m)         (m)
    -5     10
     5     10
    -5     20 
     5     20 
--------Time Series-------------------------------------------------------------
 Elapsed Time     Point01u_015m Point01v_015m Point01w_015m Point02u_030m Point02v_030m Point02w_030m Point03u_050m Point03v_050m Point03w_050m Point04u_076m Point04v_076m Point04w_076m Point05u_100m Point05v_100m Point05w_100m Point06u_131m Point06v_131m Point06w_131m
          (s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)         (m/s)
0.0     10 0 0     11 0 0     10 0 0     10 0 0
0.5     10 0 0     10 0 0     10 0 0     10 0 0
1.0     10 0 0     10 0 0     10 0 0     10 0 0

This full-field turbulence file was generated by TurbSim (v2.00.07a-bjj, 14-Jun-2016) on 08-Aug-2017 at 19:12:41.

 | u-comp |  Y  x  Z  | Grid Resolution (Y x Z) | Time-step | Hub Elev | Mean U |
             2     2     10.000     10.000          0.500      15.00     10.17

 Z Coordinates (m):
   -5.000   5.000
 -15.000

 Y Coordinates (m):
   -5.000   5.000

    0.000  10.167
   10.000  10.000
   10.000  10.500

    0.500  10.167
   10.000  10.000
   10.000   9.500

TurbSim.txt (6.96 KB)

Dear Martin,

I’m not an expert on the TIMESR feature of TurbSim, but here is a point to consider. The FFT implemented in TurbSim requires that the number of time steps / frequency steps be a product of small prime numbers (to ensure that the FFT is efficient). Perhaps your 3-time-step example is being augmented in some way to accommodate this requirement. The actual number of steps is written in the TurbSim summary file. I would start there.

Best regards,

Dear Jason,

thank you for the quick answer. Unfortunately this doesn’t seem to be the problems root. The deviations remain.

My new approach is to write the *.wnd file via Matlab Script, which is working so far. In this case the summary file also has to be written manually because it is required by AeroDyn.
Therefore, my question is now, which data is read from the summary file by AeroDyn?

All I found in the manual was the following sentence:
“If Bladed-style FF files or separate tower output are requested, TurbSim adds another section that tells AeroDyn how to convert the normalized data to floating-point form.”

I’m assuming these lines from the summary file are meant here:

Normalizing Parameters for Binary Data (approximate statistics):

   UBar  =   1.0000 m/s
   TI(u) =   1.0000 %
   TI(v) =   1.0000 %
   TI(w) =   1.0000 %

   Height Offset =   0.0000 m
   Grid Base     =  10.3772 m

Best regards,
Martin

Dear Martin,

Please see SUBROUTINE Read_Summary_FF() in source file IfW_BladedFFWind.f90 of InflowWind for the logic used to read in the *.sum file generated by TurbSim.

Best regards,

Dear Jason and Bonnie

Currently I am trying to use the TIMESR feature in Turbsim to generate a wind field with lateral(horizontal) shear.
As Martin did, I also start with a simple example by only choosing 4 grids and assigning arbitrary u-component speed to them.
Following are the .inp and .TimeSer files.

---------TurbSim v2.00.* Input File------------------------
for user-defined time series input
---------Runtime Options-----------------------------------
True         Echo            - Echo input data to <RootName>.ech (flag)
      43456   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)
False         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-----------------------
          2   NumGrid_Z       - Vertical grid-point matrix dimension
          2   NumGrid_Y       - Horizontal grid-point matrix dimension
       0.05   TimeStep        - Time step [seconds]
        0.2   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.5*GridHeight)
         150   GridHeight      - Grid height [m]
         150   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-------------------
"TIMESR"      TurbModel       - Turbulence model ("IECKAI","IECVKM","GP_LLJ","NWTCUP","SMOOTH","WF_UPW","WF_07D","WF_14D","TIDAL","API","USRINP","TIMESR", or "NONE")
"UserTimeSeries/Test.TimeSer"    UserFile        - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for "USRINP" and "TIMESR" models)
          1   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]
"default"     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]
      12.5   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]
        350   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----------------------------
"NONE"     SCMod1           - u-component coherence model ("GENERAL","IEC","API","NONE", or "default")
"NONE"     SCMod2           - v-component coherence model ("GENERAL","IEC","NONE", or "default")
"NONE"     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")
          0   CohExp           - Coherence exponent for general model [-] (or "default")

--------Coherent Turbulence Scaling Parameters-------------------
".\EventData"    CTEventPath     - Name of the path where event data files are located
"les"         CTEventFile     - Type of event files ("LES", "DNS", or "RANDOM")
true          Randomize       - Randomize the disturbance scale and locations? (true/false)
          1   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   CTStartTime     - Minimum start time for coherent structures in RootName.cts [seconds]

====================================================
! NOTE: Do not add or remove any lines in this file!
====================================================
--------------TurbSim v2.00.* User Time Series Input File-----------------------
Time series input from Y:/wind/windweb/MetData/135mData/M4Twr/20Hz/mat/2014/01/13/01134_16_40_00_013.mat. Using rotated series
--------------------------------------------------------------------------------
          3  nComp    - Number of velocity components in the file (1=u component only; 2=u & v components; 3=u,v,w) [if < 3 other components will be generated using values from input file]
          4  nPoints  - Number of time series points contained in this file (-)
          1  RefPtID  - Index of the reference point (1-nPoints)
Pointyi     Pointzi    ! listed in order of increasing height
  (m)         (m)
   -50	      60
   50		  60
   -50        90
   50		  90  
--------Time Series-------------------------------------------------------------
 Elapsed Time Point01u Point01v Point01w Point02u Point02v Point02w Point03u Point03v Point03w Point04u Point04v Point04w
       (s)   (m/s)    (m/s)   (m/s)   (m/s)      (m/s)     (m/s)    (m/s)    (m/s)   (m/s)  (m/s)     (m/s)    (m/s)     
       0.0000        1       0       0       2         0          0       3         0      0      4      0        0       
	   0.0500        1       0       0       2         0          0       3         0      0      4      0        0       
       0.1000        1       0       0       2         0          0       3         0      0      4      0        0         
	   0.1500        1       0       0       2         0          0       3         0      0      4      0        0        
	   0.2000        1       0       0       2         0          0       3         0      0      4      0        0       

Howover, the produced .bts results do not agree with these defined wind speeds in y-z plane, which is shown below.
I also tried other settings or time series, but the disagreement still exists. Perhaps something is wroing in my settings?

Dear Yulin Si,

Your TurbSim grid only has 4 points, but these points don’t match those from your user time series input file. I’m not sure I understand what you are trying to do with only 4 grid points, but if that is what you want, I would set the points in your user time series input file to match those of the grid points (derived from HubHt, GridHeight, and GridWidth), i.e.:
Pointyi Pointzi
-75 15
75 15
-75 165
75 165

Best regards,

Dear Jason

Thank you for the prompt reply.

In fact, 4 grids are used only for simple demonstration of the problem. My intention is to generate a horizontal shear instead of only vertical one.
If I am using more grids as you suggested, e.g. 15x15 in TurbSim, and 3x3 in user time series, the settings will look like

[code]---------TurbSim v2.00.* Input File------------------------
for user-defined time series input
---------Runtime Options-----------------------------------
True Echo - Echo input data to .ech (flag)
43456 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)
False 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-----------------------
15 NumGrid_Z - Vertical grid-point matrix dimension
15 NumGrid_Y - Horizontal grid-point matrix dimension
0.05 TimeStep - Time step [seconds]
0.2 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)
150 GridHeight - Grid height [m]
150 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-------------------
“TIMESR” TurbModel - Turbulence model (“IECKAI”,“IECVKM”,“GP_LLJ”,“NWTCUP”,“SMOOTH”,“WF_UPW”,“WF_07D”,“WF_14D”,“TIDAL”,“API”,“USRINP”,“TIMESR”, or “NONE”)
“UserTimeSeries/Test.TimeSer” UserFile - Name of the file that contains inputs for user-defined spectra or time series inputs (used only for “USRINP” and “TIMESR” models)
1 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]
“default” 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]
12.5 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]
350 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----------------------------
“NONE” SCMod1 - u-component coherence model (“GENERAL”,“IEC”,“API”,“NONE”, or “default”)
“NONE” SCMod2 - v-component coherence model (“GENERAL”,“IEC”,“NONE”, or “default”)
“NONE” 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”)
0 CohExp - Coherence exponent for general model [-] (or “default”)

--------Coherent Turbulence Scaling Parameters-------------------
“.\EventData” CTEventPath - Name of the path where event data files are located
“les” CTEventFile - Type of event files (“LES”, “DNS”, or “RANDOM”)
true Randomize - Randomize the disturbance scale and locations? (true/false)
1 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 CTStartTime - Minimum start time for coherent structures in RootName.cts [seconds]

====================================================
! NOTE: Do not add or remove any lines in this file!
====================================================[/code]

[code]--------------TurbSim v2.00.* User Time Series Input File-----------------------
Time series input from Y:/wind/windweb/MetData/135mData/M4Twr/20Hz/mat/2014/01/13/01134_16_40_00_013.mat. Using rotated series

      1  nComp    - Number of velocity components in the file (1=u component only; 2=u & v components; 3=u,v,w) [if < 3 other components will be generated using values from input file]
      9  nPoints  - Number of time series points contained in this file (-)
      5  RefPtID  - Index of the reference point (1-nPoints)

Pointyi Pointzi ! listed in order of increasing height
(m) (m)
-75 15
0 15
75 15
-75 90
0 90
75 90
-75 165
0 165
75 165
--------Time Series-------------------------------------------------------------
Elapsed Time Point01u Point02u Point03u Point04u Point05u Point06u Point07u Point08u Point09u
(s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s) (m/s)
0.0000 1 2 3 1 2 3 1 2 3
0.0500 1 2 3 1 2 3 1 2 3
0.1000 1 2 3 1 2 3 1 2 3
0.1500 1 2 3 1 2 3 1 2 3
0.2000 1 2 3 1 2 3 1 2 3
[/code]
If I am right, this is supposed to generate a wind field with 1m/s - 3m/s wind shear from left to right, but the result shows
.
This is my confusion. Thanks

Kind regards
Yulin

Dear Yulin,

I’m not an expert on the TIMESR feature of TurbSim, but I don’t believe it does what you want it to do. According to the TurbSim v2 documentation, when TurbModel = “TIMESR”, the default wind profile is WindProfileType = “TS”, which means that the vertical wind profile is derived from the mean time series at each height. When multiple wind speeds are specified at the same height, my guess is TurbSim averages the velocities at that height to derive the vertical shear profile.

I don’t believe there is a way to specify a horizontal shear in TurbSim.

Best regards,

Dear Jason

Thank you for the clarification. I think you are right that TirbSim “TIMSER” feature is not meant to generate any arbitrary wind field as the user specifies.

Kind regards
Yulin