Project

General

Profile

Remaping of ICON-D2-EPS dbz_cmax paramter does not work for files with multiple timesteps

Added by Martin Steinheimer about 3 years ago

Hello,
we are using CDO to convert DWD ICON-D2/ICON-D2-EPS data from icosahedral to regular lat-lon grid. In principle this works fine, but we do encounter problems with one specific parameter.

Remapping of dbz_cmax ensemble files does not work correctly if one gribfile includes more than one timestep for each ensemble member.

The problem can be reproduced by downloading 026 and 027 files from 00UTC run (NOTE: for 03 run different forecast times need to be used to demonstrate the problem, because of the longer forecast range), e.g.:
https://opendata.dwd.de/weather/nwp/icon-d2-eps/grib/00/dbz_cmax/icon-d2-eps_germany_icosahedral_single-level_2021021200_026_2d_dbz_cmax.grib2.bz2 (includes +26h, +26:15, +26:30, +26:45h)
https://opendata.dwd.de/weather/nwp/icon-d2-eps/grib/00/dbz_cmax/icon-d2-eps_germany_icosahedral_single-level_2021021200_027_2d_dbz_cmax.grib2.bz2 (includes +27h)

(Target grid and weights provided by DWD at: https://opendata.dwd.de/weather/lib/cdo/ICON_D2_002_EASY.tar.bz2)

Converting the 027 file works fine:

cdo -f grb2 remap,target_grid_icon_d2_002.txt,weights_icon_d2_002.nc icon-d2-eps_germany_icosahedral_single-level_2021021200_027_2d_dbz_cmax.grib2 target.grib2

Converting the 026 (or any other file including more than one time step):

cdo -f grb2 remap,target_grid_icon_d2_002.txt,weights_icon_d2_002.nc icon-d2-eps_germany_icosahedral_single-level_2021021200_026_2d_dbz_cmax.grib2 target.grib2

Gives the following warning message:

Warning (gribapiScanTimestep): Record  5 (name=DBZ_CMAX id=1.15.0 lev1=0 lev2=0) timestep 5: Parameter not defined at timestep 1!

Processing of the file seems to stop at this point, as the output only includes the converted first four records of the source file. When files are split up using eccodes to include only one time step conversion works, so the grib-records can in principle be converted fine.

For precipitation where also more than one time step (or more specifically time range) is included in the file conversion does work normally.

Any help how conversion can be done without the need to split up the files would be very much appreciated.

Regards,
Martin

Information on cdo version:

cdo -V
Climate Data Operators version 1.9.10 (https://mpimet.mpg.de/cdo)
System: x86_64-redhat-linux-gnu
CXX Compiler: g++ -std=gnu++11 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -fopenmp -pthread
CXX version : g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
C Compiler: gcc -std=gnu99 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -fopenmp -pthread -pthread
C version : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
F77 Compiler: gfortran -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -I/usr/lib64/gfortran/modules
F77 version : GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Features: 62GB 40threads C++11 OpenMP3 Fortran PTHREADS NC4/HDF5 OPeNDAP SSE2
Libraries:
Filetypes: srv ext ieg grb1 grb2 nc1 nc2 nc4 nc4c
     CDI library version : 1.9.10
 cgribex library version : 1.9.5
 ecCodes library version : 2.16.0
  NetCDF library version : 4.3.3.1 of Dec 10 2015 16:44:18 $
    hdf5 library version : 1.8.12
    exse library version : 1.4.2
    FILE library version : 1.9.1


Replies (2)

RE: Remaping of ICON-D2-EPS dbz_cmax paramter does not work for files with multiple timesteps - Added by Uwe Schulzweida about 3 years ago

Hi Martin,

The GRIB records in the ensemble file is sorted by ensemble members. This is not supported, CDO needs the GRIB records sorted by time.

Cheers,
Uwe

RE: Remaping of ICON-D2-EPS dbz_cmax paramter does not work for files with multiple timesteps - Added by Martin Steinheimer about 3 years ago

Hi Uwe,
thank you for clarification.

If it is of interest for anyone else, two possible ways to preprocess this data using ecCodes cmd-line tools to be able to remap it using cdo:

Sort grib messages by time:

grib_copy -B stepRange INPUTFILE OUTPUTFILE

Create individual files for each time:

grib_copy INPUTFILE OUTPUT_[stepRange].grib2

Best regards,
Martin

    (1-2/2)