Assessment of five wind-farm parameterizations in the Weather Research and Forecasting model
This dataset presents the input files to WRF to regenerate the simulations of the North Sea region on October 14th, 2017, along with the modified WRF module files. Five modified WRF modules are attached
- module_first_rk_step_part1.F
- module_pbl_driver.F
- module_wind_basic.F
- module_physics_init.F
- Registry.EM_COMMON
- depend.common
- Makefile
which will be added to the source code as explained here. A list of namelist.input files for WRF corresponding to different simulations are attached along with the coordinates of the wind turbines in the windturbines.txt file and the performance curves of the wind turbine types used in this study in the files wind-turbine-*.tbl.
Modified WRF code
WRF can be downloaded from the public repository following the steps mentioned here (https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP1). Once WRF is downloaded, go to the folder containing WRF and store its directory in wrfdir by running the command
- wrfdir=$(pwd)
Go to the folder where this document is present and run the commands:
- cp ./module_first_rk_step_part1.F $wrfdir/dyn_em/
- cp ./module_pbl_driver.F $wrfdir/phys/
- cp ./module_wind_basic.F $wrfdir/phys/
- cp ./module_physics_init.F $wrfdir/phys/
- cp ./Registry.EM_COMMON $wrfdir/Registry/
- cp ./depend.common $wrfdir/main/
- cp ./Makefile $wrfdir/phys/
Now, the code is ready to compile via
- cd $wrfdir
- ./clean
- ./configure
- ./compile em_real >& compile.log
If the code does not compile for any reason, a whole version of the code is attached as a compressed file "WRF-5WFP.tar.gz" which was tested and compiles perfectly.
There are multiple new variables in the modified registry which are defined as follows
- UTEND: this variable exports the zonal momentum tendency of the turbines.
- VTEND: this variable exports the meridional momentum tendency of the turbines.
- QTEND: this variable exports the turbine-induced turbulence generation.
- abkar_constant: this is the correction factor $\zeta$ from (Abkar and Porté-Agel 2015). The default value is 1.0.
- use_ec: this integer takes the value of 0 or 1 specifying whether the energy correction should be used or not.
- dc_turb: this integer allows to disconnect the wind turbines from the flow by not allowing the wind farm parameterization to feedback the calculated momentum and turbulence tendencies. This can be used when we want to simulate the undisturbed wind field and to calculate the generated power in this case as well.
- volker_sigma_over_R: this is ratio $\sigma_o/R$ from (Volker et al. 2015). The default value is 1.7.
- pan_np: this specifies the number of points that are randomly generated over the surface of each wind turbine to calculate the percentage of the rotor-plane surface area that is blocked by upwind turbines. It is used with the parameterization of (Pan and Archer 2018). The default value for this entry is 1000 points. More points would increase the accuracy of the calculated blocked area but at the expense of computational cost.
- pan_nouter: this specifies the number of outer iterations done to calculate the blocked area of the rotor within the parameterization of (Pan and Archer 2018). The purpose of the outer iterations is to minimize the randomness in the blocked area calculations due to the randomly generated points by averaging through multiple trials. The default value is 2.
- pan_infZone: this entry specifies the maximum ratio between the distance between two wind turbines and the diameter of the considered wind turbine to include the upwind one in blocked area calculations. The default value is 20. Hence, all wind turbines that are more than 20-diameters away from a wind turbine are not considered for blocked area calculations.
- turbine_cell: is an integer specifying the method to identify the index of the grid-cell containing a wind turbine. A value of 1 corresponds to the function nint (nearest integer) which is the default in WRF. A value of 2 corresponds to the function floor which was suggested in (Volker et al. 2015; Pryor et al. 2020). The default value here is 1.
The windfarm_opt in namelist.input used to have one of two values:
- 0: no wind farm parameterization is used.
- 1: Fitch's parameterization is used (Fitch et al. 2012).
More options have been added to the entry windfarm_opt
- 0: no wind farm parameterization
- 1: Fitch's parameterization (Fitch et al. 2012)
- 2: Abkar's parameterization (Abkar and Porté-Agel 2015)
- 3: Volker's parameterization (Volker et al. 2015)
- 4: Redfern's parameterization (Redfern et al. 2019)
- 5: Pan's parameterization (Pan and Archer 2018)
Input files
Multiple namelist.input files are attached in the form of *-namelist.input and they are defined as follows
- A80-namelist.input: Abkar's parameterization with Abkar's correction set to 0.8.
- A90-namelist.input: Abkar's parameterization with Abkar's correction set to 0.9.
- A100-namelist.input: Abkar's parameterization with Abkar's correction set to 1.0.
- F25-namelist.input: Fitch's parameterization with 0.25 turbulence correction factor (Archer et al. 2020).
- F100-namelist.input: Fitch's parameterization with 1.0 turbulence correction factor (i.e. base Fitch's parameterization).
- F100-NE-namelist.input: Fitch's parameterization with 1.0 turbulence correction factor but no energy correction is used.
- NT-namelist.input: No wind turbines. Nonetheless, power is calculated according to Fitch's parameterization to record the ideal power generation without any wake effects. This is done by setting the entry dc_turb to one while setting windfarm_opt to one as well.
- PAN-namelist.input| Pan's parameterization.
- R25-namelist.input: Redfern's parameterization with 0.25 turbulence correction factor
- R100-namelist.input: Redfern's parameterization with 1.0 turbulence correction factor
- V80-namelist.input: Volker's parameterization with the ratio sigma/R set to 1.36 (i.e. 80% of the base value 1.7).
- V100-namelist.input: Volker's parameterization with the ratio sigma/R set to 1.7.
- V120-namelist.input: Volker's parameterization with the ratio sigma/R set to 2.04 (i.e. 120% of the base value 1.7)
The performance curves of the used wind turbine types are provided in the wind-turbine-*.tbl. The coordinates of the wind turbines are stored in windturbines.txt file. To be able to differentiate between the wind turbines of different wind farms, the first and last wind turbine index per wind farm is as follows
- Gode Wind 1 & 2: 1 - 97
- Veja Mate: 98 - 164
- BARD Offshore 1: 165 - 244
- Riffgat: 245 - 274
- Borkum Riffgrund 1: 275 - 352
- Meerwind: 353 - 432
- Nordsee Ost: 433 - 480
- Amrumbank West: 481 - 560
- Alpha Ventus: 561 - 572
- Trianel Windpark Borkum I: 573 - 612
- Global Tech I: 613 - 692
- Nordsee One: 693 - 746
- Gemini: 747 - 896
Attached files
- Some files that are used in the post-processing of the conducted simulations are attached to this document. These files are:
- farmNames.txt: contains the names of the wind farms by the same order of numbering of WRF input file "windturbines.txt".
- FINO1_airtemperature_101m_20171014_20171015.dat: contains air temperature measurements by the FINO-1 mast, 101 m above sea level on 14 October 2017.
- FINO1_winddirection_vane_91m_315deg_20171014_20171015.dat: contains wind direction measurements by the FINO-1 mast, 91 m above sea level on 14 October 2017.
- FINO1_windspeed_cup_102m_20171014_20171015.dat: contains wind speed measurements by the FINO-1 mast, 102 m above sea level on 14 October 2017.
- MA-transect*-20171014_flight39_airborne.csv: contains processed airborne measurements over the Gode Wind farms on 14 October 2017 (Bärfuss et al. 2019).
- S1A_ESA_2017_10_14_17_17_*.nc: Two NetCDF files containing the *Sentinel-1* satellite imagery of the near-surface atmosphere over the North Sea on 1717 UTC 14 October 2017. The files are downloaded from https://science.globalwindatlas.info/#/map.