Commit 4bd7c470 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

select: skip time constant fields for nfile>1 (bug fix)

parent 24cf062f
......@@ -8,6 +8,7 @@
* cat: skip time constant fields for nfile>1 (bug fix) [report: Ralf Mller]
* copy: skip time constant fields for nfile>1 (bug fix)
* mergetime: skip time constant fields for nfile>1 (bug fix)
* select: skip time constant fields for nfile>1 (bug fix)
2016-02-22 Uwe Schulzweida
......
CDO NEWS
--------
Version 1.7.1 (24 February 2016):
Version 1.7.1 (25 February 2016):
New features:
* select: added search key steptype, gridnum, gridname, zaxisnum,I zaxisname
* expr, exprf, aexpr, aexprf: added support for function clon(x), clat(x), clev(x),
remove(x), ngp(x), nlev(x), size(x), missval(x), sellevel(x,k), sellevidx(x,k),
fldmin(x), fldmax(x), fldsum(x), fldmean(x), fldavg(x), fldstd(x), fldstd1(x), fldvar(x), fldvar1(x),
vertmin(x), vertmax(x), vertsum(x), vertmean(x), vertavg(x), vertstd(x), vertstd1(x), vertvar(x), vertvar1(x)
New operators:
* contour: Contour plot
* shaded: Shaded contour plot
* grfill: Shaded gridfill plot
* gmtxyz: Output GMT xyz format to create contour plots with the GMT module pscontour.
* gmtcells: Output GMT multiple segment format to create shaded gridfill plots with psxy.
Changed operators:
* expr, exprf, aexpr, aexprf: added support for function clon(x), clat(x), clev(x),
remove(x), ngp(x), nlev(x), size(x), missval(x), sellevel(x,k), sellevidx(x,k),
fldmin(x), fldmax(x), fldsum(x), fldmean(x), fldavg(x), fldstd(x), fldstd1(x), fldvar(x), fldvar1(x),
vertmin(x), vertmax(x), vertsum(x), vertmean(x), vertavg(x), vertstd(x), vertstd1(x), vertvar(x), vertvar1(x)
Fixed bugs:
* cdo -t table_file does not read variable name from table file [Bug #6312]
* One day shift backwards when converting to relative time axis with -r [Bug #6496]
* ydaypctl: check of verification date failed (bug fix)
Version 1.7.0 (28 October 2015):
......
......@@ -30,7 +30,7 @@
void *Cat(void *argument)
{
int nrecs, nrecs0 = 0;
int nrecs;
int tsID2 = 0, varID, levelID;
int streamID2 = CDI_UNDEFID;
int vlistID2 = CDI_UNDEFID;
......@@ -123,9 +123,7 @@ void *Cat(void *argument)
int tsID1 = 0;
while ( (nrecs = streamInqTimestep(streamID1, tsID1)) )
{
if ( indf == 0 && tsID1 == 0 ) nrecs0 = nrecs;
{
{
double fstatus = indf+1.;
if ( ntsteps > 1 ) fstatus = indf+(tsID1+1.)/ntsteps;
......@@ -140,7 +138,7 @@ void *Cat(void *argument)
{
streamInqRecord(streamID1, &varID, &levelID);
if ( indf > 0 && tsID1 == 0 && nrecs == nrecs0 )
if ( tsID2 > 0 && tsID1 == 0 )
if ( vlistInqVarTsteptype(vlistID1, varID) == TSTEP_CONSTANT )
continue;
......
......@@ -1086,6 +1086,10 @@ void *Select(void *argument)
streamInqRecord(streamID1, &varID, &levelID);
if ( vlistInqFlag(vlistID0, varID, levelID) == TRUE )
{
if ( tsID2 > 0 && tsID1 == 0 )
if ( vlistInqVarTsteptype(vlistID1, varID) == TSTEP_CONSTANT )
continue;
varID2 = vlistFindVar(vlistID2, varID);
levelID2 = vlistFindLevel(vlistID2, varID, levelID);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment