A reference database of wind-farm large-eddy simulations for parametrizing effects of blockage and gravity waves Authors: Luca Lanzilao, luca.lanzilao@kuleuven.be Johan Meyers, johan.meyers@kuleuven.be The dataset contains a suite of large-eddy simulation results of a wind farm operating in conventionally neutral boundary layers, in which atmospheric conditions are varied to study the effect of wind-farm blockage and self-induced gravity waves. Part of the database is shown and analyzed in the article "Lanzilao, L. & Meyers, J. (2024), A parametric large-eddy simulation study of wind-farm blockage and gravity waves in conventionally neutral boundary layers. J. Fluid. Mech.", which we will refer to as Lanzilao and Meyers (2024). Additional results are shown in "Lanzilao L. (2023) Modelling of self-induced atmospheric gravity waves in large-scale wind farms. PhD thesis. KU Leuven, Appendix H". To give some context, we first describe the simulation methodology. We start from initial profiles in terms of u (streamwise velocity), v (spanwise velocity) and th (potential temperature). Those are given as inputs to the precursor simulations, which are run for a spin-up time of 20 hours. At this point, turbulence is fully developed, therefore we use the velocity and temperature fields obtained in the precursor simulation to drive the wind-farm simulation (from this point on, the two domains are run concurrently). We first march in time the numerical solution for 1 hour, so that a statistically steady state is reached in the main domain – that is, the flow has adjusted to the presence of the turbines. Afterwards, we collect statistics over a period of 1.5 hour. The flow fields stored in this dataset (for both the precursor and main domains) are time averaged over this last phase. Below, we report the dimensions (in km) of the respective domains together with the number of grid points: - precursor: Lx = 10 km Nx = 320 Ly = 10 km Ny = 460 Lz = 25 km Nz = 490 - main domain (wind-farm simulation): Lx = 50 km Nx = 1600 Ly = 30 km Ny = 1380 Lz = 25 km Nz = 490 - main domain (single-turbine simulation): Lx = 10 km Nx = 320 Ly = 10 km Ny = 460 Lz = 25 km Nz = 490 For the turbine data, the full time series (i.e. 2.5 hours, spinup phase + statistic phase) is stored. The inflow condition in the main domain is imposed by using a fringe-region technique – see Lanzilao and Meyers (2024). This region is located at the end of the main domain. For the wind-farm simulations, the fringe region starts at x=44.5 km while in the single-turbine simulations it starts at x=7.5 km. In both cases, it extends till the end of the domain (that is x=50 km and x=10 km, respectively). Every folder contains the results of one simulation. The naming convention follows the one used in Lanzilao and Meyers (2024), that is: - H defines the capping-inversion height - C defines the capping-inversion strength - G defines the free-atmosphere lapse rate - the suffix _st stands for single turbine - other suffixes denote a different wind-farm layout (see below) Hence, the folder H500-C5-G4 refers to the results obtained in the simulation initiliazed with a profile with H=500 m, C=5 K and G=4 K/km, while the folder H500-C5-G4_st refers to the same atmospheric condition but it is performed with a single turbine. In terms of wind-farm simulations, there are 36 CNBLs and 4 NBLs cases. Here, the wind-farm has 160 turbines disposed in a staggered layout (see Lanzilao and Meyers (2024) for more detail). Moreover, there are 4 additional single turbine simulations (one per boundary-layer height) and 5 wind-farm simulations which adopt a different turbines disposition (see below). Each folder contains results obtained on both the precursor (stat_precursor_**.h5) and main (stat_main_**.h5) domains. There are 42 time-averaged flow fields per domain, which are categorized in first-, second- and third-order statistics, further divided into resolved and sub-grid scale components. The flow fields have the dimensions reported above. In addition, the inst_precursor_first_order.h5 and inst_main_first_order.h5 files provide the instantaneous velocity and potential temperature fields obtained at the end time of the simulations. Finally, the turbine_data.h5 file contains time series of the thrust, power and orientation of all turbines in the farm. Per folder, the total file size is of 435 GB. As mentioned above, there are 5 additional simulations which are not illustrated or analyzed in Lanzilao and Meyers (2024), which are the following: - H300-C5-G4_aligned - H500-C5-G4_aligned - H500-C5-G4_double_spacing - H500-C5-G4_half_farm - H1000-C5-G4_aligned The suffix _aligned denotes that an aligned wind-farm layout is adopted (160 turbines – see windfarm_aligend.setup). The suffix _double_spacing denotes that a farm with double of the spacing in the spanwise and streamwise directions is adopted (40 turbines – see windfarm_double_spacing.setup). The suffix _half_farm denotes that a farm with half the length in the streamwise directions is adopted (80 turbines – see windfarm_half_farm.setup). Below, we only describe the content of a folder since each folder has the same structure. We note that there are also three example scripts for reading the files and perform a minimal post-processing. Their purpose is to help the user in accessing the data. These scripts and their functionalities together with a few auxiliary files are also commented in this text document. ########################### # Data files in each folder ########################### Here, we describe the content of all files: - stat_main_first_order.h5: contains the following time-averaged flow fields – 'p', 'th', 'u', 'v', 'w' the three velocity components (u, v and w) have dimension of m/s, the potential temperature (th) is in Kelvin, while the pressure is in m^2/s^2. - stat_main_second_order.h5: contains the time-averaged resolved Reynolds shear stresses – 'uu', 'uv', 'uw', 'vv', 'vw', 'ww' the dimension of the fields is m^2/s^2. - stat_main_second_order_sgs.h5: contains the time-averaged sub-grid scale shear stresses – 'uu_sgs', 'uv_sgs', 'uw_sgs', 'vv_sgs', 'vw_sgs', 'ww_sgs' the dimension of the fields is m^2/s^2. - stat_main_third_order.h5: contains the time-averaged resolved third-order statistics – 'uuu', 'uuv', 'uuw', 'vvu', 'vvv', 'vvw', 'wwu', 'wwv', 'www' the dimension of the fields is m^3/s^3. - stat_main_third_order_sgs.h5: contains the time-averaged sub-grid scale third-order statistics – 'uuu_sgs', 'uuv_sgs', 'uuw_sgs', 'vvu_sgs', 'vvv_sgs', 'vvw_sgs', 'wwu_sgs', 'wwv_sgs', 'www_sgs' the dimension of the fields is m^3/s^3. - stat_main_en_flux.h5: contains the time-averaged pressure-velocity fluctuations – 'up', 'vp', 'wp' the dimension of the fields is m^3/s^3. - stat_main_th_flux.h5: contains the time-averaged turbulent heat fluxes – 'uth', 'vth', 'wth' the dimension of the fields is mK/s. - inst_main_first_order.h5: contains the following instantaneous flow fields – 'th', 'u', 'v', 'w' the three velocity components (u, v and w) have dimension of m/s while the potential temperature (th) is in Kelvin. - turbine_data.h5: contains the time series of the thrust, power and orientation of all turbines in the farms. The time series cover the full wind-farm simulation, that is 2.5 hours. The thrust and power are in Newton and Watt per unit density, respectively, while the turbine orientation is in degree. The order of turbines follows the one reported in the windfarm.setup file. The files stat_precursor_**.h5 and inst_precursor_first_order.h5 contains the same flow fields discussed above, but obtained in the precursor domain. ######################### # Post-processing scripts ######################### Here, we briefly describe the post-processing scripts: - read_stat_flow_field.py: read a generic stat_main_**.h5 and stat_precursor_**.h5 files and output the x-z plane averaged over the farm width. - read_inst_flow_field.py: read the inst_main_first_order.h5 file and output the x-z plane taken across the middle turbine row. - read_turbine_data.py: read the turbine_data.h5 file and plot the time-average (over the last 1.5 hour) disk velocity, thrust, power and orientation of all turbines in the farm. We refer the user to the scripts itself for more information on the I/O and general structure of the code. ################# # Auxiliary files ################# These files are necessary only for post-processing. - zmesh: vertical grid containing the locations of the cell faces and centers (Nz*2+1) - windfarm.setup: contains the turbine thrust coefficient (Ct'), rotor radius, hub height and the locations of all turbines (plus some other values which are not of interest). This file refers to a staggered layout (160 turbines) - windfarm_st.setup: same as windfarm.setup, but used for the single turbine simulations (1 turbine) - windfarm_aligned.setup: same as windfarm.setup, but used for the simulations with the aligned layout (160 turbines) - windfarm_double_spacing.setup: same as windfarm.setup, but used for the simulation with the turbine spacing doubled in streamwise and spanwise direction (40 turbines) - windfarm_half_farm.setup: same as windfarm.setup, but used for the simulation with a farm with half the length (80 turbines)