Project

General

Profile

Error (varAddRecord) : horizontal grid must not change for same parameter!

Added by Joakim Kjellsson about 6 years ago

Hi

I've got output from the OpenIFS that I'm post processing with CDO. The raw output is one file with spectral fields on model levels (u,v,t etc) and one file with data on reduced Gaussian grid on model levels.
I use "cdo sp2gpl" to convert spectral data to grid point, and then use "cdo remapbil" to interpolate the data from regular to a reduced Gaussian grid.
When I do this, the gridType is set as "unknown" but I use "grib_set -s gridType=reduced_gg" to set the name of the grid type.
I then do "cdo geopotheight" to get geopotential height, and then "cdo ml2pl" to get data on pressure levels.
Two of the files I get out are enclosed here. They contain U,V,T,Q,Z,P on 925, 850, 500 and 200 hPa.

However, when I do

cdo ensmean ICM_UVTQZP_PLEV_g001+007992 ICM_UVTQZP_PLEV_g001+007998 mean.grb

I get the error
varAddRecord       : param = 156.128 gridID = 30

Error (varAddRecord) : horizontal grid must not change for same parameter!

Variable 156.128 refers to geopotential height.
If I do "cdo -R" on the files first, I get the same error message.
If I do "grib_copy -w shortName=t" and only do "cdo ensmean" on temperature, I also get the same error message but for variable 130.128, which is temperature.

I'm thinking that CDO can not handle data when the vertical coordinate is pressure and the horizontal grid is reduced Gaussian?
For the original files, where data is on a reduced Gaussian but on model hybrid sigma levels, everything works fine.

Does anyone know what is good way to calculate ensemble means when data is on reduced Gaussian and pressure levels?

Many thanks in advance

/Joakim


Replies (1)

RE: Error (varAddRecord) : horizontal grid must not change for same parameter! - Added by Karin Meier-Fleischer about 6 years ago

Hi Joakim,

sorry but I can't use your files because a simple 'cdo info' results in an error.

cdo info ICM_UVTQZP_PLEV_g001+007998
varAddRecord       : param = 156.128 gridID = 30

Error (varAddRecord) : horizontal grid must not change for same parameter!

ECMWFs eccodes/grib_api program grib_to_netcdf doesn't work, too.

grib_to_netcdf -o ICM_UVTQZP_PLEV_g001+007998.nc ICM_UVTQZP_PLEV_g001+007998 
grib_to_netcdf: Version 2.4.0
grib_to_netcdf: Processing input file 'ICM_UVTQZP_PLEV_g001+007998'.
grib_to_netcdf: Found 22 GRIB fields in 1 file.
grib_to_netcdf: Ignoring key(s): method, type, stream, refdate, hdate
grib_to_netcdf: Creating netCDF file 'ICM_UVTQZP_PLEV_g001+007998.nc'
grib_to_netcdf: NetCDF library version: 4.4.1.1 of Aug  9 2017 11:40:51 $
grib_to_netcdf: Creating large (64 bit) file format.
ECCODES ERROR   :  First GRIB is not on a regular lat/lon grid or on a regular Gaussian grid. Exiting.

Also the NCL ncl_convert2nc program failed.

ncl_convert2nc ICM_UVTQZP_PLEV_g001+007998
tf: Undefined variable.

-Karin

    (1-1/1)