Negative wind strength values
-
Do you have some insight here? Does Windy actually only use the four neighbors of a location?
I'm wondering what mathematical interpolation approach is used. A linear interpolation (bounded by definition) would be overdetermined by four points. A higher-order polynomial approach could generate over-/under-shoots (e.g., negative values)
-
@Ftjwinfs said in Negative wind strength values:
A higher-order polynomial approach could generate over-/under-shoots (e.g., negative values)
Sorry my math knowledge is not good enough to understand what you mean.
I just know that the interpolation process to get a continuous weather map from discrete gridded values is based on bilinear interpolation:
https://en.m.wikipedia.org/wiki/Bilinear_interpolation
I assume this is the method used by Windy. This process is available in computer languages such as python for example.BTW it is used in numerical picture programs such as Photoshop to upgrade the resolution of a poor resolution image at 75dpi to a higher resolution of 300dpi for professional printing. But you don’t get a sharper picture, the added pixels are just “blended” from the original ones.
Same with the interpolation of weather grid data, the resulting data between the grid points are “blended” giving the resulting maps a smoothed look.
Again I can’t understand that positive values of wind speed at grid points can lead to negative values between the grid points.
-
@idefix37
Good point with bilinear interpolation. But I'm not sure if Windy actually uses this approach. There are many interpolation schemes available.Another scheme is for example bicubic interpolation: https://en.wikipedia.org/wiki/Bicubic_interpolation
Regarding a possible source for negative values see the last section of the wiki article on bicubic interpolation. There they talk about the application for computer graphics and "overshoots" that can appear. Essentially that is what I mean: Interpolated values that are outside the range of values, that the interpolation is based upon. -
@Ftjwinfs
Yes, your link is really interesting. So the interpolation is probably done from 16 grid points, not from 4.
In fact, I had heard about the use of bilinear interpolation from a weather professional on a forum. But that wasn't about Windy.
In the Wikipedia article, the 2 images showing the 2 types of interpolation show that the bicubic offers a more realistic and softened picture because the bilinear still shows the pattern of the grid.
And it seems that this type of interpolation can lead to negative values when the 4 nearest grid points are close to 0 but the surrounding values at grid points are much higher. -
@idefix37
Exactly!In CFD the usual approach is to clip the interpolated value to the range of input values used for the interpolation. Since obviously wind velocity is always >=0, doing so would also avoid negative interpolated values.
Still, I do not say that this is THE approach. Its pretty "pragmatic". As said before, there are many, many approaches out there. Kriging to name only one more (very sophisticated) approach.
Whatever happens under the hood of Windy: There is a bug at the moment that leads to negative speeds. And I assume that only here we realize this since it leads to non-plausible (negative) values. If it is an interpolation bug as I assume, this can lead to over-/underestimated values that might appear plausible, but are actually not contained in the raw weather model data. Also, this can happen for any interpolated quantity, not only wind speed.
@Windy-team, what do you think about this?
-
@Ftjwinfs said in Negative wind strength values:
If it is an interpolation bug as I assume, this can lead to over-/underestimated values that might appear plausible, but are actually not contained in the raw weather model data. Also, this can happen for any interpolated quantity, not only wind speed.
If we assume the interpolation is based on the bicubic interpolation, not sure there is general a bug
I refer to the sketches in your Wikipedia link and to show what I mean I’m just using the “cubic” sketch to simplify.
If a parameter is near 0 at the nearest grid points, it can lead to negative values. For temperature it is not an issue, but for wind it is. In this case it should be necessary to keep all negative interpolated values equal to 0.
-
The overshoots are certainly not bugs in a mathematical sense. Mathematically they are to be expected and correct.
But I see the overshoots as "bug" in terms of plausibility of the interpolated wind velocity field. You are right, for temperature this is not necessarily an issue.
The crucial thing is, that it is not a good idea to apply "some" interpolation technique, but the interpolation technique needs to be chosen wisely, reflecting what the impact on the interpolated quantity might be.To summarize what we observed:
- Negative values "within" the forecast region of a weather model
- Negative values at the boundary of the forecast region of a weather model
While I think, that the bespoken overshoots might be ok for e.g. the temperature within the forecast region, I'm afraid that it is difficult to predict what happens along the boundary of the forecast region.
(Still: I do not know what is state-of-the-art for interpolation of weather data and I also do not know, what Windy actually uses at the moment. The bicubic approach only visualises what I suspect as problem here. Probably there are smarter approaches than bicubic.)
-
@cyrilleSP @Ftjwinfs @idefix37
Thank you for reporting this issue, I am not able to describe the actual logic behind this, however, it is already forwarded to colleagues for the fix.Thank you for your patience.
-
@idefix37 I think this is not quite how it works for wind where what is actually interpolated are the u and v values of wind speed (x and y coordinates if you will). Because they are coordinates it is perfectly fine that they become negative.
Then the actual wind speed is computed at the end with TWS = SQRT(uu+vv).
This can obviously never be negative. -
I guess you are right in principle, but this does not change the principal issue.
And yes, what we were actually talking about (at least that's what I meant), is that the magnitude of the wind vector cannot be
-
@cyrilleSP
You say that the U and V velocity components are first interpolated, and then the speed and direction of wind at any location are calculated from the interpolated U/V values. May be you are right. But that does not explain why negative speed may occur at the end. -
I expect, that the weather models do not deliver u-,v-components of the wind vector, but instead deliver the magnitude (i.e. the wind speed) and the direction of the wind.
Interpolating the magnitude then yields the problem of potentially negative wind speeds.
But I think, that the Windy guys have opened a ticket and it makes not much sense to further speculate (although it is an interesting topic).
-
-
Oh, indeed!