Sounding ground elevation never less than 1000hPa
-
When showing the forecast sounding for a mountain region, the vertical axis begins at a pressure less than 1000hPa, corresponding to whatever the ground level pressure is. For a low-lying area, the vertical axis beings at 1000hPa, never higher, which is wrong. It appears that the calculated LCL and CCL are also wrong because of this.
For example, get the sounding for Mont Blanc. The vertical axis starts at something like 750hPa / 2300m (the model elevation is 2300m even though Mont Blanc is 4809m -- this is not the problem). To get the correct LCL, position the cursor so that the dashed green thermal line and the grey line of constant mixing ratio intersect the red environmental lapse rate line and blue dew point line respectively. The height of the cursor is displayed on the vertical axis correctly and corresponds to the LCL shown below the graph.
If you do the same for Monaco on the sea, the vertical axis starts at 1000hPa. The lowest altitude that can be displayed on the sounding is typically a few hundred metres (depends on the surface pressure). So even if there is fog/cloud on the ground/sea (dew point temperature and environment temperature is the same), the displayed LCL is a few hundred metres, instead of 0 (sea level). This is wrong.
I imagine the fix is very simple. The vertical axis should be allowed to start above 1000hPa as well as below. It seems to be clamped to 1000hPa for some reason.
@vicb am I right to mention you on this issue? Hope you can help or redirect. Sorry if that was inappropriate.
-
@jancellor I work on the "better sounding" plugin. But I know some parts of the builtin soundings are based on my code.
Does the plugin show the same error?
-
@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.
-
-
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.