Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Change in soil variables from ECMWF Cycle 49r1

Hi there! Is this solution able to manage ECMWF-IFS IC? I'm getting error when managing surface file for dates from 2023, the sd variable comes with different Edition (2) and packingType (grid_ccsds) than other variables. Take a look on the output of grid_ls file.nc:

edition centre typeOfLevel level dataDate stepRange dataType shortName packingType gridType
...
1 ecmf surface 0 20231027 0 an skt grid_simple regular_gg
2 ecmf snowLayer 0 20231027 0 an sd grid_ccsds regular_gg
 
Hi,
It's hard to say anything specific from the information you wrote. Are the data you're talking about pressure level or hybrid level data? Are these files in grib1 or grib2 format? The fix I suggested only supports ECMWF open data in grib2 format. ECMW in the IFS model in the second half of last year changed the coding of soil moisture and temperature fields in grib2. And my fix only works with such data. If you have a sample file from 2023 IFS, attach it.
M.
 
Hi,
It's hard to say anything specific from the information you wrote. Are the data you're talking about pressure level or hybrid level data? Are these files in grib1 or grib2 format? The fix I suggested only supports ECMWF open data in grib2 format. ECMW in the IFS model in the second half of last year changed the coding of soil moisture and temperature fields in grib2. And my fix only works with such data. If you have a sample file from 2023 IFS, attach it.
M.
Hi,

I tried to attach the grb file, but it's too large for the server to handle. Can I send it to you via Google Drive? Let me know your email address.

Best,
Mantovani.
 
Problem solved
The matter is trivially simple. Your files are probably delivered directly from ECMWF. The Institute of Meteorology and Water Management, where I manage the Center for Numerical Weather Forecasts, also receives grib files operationally from ECMWF. Generally, ECMWF is moving to grib2 format and therefore some new fields are only in grib2 format, and older ones in grib1. If the contract states that files are to be delivered in grib1 format, they will be in this format, but other newer ones in grib2 format. Of course, everything is in one file and many programs cannot handle reading such a compiled grib1/grib2 file. See below, this is the content of your file:

od_oper_an_sfc_GF640_2023102712.grb


edition centre typeOfLevel level dataDate stepRange dataType shortName packingType gridType

1 ecmf surface 0 20231027 0 an ci grid_simple regular_gg
1 ecmf surface 0 20231027 0 an sst grid_simple regular_gg
1 ecmf depthBelowLandLayer 0 20231027 0 an swvl1 grid_simple regular_gg
1 ecmf depthBelowLandLayer 7 20231027 0 an swvl2 grid_simple regular_gg
1 ecmf depthBelowLandLayer 28 20231027 0 an swvl3 grid_simple regular_gg
1 ecmf depthBelowLandLayer 100 20231027 0 an swvl4 grid_simple regular_gg
1 ecmf surface 0 20231027 0 an slt grid_simple regular_gg
1 ecmf surface 0 20231027 0 an z grid_simple regular_gg
1 ecmf surface 0 20231027 0 an sp grid_simple regular_gg
1 ecmf depthBelowLandLayer 0 20231027 0 an stl1 grid_simple regular_gg
1 ecmf depthBelowLandLayer 7 20231027 0 an stl2 grid_simple regular_gg
1 ecmf depthBelowLandLayer 28 20231027 0 an stl3 grid_simple regular_gg
1 ecmf depthBelowLandLayer 100 20231027 0 an stl4 grid_simple regular_gg
1 ecmf surface 0 20231027 0 an sd grid_simple regular_gg
1 ecmf surface 0 20231027 0 an msl grid_simple regular_gg
1 ecmf surface 0 20231027 0 an 10u grid_simple regular_gg
1 ecmf surface 0 20231027 0 an 10v grid_simple regular_gg
1 ecmf surface 0 20231027 0 an 2t grid_simple regular_gg
1 ecmf surface 0 20231027 0 an 2d grid_simple regular_gg
1 ecmf surface 0 20231027 0 an lsm grid_simple regular_gg
1 ecmf surface 0 20231027 0 an skt grid_simple regular_gg

2 ecmf snowLayer 1 20231027 0 an sd grid_ccsds regular_gg
2 ecmf snowLayer 2 20231027 0 an sd grid_ccsds regular_gg
2 ecmf snowLayer 3 20231027 0 an sd grid_ccsds regular_gg
2 ecmf snowLayer 4 20231027 0 an sd grid_ccsds regular_gg
2 ecmf snowLayer 5 20231027 0 an sd grid_ccsds regular_gg
26 of 26 messages in od_oper_an_sfc_GF640_2023102712.grb

Notice the last five records in the surface fields file. The first column indicates the type of the grib file. You can clearly see that it is grib2, and all above it are grib1. The solution is to split the file. Save the grib1 fields to one file and grib2 to another. Only grib1 should be used for the WRF model. As far as I remember, no more corrections need to be made. You only need to check if the appropriate Vtable and metgrid.tbl files are prepared, but I think that should be it. Remember, we are working with grib1 files.

This is an example of how to save selected fields in grib1 format to a new grib1 file.
grib_copy -w shortName=msl/stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4 od_oper_an_sfc_GF640_2023102712.grb tmp_s.grib1

The second file is correct and contains pressure fields at 25 levels.

I hope I solved your problems. Good luck.

Mariusz
 
To successfully interpolate the ECMWF-IFS IC to the MPAS mesh the command is:

grib_copy -w shortName=msl/stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4/lsm/skt/ci/sst/slt/sp/z od_oper_an_sfc_GF640_2023102712.grb tmp_s.grib1
 
To successfully interpolate the ECMWF-IFS IC to the MPAS mesh the command is:

grib_copy -w shortName=msl/stl1/stl2/stl3/stl4/swvl1/swvl2/swvl3/swvl4/lsm/skt/ci/sst/slt/sp/z od_oper_an_sfc_GF640_2023102712.grb tmp_s.grib1
Super, I'm glad I could help
Mariusz
 
Top