Page tree
Skip to end of metadata
Go to start of metadata

The error

You try to retrieve data from the ECMWF data archive in NetCDF format but the retrieval fails with this message:

ECCODES ERROR : Wrong number of fields
ECCODES ERROR : File contains 806 GRIBs, 806 left in internal description, 745 in request
ECCODES ERROR : The fields are not considered distinct!
ECCODES ERROR : Hint: This may be due to several fields having the same validity time.
ECCODES ERROR : Try using the -T option (Do not use time of validity)


Cause

This is a known issue and occurs if

  • you request data in NetCDF format, and
  • you request forecast data, and
  • your data request contains overlapping "time"+"step" specifications

For example, for the ERA-Interim dataset there are two daily forecasts (00:00, 12:00), with 3-hourly forecast steps. So one could specify in a data retrieval script:

"date":"2016-12-01"
"type":"fc"
"time": "00:00/12:00",
"step": "3/6/9/12/15",
"format": "netcdf"
With the above specification you get data for the following validity times:
  • time 00:00 + step 3  validity time 2016-12-01, 03:00
  • time 00:00 + step 6  validity time 2016-12-01, 06:00
  • time 00:00 + step 9  validity time 2016-12-01, 09:00
  • time 00:00 + step 12 → validity time 2016-12-01, 12:00
  • time 00:00 + step 15 → validity time 2016-12-01, 15:00
  • time 12:00 + step 3  validity time 2016-12-01, 15:00
  • time 12:00 + step 6  validity time 2016-12-01, 18:00
  • time 12:00 + step 9  validity time 2016-12-01, 21:00
  • time 12:00 + step 12  validity time 2016-12-02, 00:00
  • time 12:00 + step 15 validity time 2016-12-02, 03:00

In this example you get two data values at the same validity time 2016-12-01, 15:00.  The NetCDF format does not support multiple data values at a single time, hence the creation of the output NetCDF file fails, triggering the error message.

Workarounds

  • Retrieve the data in its native GRIB format, which supports multiple data values at any one validity time. Then convert the data from GRIB to NetCDF format:
  • Retrieve data for each forecast "time" separately, for example for ERA-Interim:
    • first with time = 00:00 and all required steps
    • then with time = 12:00 and all required steps