-
Notifications
You must be signed in to change notification settings - Fork 5
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
Multiple forecast time steps in ECMWF IFS files not supported #41
Comments
Have you tried to inspect the data to actually check if something is missing? I am not super familiar with the notion of "steps" but it looks like it is just referring too 4 different times of day (00:00:00 06:00:00 12:00:00 18:00:00). If you open the file with GRIBDatasets and list the times, then you can see that there is 4 timestamps for each day in January + 2 timestamps in February. ds = GRIBDataset(raw"C:\Users\Kok\Downloads\test\test.grib")
ds["valid_time"][:] Output
Getting the msl for one time stamp also looks fine considering that the unit is Pa
output
|
It appears to me that the file has 2 messages per i.e. the file has steps 0h, 6h, 12h, 18h for every data time (00:00, 12:00). So we have 2 data points starting with 2024-01-01 12:00. One from step 12h of the 00:00 data, and one from step 0h of the 12:00 data.
I'm unclear which one ends up in the GRIBDataset, so only downloading steps 0h and 6h for each data (00:00, 12:00) would make sure only the most recent data point ends up in the GRIB. |
@lupemba "step" means forecasting step. For example, for "time" 2024-01-01T00:00:00, this test.grib file provides 4 forecasting msl fields ("step" 0h, 6h, 12h and 18h) into the future. Theoretically, the msl obtained from GRIBDatasets should be four-dimensional (lon x lat x time x step), or the "valid_time" length should be 64×4=256, but the valid_time length here is 126, which means that some data is overwritten during the reading process of GRIBDatasets (as @benelsen mentioned). |
Hi @LJ-Young, thank you for reporting the issue! This typically falls into a missing feature of GRIBDatasets. Currently, it only considers the That's something that should be extended. I don't have much time lately, but I should be able to work on it beginning of next year. Of course, any help is always welcome :) |
I tried to read a .grib file from ECMWF forecasting products downloaded from https://apps.ecmwf.int/datasets/data/tigge/levtype=sfc/type=fc/. I opened the file with python xarray:
It gave right results and showed the dimension of the mean sea level pressure (msl) is (time, step, latitude, longitude)
However, when I used Julia to read it with GRIBDatasets:
The dimension of msl changed into (lon × lat × valid_time), however the length of "valid_time" did not match with "time" and "step" obtained from xarray.
The ECMWF forcasting file was uploaded as attachment test.zip. I would like to ask how can I deal with this issue with GRIBDatasets?
The text was updated successfully, but these errors were encountered: