Dear Jason,
Thank you very much for the clarification. This was very helpful, and I have now checked the implementation against your recommendation.
I implemented these 5 profiles in TurbSim using WindProfileType = “USR”, rather than fitting a power-law profile. The five CERRA levels are supplied as the environmental profile, and TurbSim performs the interpolation between them. I also checked the generated TurbSim .sum files, which explicitly report: “Linear interpolation of user-defined profile”. Later verified this independently for both the IEA 15 MW and IEA 22 MW reference turbines. The wind speeds and height-dependent directions reported by TurbSim reproduce the supplied profiles correctly, including the hub-relative directional transformation.
An interesting issue arose because the computational wind grids do not always coincide with the vertical range of the environmental dataset. I therefore make an explicit distinction between the environmental validity domain (100–300 m) and the additional vertical extent required purely by the numerical model. Within 100–300 m, the profile is based on the actual CERRA values and TurbSim’s linear interpolation between the available levels. Outside this range I do not extrapolate the CERRA profile using a fitted shear law. Instead, where the TurbSim grid requires values below 100 m or above 300 m, I currently use constant nearest-boundary continuation:
U(z<100)=U(100), U(z>300)=U(300), >
with the corresponding boundary wind direction treated in the same way. I classify these values explicitly as model-imposed computational closure, rather than environmental data. This became particularly relevant when comparing the two reference turbines. For the IEA 15 MW case, the upper computational grid remains below 300 m (approximately 295 m), so the upper part of the grid remains within the CERRA-supported vertical domain. For the IEA 22 MW case, however, the required grid extends to approximately 335 m, meaning that the 300-335 m portion necessarily lies outside the available CERRA profile.
What I find scientifically interesting is that retaining the user-defined profile also preserves vertical directional variation (veer). A conventional single power-law representation would primarily reproduce the variation of wind-speed magnitude with height and could discard this directional structure. Using the USR profile therefore allows the original multi-height environmental information to be carried much more directly into the turbulent wind-field generation. I am treating the turbulence itself separately: the mean speed/direction profile is site-derived from CERRA, whereas the turbulent fluctuations are generated using the selected TurbSim/IEC turbulence model. I therefore distinguish in the methodology between environmental inputs, interpolation, computational closure, and turbulence-model assumptions rather than describing the complete .bts field as directly derived from CERRA.The resulting workflow is therefore:
CERRA multi-height wind data → USR profile → linear vertical interpolation → TurbSim turbulence generation → OpenFAST wind field
The remaining methodological question I am considering is the treatment outside the 100–300 m environmental validity range. Constant continuation is transparent and avoids inventing a site-specific shear trend unsupported by the available data, but it is nevertheless a modelling assumption. I would be very interested in your view on whether you consider this a reasonable computational closure for the limited portions of the TurbSim grid outside the available profile, or whether you would recommend another treatment. Thank you again. Your clarification on the USR option was very useful for confirming the methodology.