Commit 6200efc1 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

cast nmiss to size_t

parent 655f8b6e
......@@ -328,9 +328,17 @@ void *Adisit(void *argument)
offset = gridsize*levelID;
if ( varID == thoID ) streamReadRecord(streamID1, tho.ptr+offset, &(tho.nmiss));
if ( varID == saoID ) streamReadRecord(streamID1, sao.ptr+offset, &(sao.nmiss));
}
if ( varID == thoID )
{
streamReadRecord(streamID1, tho.ptr+offset, &nmiss);
tho.nmiss = (size_t) nmiss;
}
if ( varID == saoID )
{
streamReadRecord(streamID1, sao.ptr+offset, &nmiss);
sao.nmiss = (size_t) nmiss;
}
}
if (operatorID == ADISIT )
{
......
......@@ -37,6 +37,7 @@ void *Arith(void *argument)
{
enum {FILL_NONE, FILL_TS, FILL_VAR, FILL_VARTS, FILL_FILE};
int filltype = FILL_NONE;
int nmiss;
int gridsize;
int nrecs, nrecs2, nvars = 0, nlev, recID;
int nlevels2 = 1;
......@@ -250,8 +251,9 @@ void *Arith(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamIDx1, &varID, &levelID);
streamReadRecord(streamIDx1, fieldx1->ptr, &fieldx1->nmiss);
streamReadRecord(streamIDx1, fieldx1->ptr, &nmiss);
fieldx1->nmiss = (size_t) nmiss;
if ( tsID == 0 || filltype == FILL_NONE || filltype == FILL_FILE || filltype == FILL_VARTS )
{
int lstatus = nlevels2 > 1 ? varID == 0 : recID == 0;
......@@ -259,7 +261,8 @@ void *Arith(void *argument)
if ( lstatus || (filltype != FILL_VAR && filltype != FILL_VARTS) )
{
streamInqRecord(streamIDx2, &varID2, &levelID2);
streamReadRecord(streamIDx2, fieldx2->ptr, &fieldx2->nmiss);
streamReadRecord(streamIDx2, fieldx2->ptr, &nmiss);
fieldx2->nmiss = (size_t) nmiss;
}
if ( filltype == FILL_TS )
......@@ -308,7 +311,7 @@ void *Arith(void *argument)
farfun(&field1, field2, operfunc);
streamDefRecord(streamID3, varID, levelID);
streamWriteRecord(streamID3, field1.ptr, field1.nmiss);
streamWriteRecord(streamID3, field1.ptr, (int)field1.nmiss);
}
tsID++;
......
......@@ -127,8 +127,8 @@ void *Eofcoeff(void * argument)
if ( levelID >= nlevs )
cdoAbort("Internal error - too high levelID");
streamReadRecord(streamID1, eof[varID][levelID][eofID].ptr,
&eof[varID][levelID][eofID].nmiss);
streamReadRecord(streamID1, eof[varID][levelID][eofID].ptr, &nmiss);
eof[varID][levelID][eofID].nmiss = (size_t) nmiss;
}
eofID++;
}
......@@ -203,7 +203,8 @@ void *Eofcoeff(void * argument)
{
streamInqRecord(streamID2, &varID, &levelID);
missval2 = vlistInqVarMissval(vlistID2, varID);
streamReadRecord(streamID2, in.ptr, &in.nmiss);
streamReadRecord(streamID2, in.ptr, &nmiss);
in.nmiss = (size_t) nmiss;
for (eofID = 0; eofID < neof; eofID++ )
{
......
......@@ -127,8 +127,8 @@ void *Eofcoeff3d(void * argument)
if ( levelID >= nlevs )
cdoAbort("Internal error - too high levelID");
streamReadRecord(streamID1, eof[varID][levelID][eofID].ptr,
&eof[varID][levelID][eofID].nmiss);
streamReadRecord(streamID1, eof[varID][levelID][eofID].ptr, &nmiss);
eof[varID][levelID][eofID].nmiss = (size_t) nmiss;
}
eofID++;
}
......@@ -212,8 +212,8 @@ void *Eofcoeff3d(void * argument)
{
streamInqRecord(streamID2, &varID, &levelID);
missval2 = vlistInqVarMissval(vlistID2, varID);
streamReadRecord(streamID2, in.ptr, &in.nmiss);
streamReadRecord(streamID2, in.ptr, &nmiss);
in.nmiss = (size_t) nmiss;
for (eofID = 0; eofID < neof; eofID++ )
{
......@@ -248,7 +248,7 @@ void *Eofcoeff3d(void * argument)
for ( eofID = 0; eofID < neof; eofID++ ) {
for ( varID = 0; varID < nvars; varID++ ) {
streamDefRecord(streamIDs[eofID], varID, 0);
streamWriteRecord(streamIDs[eofID],out[varID][eofID].ptr,out[varID][eofID].nmiss);
streamWriteRecord(streamIDs[eofID], out[varID][eofID].ptr, (int)out[varID][eofID].nmiss);
}
}
......
......@@ -409,6 +409,7 @@ void setmisstodis(field_t *field1, field_t *field2, int num_neighbors)
void *Fillmiss(void *argument)
{
int nmiss;
int nrecs, recID, varID, levelID;
void (*fill_method) (field_t *fin , field_t *fout , int) = NULL;
......@@ -488,7 +489,8 @@ void *Fillmiss(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
streamDefRecord(streamID2, varID, levelID);
......
......@@ -37,6 +37,7 @@ void *Fldrms(void *argument)
int recID, nrecs;
int tsID, varID, levelID;
int lim;
int nmiss;
int ndiffgrids;
int needWeights = FALSE;
double slon, slat;
......@@ -122,9 +123,11 @@ void *Fldrms(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
streamInqRecord(streamID2, &varID, &levelID);
streamReadRecord(streamID2, field2.ptr, &field2.nmiss);
streamReadRecord(streamID2, field2.ptr, &nmiss);
field2.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
field2.grid = vlistInqVarGrid(vlistID2, varID);
......@@ -152,7 +155,7 @@ void *Fldrms(void *argument)
fldrms(field1, field2, &field3);
streamDefRecord(streamID3, varID, levelID);
streamWriteRecord(streamID3, &sglval, field3.nmiss);
streamWriteRecord(streamID3, &sglval, (int)field3.nmiss);
}
tsID++;
}
......
......@@ -557,6 +557,7 @@ void gridboxstat(field_t *field1, field_t *field2, int xinc, int yinc, int statf
void *Gridboxstat(void *argument)
{
int nmiss;
int lastgrid = -1;
int wstatus = FALSE;
int index;
......@@ -638,7 +639,8 @@ void *Gridboxstat(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.size = gridInqSize(field1.grid);
......@@ -662,7 +664,7 @@ void *Gridboxstat(void *argument)
gridboxstat(&field1, &field2, xinc, yinc, operfunc);
streamDefRecord(streamID2, varID, levelID);
streamWriteRecord(streamID2, field2.ptr, field2.nmiss);
streamWriteRecord(streamID2, field2.ptr, (int)field2.nmiss);
}
tsID++;
}
......
......@@ -91,6 +91,7 @@ void *Hi(void *argument)
{
int streamID1, streamID2, streamID3, streamID4;
int gridsize;
int nmiss;
int nrecs, nrecs2, nrecs3, recID;
int tsID;
int gridID, zaxisID;
......@@ -165,13 +166,16 @@ void *Hi(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID1, &levelID1);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
streamInqRecord(streamID2, &varID2, &levelID2);
streamReadRecord(streamID2, field2.ptr, &field2.nmiss);
streamReadRecord(streamID2, field2.ptr, &nmiss);
field2.nmiss = (size_t) nmiss;
streamInqRecord(streamID3, &varID3, &levelID3);
streamReadRecord(streamID3, field3.ptr, &field3.nmiss);
streamReadRecord(streamID3, field3.ptr, &nmiss);
field3.nmiss = (size_t) nmiss;
if ( varID1 != varID2 || varID1 != varID3 || levelID1 != levelID2 || levelID1 != levelID3 )
cdoAbort("Input streams have different structure!");
......@@ -190,7 +194,7 @@ void *Hi(void *argument)
farexpr(&field1, field2, field3, humidityIndex);
streamDefRecord(streamID4, varID4, levelID1);
streamWriteRecord(streamID4, field1.ptr, field1.nmiss);
streamWriteRecord(streamID4, field1.ptr, (int)field1.nmiss);
}
tsID++;
......
......@@ -43,6 +43,7 @@ void *Merstat(void *argument)
int gridID1, gridID2 = -1, lastgrid = -1;
int wstatus = FALSE;
int index;
int nmiss;
int recID, nrecs;
int varID, levelID;
int needWeights = FALSE;
......@@ -140,8 +141,8 @@ void *Merstat(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
if ( needWeights && field1.grid != lastgrid )
{
......@@ -162,7 +163,7 @@ void *Merstat(void *argument)
merfun(field1, &field2, operfunc);
streamDefRecord(streamID2, varID, levelID);
streamWriteRecord(streamID2, field2.ptr, field2.nmiss);
streamWriteRecord(streamID2, field2.ptr, (int)field2.nmiss);
}
tsID++;
}
......
......@@ -40,6 +40,7 @@ void *Monarith(void *argument)
int tsID, tsID2;
int varID, levelID;
int offset;
int nmiss;
int vlistID1, vlistID2, vlistID3;
int taxisID1, taxisID2, taxisID3;
int vdate;
......@@ -140,8 +141,8 @@ void *Monarith(void *argument)
gridsize = gridInqSize(vlistInqVarGrid(vlistID2, varID));
offset = gridsize*levelID;
streamReadRecord(streamID2, vardata2[varID]+offset, &field2.nmiss);
varnmiss2[varID][levelID] = field2.nmiss;
streamReadRecord(streamID2, vardata2[varID]+offset, &nmiss);
varnmiss2[varID][levelID] = nmiss;
}
tsID2++;
......@@ -154,23 +155,22 @@ void *Monarith(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
gridsize = gridInqSize(vlistInqVarGrid(vlistID2, varID));
offset = gridsize*levelID;
memcpy(field2.ptr, vardata2[varID]+offset, gridsize*sizeof(double));
field2.nmiss = varnmiss2[varID][levelID];
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
field2.nmiss = varnmiss2[varID][levelID];
field2.grid = vlistInqVarGrid(vlistID2, varID);
field2.missval = vlistInqVarMissval(vlistID2, varID);
farfun(&field1, field2, operfunc);
streamDefRecord(streamID3, varID, levelID);
streamWriteRecord(streamID3, field1.ptr, field1.nmiss);
streamWriteRecord(streamID3, field1.ptr, (int)field1.nmiss);
}
tsID++;
......
......@@ -296,9 +296,17 @@ void *Rhopot(void *argument)
offset = gridsize*levelID;
if ( varID == toID ) streamReadRecord(streamID1, to.ptr+offset, &(to.nmiss));
if ( varID == saoID ) streamReadRecord(streamID1, sao.ptr+offset, &(sao.nmiss));
}
if ( varID == toID )
{
streamReadRecord(streamID1, to.ptr+offset, &nmiss);
to.nmiss = (size_t) nmiss;
}
if ( varID == saoID )
{
streamReadRecord(streamID1, sao.ptr+offset, &nmiss);
sao.nmiss = (size_t) nmiss;
}
}
calc_rhopot(gridsize, nlevel, pressure, to, sao, rho);
......
......@@ -151,8 +151,11 @@ void *Splitsel(void *argument)
{
streamInqRecord(streamID1, &varID, &levelID);
if ( vlistInqVarTsteptype(vlistID1, varID) == TSTEP_CONSTANT )
streamReadRecord(streamID1, vars[varID][levelID].ptr, &vars[varID][levelID].nmiss);
}
{
streamReadRecord(streamID1, vars[varID][levelID].ptr, &nmiss);
vars[varID][levelID].nmiss = (size_t) nmiss;
}
}
}
index = 0;
......
......@@ -44,7 +44,7 @@ void *Timstat3(void *argument)
int nlevs;
int i, iw, is;
int varID, recID, levelID, gridID;
int nmiss3;
int nmiss;
double rconst, risk;
double fnvals0, fnvals1;
double missval, missval1, missval2;
......@@ -190,8 +190,9 @@ void *Timstat3(void *argument)
recLevelID[recID] = levelID;
}
streamReadRecord(streamID[is], in[is].ptr, &in[is].nmiss);
streamReadRecord(streamID[is], in[is].ptr, &nmiss);
in[is].nmiss = (size_t) nmiss;
for ( i = 0; i < gridsize; ++i )
{
/*
......@@ -308,12 +309,12 @@ void *Timstat3(void *argument)
}
}
nmiss3 = 0;
nmiss = 0;
for ( i = 0; i < gridsize; i++ )
if ( DBL_IS_EQUAL(out[0].ptr[i], missval1) ) nmiss3++;
if ( DBL_IS_EQUAL(out[0].ptr[i], missval1) ) nmiss++;
streamDefRecord(streamID3, varID, levelID);
streamWriteRecord(streamID3, out[0].ptr, nmiss3);
streamWriteRecord(streamID3, out[0].ptr, nmiss);
}
for ( varID = 0; varID < nvars; varID++ )
......
......@@ -86,6 +86,7 @@ void *Wct(void *argument)
int gridsize;
int nrecs, nrecs2, recID;
int tsID;
int nmiss;
int gridID, zaxisID;
int varID1, varID2, varID3;
int levelID1, levelID2;
......@@ -151,10 +152,12 @@ void *Wct(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID1, &levelID1);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
streamInqRecord(streamID2, &varID2, &levelID2);
streamReadRecord(streamID2, field2.ptr, &field2.nmiss);
streamReadRecord(streamID2, field2.ptr, &nmiss);
field2.nmiss = (size_t) nmiss;
if ( varID1 != varID2 || levelID1 != levelID2 )
cdoAbort("Input streams have different structure!");
......@@ -171,7 +174,7 @@ void *Wct(void *argument)
farexpr(&field1, field2, windchillTemperature);
streamDefRecord(streamID3, varID3, levelID1);
streamWriteRecord(streamID3, field1.ptr, field1.nmiss);
streamWriteRecord(streamID3, field1.ptr, (int)field1.nmiss);
}
tsID++;
......
......@@ -71,6 +71,7 @@ void *Yhourarith(void *argument)
int vlistID1, vlistID2, vlistID3;
int taxisID1, taxisID2, taxisID3;
int vdate, vtime;
int nmiss;
int houroy;
field_t field1, field2;
int **varnmiss2[MAX_HOUR];
......@@ -142,8 +143,8 @@ void *Yhourarith(void *argument)
gridsize = gridInqSize(vlistInqVarGrid(vlistID2, varID));
offset = gridsize*levelID;
streamReadRecord(streamID2, vardata2[houroy][varID]+offset, &field2.nmiss);
varnmiss2[houroy][varID][levelID] = field2.nmiss;
streamReadRecord(streamID2, vardata2[houroy][varID]+offset, &nmiss);
varnmiss2[houroy][varID][levelID] = nmiss;
}
tsID++;
......@@ -166,23 +167,22 @@ void *Yhourarith(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
gridsize = gridInqSize(vlistInqVarGrid(vlistID2, varID));
offset = gridsize*levelID;
memcpy(field2.ptr, vardata2[houroy][varID]+offset, gridsize*sizeof(double));
field2.nmiss = varnmiss2[houroy][varID][levelID];
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
field2.grid = vlistInqVarGrid(vlistID2, varID);
field2.missval = vlistInqVarMissval(vlistID2, varID);
farfun(&field1, field2, operfunc);
streamDefRecord(streamID3, varID, levelID);
streamWriteRecord(streamID3, field1.ptr, field1.nmiss);
streamWriteRecord(streamID3, field1.ptr, (int)field1.nmiss);
}
tsID++;
......
......@@ -44,6 +44,7 @@ void *Ymonarith(void *argument)
int tsID;
int varID, levelID;
int offset;
int nmiss;
int vdate, year, mon, day;
field_t field1, field2;
int **varnmiss2[MAX_MON];
......@@ -133,8 +134,8 @@ void *Ymonarith(void *argument)
gridsize = gridInqSize(vlistInqVarGrid(vlistID2, varID));
offset = gridsize*levelID;
streamReadRecord(streamID2, vardata2[mon][varID]+offset, &field2.nmiss);
varnmiss2[mon][varID][levelID] = field2.nmiss;
streamReadRecord(streamID2, vardata2[mon][varID]+offset, &nmiss);
varnmiss2[mon][varID][levelID] = nmiss;
}
tsID++;
......@@ -167,24 +168,23 @@ void *Ymonarith(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
gridsize = gridInqSize(vlistInqVarGrid(vlistID2, varID));
offset = gridsize*levelID;
memcpy(field2.ptr, vardata2[mon][varID]+offset, gridsize*sizeof(double));
field2.nmiss = varnmiss2[mon][varID][levelID];
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
field2.grid = vlistInqVarGrid(vlistID2, varID);
field2.missval = vlistInqVarMissval(vlistID2, varID);
farfun(&field1, field2, operfunc);
streamDefRecord(streamID3, varID, levelID);
streamWriteRecord(streamID3, field1.ptr, field1.nmiss);
streamWriteRecord(streamID3, field1.ptr, (int)field1.nmiss);
}
tsID++;
}
......
......@@ -44,6 +44,7 @@ void *Zonstat(void *argument)
int gridID1 = -1, gridID2 = -1;
int zongridID = -1;
int index;
int nmiss;
int recID, nrecs;
int varID, levelID;
......@@ -153,8 +154,9 @@ void *Zonstat(void *argument)
for ( recID = 0; recID < nrecs; recID++ )
{
streamInqRecord(streamID1, &varID, &levelID);
streamReadRecord(streamID1, field1.ptr, &field1.nmiss);
streamReadRecord(streamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t) nmiss;
field1.grid = vlistInqVarGrid(vlistID1, varID);
field1.missval = vlistInqVarMissval(vlistID1, varID);
field2.missval = vlistInqVarMissval(vlistID1, varID);
......@@ -173,7 +175,7 @@ void *Zonstat(void *argument)
}
streamDefRecord(streamID2, varID, levelID);
streamWriteRecord(streamID2, field2.ptr, field2.nmiss);
streamWriteRecord(streamID2, field2.ptr, (int)field2.nmiss);
}
tsID++;
}
......
......@@ -36,6 +36,7 @@ void eca1(const ECA_REQUEST_1 *request)
{
const int operatorID = cdoOperatorID();
int nmiss;
int cmplen;
char indate1[DATE_LEN+1], indate2[DATE_LEN+1];
int gridsize;
......@@ -224,7 +225,8 @@ void eca1(const ECA_REQUEST_1 *request)
if ( IS_SET(request->var2.h3) ) var23[levelID].nmiss = gridsize;
}
streamReadRecord(istreamID, field1.ptr, &field1.nmiss);
streamReadRecord(istreamID, field1.ptr, &nmiss);
field1.nmiss = (size_t)nmiss;
field1.grid = var12[levelID].grid;
field1.missval = var12[levelID].missval;
......@@ -402,6 +404,7 @@ void eca2(const ECA_REQUEST_2 *request)
{
const int operatorID = cdoOperatorID();
int nmiss;
int cmplen;
char indate1[DATE_LEN+1], indate2[DATE_LEN+1];
int gridsize;
......@@ -611,11 +614,13 @@ void eca2(const ECA_REQUEST_2 *request)
var22[levelID].nmiss = gridsize;
}
streamReadRecord(istreamID1, field1.ptr, &field1.nmiss);
streamReadRecord(istreamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t)nmiss;
field1.grid = gridID;
field1.missval = missval1;
streamReadRecord(istreamID2, field2.ptr, &field2.nmiss);
streamReadRecord(istreamID2, field2.ptr, &nmiss);
field2.nmiss = (size_t)nmiss;
field2.grid = gridID;
field2.missval = missval2;
......@@ -789,6 +794,7 @@ void eca3(const ECA_REQUEST_3 *request)
{
const int operatorID = cdoOperatorID();
int nmiss;
int cmplen;
char indate1[DATE_LEN+1], indate2[DATE_LEN+1];
int gridsize;
......@@ -930,11 +936,13 @@ void eca3(const ECA_REQUEST_3 *request)
var2[levelID].nmiss = gridsize;
}
streamReadRecord(istreamID1, field1.ptr, &field1.nmiss);
streamReadRecord(istreamID1, field1.ptr, &nmiss);
field1.nmiss = (size_t)nmiss;
field1.grid = var1[levelID].grid;
field1.missval = var1[levelID].missval;
streamReadRecord(istreamID2, field2.ptr, &field2.nmiss);
streamReadRecord(istreamID2, field2.ptr, &nmiss);
field2.nmiss = (size_t)nmiss;
field2.grid = var1[levelID].grid;
field2.missval = var1[levelID].missval;
......@@ -994,6 +1002,7 @@ void eca4(const ECA_REQUEST_4 *request)
{
const int operatorID = cdoOperatorID();
int nmiss;
int cmplen;
char indate1[DATE_LEN+1], indate2[DATE_LEN+1];
int gridsize, gridtype;
......@@ -1171,7 +1180,8 @@ void eca4(const ECA_REQUEST_4 *request)
if ( streamInqTimestep(istreamID2, itsID) )
{
streamInqRecord(istreamID2, &varID, &levelID);
streamReadRecord(istreamID2, mask.ptr, &mask.nmiss);
streamReadRecord(istreamID2, mask.ptr, &nmiss);
mask.nmiss = (size_t)nmiss;