wmo-im / GRIB2

GRIB2
MIT License
21 stars 9 forks source link

options for encoding min/max wind gust #123

Open tomkralidis opened 2 years ago

tomkralidis commented 2 years ago

Hi @wmo-im/tt-tdcf

We would like to encode the max/min of the potential wind gust. Wind gust max/min is instantaneous and not computed over a time interval but over a spectrum of possibility.

We see a couple of options:

  1. Reuse 4.6 'Percentile forecasts at a horizontal level or in a horizontal layer at a point in time' and setting min/max to 0/100 respectively. This template does not involve a time interval, so the problem of zero length time interval is resolved.
  2. Add new parameters for Wind gust min/max.
  3. other options?

We think using 4.6 can work, but it feels like a long detour to describe the Max/Min as the 0/100 percentile of a distribution. Users then have to do a lot of thinking to finally understand what is really encoded.

cc EC/MSC @archambaultb

sebvi commented 2 years ago

Hi @tomkralidis , this is indeed a very interesting question.

My first reaction is to say that it depends how you manipulate the raw wind speed data to compute your min/max wind gust.

I am not an expert at all but I recall from casual discussions with colleagues that wind gust is a particular regime of wind speed: plain wind has a rather constant wind speed over a given duration while wind gust is more bursts with sharp variation of wind speed in a short duration. I checked how it is defined at ECMWF and we simply encode it as the maximum of wind speed over a time window, so in a sense we encode the "max wind speed over X hours" and we call it wind gust. But this does not fit your use case and I have to admit I am not entirely happy with the way it is done at ECMWF so we could revisit it as well on our side.

The only thing which puzzles me is that you define a minimum and a maximum but you say it is instantaneous. If it is not a maximum/minimum within a period of time, within what is it a min/max? within the grid box? within a column of air?

archambaultb commented 2 years ago

Hi @sebvi

For this product, the maximum/minimum is calculated within a column of air. Depending on the wind shear and turbulence, higher level winds can descent close to surface and cause strong wind gust.

The algorithm computes, at a given time step, the maximum potential wind gust, the mean and the minimum. This is why it is instantaneous.

sebvi commented 2 years ago

Dear @archambaultb ,

thank you for the clarification.

I think we are entering here in one of the gray zone in GRIB2: we don't have at the moment the possibility to describe a processing along the z axis like we do for the time axis.

We can do mean, min, max, accum over a period of time but for the z axis, instead of using the same approach, it seems that the legacy practice is to create a parameter containing the result of the processing along z. All the "total column xxx" parameters follow this principle. Typically, an intensive property will have a mean over a total column while an extensive property will have an accumulation over a total column. I am not aware of a case of min/max over the total column.

I am not much in favor of this approach anyway because we don't want to create a "total column min", a "total column max", a "total column mean", etc. for virtually every property in the tables. I was planning to propose for GRIB3 to allow for processing along the z axis and also horizontal processing for each grid area based on the same mechanism used for time in GRIB2.

Now coming back to your specific use case, I don't really know what is best. I need time to think about it.

sebvi commented 2 years ago

Looking at this again, I have a question: are you computing ensemble mean/min/max?