Project

General

Profile

Bug or feature in filling up timesteps?

Added by Matthias Cuntz over 2 years ago

Dear all,

The behaviour of filling up timesteps seems to have changed from CDO 1.9.10 to CDO 2.0.1.

I divide an array float aprtiso(time, lev, lat, lon) with 13 timesteps by float var101(time, lev, lat, lon) with 1 timestep.
With 1.9.10, cdo div thirteen_timesteps.nc one_timestep.nc out.nc filled the second array to 13 timesteps and CDO reported "Processed 114688 values from 2 variables over 14 timesteps".
With 2.0.1, CDO reports "Processed 16384 values from 2 variables over 3 timesteps" and the output file has only one time step.

I was suspecting some meta data to trick me but I have removed all possible attributes. Now I am suspecting the timestamps. The file with 13 timesteps has timestamps:

cdo -s showtimestamp thirteen_timesteps.nc

0001-01-16T06:00:00 0001-02-15T18:00:00 0001-03-15T18:00:00 0001-04-15T18:00:00 0001-05-15T18:00:00 0001-06-15T18:00:00 0001-07-15T18:00:00 0001-08-15T18:00:00 0001-09-15T18:00:00 0001-10-15T18:00:00 0001-11-15T18:00:00 0001-12-15T18:00:00 0002-01-01T06:00:00

and the file with one timestep has:

cdo -s showtimestamp one_timestep.nc

0001-01-30T12:00:00

So it looks to me that CDO might process timestamps 0001-01-16T06:00:00 and 0001-02-15T18:00:00 from the first file and 0001-01-30T12:00:00 from the second file, so it tells me "Processed 16384 values from 2 variables over 3 timesteps".

Is this a bug or a feature? What shall I do if I want to have back the old behaviour, i.e. CDO filling up the second file, ignoring the values of the timestamps, and returns all 13 timesteps of the first file divided by the one timestep of the second file.

I have filed a bug report with more details on the installed version. I attach the two small netcdf files.

Kind regards,
Matthias


Replies (1)

RE: Bug or feature in filling up timesteps? - Added by Uwe Schulzweida over 2 years ago

Dear Matthias,

Looks like a bug to me, I'll take a closer look right now.

Cheers,
Uwe

    (1-1/1)