Sounding ground elevation never less than 1000hPa
-
@vicb Ah, my mistake, I thought you wrote the builtin sounding after writing the sounding plugin.
I think the sounding plugin shows the same behaviour though. If I find a high pressure area on the sea, the sounding plugin does not start at 0m. But if I find a low pressure area less than 1000hPa on the sea, the sounding plugin does start at 0m. For a mountainous location, the sounding plugin starts at the model elevation (as reported by the builtin sounding).
So it appears both the builtin sounding and sounding plugin have the same behaviour.
-
Just a screenshot to help demonstrate the issue. The location is on the sea with pressure 1023hPa and humidity close to 100%. The sounding should start at 1023hPa but it starts at 1000hPa. The LCL should be close to 0m (sea fog) but it is 204m.
-
@vicb I don't know Redux and can't follow through the code but I see something about
pMax: 1000
insrc/reducers/skewt.ts
in the code for the plugin. Is this the right area of code? Do you think you might get a chance to look at this in the plugin? And/or do you know who to mention from the Windy team who might be able to make the corresponding change in the built-in sounding?The sounding is amazingly useful and it's great that this is available for us pilots so easily in Windy.
-
@jancellor I'm reworking the plugin currently. Expect an updated version in a few days.
yes this is the place -
@vicb fantastic!
-
I have been looking into this while updating my plugin and it's actually not trivial.
Weather models output is a list of parameters at different pressure levels. For example
temp-1000h
,temp-900h
, ...,temp-100h
. The only value below 1000hPa istemp-surface
.I'm sure if
temp-surface
can be used for the soundings. Soundings are about the air mass and I think thesurface
level is well the surface and not the air above the surface. Also if I remember correctly there were some discussions to remove that level.Maybe @Suty can help connect with someone at windy that would be more knowledgeable than me on that topic.
For now I'll sticks with 1000hPa for the sounding plugin and I'll update if we get more info.
-
@vicb thanks for investigating.
I hope the
temp-surface
data can be used. If not, the green thermal line and cloud prediction would have to be removed from the plugin completely, right? Also I think the built-in sounding would have to remove the LCL and CCL.You suggest the surface data may be the soil and not the air above the surface, but I don't think this is true. Regardless, if it is valid, is there any data missing or is it still possible to calculate the points on the diagram? The plugin just shows heights; are these heights just calculated from
temp-1000h
,temp-900h
by assuming ISA? Can the model elevation be used for the surface data? (The builtin sounding shows the model elevation, but perhaps the plugin doesn't have access to this?)I've taken some screenshots of 4 other weather websites for how they do soundings:
https://drive.google.com/drive/folders/1176-cdivdmWwW4vaguJmydc5Uir2Cs0HThey include:
- meteoblue (https://www.meteoblue.com/en/weather/aviation/stuve)
- weather.gov (https://www.weather.gov/zse/ModelSounding)
- ECMWF (https://charts.ecmwf.int/products/opencharts_vertical-profile-meteogram)
- Weather Online (https://tinyurl.com/2f35xkae)
The Meteoblue temperature and dew point lines always starts at 1000hPa, and it also shows a horizontal surface pressure line. All the other examples start at the surface pressure, whatever that is for the particular location and time.
-
The plugin just shows heights; are these heights just calculated from temp-1000h, temp-900h
They are calculated using the
gh-1000h
, ... (geopotential height)Regardless, if it is valid, is there any data missing or is it still possible to calculate the points on the diagram?
Yes, it's possible to compute those values and it's called a weather model ;)
Can the model elevation be used for the surface data? (The builtin sounding shows the model elevation, but perhaps the plugin doesn't have access to this?)
The plugin has access to the same data. But again I don't think surface can be used (to be verified)
The Meteoblue temperature and dew point lines always starts at 1000hPa, and it also shows a horizontal surface pressure line. All the other examples start at the surface pressure, whatever that is for the particular location and time.
I think some models provide a
temp-100m
, ... which could be helpful. This is not part of the data provided by windy.Maybe @marekd knows more?
Thanks for the screenshots, the ensemble graph on ECMWF gave me the idea to overlay multiple models on the sounding.
-
V vicb referenced this topic on
-
May I ask @Suty if temp-surface should be used (to correct errors in the Sounding) as the surface airmass for LCL and CCL calculations?
Picking up on this, perhaps it is the place to ask again following as the issue was recently noted again here: https://community.windy.com/topic/37578
@vicb said in Sounding ground elevation never less than 1000hPa:
Maybe @Suty can help connect with someone at windy that would be more knowledgeable than me on that topic.
For now I'll sticks with 1000hPa for the sounding plugin and I'll update if we get more info.
@tomA27 said in Sounding forecast shows incorrect data.:
Whenever the surface pressure is greater than 1000hPa the sounding forecast shows incorrect data.
Please can this be fixed? -
@nrbray @Suty temp-surface and dewpoint-surface are already being used. But they should be applied at the surface level rather than at the 1000hPa level. I.e. like this...
const surfaceT: number = md['temp-surface'][t]; const surfaceTdew: number = md['dewpoint-surface'][t]; const surfaceGh: number = meteogramForecast.data.header.modelElevation; // surface geopotential height is provided in the header rather than the data
rather than the equivalent of this...
const surfaceT: number = md['temp-surface'][t];
const surfaceTdew: number = md['dewpoint-surface'][t];
const surfaceGh: number = = md['gh-1000h'][t];(taken from code I wrote to reproduce the numbers)
I suspect that this would be rather a straightforward fix.
-
Hi @vicb
I would be hugely grateful if you could take a look at and comment on my previous post. This really does seem like quite a simple error with a simple fix. However, it does have consequences for anyone interested in thermal soaring from lowland locations in areas of high pressure. (i.e. most sailplane/hanglider/paraglider pilots most of the time???).
It also has serious consequences for a new plug-in (SoarCalc) which I wish to publish which calculates the RASP soaring parameters. It is natural to show "SoarCalc" alongside the "Sounding forecast" and the data shown overlaps the most simple case being LCL. "SoarCalc" will show this correctly (basically just)...
model elevation + 125 * (surfaceTemp - surfaceDewPoint)
whereas "Sounding forecast" is basically showing
1000hPa elevation + 125 * (surfaceTemp - surfaceDewPoint)
which is simply not correct. So, yes, you should be using the "-surface" level data (which is the same as obtained with getPointForecastData()) in conjunction with the model elevation from the header (gh-surface is always null).
My problem is that people are likely to assume that "Sounding forecast" is correct and "SoarCalc" is incorrect and will therefore junk the new plug-in with little further consideration. I am therefore very hesitant to publish my plug-in.