On the accuracy of predicting wind-farm blockage

To assess the uncertainty in blockage quantification, this study proposes a comparison of farm blockage predictions from wind-tunnel experiments, Reynolds Averaged Navier–Stokes based simulations using multiple numerical setups, and analytical models. The influence of the numerical setup is demonstrated to be small if a consistent definition of blockage (able to sort out systematic errors) is used. The effect of domain confinement and turbulence intensity is investigated assessing their range of variability. Different analytical models performed similarly in comparison to the numerical data, demonstrating the best accuracy for realistic spacing between the turbines and supporting their use as reliable engineering tools.


Introduction
By clustering hundreds of turbines in wind farms covering hundreds of square kilometres, some fundamental assumptions underlying traditional annual energy yield assessment are being challenged.If turbines are spaced sufficiently far apart, they behave as in isolation and their yield solely relies on their site specific power curves [1] and locations climatology.However, when turbines approach each other, they start to interact, influencing the overall power production.Wake losses are the most prominent manifestation of these interactions and thus have traditionally received most attention.The wake of upstream turbines reduces the available power for those downstream, which therefore produce less than in isolation.Depending on a wind-farm power density (power extraction per unit area), the losses are in the order of 10 to 35% [2,3] for low to high density farms, respectively.Wake losses have been studied extensively, both experimentally and numerically [4][5][6], leading to the development of fast empirical wake models (often termed engineering models).They enable rapid wind-farm yield assessment by analytically prescribing each individual turbine's wake behaviour (usually in terms of momentum deficit, wake size and shape) and superimposing wake deficits from multiple turbines (refer to [7] for a discussion on wake deficit superposition) to determine the overall wind-farm flow, including wake losses.Classically, blockage was not part of rapid yield assessment.By only considering wakes, a turbine only influences the flow downstream of itself, downstream turbines have no influence on those upstream.This type of approach was consequently termed wakes-only by Bleeg et al. [8].This does not apply to yield assessment with high-fidelity models, like Computational Fluid Dynamics (CFD ), which inherently couple up-and downstream effects.
The wakes-only assumption has been identified to be overly simplistic in recent years.Meyer Forsting et al. [9,10] conducted CFD and vortex ring simulations and the analyses show that the power production along an isolated row of turbines -facing the wind such that they were not in each others wake -varied with lateral turbine spacing and inflow direction by up to 2%, contradicting the wakes-only premise.These findings were later confirmed by an extensive SCADA data analysis from a wind turbine test site [11].Significant upstream wind-speed reductions of up to 4% were furthermore registered in wind-tunnel campaigns [12,13], off- [14] and onshore [15] lidar measurements as well as further Reynolds-averaged Navier-Stokes (RANS ) CFD simulations [16] and SCADA data analyses [8].Ignoring blockage, as in the wakes-only approach, thus will lead to overestimating the inflow wind speed in a farm context and hence bias the Annual Energy Production (AEP) assessment.
Blockage is nowadays included in wind-farm planning either through potential flow [17][18][19][20][21], surrogate models [19,22,23] derived from RANS simulations or linearised theories [24].The different approaches capture various physical aspects, and therefore the integration within classic wakes-only procedures differs, especially in terms of the flow regions where blockage and wake models are both active.Fig. 1 https://doi.org/10.1016/j.renene.2023 Free-stream/undisturbed inflow wind speed represents four different contributions to the total wind-farm blockage with increasing complexity.Some treat blockage as a purely upstream effect caused by the thrust force and ignore speed-ups (negative blockage) downstream of the rotor disc outside the wake, which is shown in Fig. 1(a).This simplified approach often treats the wake as a nonexpanding cylinder, effectively decoupling the wake development from the upstream induction.Including the wake expansion would alter the induction locally in the rotor plane, and therefore change the corresponding forcing and hence alter the upstream induction, see Fig. 1(b).
For multiple turbines, this interaction occurs both upstream and downstream, Fig. 1(c).Several simplified approaches assume speed-ups and wake deficits can be superimposed within different areas of influence [17].Here RANS-based single turbine flow surrogates [23] present an attractive alternative, as they inherently capture blockage and wakes simultaneously, i.e. the different contributions cannot be separated.Ignoring downstream blockage-related speed-ups completely would equally bias AEP prediction, as then its energy redistributing effect -proven by [10,11] to exist -would be neglected.Total windfarm blockage in fast AEP prediction tools is commonly just a sum of individual turbine blockage, as it acts as small perturbation to the flow, and does not include the more complex interactions between atmospheric boundary layer (ABL) and wind farm, as sketched in Fig. 1(d), which visualises how the otherwise small induction contribution from all downstream turbines aggregate in front of the farm and cause the development of a consistent internal boundary layer over the wind farm.However, the interplay between wind farms and atmosphere [6,[25][26][27] is at least as important for estimating wake losses as for blockage effects and probably will require coupling the inner turbine-turbine problem -solved by current AEP predictors -with the outer wind farm-ABL problem in the future.With the many different methodologies available for assessing windfarm blockage and due to its limited magnitude -not exceeding about 4% of the undisturbed inflow wind speed -it is essential to quantify the error of our prediction tools.Whereas a 1% error is certainly acceptable in wake-loss prediction (usually on the order of 10%-35%), it is definitely not in blockage, as the error would be of similar order.In general terms, RANS methods are able to characterise blockage accurately [11,15,28,29], as farm blockage is coupled to the upwind pressure gradient given by the mean flow [24].Large-Eddy Simulations (LES) capture unsteadiness, a wide range of turbulence scales and energy fluxes, thereby providing a more detailed description of the instantaneous flow field than RANS and catching the interaction between atmosphere and wind farm, especially in buoyancy-driven flows [25,26].Previous studies have shown changes to the dynamical inflow due to induction [30,31], and changes in amplitudes and turbulent length scales can potentially affect the wake development [32].Yet, with blockage being driven mainly by the mean flow characteristics, it is expected to be accurately quantified with well-conducted RANS simulations.Engineering/analytical models on the other hand are based on crude assumptions, but have proven to follow RANS simulations closely [17,18,20,33] more than one rotor diameter from the turbine.Therefore they are expected to provide rapid blockage quantification of similar accuracy as more computationally intensive methods, such as RANS.
The objective of this paper is to evaluate the accuracy of different methodologies for predicting wind-farm blockage in neutral atmospheric conditions to provide the necessary confidence in blockageincorporating AEP assessments.To this end two RANS solvers -EllipSys3D and OpenFoam -with distinctly different numerical methodologies and actuator disc (AD) implementations are compared to the wind-tunnel measurements by Segalini and Dahlberg [13].Furthermore, the not yet quantified influence of turbulence intensity (TI) is explored with RANS for wind-farms with varying power density and compared to PyWake predictions using analytical blockage models.The sensitivities of the predictions are analysed in detail with respect to various numerical setups to develop some general best practice recommendations.A more general definition of wind-farm blockage is presented that should facilitate comparing blockage measures in the future.Summarising, this paper's novelty lies in providing: 1.A general definition of blockage; 2. A method for consistently evaluating blockage; 3. The quantification of wind tunnel, CFD and analytical model blockage prediction accuracy; 4. The evaluation of blockage TI dependency. 5. Blockage modelling recommendations.
Section 2 starts with defining the blockage measure used throughout this paper, followed by detailing the wind tunnel experiments and different numerical setups, including a numerical sensitivity study and a description of all five analytical blockage models employed herein.Section 3 first compares wind tunnel and CFD simulation results, continues with a CFD-based study on the effects of TI on blockage and finally compares analytical with CFD predictions.Conclusions, recommendations and outlook are given in Section 4.

Blockage definition and measure
What is blockage and how should we quantify it?From an AEP assessment perspective it seems intuitive to define it in the same manner as wake effects: Blockage is the difference between the free-stream or undisturbed inflow wind speed  ∞ and some local wind vector  = (, , ) at any point in space  = (, , ) and time , such that   (, ) =  ∞ (, ) − (, ) with   denoting the absolute blockage loss [29].The blockage factor, analogous to the induction factor, is then given by (, ) = 1 − (, )∕ ∞ (, ).
Whilst blockage can be computed for all velocity components, the most prominent and relevant to power production is the streamwise component, which here will be denoted as   .In the remainder of the paper we will discuss blockage with respect to this component only and will omit the prefix streamwise for clarity.For the same reason the vector notation  is dropped, yet of course the cross-directional blockage gradients are non-zero.Nevertheless, the following rational is general and can in principle also be applied to any of the cross-flow components.
Sufficiently upwind from a wind farm located at  = 0,   → 0 as  → −∞, such that  →  ∞ . 1 So if we would like to estimate wind-farm blockage we would ideally need one flow probing location far upstream and another sufficiently close to the wind farm, where   ≫ 0, to evaluate the effect of blockage on power production and ensure a sufficiently high signal-to-noise ratio.However there is no guarantee that  ∞ (−∞, ) =  ∞ (  , ), where   denotes the location where the blockage is to be estimated.On a wind farm scale  → −∞ corresponds to dozens of kilometres and  ∞ will evolve between our two measuring locations in space and time.Therefore, our estimate of  ∞ at   includes an error  ∞ , giving an estimated blockage deficit of  ′  =   +  ∞ .Unfortunately, natural temporal and spatial variations in  ∞ are of the same order as the blockage we would like to quantify with upstream lidar or met mast measurements, such that   = ( ∞ ), making it impossible to distinguish blockage from underlying free-stream velocity variations.Even in RANS simulations, it is difficult to ensure  ∞ remains constant over the entire numerical domain (i.e. ∞ = 0), as it requires the inflow profile to be perfectly balanced with the CFD domain forcing.
If it is not possible to construct an accurate estimate of  ∞ , as done for a single turbine in [29], taking the ratio of two independent wind speed measures can avoid directly determining  ∞ and reduce errors in estimating blockage.Assuming that the estimated free-stream velocities are related by an error term, the velocity ratios can be expressed in terms of blockage factors as So as long as  ∞ ∕ ∞,1 ≪ 1 the error from differences in the freestream velocities are negligible, which can be achieved by ensuring that both measurements are taken sufficiently close to each other in space and/or time.As it minimises errors from erroneous free-stream estimates, resorting to such a relative blockage measure is thus highly beneficial and hence adopted throughout this study.The normalised marginal gain in blockage can be expressed as assuming  ∞,1 ≈  ∞,2 ≈  ∞ and realising that a blockage gain requires  2 <  1 .Indeed, Segalini and Dahlberg [13] resorted to a similar blockage definition in their wind tunnel study.They recorded the wind speed evolution at the centre and edge turbines in the first row of a wind farm following the staggered layout given in Fig. 2 as rows were added to the farm.As this blockage measure is taken in the rotor-plane, it is a measure of the wind speed and thus also power loss at the front row turbines due to wind-farm blockage (and wind-farm blockage only, as the blockage or induction at the rotor-plane from the single row is subtracted).
If not explicitly stated, blockage herein is always discussed in terms of the blockage gain,   , that describes the gain in blockage in the front wind-farm row due to the addition of  downstream rows with respect to the approximate free-stream wind speed where   is the rotor-averaged wind speed registered in the first row turbines with  downstream turbine rows and  0 the theoretical induction factor in the rotor-plane as given by momentum theory. 2 Whilst the induction in a laterally aligned row of turbines differs from this definition ever so slightly [10], it ensures that  is scaled consistently throughout this study, minimising the thrust coefficient,   , dependency.
At times it might be relevant to discuss blockage including the contribution from the first row itself (i.e.  ) which is then explicitly stated and referred to as total blockage and contrary to the blockage gain requires accurate knowledge about the free-stream to be accurately quantified.Due to their limited magnitude, gain and total blockage are reported throughout this paper in hundredth of the free-stream velocity and so are their variations unless stated otherwise.This is to avoid confusion with relative changes.

Wind tunnel
The wind-tunnel data used for the validation of the simulations is extracted from the experimental measurements by Segalini and Dahlberg [13].The Minimum Turbulence Level (MTL) wind tunnel at KTH Royal Institute of Technology was used for the experimental campaign where almost 100 freely-rotating wind turbines with a diameter  = 45 mm were arranged in different layouts.The testsection size is 1.2 m × 0.8 m (width × height) with a length of 7 m (or 26.7 × 17.8 × 155.6 with respect to the rotor diameter).The inflow to the farm was homogeneous and laminar with a free-stream velocity of  ∞ ≈ 8 m∕s and TI of 0.1%.The boundary layer forming at the wind-tunnel floor was sufficiently thin to remain below the bottom tip of all turbines belonging to the first row.
The freely-rotating turbines are made of plastic two-bladed rotors, which are connected via sliding bearings to the nacelle at a hub height of 1.33.The nacelle and the tower have a diameter of 0.06.A magnetic foot at the base of the tower enables flexibility in the placement 2  of the turbines and thus wind farm layout creation.The turbines were already used in another blockage experiment [12] where an incoming boundary layer was present.A thrust coefficient of   ≈ 0.6 ± 0.01 was measured for the wind turbine models within the wind-speed range of 3 to 10 m/s by means of a strain-gauge balance.The tip-speed ratio of the turbines was ∕ ∞ ≈ 5 with  indicating the angular velocity.
As described by Segalini and Dahlberg [13], several farm layouts were investigated in two separate sets of experiments: One where the farm behind the first row was displaced downwind (keeping the farm layout after the first row unaltered), and the other where the farm downwind of the first row was changed by removing the last rows of turbines from the layout.This latter set of measurements was used herein, as it highlights blockage effects best.A schematic top-view of the wind-tunnel setup is shown in Fig. 2, with   and   denoting the streamwise and lateral spacing between turbines, respectively.From hereon we use the short form to describe the layouts.The densest configurations with the most pronounced blockage were selected from the experiments for model validation, which correspond to staggered layouts with seven turbines in the odd and six turbines in the even row numbers.The angular velocity of the central and edge turbines of the first row were monitored by lasers and photo-diodes and through a transfer function related to the freestream velocity.Four reference propeller anemometers were placed at the inlet of the test section to assess the undisturbed velocity upstream of the farm and the measured undisturbed velocities were normalised by this reference velocity to remove small changes in the upstream velocity due to the pressure losses in the entire wind-tunnel circuit.The measurement time was 180 s for each measurement point, and the standard deviation of the velocity measured by the central turbine was 0.15% of the local mean velocity, similar to the inlet free-stream TI.

CFD solvers 2.3.1. EllipSys3D
The simulations are performed within the DTU Wind AEP tool PyWake (version 2.5) [19] using the CFD plug-in PyWakeEllipSys -a Python interface to the general purpose flow solver EllipSys3D [34][35][36], also developed at DTU Wind.It solves the incompressible Navier-Stokes equations in structured curvilinear coordinates following the finite-volume method on collocated grids.The code is parallelised using the message passing interface (MPI) library and applies a multigrid and grid sequencing approach to accelerate the computations.Multiple numerical schemes are available: However, here the coupled momentum and pressure-correction equations are solved by using an improved version of the SIMPLEC algorithm [37], and the convective terms are discretised with the third-order accurate QUICK scheme [38].The steady-state RANS equations are closed using the  −  −   model [39], which employs a shear-dependant eddy viscosity (beneficial in wind turbine wake simulations with large velocity gradients).The AD approach follows the implementation by Réthoré et al. [40], which uses an intersectional grid between polar AD and flow grid for sampling the local AD velocities and distributing the corresponding forces.The latter are applied as pressure jumps in the computational domain by a modified Rhie-Chow algorithm [41,42] to avoid velocitypressure decoupling, effectively rendering the AD two cells thick.The polar disc grid is discretised by 96 radial and 180 azimuthal cells, sufficiently fine for the used flow grids [40].
To investigate the influence of the confinement of the wind tunnel on the results, two rectangular numerical domains were created: one mimicking the wind-tunnel setup and another with the outer boundaries sufficiently far from the wind farm to have no influence on it.No attempts were made to match the inflow conditions from the tunnel, as the aim was not to validate this particular CFD setup, but to demonstrate that different approaches predict similar blockage effects.In fact, by assuming Reynolds-number independence in neutral atmospheric RANS flows [43], the actual rotor diameter was 100 m, and all domain dimensions were simply scaled accordingly.To represent the radial and azimuthal load variations of real turbines without using aerofoil data nor controller, the azimuthally-averaged, below-rated blade forces predicted by Detached Eddy Simulations of the DTU10MW [44] are scaled with the thrust coefficient [39] and the local polar AD grid velocities, as in advanced blade-element momentum models [45].At least in the induction zone and wake regions (about 3 from the rotor), the blade forcing does play a role [33,46].However, far from the rotor it is only the disc-averaged thrust coefficient that matters.No rotation is included, as it has negligible impact in RANS-AD simulations of neutrally stratified flows and unnecessarily introduces asymmetry [47].In the  −  −   model a hub height TI is selected to determine the roughness length to be set at the wall boundary to achieve a steady-state log-law velocity profile [39].Higher TI thus leads to greater roughness ( 0 | TI=4% = 4.02 × 10 −7 m,  0 | TI=12% = 1.93 × 10 −1 m) and thus greater wind shear across the rotor disc.As the TI in the wind tunnel was extremely low (0.1%), the lowest possible TI for this turbulence model was selected (i.e., 4%).For the unconfined simulations, the TI was raised to the maximally permissible of 12% to evaluate the effect of TI on blockage.The wall cell height was 0.005 and grows exponentially towards the upper domain boundary: However, the cell height is not allowed to surpass the horizontally uniform spacing around the wind farm of ∕12 below a height of 3.The vertical discretisation introduces numerical errors in the realisation of the desired velocity profile.This means that the actual inflow profile and the theoretically-determined wall boundary condition are not in balance, leading to inflow development towards the wind farm.Whereas for wake studies this imbalance is insignificant, for blockage it can become detrimental [48] if it is evaluated with respect to an upstream reference velocity, due to its limited relative magnitude.A small change in the inflow from the first to the last row will show up in the blockage analysis and can thus alter our conclusions.Therefore 1D precursor simulations, with the vertical discretisation of the 3D domain, are conducted to arrive at a steady-state inflow profile that will show no evolution.This profile is imposed at the inflow plane, while the outflow obeys Neumann conditions and the top boundary is specified as inlet, as required by the turbulence model.The lateral faces obey symmetry conditions similarly to the wind-tunnel setup.This hardly represents the complexity of the flow inside the wind-tunnel section; yet, as shown in previous studies [10,28,49], blockage acts almost entirely as a linear perturbation to the flow and thus, as long as the   of the measurements is matched, the blockage effects should remain similar.In the horizontal plane a refined uniform grid encompasses the 16-row wind farm, with a cell size of ∕12 extending at least 10 up-and downstream and 3 laterally.As different combinations of streamwise,   , and lateral spacing,   , were used, the number of grid cells varied between 41 to 53 million.The normalised velocity, pressure, and turbulence residuals were converged to at least 10 −6 and the rotor diameter-based Reynolds number was around 7 × 10 7 .

OpenFOAM
OpenFOAM is an open-source finite-volume solver, widely used within academia and industry.In this case, the OpenFOAM v2012 (version released on December 2020) is employed and the utilised setup has previously been compared to wind-tunnel measurements of wind-turbine wake interaction [50].For the RANS simulations, the simpleFoam steady-state solver, based on the SIMPLE (Semi-Implicit Method for Pressure Linked Equations) algorithm, is used.The convective terms are discretised with a bounded, second-order accurate, linear upwind scheme.Whereas the − model [51] with standard coefficients underpredicts wake deficits in ABL flows [52], it agrees favourably with low TI (0.3%) wind-tunnel measurements of model wind farms [50] and is thus selected here.Because a steady-state solver is used, the solution is considered converged if the residuals of the velocity and turbulent kinetic energy are below 10 −6 .
The domain has the same cross sectional area as the wind-tunnel experiment and a 60 up-and 80 downstream fetch around the wind farm.Here the diameter of the turbine is the same as in the measurements, so dimensionally the fetches are 2.67 m and 3.56 m long.The mesh outside the wake region has a horizontal cell size of ∕6.Near the wind-farm wake a refinement zone is created with an horizontal cell size of ∕12.Additional mesh refinement zones are placed near each turbine, with an horizontal cell size of ∕24, following the findings of the mesh-sensitivity analyses in [50,53].The vertical cell size grows from a wall cell size of 0.0139 close to the turbines towards ∕6 at the top of the domain.
At the inlet, similar inflow conditions as in the experiment are defined, imposing a uniform inflow with  ∞ = 8 m∕s and values of  and  matching the measured TI using where  is the turbulent kinetic energy dissipation.The length  is estimated as the maximum dimension of the cross-section area of the wind tunnel (i.e.,  =   = 1.2 m).As in the experiments, a thin boundary layer forms at the bottom wall by enforcing a no-slip condition which remains below the turbines lower blade tips.The inflow to the turbines is thus uniform.The lateral faces and the domain top obey slip conditions, while a Neumann condition is imposed at the outlet.
The turbine is modelled using an AD model with the thrust imposed according to a calibration curve, relating the inflow wind speed to the disc-averaged velocity.The calibration procedure is performed [50,53] for an isolated turbine in the middle of the wind tunnel.As   is constant for this wind turbine, this procedure is done for a single wind speed and the obtained induction factor is assumed to be valid for the rest of the inflow velocities.The calculated thrust force is distributed uniformly over the rotor swept area in each iteration and distributed in the flow domain following an isotropic Gaussian convolution kernel according to the recommended smearing width of 2  [54], with   indicating the streamwise cell size in the rotor vicinity.If included, the turbine tower is represented by an actuator line (AL), as done by Wu and Porté-Agel [55].These AL nodes are separated by   and a drag force imposed using a drag coefficient of   = 1.2 and the tower diameter as reference length.The forces are distributed in the domain in same manner as for the AD.This approach does not accurately capture all tower effects, but it is able to provide a rough indication.

Numerical sensitivity
The limited magnitude of the blockage effect (expected to be less than 4% in power) requires minimising the influence of the numerical setup on the results to be able to separate blockage from numerical uncertainty.Nevertheless its numerical sensitivity is rarely reported.Further to the commonly investigated cell size in the refined region, here we also explore the effect of the domain size and convergence limit.Especially the former has been previously identified to impact blockage quantification [9,56].To exacerbate the numerical sensitivities and blockage effects, the densest wind-farm configuration ( [,] ∕ = [2.67,2.00]) is studied in combination with the highest thrust coefficient (  = 0.89) and the maximum number of turbine rows ( = 15, namely 105 turbines in total, all operating at the same thrust coefficient) investigated in this paper.For the EllipSys3D results also the variation with TI is assessed.As in the experiments by Segalini and Dahlberg [13] and defined in detail within Section 2.1, the quantity of interest in this study is the gain in blockage at the first row of turbines with addition of downstream turbines.Therefore the discaveraged wind speed is recorded in the first wind-farm row without and with 15 downstream rows of turbines and their ratio taken.This is done for each numerical configuration, so there are always two simulations performed without changing the setup.The change in the blockage ratio is compared to a presumably converged reference value.Negative values thus correspond to underpredicting the blockage gain.
The influence of cell size in the refined region encompassing the wind farm is investigated with both CFD solvers in the top left panel of Fig. 3 for the wind-tunnel domain.The solutions obtained with 24 cells across the rotor diameter will be used as reference as this was the finest grid used in the EllipSys3D simulations.With finer resolution the wake shear layer is better resolved, yet, this has little influence on the predicted blockage as previously shown by van der Laan et al. [39] for the relative wake momentum deficit.In fact also the change in total blockage with grid resolution (not shown) behaves as observed by van der Laan et al. for wakes, with asymptotic convergence behaviour at 8 cells yielding an error between 0.7-1.0.The error in blockage gain is significantly smaller, as errors are cancelling out during division. 3 For all the following sensitivities investigated herein, there was little difference between the error in total blockage and blockage gain, though.The evolution with grid size differs slightly between central and edge turbines, with the former (except for the coarsest OpenFoam result) showing consistently higher blockage at lower grid resolution, whilst showing little sensitivity to TI, contrary to the edge turbines.
Here it is noteworthy that the OpenFoam predictions with a TI of 0.1% behave similar to the low TI (4%) EllipSys3D results.The slightly erratic convergence behaviour exhibited by the OpenFoam setup is most likely related a common problem arising when representing an AD within a Cartesian mesh by only marking entire cells within the disc area as AD cells.The actuator shape model within EllipSys3D avoids this issue by using an intersectional grid [40].
For the EllipSys3D simulations, an uniform horizontal resolution of 12 cells encompassing the entire wind farm is finally selected, whereas in OpenFoam the region near each turbine is additionally refined using 24 cells.This resolution ensures that the error in the blockage ratio remains below 1.Note that the transfer function between free-stream and averaged disc-velocity used to control the thrust for the ADs in OpenFoam was established for each grid resolution independently, as the induction changes with it.
All other sensitivities are studied using EllipSys3D with 12 cell resolution.The influence of the residual convergence limit is shown in the top right panel of Fig. 3, demonstrating that the residuals should fall below 10 −4 to achieve convergence.This can differ between solvers or initialisation techniques, however.Here the wind-farm flow is initialised with 1D precursor simulations using the same vertical grid and boundary conditions, giving an appropriate initial guess to the wind-farm solution.
The influence of the domain dimensions on blockage is investigated in the bottom panels of Fig. 3 by either changing domain width and height simultaneously (bottom left) or only height (bottom right).As expected the blockage gain is underpredicted when using smaller domains, as this is equivalent to having neighbouring wind farms close by (each domain face could be interpreted as a mirror plane) that accelerate wake advection, thus reducing the induction/blockage in the first row [1,10].A more detailed discussion of this behaviour follows in Section 3.For the unconfined simulations, without wind-tunnel walls, the 2000 × 100 domain was selected for future analyses.
Overall this sensitivity analysis proves that the employed CFD setups predict the blockage ratio accurately within at least ±0.04 hundredths of the free-stream velocity.This is more than sufficient to avoid attributing prediction differences to model errors.It should be stressed, though, that such small errors can only be achieved by quantifying blockage in terms of ratios, which eliminates the need for an accurate free-stream velocity estimate (see Section 2.1).Furthermore, these setups are the result of extensive modelling trials and experience within CFD-based blockage predictions and require a careful control of the boundary conditions, mesh and domain definitions as well as the AD forcing.By operating with constant thrust coefficient throughout the wind farm, the issue of AD force control is largely avoided; however for studying blockage within more realistic scenarios, the use of a more sophisticated turbine controller might be required.Otherwise the uncertainty from inadequate turbine control is on the same order as the blockage effect itself.

PyWake: Engineering blockage models
A number of analytical blockage models are implemented in the DTU Wind open-source wind-farm simulation tool, PyWake (version 2.5) [19].The vortex models have been presented before [17,18] and were implemented following WIZ [17].
The additional blocking effect from the ground is accounted for in PyWake by mirroring the rotor velocity perturbations in the ground plane, as also done in [17,49].This method (commonly employed in vortex theory) effectively enforces a slip condition at the ground as all wall-normal velocity components cancel out.Note that self-induction is still avoided as blockage is consistently enforced to be zero in the rotor-plane.The wind-farm simulations in PyWake are conducted with the All2AllIterative wind-farm model, and blockage effects are linearly superimposed.The thrust coefficient is constant with wind speed and the inflow is uniform.Wakes are not modelled, as they have no effect on blockage in the first row; turbine reference velocities are extracted at the rotor centre, as the inflow to each rotor is uniform without wakes or shear and TI is not accounted for, as it is not an input to the blockage models.The following sections present the theoretical foundations of the different analytical blockage models tested herein.Even though only the blockage-related velocity perturbations upstream of the rotor-plane are tested within this study, the downstream speedups -constituting the energy redistributing character of blockage [20] -are also modelled in PyWake by mirroring the upstream blockage deficit in the rotor plane and swapping its sign.

Vortex cylinder model
The vortex cylinder (VC) model prescribes the geometry of the wake to be a semi-infinite cylinder of constant tangential vorticity,   , which is related to the free-stream,  ∞ , and wind-turbine thrust coefficient,     = −2 0 (  ) ∞ , (6) with  0 as the axial induction factor in the rotor plane, which is a function of   .Here  0 is computed following the polynomial fit by Madsen et al. [45] to ensure its accurate computation also at high loading (  > 0.89), however it is also possible to use the classic momentum theory relation in PyWake or any other user-specified function for that matter.The velocity field is obtained by integrating the Biot-Savart law [17,57], such that the axial blockage factor in a cylindrical coordinate system with origin at the rotor centre is given by ] , (7) with x = ∕ the downstream distance from the rotor plane normalised by the rotor radius, r = ∕ the normalised radial position and  is defined as and () and () are the complete elliptical integrals of the first and third kind, respectively.This formulation is for a constantly loaded ADs, but more advanced formulations can be used to account for the radial thrust variation over the rotor and wake rotation.

Vortex dipole/Rankine half-body model
The vortex dipole (VD) model corresponds to a far-field approximation of the VC model, as the rotor vorticity is approximated by a point vortex doublet.The induced axial velocity becomes [17] ( x, r) = −  0 2 The Rankine half-body approach proposed by Gribben and Hawkes [58], where the rotor is modelled by a potential flow point source, yields the same flow perturbations as the VD with the addition of an equation for the stagnation line.The latter roughly encloses the wake, thus its computation is not necessary in the context of wind-farm blockage.

Self-similar model
Troldborg and Meyer Forsting [33] derived an engineering model from the VC approach and RANS simulations of different wind turbines.They found that the induction zone shows radial self-similarity and, inspired by the approximate solution to a plane jet, they derived the following fit combining an axial and radial shape function with  = 1.1,  = √ 2,  = 8∕9,  = 0.587 and  = 1.32.Note that the last term in the axial shape function, (), is identical to the solution of the VC model on the rotor centre line (where  = 0) and the first term is identical to the expression for the axial induction in the rotor plane, except that the thrust is multiplied by .This coefficient is introduced, as the VC model consistently underestimates the axial induction with respect to the RANS predictions for rotors with realistic blade-load distributions.In fact when applying a constant load across the rotor (a simplifying assumption of the VC model) the RANS-predicted induction is similarly reduced.

Self-similar 2020 version
As the original formulation of the self-similar model was intended for predicting the blockage for a single turbine in the context of power curve verification, its validity is confined to the region −1 ≤ x ≤ −5 and |r| ≤ 5. Especially when approaching the rotor plane |r| ≤ 0.5, the radial shape becomes inaccurate, leading to excessively strong blockage laterally from the rotor, that can influence results in a wind-farm setting.As a remedy the induction zone half radius r1∕2 ( x) is replaced by the linear formulation r1∕2 ( x) = −0.672x + 0.4897. ( Furthermore, the  factor (multiplying   setting the centreline deficit) is replaced by a function to match the RANS simulations (excluding the constantly-loaded AD) more closely over a wider thrust and normal distance range Here   ( x) is the interpolation factor between the optimal near-(  ) and far-field (  ) defined at x = −1 and x = −6, respectively.Especially at larger thrust (  > 0.6), the original formulation could not capture the divergent behaviour in the near-and far-field induction caused by increasing wake expansion at elevated thrust levels.Hence, one could think of this updated version as trying to capture the effects of wake expansion.The different components are (  ) = −1.381 The different coefficients are entirely empirical and can be recalibrated to follow the behaviour of specific turbines if needed.

Rathmann model
Another recent development is the approximation by Rathmann, first presented in [20].Similar to Troldborg and Meyer Forsting [33], it combines the axial shape function derived from the VC centreline solution (r = 0, Eq. ( 11)) with a radial shape function As in the far field ( x ≪ −1) the VC solution tends towards that of the VD (Eq.( 9)), ( x, r) should tend to ) 3∕2 , showing that ( x, r) depends on the ratio r∕ x only.Inspecting the VC solution in the near field suggested a close relationship between the solid angle under which the opening of the cylinder is seen from the point ( x, r).The solid angle could be approximated by the angular ellipsis spanned by the horizontal angle 2 and the vertical angle 2, which are for symmetry reasons half the viewing angles.They are related to ( x, r) via Finally, following the chosen normalisation, the radial function becomes

Comparison between numerical and experimental blockage assessments
In this section the wind-tunnel measurements of two densely packed wind farms are compared to the RANS simulations performed with EllipSys3D and OpenFoam.The EllipSys3D results are obtained with the lowest permissible TI for the employed turbulent wall model of 4%, whereas OpenFoam used a TI of 0.1% as reported for the windtunnel measurements.In the OpenFoam simulations the boundary layer developed from the inlet towards the wind farm, but remaining below the lower tip of the first-row turbines (as in the wind tunnel), whereas the inflow profile was not developing in the EllipSys3D runs, facilitated by 1D precursor simulations and the rough-wall model.
Fig. 4 compares the relative change in blockage at the central (left column) and edge turbines (right column) of the first row as downstream rows are added.Results are reported for two densely spaced wind farms with streamwise and lateral spacing of  [,] ∕ = [2.67,2.00] (top row) and [4.00, 2.67] (bottom row), respectively.The thrust coefficient is held constant at 0.6 for all turbines.Note that the difference in total blockage between central and edge turbines in absence of downstream rows ( = 0) lies below 0.1 in terms of the free-stream velocity in both, measurements and CFD simulations.Yet, the measured blockage differs slightly between the two edge turbines, due to lateral flow-asymmetry in the tunnel.As there is no wake rotation included in the simulations, the flow is fully symmetric about the vertical plane cutting the central rotor and thus the edge turbines behave identically.Simulations and wind-tunnel measurements predict a smooth, but quick build-up of blockage in the first row as the number of downstream rows increases, showing asymptotic behaviour beyond five rows.In fact, with one and two downstream rows the blockage already reaches around 60% and 80% of its asymptotic value, respectively.The blockage measured at the central turbine with  = 2 in the dense layout (top left) seems to be slightly too large with respect to the other results.At the edge turbines the build-up of blockage is lower than at the central turbine, due to the lower number of close turbine neighbours.In the dense configuration at  = 10 the difference between central and edge turbines is about 0.7, while for the other layout it is 0.3.These observations apply to both measurements and simulations and demonstrate that applying a constant blockage loss factor to the entire row, independent of turbine location, incurs an error of the same order as the blockage itself.
Generally, the CFD results are presenting the same trends and magnitude as the measurements, despite making little attempt to match the inflow conditions or setup, except for the normalised turbine spacing (farm density), distance to walls and thrust coefficient.For both layouts the difference between measurements and OpenFoam (the RANS simulations with the greatest difference to the measurements) at  = 10 is about 0.4 at the central turbine; at the edge turbines it is about 0.3, ignoring the divergent measurements for the less dense layout.The root-mean-square error (RMSE) lies between 0.2-0.4.OpenFoam and EllipSys3D predictions differ by at most 0.1 despite their very different numerical setups (RMSE range 0.0-0.1).This difference, as the one observed between measurements and simulations, is most likely linked to differences in the actual thrust force imposed on the flow.The reader is reminded that in EllipSys3D the thrust force varies over the disc according to the local velocity and follows the blade load distribution of the DTU10MW turbine, whereas in OpenFoam the forces are constant.That a single constantly-loaded disc results in lower blockage was shown before [20,33].The consistently deeper blockage registered in the measurements could equally stem from differences in the effective thrust coefficient throughout the wind farm and/or load distribution (the thrust was not monitored for the turbines directly during the measurements as they operate at nearly constant thrust coefficient regardless of wind speed).Equally, the forcing from the towers and nacelles, not accounted for in the simulations, might not be negligible.For full-scale turbines those elements do not impact the steady turbine loads [59] and thus neither wake nor blockage profiles; yet, for model turbines they are relatively large with respect to the rotor area and potentially significant blockage sources.To test this hypothesis the towers were modelled using body forces in OpenFoam, with a drag force imposed on the flow following the drag coefficient of a cylinder (see Section 2.3.2 for details).As expected, the blockage is more pronounced and approaches the measured results, indicating that the thrust force exerted in the wind-tunnel measurements was probably larger than expected.It does not prove, however, that the towers are necessarily causing the difference since any increase in thrust in the simulations would lead to similar behaviour.
A common question arising in connection with miniature wind-farm investigations in wind-tunnels is how representative and transferable their conclusions are with respect to real wind farms.Can wind-tunnel measurements predict blockage accurately, despite the confinement from the tunnel walls?Here the effect of confinement is demonstrated by presenting unconfined EllipSys3D simulations, where the domain cross-section spans 2000 × 100 in the horizontal and vertical, respectively.The computational mesh remained unchanged in the wind farm vicinity (only the outer grid cells got stretched) to avert resolution related changes.Most notably, there is no asymptotic blockage behaviour without confinement within the number of rows investigated here, as the blockage keeps growing, although at a diminishing rate.In fact, at the maximum number of rows investigated ( = 15), the blockage is between 0.8-0.9greater than in the wind-tunnel case.Note that this is not related to the normalisation, as blockage for a single row,  0 , is solely 0.2 greater in the unconfined case.Physically, the lower blockage observed for the laterally confined wind farm can be explained by resorting to a vortex representation of the wind tunnel-wind farm configuration.As already previously discussed in Section 2.3.3 with regard to the influence of domain size on blockage, the lateral walls act as mirror planes, such that the single wind farm in the wind tunnel could effectively be seen as an infinite row of laterally aligned wind farms.Conceptually, this is similar to the previously studied variation in power and blockage in laterally-aligned turbine rows [10,11,60,61], such that their explanation for a reduction in lateral induction/blockage can be transferred to the wind farm problem.They identified complex interactions between wakes as cause, manifesting themselves through wake straightening in-between turbines and an increase in the wake advection speed.A variation in the latter was more recently also found to influence the rotor induction and power production in complex terrain [1].As for the laterally-aligned rows, the wind-farm wake is straightened by the presence of the walls in the wind tunnel and the wake advection is similarly accelerated.Both phenomena reduce blockage, as they both reduce the density of wake vorticity downstream.The non-linearity of this phenomenon was confirmed by PyWake computations of the wind-tunnel configuration, where the side walls were acting as mirror planes, such that a quasi-infinite row of laterally-aligned wind farms had to be modelled, as discussed above.All blockage effects were linearly superimposed.In fact the trend was opposite to the one observed for the CFD predictions and wind-tunnel measurements, showing increasing blockage.The wind tunnel thereby gives rise to some non-linear interactions that, as will be shown in the following section, are not necessarily found in real world scenarios.
Overall the agreement between the different blockage predictions is remarkable considering the very different approaches and boundary conditions.Just by using the same normalised quantities -geometric definitions and thrust coefficient -the normalised change in the wind speed can be matched surprisingly well.

Effect of TI on farm blockage
The previous section clearly established that RANS simulations and wind-tunnel measurements predict wind-farm blockage consistently (in-line with comparisons between RANS and full-scale measurements [11,15,22]); yet, it also demonstrated that wind-tunnel confinement reduces blockage, whilst also complicating its prediction.However, for industrial applications, the accurate prediction of blockage in an unconfined setting counts.Therefore this section seeks to establish the validity region of existing analytical blockage models, presented in Section 2.4, with EllipSys3D RANS simulations as reference.
The commonly overlooked influence of TI on wind-farm blockage is first discussed.Greater TI leads to faster wake recovery and mixing.As wake and blockage are intrinsically linked, an influence on global blockage is to be expected.The TI range investigated (from 4% to 12% at hub-height) is inside the validity region of the turbulence and wall model employed in the EllipSys3D RANS setup.The TI variation manifests itself within the RANS formulation through changes in the turbulent eddy viscosity (thereby impacting wake recovery) and wind shear, as TI is set through a modification of the roughness height in the assumed log-law profile: The greater TI, the greater are roughness and shear.Note that temperature effects are not included herein and that this particular relationship between TI and roughness only holds within the surface layer (roughly the lower 10% of the ABL) with neutral stratification.The simulations were conducted in a large numerical domain (2000 × 100 cross-section) to avoid any influence from the domain boundaries.The densest layout,  [,] ∕ = [2.67,2.00], from the wind-tunnel investigation is simulated with the above rated thrust coefficient of 0.6 and the below rated level of 0.89, which is expected to give rise to enhanced non-linear interactions that challenge the validity of the linear superposition of blockage effects in PyWake.To be able to judge its validity in real-world applications, an additional layout with a more reasonable spacing of  [,] ∕ = [5.00,5.00] is also evaluated.
In Fig. 5 the effect of TI variations on blockage is shown with respect to the two layouts and thrust coefficients.Here the evolution of total blockage, not gain, at the central and edge turbines of the first row are shown as downstream turbine rows are added.Different from before, here blockage is quantified with respect to the undisturbed inflow wind speed,  ∞ , to avoid errors from slight differences in the  0 normalisation (see Eq. ( 3)) performed in calculating the blockage gain, as this obscures the changes introduced by TI variations.For the corresponding blockage gains refer to Fig. 8. Computing the total blockage here is only possible, as the EllipSys3D setup avoids evolution of the inflow profile, i.e.  ∞ is constant at each height level over the entire numerical domain.The variations can be compared directly and attributed to TI variations, as only a single blockage prediction method is used here.The induction predicted by momentum theory,  0 , is subtracted to visualise the evolution and magnitude of wind-farm blockage more clearly and highlights that the rotor induction differs with TI and   even without downstream turbines.Whilst the actual value of ( −  0 ) is not of relevance in the context of this study -here the focus lies on the blockage gain in wind farms -it does indicate that models relying on momentum theory for predicting induction (like engineering wake models or BEM) tend to expect higher values.
In general  0 , the blockage in the first row without downstream turbines, seems to depend on TI and to a lesser extend on the position along the row (centre vs. edge turbine).Yet variation of  0 along the row is more pronounced at lower TI, reaching maximally 0.26 in the dense farm with   = 0.89.Whilst  0 strongly differs between the two thrust levels, the blockage build-up is actually very similar for the less dense farm.Whereas the build-up behaviour is also similar for the high thrust, high density case, it is distinctly different at   = 0.6, as TI leads to little blockage variation.Note that this behaviour cannot be explained by variations in thrust coefficient, shown in Fig. 7, as the turbines were all controlled in the same manner using the disc-averaged wind speed to compute the thrust force.
Comparing the total blockage (free-stream velocity normalised deficit) between the two TI levels in Fig. 6 for the dense layout at   = 0.89, noticeably higher TI leads to higher upstream blockage.The contours of TI= 4% are superimposed on those for TI= 12% to highlight the differences.The red contour lines are furthermore visualising the wind-farm wake edge, here set to 3.0.Wake recovery is quicker at higher TI, as expected, but also the expansion of the wind-farm wake, which changes the upstream flowfield, causing higher blockage.Nevertheless, the total blockage in the rotor plane is still lower at greater TI (top right panel in Fig. 5), though, as it does not increase as quickly approaching the rotor (∕ > −0.5, not shown).The wake edge is also more diffuse, leading to marked changes in the flow acceleration outside the wind-farm wake.The flow for the single row ( = 0) underlines the change in flow expansion with TI.Outside the front row along ∕ = 0 (black vertical dashed line) indeed either a speed-up (TI= 4%) or deficit is registered (TI= 12%), as the contour line where  = 0 moves from up-to downstream of the rotor plane.

Comparison of analytical methods
The non-linear behaviour due to TI registered in the CFD simulations cannot be reproduced by the linear formulations underlying most engineering AEP simulators (like PyWake); Yet, their blockage predictions might be sufficiently accurate nevertheless.The CFD results are subsequently compared to the predictions by the fast, analytical blockage models presented in Section 2.4.Note that TI is not an input to those models.Results are presented as before for farm layouts with different turbine densities, thrust coefficients and for the central and edge turbines, respectively.Fig. 8 presents the comparison without active ground model in PyWake, whereas in Fig. 9 it is active.The TI-dependant blockage variation observed in the CFD results is now represented by shaded regions.It is rather obvious from comparing the analytical results with and without ground model, that the ground effect cannot be ignored in blockage modelling.That this conclusion is easily drawn even for a wind farm with a relatively large hub height of 1.33, emphasises the need for using a ground model in real-world blockage predictions, where hub-heights seldom exceed 1.That all vortex cylinder derived model predictions (VC [2.5], VD/RHB [2.6] and Rathmann [2.9]) collapse was to be expected, as their velocity fields only differ in the near-rotor field.
The self-similar blockage models [2.7, 2.8] generally predict larger blockage gain: While inheriting the centreline deficit shape function from the VC type models, they boost the baseline deficit by scaling the thrust coefficient/induction factor.This was identified to be necessary to bring the blockage in-line with RANS predictions with realistic blade loading [33].In the 2020 version of the self-similar model [2.8] the constant   scaling factor of the original model was replaced by a function to improve its agreement with RANS predictions, especially at elevated thrust coefficients.The modifications could thus be thought of as an attempt to capture the impact from wake expansion.As the updates manifest themselves mostly in the near-rotor region, it is not surprising to find the largest differences with respect to the original self-similar model in the dense wind farm case.
The analytical predictions are nearly all falling inside the RANS TIdependant region for the less dense layout (bottom row) -remarkable considering the magnitude -whereas in the denser layout with elevated thrust, there is a tendency for PyWake to overpredict blockage.This demonstrates that wind-farm blockage can be regarded as a linear superposition of single-turbine blockage deficits for moderately dense wind farms.Only once turbines are located within near-wake distance to each other and operate at elevated thrust coefficients does this assumption start to become invalid.Turbines then no longer act in isolation as their pressure fields start to interact, lowering blockage deficits below those anticipated by linear superposition of isolated turbine blockage deficits.The self-similar models especially overpredict blockage by more than 1.0 at  = 15 and   = 0.89.This figure drops to 0.5 for the VC-type models as they generally predict lower blockage.However, for industrial applications, where turbines are usually spaced at least 5 apart, analytical models in combination with linear superposition yield sufficiently accurate results.Furthermore, with respect to the uncertainties in estimating TI for real wind-farm projects and CFD modelling deficiencies, the relatively limited variation in blockage with TI does not warrant its inclusion within analytical models.Whilst the self-similar models predict larger blockage than the VC-based group, they also remain within the TI-dependent variation predicted by CFD.
A detailed discussion of the differences in total blockage between analytical and CFD predictions is omitted, as such comparisons have been part of several previous studies.Overall they never exceed 0.2 even 1 upstream of the first turbine row and grow to maximally 0.8 at 0.5.This agrees for instance with the findings by Branlard and Meyer Forsting [17] for a 5 × 5 wind farm, that compared upstream blockage predicted by RANS-AD and VC computations in uniform inflow.

Conclusion
The assessment of wind-farm blockage has received considerable attention in the past few years in light of the systematic overestimation of the AEP committed by many wind analysts unaware of the fact that wind turbines not only interact with each other downwind (by means of wake interactions) but also upwind (by means of flow blockage).Farm blockage suddenly became an urgent matter to assess and a variety of methods have been developed for this task.In the present work windfarm blockage has been investigated by means of analytical models, numerical simulations and wind-tunnel experiments covering a wide range of setups as well as model approximations.The ambition of this study was to quantify the uncertainty between the various methods and to provide a common framework to analyse farm blockage.The novelty of this paper lies in comparing very different blockage evaluation methods, providing a clear definition and method for quantifying blockage as well as evaluating whether it exhibits a TI dependency.
The first problem lies in the definition of blockage itself and on the methodology to quantify it: the limited magnitude of the blockage loss implies a tangible effect of systematic errors and the latter can be of the same order of magnitude as the former.The best way to limit the influence of systematic errors is to normalise velocity data measured upwind of a farm with data taken in the same location without any downstream turbines.This reduces the risk that calibration errors (numerical or experimental) propagate to the blockage quantification.While some research groups have focused on the entire upwind induction zone, here the blockage is quantified as the ratio of the upwind velocity of the first turbine (with rows downwind) divided by the same quantity without rows downwind (thereby considering a single isolated row as reference).While in principle the denominator should be coincident with the free-stream velocity (in a case without topography or roughness changes as typical of offshore conditions), the method to impose the thrust force (or the way to measure it) might affect the results.5) compared to PyWake predictions using a variety of analytical blockage models without ground model.Blue symbols refer to the central turbine while green symbols to the edge turbines.The comparison of several numerical setups was initially done against wind-tunnel data, by keeping only the geometrical parameters constant (i.e., the layout, the hub height, etc.) with reasonable agreement within 0.4% of the free-stream velocity.The best agreement with the wind-tunnel data was observed from RANS simulations with the inclusion of the tower, highlighting once again the key role of thrust in the blockage assessment.Interestingly, simulations performed with the same farm layout and unconfined conditions showed higher blockage, associated to a limited ability of the upwind flow to deflect laterally in the wind-tunnel experiments compared to the free atmosphere.
The effect of turbulence intensity was also investigated by performing unconfined simulations with TI ranging from 4% to 12%.While the absolute blockage (namely the upwind velocity reduction for the first turbine and numerator of the blockage ratio previously defined) decreased when TI increased, the blockage ratio actually increased with TI, suggesting that higher blockage levels have to be expected with higher turbulence environment in light of the faster wake recovery.
The comparison of many analytical blockage models against RANS simulations for different layouts and thrust coefficients (many of these models are developed under the assumption that the turbines provide small changes in the flow field with weak departure from linear behaviour) showed that the ground effect needs to be accounted for in engineering blockage modelling, as otherwise blockage is underestimated by up to 1%.Once a ground model is used, the analytical estimates are all within the turbulence intensity dependant RANS predictions for realistic turbine spacing.In fact, with respect to the uncertainties associated with estimating TI for real wind-farm projects and CFD modelling deficiencies, the relatively limited variation in blockage with TI does not warrant its inclusion within analytical models.Similarly the uncertainty in a turbine's thrust coefficient is likely to lead to greater blockage uncertainty than the one associated from picking a particular analytical blockage model.Therefore it is recommended to simply use the fastest models available, which are the self-similar ones.Here the 2020 version is preferred, as it also performs well at elevated thrust levels (  > 0.8) and has better near-rotor behaviour.This model provides an upper blockage estimate, so if a lower bound is to be determined, it is recommended to use the Rathmann model, as it is a fast and accurate approximation of the vortex cylinder model, which was previously shown to agree well with RANS predictions.
We conclude that the estimation of farm blockage is feasible once a suitable definition of blockage is used that is based on velocity ratios: Our definition requires to conduct two simulations, one with rows behind and the other without, keeping the same numerical setup (and, unfortunately, computational cost) in order to limit systematic errors in the analysis.Furthermore, farm blockage is solely driven by the individual turbines' thrust coefficient in the absence of atmospheric interactions and thus single turbine blockage can be linearly superimposed to compute it at wind-farm level.Finally, the use of analytical models in blockage assessment is highly recommended in light of their low computational cost and accuracy.

Fig. 1 .
Fig. 1.Schematic figure of contributions to blockage: (a) induction (with non-expanding cylindrical wake), (b) induction and contribution from wake expansion, (c) additional blockage from downstream turbine, and (d) full wind-farm blockage from all surrounding wind turbines and the growth of an internal boundary layer over the wind farm.

Fig. 2 .
Fig. 2. Schematic top-view of the wind-tunnel measurement setup with   indicating the wind-tunnel width.The layout is shown for uneven  and  is pointing outwards.

Fig. 3 .
Fig. 3.Blockage gain sensitivity at the central and edge turbines in the first row and 15 downstream rows with respect to cell size in the refined region (top left), convergence limit (top right), domain cross-sectional dimensions (bottom left) and domain height (bottom right).The results on the upper panel are obtained with the wind-tunnel-like numerical domain, a thrust coefficient of   = 0.89 and a dense layout with   = 2.67 and   = 2.00.

Fig. 6 .
Fig. 6.Contours of streamwise velocity component at hub height normalised by inflow wind speed for a dense wind-farm layout,  [,] ∕ = [2.67,2.00], and   = 0.89 predicted by RANS.Left for single row and right for 16 rows; top for TI of 4% and bottom 12%.Contours are overlaid for comparison, dashed for TI= 4%.

Fig. 8 .
Fig.8.Blockage gain at the central (left column) and edge turbines (right column) of the first row as downstream rows are added.Predictions by EllipSys3D RANS-AD simulations with turbulence intensity variations (see Fig.5) compared to PyWake predictions using a variety of analytical blockage models without ground model.Blue symbols refer to the central turbine while green symbols to the edge turbines.