The windIO inputs and their software-specific mappings are listed below. Matching literature-model names do not imply identical solver, rotor-averaging, superposition, turbulence, induction, or yaw treatments.
Uses sum-of-squares freestream deficit superposition (sosfs), the TurbineGrid, 3 x 3 square rotor grid with power cubic-mean, thrust cubic-mean averaging, and Crespo-Hernandez wake-added turbulence. Secondary steering, yaw-added recovery, transverse velocities, and active wake mixing are disabled.
The gauss velocity and deflection models each receive their own copy of the four input coefficients.
FOXES
velocity: Bastankhah2016alpha = 0.58, beta = 0.077, kTI = 0.3837, kb = 0.003678, induction = Betz, k = from kTI turbine model
Uses Betz induction, quadratic wind-speed superposition with a local (ws_quadratic) deficit reference, grid16, 4 x 4 cell centers rotor sampling, rotor-point partial wakes, and the rotor_wd wake frame. No separate wake-added turbulence model is configured.
The ka and kb inputs configure a separate kTI turbine model; the wake model receives k=None so expansion is supplied by that turbine model.
Uses FOXES' Bastankhah2016Deflection model with Betz induction. The duplicated windIO deflection parameters are not read; the velocity-block parameters govern the calculation.
Caveat: This is a coupled comparison: yaw-dependent thrust, velocity deficit, deflection, rotor averaging, and wake superposition can all contribute to differences. It does not isolate the deflection equation.
Layout & sample locations
Turbine positions (bold, rotated by yaw angle where applicable) and the cross-section sample planes (dashed) used by the plots below.
Streamwise velocity
Cross-sections
Horizontal contour
X-Y plane at hub height.
Vertical contour
X-Z plane at Y=0 (lateral centerline).
Cross-section contour
Y-Z plane at X=5D.
Effect of aligning the configuration
Streamwise RMSE for each software pair in both configurations of this case. Thedefault andaligned views differ only in the solver settings listed at the top of the page.
Software pair
Default RMSE (m/s)
Aligned RMSE (m/s)
FLORIS vs FOXES
0.6601
0.6441
Comparison metrics
Pairwise error between software for each plotted quantity. Click a column to sort.
Software pair
Target
RMSE (m/s)
Max abs error (m/s)
Mean abs error (m/s)
NRMSE
How to interpret this comparison
Along the hub-height streamwise line FLORIS vs FOXES differ by 0.66 m/s RMSE (7.9% NRMSE). For scale, the free-stream wind speed is 9.8 m/s.
For FLORIS vs FOXES, cross-section RMSE is 1.01 m/s at 1D downstream, 0.27 m/s at 5D downstream, 0.073 m/s at 10D downstream. NRMSE is normalized by the range of the first-listed software's own values in that plot, so it can rise with distance even as RMSE falls, because the wake profile becomes shallower.
Compared with the same scenario without yaw (Bastankhah 2016), the largest streamwise RMSE between any pair goes from 0.77 to 0.66 m/s. A similar value means the separation comes mostly from the underlying velocity model; a clearly larger value points to the deflection and yaw-thrust treatment.
FLORIS and FOXES already differ with a single turbine, so the formulation of one wake (for example how the ka and kb coefficients set the expansion) matters. FLORIS also adds wake turbulence, which FOXES does not configure, and that can further change the expansion of downstream wakes.
A value of 0.0000 means the two packages agree at the precision shown in the table.
These metrics measure how consistently the packages implement the same inputs. They are not errors against measurements, so close agreement does not show that a wake model is accurate, and differences should be read together with the implementation notes above.