Hello Jason
I read your recent paper entitled “A Quantitative Comparison of the Responses of Three Floating Platforms” and am trying to reproduce the results you have reported in the paper.
I was wondering if I could have access to the wind data and the wave data you used in your simulations. Are they available in the website?
Thanks
Hi Linhao Wu,
The wind and wave data files used in the paper you referred to are not available on our website. This is because (1) the wave data is computed within our simulations (that is, it is not stored independently) and (2) many wind data files are needed to cover the range of inflow conditions simulated, which together represent about 20 GB of data.
Instead, if you want to reproduce the results from that paper, you should generate your own wind and wave data. The characteristics of the wind and wave data we used–that is, the long-term joint-probability distribution of wind speed, significant wave height, and peak-spectral wave period; as well as the extreme wind speeds, significant wave heights, and peak-spectral wave periods for various return intervals–are documented in my PhD thesis-turned NREL report: nrel.gov/docs/fy08osti/41958.pdf. Using these characteristics, wind data files can be generated using our TurbSim (for stochastic turbulent data) and IECWind (for discrete event data) design codes. For the wave data, I need to know how you are modeling floating wind turbines. Are you using our yet-to-be publically released versions of FAST and/or ADAMS2AD that are interfaced to our yet-to-be publically released hydrodynamics model known as HydroDyn?
Best regards,
Dear Jason,
IECWind is used to produce wind data based on IEC standards.
How about wave data? Has NREL developed a code to generate wave data to simulate offshore wind turbines for different conditions according to IEC 61400-3 standard?
Regards,
Mahdi
Dear Mahdi,
Based on some of your earlier posts, I understand that you are using the yet-to-be documented offshore features of FAST (known as HydroDyn). Is this correct?*
If so, it should be clear to you that the wave kinematics data are typically calculated within HydroDyn–they need not be stored as separete files that HydroDyn would read in. As such, there cannot be a simple script like IECWind that would create all of the wave data one needs to run an IEC 61400-3-style loads analysis. Instead, to run the loads analysis that was presented in the above-referenced document (and other similar offshore loads analyses we have ran), we have created scripts that set the HydroDyn wave-data inputs based on which IEC-style simulation is being run. However, these scripts are not yet publically available.
*If not, you can read a summary about these features with links to further information in the documentation we supplied with the release of AeroDyn v13.00.00a-bjj, FAST v7.00.00a-bjj, and A2AD v13.00.00a-bjj: wind.nrel.gov/designcodes/simula … erface.pdf.
Best regards,
Dear Jason,
I really appreciate your prompt response.
Yes, that is correct. I am more interested in the offshore features of FAST.
Are you planning to release those scripts which you mentioned in your post in near future?
Best Regards,
Mahdi
Dear Mahdi,
At this time, I cannot give you an estimated completion date for the release of the new load case scripts.
In the meantime, there are a few Perl scripts already developed that are posted on our design codes website: wind.nrel.gov/designcodes/miscellaneous/. These scripts are useful for running a series of FAST simulations over a range of turbulent wind conditions or over a series of discrete wind condition cases. You may be able to adapt one or more of these scripts to suite your needs.
Best regards,
Dear Jason,
I have two questions.
1-Is it possible to simulate Breaking waves in FAST according to IEC standard?
2-JONSWAP spectrum is characterized by two parameters, significant wave height and modal frequency. Are you using the single parameter Pierson-Moskowitz spectrum to find the significant wave height for a given hub height wind speed?
I appreciate your help.
Regards,
Mahdi
Dear Mahdi,
The HydroDyn module used by FAST for the offshore hydrodynamics calculations applies to both fixed-bottom monopiles and floating platforms. For the purposes of this post, I’m assuming you are asking about the monopile option.
For monopiles, no report is available that explains HydroDyn’s capability. But to summarize: the monopile hydrodynamics model accounts for regular or irregular linear waves (with or without stretching) and sea currents and uses the relative form of Morison’s equation for the load calculation. The wave data can be generated internally within the module, or by reading in (perhaps higher-order) wave data output from GH Bladed or some other wave kinematics code.
Now, here are my answers to your questions:
-
The wave-kinematics model built-into HydroDyn cannot simulation breaking waves, as it is based on linear wave theory. If you want to model severe waves, you would have to use GH Bladed or some other wave kinematics code to generate the higher-order wave-kinematics data before running a simulation with HydroDyn. External wave-kinematics data can be read into HydroDyn by setting the wave model parameter (WaveMod) to 4.
-
The linear irregular wave kinematics in HydroDyn are specified through a JONSWAP (WaveMod = 2) or user-defined spectrum (WaveMod = 3). The JONSWAP spectra is specified through three parameters: significant wave height (WaveHs), peak spectral period (WaveTp), and peak shape parameter (WavePkShp). If WavePkShp is set to unity, the Pierson-Moskowitz spectrum is used. The wave parameters are typically determined based on site-specific metocean conditions and depend on the hub-height wind speed.
I hope that helps.
Best regards,
Dear Jason,
First of all, I really appreciate your helps.
In the last post, you said: “External wave-kinematics data can be read into HydroDyn by setting the wave model parameter (WaveMod) to 4.”
In the Platform file which I have downloaded form NREL website, for WaveMod, there are only 3 options to choose from as below.
WaveMod {0: none=still water, 1: plane progressive (regular), 2: JONSWAP/Pierson-Moskowitz spectrum (irregular), 3: user-defind spectrum from routine UserWaveSpctrm (irregular)} (switch)
There is not option 4 to choose here !
As you said If some one wants to use a wave spectrum other than PM or JONSWAP by choosing option 3 he should be able to define it. My question is, where the UserWaveSpctrm routine is located? Is it supposed to be in UserSubs.f90? I already checked that file and could not find it.
Best Regards,
Mahdi
Dear Mahdi,
In the HydroDyn code included with FAST v7.00.00a-bjj, the ability to read in external wave-kinematics data through WaveMod = 4 is only available for the fixed-bottom offshore wind turbine case.
Which NREL 5-MW model are you using? The version of the 5-MW turbine installed on a fixed-bottom monopile with rigid foundation in 20 m of water is available from: wind.nrel.gov/public/jjonkman/NR … ile_RF.zip. In this model, WaveMod is defined as shown below (with the WaveMod = 4 option documented).
WaveMod - Incident wave kinematics model {0: none=still water, 1: plane progressive (regular), 2: JONSWAP/Pierson-Moskowitz spectrum (irregular), 3: user-defind spectrum from routine UserWaveSpctrm (irregular), 4: GH Bladed wave data} (switch)
If you’d like to use the WaveMod = 4 feature, let me know and I’ll include instructions in a follow-up post.
Regardless, routine UserWaveSpctrm is available in source file HydroCalc.f90. We wanted to isolate it from UserSubs.f90 because HydroDyn is not yet a documented part of the code.
Best regards,
Dear Jason,
I was simulating Hywind concept with FAST version of v6.02c-jmj.
At the moment I want to run simulations with wave spectra other than JONSWAP/PM. In your post you said that you have put UserWaveSpctrm in HydroCalc.f90.
Apparently you have not released that source code yet. If I produce wave time series for the spectral density in which I am interested, is there any way to input a wave time series into HydroDyn?
I would appreciate if you post the instruction on how to use WaveMod=4 feature. That will also be beneficiary to other people reading the post.
Best regards,
Mahdi
Dear Mahdi,
FAST v7.00.00a-bjj supercedes v6.02c-jmj. I suggest you upgrade. You can find the latest version here: wind.nrel.gov/designcodes/simulators/fast/. The source code is included with FAST v7.00.00a-bjj.
As I said in my prior post, the WaveMod = 4 feature of HydroDyn is only avaiable for fixed-bottom offshore turbines. So, this feature will not be useful for you in your simulations of the floating Hywind concept. At this time, it is not possible to input your own wave time series into HydroDyn for floating platforms.
Best regards,
Dear Jason,
I was working with the floating concept to familiarize with the NREL tools.
I am going to work on the fixed-bottom offshore concept. So I would appreciate if you could post instructions on how to use the WaveMod = 4 feature.
You said : “At this time, it is not possible to input your own wave time series into HydroDyn for floating platforms”
Question is, how about for a fixed-bottom offshore turbine? is it possible to plug my own time series to a fix-bottom offshore model ?
Thank you
Mahdi
Dear Mahdi,
Yes, the WaveMod = 4 feature of HydroDyn allows you to use your own wave-kinematics time series for calculating loads on fixed-bottom offshore wind turbines in FAST.
I’ve placed a sample set of files that demonstrate the format in which HydroDyn can read-in wave-kinematics data generated from an external program (e.g., GH Bladed) here: wind.nrel.gov/public/jjonkman/FAST/GHWvFile. These files are described below:
ReadMe.pdf - Document written by Tim Camp of Garrad Hassan that describes the format of the wave data files that are output from GH Bladed, i.e., *_kinematics.txt and *surface.txt. (This memo was originally written for participants in the IEA Wind Task 23 OC3 project.)
RegSF_surface.txt - File containing the wave elevation as a function of time in GH Bladed format.
RegSF_kinematics.txt - File containing the wave kinematics as a function of time and depth in GH Bladed format.
RegSF_FAST.txt - Data file needed by HydroDyn in order to interpret the GH Bladed wave data correctly. This file lists the number and vertical locations of the nodes where the wave kinematics data are stored in the *_kinematics.txt file.
To use these data files in HydroDyn, set WaveMod to 4, WaveStMod to 3, and GHWvFile to the root name of the three data files needed by HydroDyn (i.e., set GHWvFile to “RegSF” in the example files above). Also, set WaveDT equal to the time step of the data files (i.e., 0.1 s in the example files above) and WaveTMax to the amount of time (or longer than the amount of time) you want to run the simulation for. If the wave data files contain less time than what is contained in WaveTMax, than FAST will continually repeat the data until WaveTMax. The data above, for example, only contains one period (i.e., 10 s) of an assumed periodic wave train with 5th order Stream Function waves. Setting WaveTMax to 60 s, then, will cause FAST to apply 6 of these waves in series.
Of course, as long as you create your own wave data files in the same format, you can use your own wave data in HydroDyn and determine its effect on the turbine within FAST.
I hope that helps.
Best regards,
Dear Jason,
- According to the Hywind FAST input file these variables,
“Wave1Vxi , Wave1Vyi , Wave1Vzi”
"Wave1Axi , Wave1Ayi , Wave1Azi
are expressing the water-kinematics at platform node 1 (~ platform reference point). Is this node at the free surface ?
PtfmRef is zero here! I am asking to make sure if the wave kinematics in the output file belongs to the free surface.
- In FAST, Is it possible to have wave-kinematics at different depths as output?
Best regards,
Mahdi
Dear Mahdi,
“Wave1Vxi , Wave1Vyi , Wave1Vzi” refer to the wave particle velocities at the wave kinematics sensor #1 (likewise for the accelerations at sensor 1, “Wave1Axi , Wave1Ayi , Wave1Azi”). Wave kinematics sensor #1 is defined as the first element of the WaveKinNd array in the Output section of the platform input file. Similarly, “Wave2Vxi , Wave2Vyi , Wave2Vzi” refer to the wave particle velocities at the wave kinematics sensor #2, which is the second element of the WaveKinNd array (likewise for up to 9 sensors).
For fixed-bottom monopiles, the WaveKinNd array maps the wave kimenatics sensors to the tower nodes (indices between 1 and TwrNodes). For example, if WaveKinNd(1) = 5 and WaveKinNd(2) = 8, then Wave1Vxi refers to the wave particle velocity at tower node #5 and Wave2Vxi refers to the wave particle velocity at tower node #8. For floating platforms, the WaveKinNd array maps the wave kimenatics sensors to the platform nodes (indices between 1 and PtfmNodes).
Geven this, it should be clear that you can output wave kinematics data at a number of depths. You can only output the values at the free surface if you have a sensor located there.
I hope that helps.
Best regards,
Dear Jason,
With the Hywind concept, for a given significant wave height, spectral period and peak parameter (JONSWAP/PM spectra) , for all simulations I am getting an identical wave elevation time history
In Box-Muller method you are drawing two random numbers U1 and U2 which are independent and uniformly distributed between 0 and 1. Then you obtain W(w) and later the wave elevation is obtained by taking an inverse Fourier transform. Considering the randomness of W(w) I am expecting to observe a different wave elevation for every simulation.
Am I making any mistake in my simulation?
Best regards,
Mahdi
Dear Mahdi,
Have you varied the WaveSeed(1) and/or the WaveSeed(2) input parameters between simulations? These two inputs combined determine the initial seed (starting point) for the internal pseudorandum number generator. If you want to run different time-domain realizations for given boudary conditions (of significant wave height, and peak spectral period), you should change the seed between simulations.
Best regards,
Dear Jason,
I have two inquiries. I really appreciate your time and patience.
-
I have made a small change in HydroCalc.f90 which has been released as a part of FAST_v70000a-bjj. I want to recompile FAST to apply my changes to Hydrodyn.
I know that I should compile FAST along with the source codes of AyroDyn version 13. Could you please post the list of all files I need to put in my workplace to compile FAST by CVF?
-
In Hywind model using Pierson-Moskovitz spectrum with Hs=6 m and Tp=10 s I generated three wave elevations by altering only “WaveTMax” from 3630 sec to 330 s and to 7300 s and I plotted the result (attachment).
I did not change random seeds and since I have used the same spectrum without changing the significant wave height and the spectral period I expected to see same time histories for all three simulations. As far as I understood “WaveTMax” is changing the frequency steps in your IFFT and that should not affect the resulting signal.
Why we see this difference?
Am I doing anything wrong?
Best regards,
Mahdi
Dear Mahdi,
Included with the archive of FAST v7.00.00a-bjj is a script named Compile_FAST.bat. This script can be used to compile FAST from the command line using Intel Visual Fortran. With a little work, it could be modified to work with the Compaq Visual Fortran (CVF) compiler. If all you need is a list of the source files needed to compile FAST, Compile_FAST.bat also contains this. Notably, to compile FAST you need source files from the archives of FAST, AeroDyn, and the NWTC Subroutine Library.
Not only does WaveTMax determine the length of the incident wave kinematics time series, but it also determines the frequency step in the IFFT, from which the time series are derived. (Also, WaveDT determines the maximum frequency in the IFFT.) The wave seeds determine the sequence of numbers generated by the pseudo-random-number generator (PRNG) internal to HydroDyn. These numbers are used at the frequencies of the IFFT. Therefore, by changing the frequency step through WaveTMax, you are modifying the frequencies at which the numbers are applied. This will, in turn, impact the wave kinematics time series.
I hope that helps.
Best regards,