Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expression for calculating wind speed at different heights #2118

Open
IoannisSifnaios opened this issue Jul 5, 2024 · 10 comments · May be fixed by #2124
Open

Expression for calculating wind speed at different heights #2118

IoannisSifnaios opened this issue Jul 5, 2024 · 10 comments · May be fixed by #2124
Labels
enhancement GSoC Contributions related to Google Summer of Code.

Comments

@IoannisSifnaios
Copy link
Contributor

IoannisSifnaios commented Jul 5, 2024

Most times, the wind speed provided in weather files is measured at a height of 10 m. However, in many cases it is required to estimate the wind speed at panel height. Which equation should be used in order to do this?

I found this issue (#1814), which mentions an equation from a Sandia report (I couldn't find the report, though... some help from Sandia people? @cwhanse @kandersolar). This is what is mentioned:
Estimate wind speed at module height - use technique developed by menicucci and hall (sand84-2530) */
windmd=ws2*pow(height/9.144,0.2) + 0.0001

And then there is the expression used in wind engineering, described here (for a more official reference, it is also mentioned in the book by Siegfried Heier (2014), Grid Integration of Wind Energy Conversion Systems (publisher: Wiley))

I am willing to take up the task of making the PR, etc., but first, I would like to know your thoughts on which expression should be added (maybe both?) or if there is some other equation you think is more relevant.

@kandersolar
Copy link
Member

Here is a public copy of SAND 84-2530: https://web.archive.org/web/20230418202422/https://www2.jpl.nasa.gov/adv_tech/photovol/2016CTR/SNL%20-%20Est%20Wind%20Speed%20vs%20Height_1985.pdf

@cwhanse
Copy link
Member

cwhanse commented Jul 5, 2024

A word of caution here: some temperature model coefficients (e.g. those for the SAPM) implicitly account for the difference between anemometer and PV module height above ground. They do so by regressing measured module temperature to wind speed at 10m.

The proposed function is worth adding but I would be cautious about suggesting it needs to be in a PV modeling pipeline.

@AdamRJensen
Copy link
Member

A word of caution here: some temperature model coefficients (e.g. those for the SAPM) implicitly account for the difference between anemometer and PV module height above ground. They do so by regressing measured module temperature to wind speed at 10m.

Great insight @cwhanse. Let's add this info in a warning admonition for the proposed wind speed function.

Probably worth checking out if there is similar functionality in metpy.

@IoannisSifnaios
Copy link
Contributor Author

IoannisSifnaios commented Jul 5, 2024

Good point, @cwhanse! From a quick search, I can see that only the SAPM models and the generic_linear require the wind speed at 10 m as an input. The rest of the temperature models either require wind speed at module height or don't specify (e.g., Fuentes), but I would still imagine it requires at module height...

@kandersolar kandersolar added enhancement GSoC Contributions related to Google Summer of Code. labels Jul 5, 2024
@mikofski
Copy link
Member

mikofski commented Jul 5, 2024

I agree with @cwhanse we we need to tread cautiously because in my experience there is already a lot of misunderstanding about correlation coefficients and their relation to wind speed height measurements.

  1. I emphasize what Cliff says: correlation coefficients like Uc = 25 W/m2/K and Uv = 1.2 W/m2/K/(m/s) require and depend on wind speed measured at 10-m. So if wind speeds were measured at array height, eg 2-m, a function such as the one proposed could be helpful in estimating wind speed at 10-m
  2. Ideally I would prefer to see a discussion added to the documentation explaining why free stream velocity measurements are preferred and used in temperature correlations, before adding new functions
  3. I have most frequently seen a power law but there is often debate over what exponent to use. Eg: Uw(10m) = Uw(2m)*(10m/2m)^n where n is the exponent. Other methods may be more accurate but I’m not familiar with them. I also don’t have a reference for this or know the history why it’s so prevalent

@adriesse
Copy link
Member

adriesse commented Jul 5, 2024

This is my view on the subject:

B. Wind speed

Each model has a coefficient that multiplies wind speed. In practice, wind speed increases with height above the ground in a non-linear manner, therefore the model coefficients are valid for a specific combination of module installation height and wind speed measurement height. The Faiman model coefficients and NOCT values are typically determined using wind speed measured near module height, but the modules are not necessarily near ground level. SAPM and PVsyst coefficients are specified for use with wind speed data at the standard 10 m height, but that information is only useful if the module height corresponding to those coefficients is also clearly specified.

To accommodate a different installation or measurement height, either the wind speed data or the wind speed coefficient can be adjusted. The basis for such an adjustment is often either the log law or the power law which describe the wind speed profile as a function of height using an empirical parameter related to the surface roughness; however, these profiles are not applicable close to the ground or close to the level of the objects that contribute to the roughness. [12] For the adjustment from 10 m to 2 m, a nominal height for a ground-mounted array, some reduction ratios found in the literature are: 0.51 [7], 0.56 [13], 0.67 [14] and 0.725 [15]. This range gives an indication of the level of uncertainty associated with such adjustments.

The SAM NOCT model uses a predetermined factor of 0.51 to reduce 10 m wind speed data to ground-mounted, module-level wind speed, but unfortunately the origin of this value is undocumented. The need for adjustments with other models to or from different heights should be evaluated by the user of the models on a case by case basis taking into consideration the both the source of the empirical parameters and the source of the wind speed data.

@mikofski
Copy link
Member

mikofski commented Jul 6, 2024

Thanks Anton! Can we get those references?

@adriesse
Copy link
Member

adriesse commented Jul 6, 2024

Here is a link to my temperature model equivalence paper that contains the above excerpt:
https://www.osti.gov/biblio/2003640

@mikofski
Copy link
Member

mikofski commented Jul 6, 2024

Thanks Anton. So I think there is a case for pvlib to include an expression to account for wind speed height measurement, but IMO. I still think the documentation takes precedence so that folks don’t misuse it. In particular I’d like to see a table of weather resources that shows the wind speed height. Eg ground campaigns most often measure at about 3-m while satellite is usually at 10-m. Also a corresponding table of temperature models. Finally some gallery examples that show when and how an adjustment should be made. My personal preference is to adjust the wind coefficient rather than the wind speed measurements which is associative (ie: Uv’ * Uw = Uv * adj * Uw = Uv * Uw’ in which prime indicates adjustment. Also a discussion of uncertainty would be useful.

@adriesse
Copy link
Member

adriesse commented Jul 8, 2024

I think this is another area where the PV modellers are just muddling along. Someone needs to access a large amount of data and do some thorough analysis in order to develop some well-founded correlations that are useful for PV systems!

@IoannisSifnaios IoannisSifnaios linked a pull request Jul 10, 2024 that will close this issue
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement GSoC Contributions related to Google Summer of Code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants