diff --git a/examples/cdi_append.c b/examples/cdi_append.c index 31719366f4e9767b8554083e290534d135116f5b..b583f99929afa24969c82007e82f44db3e27e7af 100644 --- a/examples/cdi_append.c +++ b/examples/cdi_append.c @@ -11,7 +11,7 @@ main(void) nlev = 5, // Number of levels nts = 3, // Number of time steps }; - SizeType nmiss = 0; + SizeType numMissVals = 0; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -70,8 +70,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_copy.c b/examples/cdi_copy.c index 33c3dee245799cea0800f22964a2afa2e9963bc2..14ae4a55a540d9ada59496c459dbc377cad854ca 100644 --- a/examples/cdi_copy.c +++ b/examples/cdi_copy.c @@ -5,7 +5,6 @@ int main(void) { - // Open the input dataset int streamID1 = streamOpenRead("example.nc"); if (streamID1 < 0) @@ -17,11 +16,11 @@ main(void) // Get the variable list of the dataset int vlistID1 = streamInqVlist(streamID1); - int nvars = vlistNvars(vlistID1); + int numVars = vlistNvars(vlistID1); int varDataSize = 0; double *varData = NULL; - for (int varID = 0; varID < nvars; ++varID) + for (int varID = 0; varID < numVars; ++varID) { int varSize = vlistInqVarSize(vlistID1, varID); varDataSize = varSize > varDataSize ? varSize : varDataSize; @@ -52,13 +51,13 @@ main(void) // Define the output time step streamDefTimestep(streamID2, tsID); - for (int varID = 0; varID < nvars; ++varID) + for (int varID = 0; varID < numVars; ++varID) { - SizeType nmiss; + SizeType numMissVals; // Read var - streamReadVar(streamID1, varID, varData, &nmiss); + streamReadVar(streamID1, varID, varData, &numMissVals); // Write var - streamWriteVar(streamID2, varID, varData, nmiss); + streamWriteVar(streamID2, varID, varData, numMissVals); } ++tsID; } diff --git a/examples/cdi_copy_file.c b/examples/cdi_copy_file.c index 7cd915ee2287becb4cbdc64804c476d68b21619a..4f26a2868e95380b8b215e3487ae76c7908d30b7 100644 --- a/examples/cdi_copy_file.c +++ b/examples/cdi_copy_file.c @@ -12,7 +12,7 @@ main(int argc, char *argv[]) { int linfo = 0; int vlistID1, vlistID2, varID, streamID1, streamID2; - size_t nmiss; + size_t numMissVals; int nvars, status; double *vardata = NULL; const char *ifile, *ofile; @@ -63,7 +63,7 @@ main(int argc, char *argv[]) for (varID = 0; varID < nvars; ++varID) { /* Read variable */ - streamReadVar(streamID1, varID, vardata, &nmiss); + streamReadVar(streamID1, varID, vardata, &numMissVals); if (linfo) { @@ -84,7 +84,7 @@ main(int argc, char *argv[]) } /* Write variable */ - streamWriteVar(streamID2, varID, vardata, nmiss); + streamWriteVar(streamID2, varID, vardata, numMissVals); } tsID++; diff --git a/examples/cdi_read.c b/examples/cdi_read.c index f957f23476a27d155b51667e49db2a79355eae5f..13fc6e9273c1dc160263f2227a3f38a7c6b0ca38 100644 --- a/examples/cdi_read.c +++ b/examples/cdi_read.c @@ -11,7 +11,7 @@ main(void) nlev = 5, // Number of levels nts = 3, // Number of time steps }; - SizeType nmiss; + SizeType numMissVals; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -45,8 +45,8 @@ main(void) printf("read timestep %d: date=%d time=%d\n", tsID + 1, vdate, vtime); // Read var1 and var2 - streamReadVar(streamID, varID1, var1, &nmiss); - streamReadVar(streamID, varID2, var2, &nmiss); + streamReadVar(streamID, varID1, var1, &numMissVals); + streamReadVar(streamID, varID2, var2, &numMissVals); } // Close the input stream diff --git a/examples/cdi_read_atts.c b/examples/cdi_read_atts.c index f37f6c9e8c5e4550402acc5dac219d678f856db0..89cb1717dbd7700e5c71de79f7716dd1966aa4b3 100644 --- a/examples/cdi_read_atts.c +++ b/examples/cdi_read_atts.c @@ -10,7 +10,7 @@ int main(void) { int taxisID, vlistID, varID1, varID2, streamID; - size_t nmiss; + size_t numMissVals; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -63,8 +63,8 @@ main(void) int vtime = taxisInqVtime(taxisID); // Read var1 and var2 - streamReadVar(streamID, varID1, var1, &nmiss); - streamReadVar(streamID, varID2, var2, &nmiss); + streamReadVar(streamID, varID1, var1, &numMissVals); + streamReadVar(streamID, varID2, var2, &numMissVals); } // Close the input stream diff --git a/examples/cdi_read_float.c b/examples/cdi_read_float.c index 41267501d2244786bad447fe3ebac1c552fdd184..26914a7e39f6aef284f3668b567628c9e11c6916 100644 --- a/examples/cdi_read_float.c +++ b/examples/cdi_read_float.c @@ -10,7 +10,7 @@ int main(void) { int taxisID, vlistID, varID1, varID2, streamID; - size_t nmiss; + size_t numMissVals; float var1[nlon * nlat]; float var2[nlon * nlat * nlev]; @@ -43,8 +43,8 @@ main(void) int vtime = taxisInqVtime(taxisID); // Read var1 and var2 - streamReadVarF(streamID, varID1, var1, &nmiss); - streamReadVarF(streamID, varID2, var2, &nmiss); + streamReadVarF(streamID, varID1, var1, &numMissVals); + streamReadVarF(streamID, varID2, var2, &numMissVals); printf("tsID %d %d %d %g %g\n", tsID, vdate, vtime, var1[0], var2[0]); } diff --git a/examples/cdi_read_records.c b/examples/cdi_read_records.c index af891d07113e0259f601519d56f70eacba8f2eb7..74944638c280fb5c78b633959b36efa83cbf63ff 100644 --- a/examples/cdi_read_records.c +++ b/examples/cdi_read_records.c @@ -17,14 +17,14 @@ typedef struct { int streamID; int *varID, *levelID; - size_t *nmiss; + size_t *numMissVals; double *array; } read_arg_t; typedef struct { int varID, levelID; - size_t nmiss; + size_t numMissVals; double *array; int array_size; int recID, nrecs; @@ -41,7 +41,7 @@ typedef struct work_st typedef struct { int varID, levelID; - size_t nmiss; + size_t numMissVals; double *array; int array_size; int recID, nrecs; @@ -63,17 +63,17 @@ readRecord(void *arg) read_arg_t *read_arg = (read_arg_t *) arg; int streamID; int *varID, *levelID; - size_t *nmiss; + size_t *numMissVals; double *array; streamID = read_arg->streamID; varID = read_arg->varID; levelID = read_arg->levelID; - nmiss = read_arg->nmiss; + numMissVals = read_arg->numMissVals; array = read_arg->array; streamInqRecord(streamID, varID, levelID); - streamReadRecord(streamID, array, nmiss); + streamReadRecord(streamID, array, numMissVals); } #if defined(HAVE_LIBPTHREAD) @@ -253,7 +253,7 @@ destroy_iothread(void *p) #endif void -stream_read_record_par(int streamID, int *varID, int *levelID, double *array, size_t *nmiss, par_io_t *parIO) +stream_read_record_par(int streamID, int *varID, int *levelID, double *array, size_t *numMissVals, par_io_t *parIO) { int lpario = 0; int recID = 0, nrecs = 0; @@ -273,7 +273,7 @@ stream_read_record_par(int streamID, int *varID, int *levelID, double *array, si read_arg.streamID = streamID; read_arg.varID = varID; read_arg.levelID = levelID; - read_arg.nmiss = nmiss; + read_arg.numMissVals = numMissVals; read_arg.array = array; readRecord(&read_arg); @@ -285,7 +285,7 @@ stream_read_record_par(int streamID, int *varID, int *levelID, double *array, si *varID = parIO->varID; *levelID = parIO->levelID; - *nmiss = parIO->nmiss; + *numMissVals = parIO->numMissVals; memcpy(array, parIO->array, parIO->array_size * sizeof(double)); } @@ -301,7 +301,7 @@ stream_read_record_par(int streamID, int *varID, int *levelID, double *array, si read_arg->streamID = streamID; read_arg->varID = &parIO->varID; read_arg->levelID = &parIO->levelID; - read_arg->nmiss = &parIO->nmiss; + read_arg->numMissVals = &parIO->numMissVals; read_arg->array = parIO->array; dispatch(parIO->iothread, readRecord, read_arg); @@ -315,17 +315,17 @@ stream_read_record_par(int streamID, int *varID, int *levelID, double *array, si } void -stream_read_record(int streamID, int *varID, int *levelID, double *data, size_t *nmiss) +stream_read_record(int streamID, int *varID, int *levelID, double *data, size_t *numMissVals) { streamInqRecord(streamID, varID, levelID); - streamReadRecord(streamID, data, nmiss); + streamReadRecord(streamID, data, numMissVals); } int main(int argc, char *argv[]) { int taxisID, vlistID, varID, levelID, streamID, tsID; - size_t nmiss; + size_t numMissVals; int vdate, vtime; int nrecs, recID, code; int gridsize, i; @@ -377,9 +377,9 @@ main(int argc, char *argv[]) parIO.recID = recID; parIO.nrecs = nrecs; #ifdef PARIO - stream_read_record_par(streamID, &varID, &levelID, data, &nmiss, &parIO); + stream_read_record_par(streamID, &varID, &levelID, data, &numMissVals, &parIO); #else - stream_read_record(streamID, &varID, &levelID, data, &nmiss); + stream_read_record(streamID, &varID, &levelID, data, &numMissVals); #endif code = vlistInqVarCode(vlistID, varID); gridsize = gridInqSize(vlistInqVarGrid(vlistID, varID)); diff --git a/examples/cdi_read_time.c b/examples/cdi_read_time.c index d88c8bd88fced1e9662ee001cbedca424ec41d33..1058cee59ca5b58dc23be9c10d22c6200aad1845 100644 --- a/examples/cdi_read_time.c +++ b/examples/cdi_read_time.c @@ -8,7 +8,7 @@ main(void) const int nlat = 6; // Number of latitudes const int nlev = 5; // Number of levels const int nts = 20; // Number of time steps - size_t nmiss; + size_t numMissVals; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -42,8 +42,8 @@ main(void) printf("read timestep %d: date=%d time=%d\n", tsID + 1, vdate, vtime); // Read var1 and var2 - // streamReadVar(streamID, varID1, var1, &nmiss); - // streamReadVar(streamID, varID2, var2, &nmiss); + // streamReadVar(streamID, varID1, var1, &numMissVals); + // streamReadVar(streamID, varID2, var2, &numMissVals); } // Close the input stream diff --git a/examples/cdi_write.c b/examples/cdi_write.c index deceff1e94f790a0e74f0dfd69f3dbeba4e3797a..3426e112dc8877ee6d65e22c85e4b2e9972a14cd 100644 --- a/examples/cdi_write.c +++ b/examples/cdi_write.c @@ -11,10 +11,10 @@ main(void) nlev = 5, // Number of levels nts = 3, // Number of time steps }; - SizeType nmiss = 0; + SizeType numMissVals = 0; double lons[] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[] = { -75, -45, -15, 15, 45, 75 }; - double levs[] = { 101300, 92500, 85000, 50000, 20000 }; + double levels[] = { 101300, 92500, 85000, 50000, 20000 }; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -30,7 +30,7 @@ main(void) // Create a pressure level Z-axis int zaxisID2 = zaxisCreate(ZAXIS_PRESSURE, nlev); - zaxisDefLevels(zaxisID2, levs); + zaxisDefLevels(zaxisID2, levels); // Create a variable list int vlistID = vlistCreate(); @@ -75,8 +75,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_const.c b/examples/cdi_write_const.c index 920dac182434471342a16c14355ce3530bbcb929..d5d42156faac22c2d4ec165049c2d794042b1092 100644 --- a/examples/cdi_write_const.c +++ b/examples/cdi_write_const.c @@ -10,7 +10,7 @@ main(void) { int gridID, zaxisID1, zaxisID2; int vlistID, varID1, varID2, streamID; - size_t i, nmiss = 0; + size_t i, numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; @@ -71,8 +71,8 @@ main(void) for (i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); // Close the output stream streamClose(streamID); diff --git a/examples/cdi_write_curv_rll.c b/examples/cdi_write_curv_rll.c index b4d5984aa1e8ade1a2f1cf368983764ac1f48522..1699020bbe7f7ce80550757597d8789a3c208551 100644 --- a/examples/cdi_write_curv_rll.c +++ b/examples/cdi_write_curv_rll.c @@ -8,7 +8,7 @@ main(void) const int nlat = 6; // Number of latitudes const int nlev = 5; // Number of levels const int nts = 3; // Number of time steps - size_t nmiss = 0; + size_t numMissVals = 0; double levs[] = { 101300, 92500, 85000, 50000, 20000 }; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -105,8 +105,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_dbl.c b/examples/cdi_write_dbl.c index 9a48e7bd2cf775ed9f15802877a36a6de4d29e90..6eb4a4e2107e64d0f34530980e384c6a3f5f46c1 100644 --- a/examples/cdi_write_dbl.c +++ b/examples/cdi_write_dbl.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID, tsID; - size_t i, nmiss = 0; + size_t i, numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 5, 10, 50, 100, 500 }; @@ -76,8 +76,8 @@ main(void) for (i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_ens.c b/examples/cdi_write_ens.c index 1db9d139386e3a12f5fd83308f1ef3e4bd496aa2..cabeeda8b47cf90c9e4ebd644435c023e3ce7447 100644 --- a/examples/cdi_write_ens.c +++ b/examples/cdi_write_ens.c @@ -19,7 +19,7 @@ main(void) int tsID; int levelID; int vlistID, taxisID; - SizeType nmiss; + SizeType numMissVals; int instID; @@ -111,7 +111,7 @@ main(void) for (varID = 0; varID < nvars; varID++) { - streamReadVar(streamID1, varID, data, &nmiss); + streamReadVar(streamID1, varID, data, &numMissVals); /* int code = */ vlistInqVarCode(vlistID, varID); gridID = vlistInqVarGrid(vlistID, varID); @@ -127,7 +127,7 @@ main(void) /* int offset = gridsize*levelID; */ } - streamWriteVar(streamID2, varID, data, nmiss); + streamWriteVar(streamID2, varID, data, numMissVals); } tsID++; } diff --git a/examples/cdi_write_float.c b/examples/cdi_write_float.c index 6ffbd1b4a5ee6910de4201e7eb6d62d45dfff38d..75d9e904b0152511b9f96641b4132f6fb6f500dc 100644 --- a/examples/cdi_write_float.c +++ b/examples/cdi_write_float.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID, tsID; - size_t i, nmiss = 0; + size_t i, numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; @@ -75,8 +75,8 @@ main(void) for (i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVarF(streamID, varID1, var1, nmiss); - streamWriteVarF(streamID, varID2, var2, nmiss); + streamWriteVarF(streamID, varID1, var1, numMissVals); + streamWriteVarF(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_forecast.c b/examples/cdi_write_forecast.c index 658d8b5ce44f63d02be7750312ae78db586b5aa9..19acbfbfd81728073ee3e987928c0af83a624f6d 100644 --- a/examples/cdi_write_forecast.c +++ b/examples/cdi_write_forecast.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID, tsID; - size_t i, nmiss = 0; + size_t i, numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 101300 }; @@ -81,8 +81,8 @@ main(void) for (i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_gribkey.c b/examples/cdi_write_gribkey.c index be992754d8c07e2be23bec22d7543aa1fa3b46a0..32ec6daaa83ba21ed5c819e4f8d809b8855bdd73 100644 --- a/examples/cdi_write_gribkey.c +++ b/examples/cdi_write_gribkey.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; @@ -83,8 +83,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_hybrid.c b/examples/cdi_write_hybrid.c index 5437f12e5fec9786ee4ab81d4c07889ac3aa6894..4488f059543eab16d978acdd15d5bed5e3cc1dc8 100644 --- a/examples/cdi_write_hybrid.c +++ b/examples/cdi_write_hybrid.c @@ -12,7 +12,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, zaxisID3, zaxisID4, taxisID; int vlistID, varID1, varID2, varID3, varID4, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nhlev] = { 1, 2, 3, 4, 5, 6 }; @@ -102,10 +102,10 @@ main(void) for (size_t i = 0; i < nlon * nlat; ++i) var4[i + k * nlon * nlat] = 100 + k; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); - streamWriteVar(streamID, varID3, var3, nmiss); - streamWriteVar(streamID, varID4, var4, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); + streamWriteVar(streamID, varID3, var3, numMissVals); + streamWriteVar(streamID, varID4, var4, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_local.c b/examples/cdi_write_local.c index 35d88f92920fa08bb82e878e353b276eeb0a1c27..475ec0294b67e04a8cce1cc2a3386a732ebf20dc 100644 --- a/examples/cdi_write_local.c +++ b/examples/cdi_write_local.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; @@ -86,8 +86,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_pl.c b/examples/cdi_write_pl.c index 4a3ff88a9e8fd40caab1595f14987b7bfb47eb24..f05b66ec58a95510492087d2d3ceda6219e6059e 100644 --- a/examples/cdi_write_pl.c +++ b/examples/cdi_write_pl.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 100000.1, 10000.2, 1000.38, 100.4, 10.5 }; @@ -79,8 +79,8 @@ main(void) for (i = 0; i < nlon * nlat; i++) var2[i + k * nlon * nlat] = 2.2 + k; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_point.c b/examples/cdi_write_point.c index 84d9cdc72733d0660d3b1b19e7dd3d2fe272ade3..c4aa3e8576b96db03fc6b4506a5162bf058cc76d 100644 --- a/examples/cdi_write_point.c +++ b/examples/cdi_write_point.c @@ -10,7 +10,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; double var1; double var2[nlev]; @@ -68,8 +68,8 @@ main(void) for (size_t i = 0; i < nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, &var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, &var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_refgrid.c b/examples/cdi_write_refgrid.c index 9aa390199baf10d75ff76a414e5b175a4d2b63b5..d7a304906cfc45ef3886a5f0481a050bd4e768bc 100644 --- a/examples/cdi_write_refgrid.c +++ b/examples/cdi_write_refgrid.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -74,8 +74,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_refvgrid.c b/examples/cdi_write_refvgrid.c index f9ee3c4f64379b35a270c620ce550abe490dfc6b..5aaf38aa5dfdbc5f6c454e6c96ae29d3073eff95 100644 --- a/examples/cdi_write_refvgrid.c +++ b/examples/cdi_write_refvgrid.c @@ -11,7 +11,7 @@ main(void) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID, tsID; - size_t nmiss = 0; + size_t numMissVals = 0; double levs[nlev] = { 1, 2, 3, 4, 5 }; double var1[nlon * nlat]; double var2[nlon * nlat * nlev]; @@ -80,8 +80,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_relativ.c b/examples/cdi_write_relativ.c index 62c62bb6337613f3758ddf1dfcf575a086537623..a145a1c1216038eff36cb2384c115cc8ad10ad75 100644 --- a/examples/cdi_write_relativ.c +++ b/examples/cdi_write_relativ.c @@ -11,7 +11,7 @@ main(void) nlev = 5, // Number of levels nts = 3, // Number of time steps }; - int nmiss = 0; + int numMissVals = 0; double lons[] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[] = { -75, -45, -15, 15, 45, 75 }; double levs[] = { 101300, 92500, 85000, 50000, 20000 }; @@ -75,8 +75,8 @@ main(void) for (int i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/examples/cdi_write_reset.c b/examples/cdi_write_reset.c index ce6da51e52399d47afa9a46a5ef3ad0aad29278d..d6080b54796d1f14ffe353189f20c687aa51cb68 100644 --- a/examples/cdi_write_reset.c +++ b/examples/cdi_write_reset.c @@ -12,7 +12,7 @@ run(int irun) { int gridID, zaxisID1, zaxisID2, taxisID; int vlistID, varID1, varID2, streamID; - size_t nmiss = 0; + size_t numMissVals = 0; double lons[nlon] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[nlat] = { -75, -45, -15, 15, 45, 75 }; double levs[nlev] = { 101300, 92500, 85000, 50000, 20000 }; @@ -76,8 +76,8 @@ run(int irun) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } fprintf(stderr, "%d gridID=%d, zaxisID1=%d, vlistID=%d, streamID=%d\n", irun, gridID, zaxisID1, vlistID, streamID); diff --git a/examples/cdi_write_rll.c b/examples/cdi_write_rll.c index b936c39103aa288941e0b2d0686dde74f3e488b0..f8af829494599355c83f0cbdfb85b628ee7d5de0 100644 --- a/examples/cdi_write_rll.c +++ b/examples/cdi_write_rll.c @@ -8,7 +8,7 @@ main(void) const int nlat = 6; // Number of latitudes const int nlev = 5; // Number of levels const int nts = 3; // Number of time steps - size_t nmiss = 0; + size_t numMissVals = 0; double lons[] = { 0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330 }; double lats[] = { -75, -45, -15, 15, 45, 75 }; double levs[] = { 101300, 92500, 85000, 50000, 20000 }; @@ -76,8 +76,8 @@ main(void) for (size_t i = 0; i < nlon * nlat * nlev; i++) var2[i] = 2.2; // Write var1 and var2 - streamWriteVar(streamID, varID1, var1, nmiss); - streamWriteVar(streamID, varID2, var2, nmiss); + streamWriteVar(streamID, varID1, var1, numMissVals); + streamWriteVar(streamID, varID2, var2, numMissVals); } // Close the output stream diff --git a/src/cdf_read.c b/src/cdf_read.c index 1ecd04ae56283e01405ad18f4f71eed0b3750ba8..31b2a55e3aa4eac9a11d147bf4a5b73ba404427b 100644 --- a/src/cdf_read.c +++ b/src/cdf_read.c @@ -669,7 +669,7 @@ cdfReadDataSP(stream_t *streamptr, int varID, size_t length, size_t start[MAX_DI } static void -cdfReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) +cdfReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -681,11 +681,11 @@ cdfReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) size_t length = getSizeVar3D(vlistID, varID); cdfReadDataDP(streamptr, varID, length, start, count, data); - *nmiss = cdfDoInputDataTransformationDP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationDP(vlistID, varID, length, data); } static void -cdfReadVarSP(stream_t *streamptr, int varID, float *data, size_t *nmiss) +cdfReadVarSP(stream_t *streamptr, int varID, float *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -697,20 +697,20 @@ cdfReadVarSP(stream_t *streamptr, int varID, float *data, size_t *nmiss) size_t length = getSizeVar3D(vlistID, varID); cdfReadDataSP(streamptr, varID, length, start, count, data); - *nmiss = cdfDoInputDataTransformationSP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationSP(vlistID, varID, length, data); } void -cdf_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *nmiss) +cdf_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *numMissVals) { if (memtype == MEMTYPE_DOUBLE) - cdfReadVarDP(streamptr, varID, (double *) data, nmiss); + cdfReadVarDP(streamptr, varID, (double *) data, numMissVals); else - cdfReadVarSP(streamptr, varID, (float *) data, nmiss); + cdfReadVarSP(streamptr, varID, (float *) data, numMissVals); } static void -cdf_read_var_slice_DP(stream_t *streamptr, int tsID, int varID, int levelID, double *data, size_t *nmiss) +cdf_read_var_slice_DP(stream_t *streamptr, int tsID, int varID, int levelID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID=%d tsID=%d varID=%d levelID=%d", streamptr->self, tsID, varID, levelID); @@ -725,17 +725,17 @@ cdf_read_var_slice_DP(stream_t *streamptr, int tsID, int varID, int levelID, dou if (swapxy) transpose2dArrayDP(gridId, data); - *nmiss = cdfDoInputDataTransformationDP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationDP(vlistID, varID, length, data); } static void -cdfReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *nmiss) +cdfReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *numMissVals) { - cdf_read_var_slice_DP(streamptr, streamptr->curTsID, varID, levelID, data, nmiss); + cdf_read_var_slice_DP(streamptr, streamptr->curTsID, varID, levelID, data, numMissVals); } static void -cdf_read_var_slice_SP(stream_t *streamptr, int tsID, int varID, int levelID, float *data, size_t *nmiss) +cdf_read_var_slice_SP(stream_t *streamptr, int tsID, int varID, int levelID, float *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID=%d tsID=%d varID=%d levelID=%d", streamptr->self, tsID, varID, levelID); @@ -750,22 +750,22 @@ cdf_read_var_slice_SP(stream_t *streamptr, int tsID, int varID, int levelID, flo if (swapxy) transpose2dArraySP(gridId, data); - *nmiss = cdfDoInputDataTransformationSP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationSP(vlistID, varID, length, data); } static void -cdfReadVarSliceSP(stream_t *streamptr, int varID, int levelID, float *data, size_t *nmiss) +cdfReadVarSliceSP(stream_t *streamptr, int varID, int levelID, float *data, size_t *numMissVals) { - cdf_read_var_slice_SP(streamptr, streamptr->curTsID, varID, levelID, data, nmiss); + cdf_read_var_slice_SP(streamptr, streamptr->curTsID, varID, levelID, data, numMissVals); } void -cdf_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, void *data, size_t *nmiss) +cdf_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, void *data, size_t *numMissVals) { if (memtype == MEMTYPE_DOUBLE) - cdfReadVarSliceDP(streamptr, varID, levelID, (double *) data, nmiss); + cdfReadVarSliceDP(streamptr, varID, levelID, (double *) data, numMissVals); else - cdfReadVarSliceSP(streamptr, varID, levelID, (float *) data, nmiss); + cdfReadVarSliceSP(streamptr, varID, levelID, (float *) data, numMissVals); } typedef struct JobArgs @@ -774,7 +774,7 @@ typedef struct JobArgs int varID, levelID; int recID, tsID, memtype; void *data; - size_t gridsize, nmiss; + size_t gridsize, numMissVals; } JobArgs; static int @@ -783,9 +783,9 @@ cdf_read_data_async(void *untypedArgs) JobArgs *args = (JobArgs *) untypedArgs; if (args->memtype == MEMTYPE_DOUBLE) - cdf_read_var_slice_DP(args->streamptr, args->tsID, args->varID, args->levelID, (double *) args->data, &args->nmiss); + cdf_read_var_slice_DP(args->streamptr, args->tsID, args->varID, args->levelID, (double *) args->data, &args->numMissVals); else - cdf_read_var_slice_SP(args->streamptr, args->tsID, args->varID, args->levelID, (float *) args->data, &args->nmiss); + cdf_read_var_slice_SP(args->streamptr, args->tsID, args->varID, args->levelID, (float *) args->data, &args->numMissVals); return 0; } @@ -797,13 +797,13 @@ cdf_read_data(stream_t *streamptr, int recID, int memtype, void *data) int varID = streamptr->tsteps[tsID].records[recID].varID; int levelID = streamptr->tsteps[tsID].records[recID].levelID; - size_t nmiss = 0; + size_t numMissVals = 0; if (memtype == MEMTYPE_DOUBLE) - cdf_read_var_slice_DP(streamptr, tsID, varID, levelID, (double *) data, &nmiss); + cdf_read_var_slice_DP(streamptr, tsID, varID, levelID, (double *) data, &numMissVals); else - cdf_read_var_slice_SP(streamptr, tsID, varID, levelID, (float *) data, &nmiss); + cdf_read_var_slice_SP(streamptr, tsID, varID, levelID, (float *) data, &numMissVals); - return nmiss; + return numMissVals; } typedef struct JobDescriptor @@ -830,7 +830,7 @@ job_args_init(stream_t *streamptr, int tsID, int recID, int memtype, void *data) .memtype = memtype, .data = data, .gridsize = gridsize, - .nmiss = 0, + .numMissVals = 0, }; } @@ -843,11 +843,11 @@ JobDescriptor_startJob(AsyncManager *jobManager, JobDescriptor *me, stream_t *st } static void -JobDescriptor_finishJob(AsyncManager *jobManager, JobDescriptor *me, void *data, size_t *nmiss) +JobDescriptor_finishJob(AsyncManager *jobManager, JobDescriptor *me, void *data, size_t *numMissVals) { if (AsyncWorker_wait(jobManager, me->job)) xabort("error executing job in worker thread"); memcpy(data, me->args.data, me->args.gridsize * ((me->args.memtype == MEMTYPE_FLOAT) ? sizeof(float) : sizeof(double))); - *nmiss = me->args.nmiss; + *numMissVals = me->args.numMissVals; Free(me->args.data); me->args.recID = -1; // mark as inactive @@ -897,7 +897,7 @@ read_next_record(AsyncManager *jobManager, JobDescriptor *jd, stream_t *streampt } static void -cdf_read_next_record(stream_t *streamptr, int recID, int memtype, void *data, size_t *nmiss) +cdf_read_next_record(stream_t *streamptr, int recID, int memtype, void *data, size_t *numMissVals) { bool jobFound = false; @@ -934,24 +934,24 @@ cdf_read_next_record(stream_t *streamptr, int recID, int memtype, void *data, si if (jd->args.recID == recID && jd->args.tsID == tsID) { jobFound = true; - JobDescriptor_finishJob(jobManager, jd, data, nmiss); + JobDescriptor_finishJob(jobManager, jd, data, numMissVals); if (streamptr->nextGlobalRecId < streamptr->maxGlobalRecs) read_next_record(jobManager, jd, streamptr, memtype); } } } // perform the work synchronously if we didn't start a job for it yet - if (!jobFound) *nmiss = cdf_read_data(streamptr, recID, memtype, data); + if (!jobFound) *numMissVals = cdf_read_data(streamptr, recID, memtype, data); } void -cdf_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss) +cdf_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals) { int tsID = streamptr->curTsID; int vrecID = streamptr->tsteps[tsID].curRecID; int recID = streamptr->tsteps[tsID].recIDs[vrecID]; - cdf_read_next_record(streamptr, recID, memtype, data, nmiss); + cdf_read_next_record(streamptr, recID, memtype, data, numMissVals); } //---------------------------------------------------------------------------- @@ -960,7 +960,7 @@ cdf_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss) void cdfReadVarSliceDPPart(stream_t *streamptr, int varID, int levelID, int varType, int startpoint, size_t length, double *data, - size_t *nmiss) + size_t *numMissVals) { (void) (varType); @@ -986,12 +986,12 @@ cdfReadVarSliceDPPart(stream_t *streamptr, int varID, int levelID, int varType, if (swapxy) transpose2dArrayDP(gridId, data); - *nmiss = cdfDoInputDataTransformationDP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationDP(vlistID, varID, length, data); } void cdfReadVarSliceSPPart(stream_t *streamptr, int varID, int levelID, int varType, int startpoint, size_t length, float *data, - size_t *nmiss) + size_t *numMissVals) { (void) (varType); @@ -1017,24 +1017,24 @@ cdfReadVarSliceSPPart(stream_t *streamptr, int varID, int levelID, int varType, if (swapxy) transpose2dArraySP(gridId, data); - *nmiss = cdfDoInputDataTransformationSP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationSP(vlistID, varID, length, data); } static int cdiStreamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int start, size_t size, int memtype, void *data, - size_t *nmiss) + size_t *numMissVals) { int status = 0; if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); check_parg(data); - check_parg(nmiss); + check_parg(numMissVals); stream_t *streamptr = stream_to_pointer(streamID); int filetype = streamptr->filetype; - *nmiss = 0; + *numMissVals = 0; // currently we only care for netcdf data switch (cdiBaseFiletype(filetype)) @@ -1042,7 +1042,7 @@ cdiStreamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int #ifdef HAVE_LIBGRIB case CDI_FILETYPE_GRIB: { - grb_read_var_slice(streamptr, varID, levelID, memtype, data, nmiss); + grb_read_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); break; } #endif @@ -1050,9 +1050,9 @@ cdiStreamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int case CDI_FILETYPE_NETCDF: { if (memtype == MEMTYPE_FLOAT) - cdfReadVarSliceSPPart(streamptr, varID, levelID, varType, start, size, (float *) data, nmiss); + cdfReadVarSliceSPPart(streamptr, varID, levelID, varType, start, size, (float *) data, numMissVals); else - cdfReadVarSliceDPPart(streamptr, varID, levelID, varType, start, size, (double *) data, nmiss); + cdfReadVarSliceDPPart(streamptr, varID, levelID, varType, start, size, (double *) data, numMissVals); break; } #endif @@ -1068,7 +1068,7 @@ cdiStreamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int } void -cdfReadVarDPPart(stream_t *streamptr, int varID, int varType, int startpoint, size_t length, double *data, size_t *nmiss) +cdfReadVarDPPart(stream_t *streamptr, int varID, int varType, int startpoint, size_t length, double *data, size_t *numMissVals) { (void) (varType); if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -1085,11 +1085,11 @@ cdfReadVarDPPart(stream_t *streamptr, int varID, int varType, int startpoint, si cdf_get_vara_double(streamptr->fileID, ncvarid, start, count, data); - *nmiss = cdfDoInputDataTransformationDP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationDP(vlistID, varID, length, data); } void -cdfReadVarSPPart(stream_t *streamptr, int varID, int varType, int startpoint, size_t length, float *data, size_t *nmiss) +cdfReadVarSPPart(stream_t *streamptr, int varID, int varType, int startpoint, size_t length, float *data, size_t *numMissVals) { (void) (varType); if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -1106,22 +1106,22 @@ cdfReadVarSPPart(stream_t *streamptr, int varID, int varType, int startpoint, si cdf_get_vara_float(streamptr->fileID, ncvarid, start, count, data); - *nmiss = cdfDoInputDataTransformationSP(vlistID, varID, length, data); + *numMissVals = cdfDoInputDataTransformationSP(vlistID, varID, length, data); } static void -cdiStreamReadVarPart(int streamID, int varID, int varType, int start, size_t size, int memtype, void *data, size_t *nmiss) +cdiStreamReadVarPart(int streamID, int varID, int varType, int start, size_t size, int memtype, void *data, size_t *numMissVals) { (void) (varType); if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); check_parg(data); - check_parg(nmiss); + check_parg(numMissVals); stream_t *streamptr = stream_to_pointer(streamID); int filetype = streamptr->filetype; - *nmiss = 0; + *numMissVals = 0; // currently we only care for netcdf data switch (cdiBaseFiletype(filetype)) @@ -1129,7 +1129,7 @@ cdiStreamReadVarPart(int streamID, int varID, int varType, int start, size_t siz #ifdef HAVE_LIBGRIB case CDI_FILETYPE_GRIB: { - grb_read_var(streamptr, varID, memtype, data, nmiss); + grb_read_var(streamptr, varID, memtype, data, numMissVals); break; } #endif @@ -1137,9 +1137,9 @@ cdiStreamReadVarPart(int streamID, int varID, int varType, int start, size_t siz case CDI_FILETYPE_NETCDF: { if (memtype == MEMTYPE_FLOAT) - cdfReadVarSPPart(streamptr, varID, varType, start, size, (float *) data, nmiss); + cdfReadVarSPPart(streamptr, varID, varType, start, size, (float *) data, numMissVals); else - cdfReadVarDPPart(streamptr, varID, varType, start, size, (double *) data, nmiss); + cdfReadVarDPPart(streamptr, varID, varType, start, size, (double *) data, numMissVals); break; } @@ -1153,7 +1153,7 @@ cdiStreamReadVarPart(int streamID, int varID, int varType, int start, size_t siz } void -streamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int start, SizeType size, void *data, SizeType *nmiss, +streamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int start, SizeType size, void *data, SizeType *numMissVals, int memtype) { size_t numMiss = 0; @@ -1161,15 +1161,15 @@ streamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int st { Error("Unexpected error returned from cdiStreamReadVarSlicePart()!"); } - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } void -streamReadVarPart(int streamID, int varID, int varType, int start, SizeType size, void *data, SizeType *nmiss, int memtype) +streamReadVarPart(int streamID, int varID, int varType, int start, SizeType size, void *data, SizeType *numMissVals, int memtype) { size_t numMiss = 0; cdiStreamReadVarPart(streamID, varID, varType, start, size, memtype, data, &numMiss); - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } #endif /* HAVE_LIBNETCDF */ diff --git a/src/cdf_write.c b/src/cdf_write.c index 2599bae6e066f555c9d1351a99aa86d5348f6f8d..89f459aade4aaf937777e5ee50d061685d0a1404 100644 --- a/src/cdf_write.c +++ b/src/cdf_write.c @@ -1111,7 +1111,7 @@ cdfWriteGridTraj(stream_t *streamptr, int gridID) static void cdf_write_var_data(int fileID, int vlistID, int varID, int ncvarID, int dtype, size_t nvals, size_t xsize, size_t ysize, - bool swapxy, size_t *start, size_t *count, int memtype, const void *data, size_t nmiss) + bool swapxy, size_t *start, size_t *count, int memtype, const void *data, size_t numMissVals) { const double *pdata_dp = (const double *) data; double *mdata_dp = NULL; @@ -1135,7 +1135,7 @@ cdf_write_var_data(int fileID, int vlistID, int varID, int ncvarID, int dtype, s memcpy(mdata_sp, pdata_sp, nvals * sizeof(float)); pdata_sp = mdata_sp; - if (nmiss > 0) + if (numMissVals > 0) { for (size_t i = 0; i < nvals; ++i) { @@ -1165,7 +1165,7 @@ cdf_write_var_data(int fileID, int vlistID, int varID, int ncvarID, int dtype, s memcpy(mdata_dp, pdata_dp, nvals * sizeof(double)); pdata_dp = mdata_dp; - if (nmiss > 0) + if (numMissVals > 0) { for (size_t i = 0; i < nvals; ++i) { @@ -1263,7 +1263,7 @@ cdf_write_var_data(int fileID, int vlistID, int varID, int ncvarID, int dtype, s } } - Message("nvals = %zu, nmiss = %d, missval = %g, minval = %g, maxval = %g", nvals, nmiss, missval, fmin, fmax); + Message("nvals = %zu, numMissVals = %d, missval = %g, minval = %g, maxval = %g", nvals, numMissVals, missval, fmin, fmax); } } @@ -1409,7 +1409,7 @@ cdfDefineStartAndCount(stream_t *streamptr, int varID, int xid, int yid, int zid } void -cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t nmiss) +cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t numMissVals) { if (streamptr->accessmode == 0) cdfEndDef(streamptr); @@ -1438,12 +1438,12 @@ cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data, siz int dtype = vlistInqVarDatatype(vlistID, varID); - if (nmiss > 0) cdfDefVarMissval(streamptr, varID, dtype, 1); + if (numMissVals > 0) cdfDefVarMissval(streamptr, varID, dtype, 1); size_t nvals = gridInqSize(gridID) * (size_t) (zaxisInqSize(zaxisID)); bool swapxy = false; - cdf_write_var_data(fileID, vlistID, varID, ncvarID, dtype, nvals, xsize, ysize, swapxy, start, count, memtype, data, nmiss); + cdf_write_var_data(fileID, vlistID, varID, ncvarID, dtype, nvals, xsize, ysize, swapxy, start, count, memtype, data, numMissVals); } static void @@ -1504,7 +1504,7 @@ cdfDefineStartAndCountChunk(stream_t *streamptr, const int rect[][2], int varID, } void -cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype, const int rect[][2], const void *data, size_t nmiss) +cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype, const int rect[][2], const void *data, size_t numMissVals) { if (streamptr->accessmode == 0) cdfEndDef(streamptr); @@ -1535,12 +1535,12 @@ cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype, const int rect[ int dtype = vlistInqVarDatatype(vlistID, varID); - if (nmiss > 0) cdfDefVarMissval(streamptr, varID, dtype, 1); + if (numMissVals > 0) cdfDefVarMissval(streamptr, varID, dtype, 1); size_t nvals = gridInqSize(gridID) * (size_t) (zaxisInqSize(zaxisID)); bool swapxy = false; - cdf_write_var_data(fileID, vlistID, varID, ncvarID, dtype, nvals, xsize, ysize, swapxy, start, count, memtype, data, nmiss); + cdf_write_var_data(fileID, vlistID, varID, ncvarID, dtype, nvals, xsize, ysize, swapxy, start, count, memtype, data, numMissVals); } static void @@ -1595,7 +1595,7 @@ cdfDefineStartAndCountSlice(stream_t *streamptr, int varID, int levelID, int dim } void -cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t nmiss) +cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t numMissVals) { if (streamptr->accessmode == 0) cdfEndDef(streamptr); @@ -1622,19 +1622,19 @@ cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, co int dtype = vlistInqVarDatatype(vlistID, varID); - if (nmiss > 0) cdfDefVarMissval(streamptr, varID, dtype, 1); + if (numMissVals > 0) cdfDefVarMissval(streamptr, varID, dtype, 1); size_t nvals = gridInqSize(gridID); - cdf_write_var_data(fileID, vlistID, varID, ncvarID, dtype, nvals, xsize, ysize, swapxy, start, count, memtype, data, nmiss); + cdf_write_var_data(fileID, vlistID, varID, ncvarID, dtype, nvals, xsize, ysize, swapxy, start, count, memtype, data, numMissVals); } void -cdf_write_record(stream_t *streamptr, int memtype, const void *data, size_t nmiss) +cdf_write_record(stream_t *streamptr, int memtype, const void *data, size_t numMissVals) { int varID = streamptr->record->varID; int levelID = streamptr->record->levelID; - cdf_write_var_slice(streamptr, varID, levelID, memtype, data, nmiss); + cdf_write_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); } #endif diff --git a/src/cdi.h b/src/cdi.h index eed826b95864ee063d2c17525d1842a69ba6a9a0..9e4e48c311de2192b3875cd2ff00be71f36783bf 100644 --- a/src/cdi.h +++ b/src/cdi.h @@ -422,35 +422,35 @@ int streamInqNvars(int streamID); // STREAM var I/O routines (random access) // streamWriteVar: Write a variable -void streamWriteVar(int streamID, int varID, const double data[], SizeType nmiss); -void streamWriteVarF(int streamID, int varID, const float data[], SizeType nmiss); +void streamWriteVar(int streamID, int varID, const double data[], SizeType numMissVals); +void streamWriteVarF(int streamID, int varID, const float data[], SizeType numMissVals); // streamReadVar: Read a variable -void streamReadVar(int streamID, int varID, double data[], SizeType *nmiss); -void streamReadVarF(int streamID, int varID, float data[], SizeType *nmiss); -void streamReadVarPart(int streamID, int varID, int varType, int start, SizeType size, void *data, SizeType *nmiss, int memtype); +void streamReadVar(int streamID, int varID, double data[], SizeType *numMissVals); +void streamReadVarF(int streamID, int varID, float data[], SizeType *numMissVals); +void streamReadVarPart(int streamID, int varID, int varType, int start, SizeType size, void *data, SizeType *numMissVals, int memtype); // streamWriteVarSlice: Write a horizontal slice of a variable -void streamWriteVarSlice(int streamID, int varID, int levelID, const double data[], SizeType nmiss); -void streamWriteVarSliceF(int streamID, int varID, int levelID, const float data[], SizeType nmiss); -void streamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int start, SizeType size, void *data, SizeType *nmiss, int memtype); +void streamWriteVarSlice(int streamID, int varID, int levelID, const double data[], SizeType numMissVals); +void streamWriteVarSliceF(int streamID, int varID, int levelID, const float data[], SizeType numMissVals); +void streamReadVarSlicePart(int streamID, int varID, int levelID, int varType, int start, SizeType size, void *data, SizeType *numMissVals, int memtype); // streamReadVarSlice: Read a horizontal slice of a variable -void streamReadVarSlice(int streamID, int varID, int levelID, double data[], SizeType *nmiss); -void streamReadVarSliceF(int streamID, int varID, int levelID, float data[], SizeType *nmiss); +void streamReadVarSlice(int streamID, int varID, int levelID, double data[], SizeType *numMissVals); +void streamReadVarSliceF(int streamID, int varID, int levelID, float data[], SizeType *numMissVals); -void streamWriteVarChunk(int streamID, int varID, const int rect[][2], const double data[], SizeType nmiss); -void streamWriteVarChunkF(int streamID, int varID, const int rect[][2], const float data[], SizeType nmiss); +void streamWriteVarChunk(int streamID, int varID, const int rect[][2], const double data[], SizeType numMissVals); +void streamWriteVarChunkF(int streamID, int varID, const int rect[][2], const float data[], SizeType numMissVals); // STREAM record I/O routines (sequential access) void streamDefRecord(int streamID, int varID, int levelID); void streamInqRecord(int streamID, int *varID, int *levelID); -void streamWriteRecord(int streamID, const double data[], SizeType nmiss); -void streamWriteRecordF(int streamID, const float data[], SizeType nmiss); -void streamReadRecord(int streamID, double data[], SizeType *nmiss); -void streamReadRecordF(int streamID, float data[], SizeType *nmiss); +void streamWriteRecord(int streamID, const double data[], SizeType numMissVals); +void streamWriteRecordF(int streamID, const float data[], SizeType numMissVals); +void streamReadRecord(int streamID, double data[], SizeType *numMissVals); +void streamReadRecordF(int streamID, float data[], SizeType *numMissVals); void streamCopyRecord(int streamIDdest, int streamIDsrc); void streamInqGRIBinfo(int streamID, int *intnum, float *fltnum, off_t *bignum); @@ -489,8 +489,8 @@ char *cdiIterator_inqVariableName(CdiIterator *me); // The caller is respons int cdiIterator_inqGridId(CdiIterator *me); // The returned id is only valid until the next call to cdiIteratorNextField(). // Reading data -void cdiIterator_readField(CdiIterator *me, double data[], SizeType *nmiss_optional); -void cdiIterator_readFieldF(CdiIterator *me, float data[], SizeType *nmiss_optional); +void cdiIterator_readField(CdiIterator *me, double data[], SizeType *numMissVals_optional); +void cdiIterator_readFieldF(CdiIterator *me, float data[], SizeType *numMissVals_optional); // TODO[NH]: Add functions to read partial fields. diff --git a/src/cdi_int.h b/src/cdi_int.h index 95b84c928750a27b84c166f23ea08057de97ca31..c7449eb7a46c5ba54f3896715c6f23acb496a0b6 100644 --- a/src/cdi_int.h +++ b/src/cdi_int.h @@ -496,9 +496,9 @@ int streamOpenID(const char *filename, char filemode, int filetype, int resH); void cdiStreamDefVlist_(int streamID, int vlistID); -int cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeType nmiss); +int cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeType numMissVals); -void cdiStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2], const void *data, SizeType nmiss); +void cdiStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2], const void *data, SizeType numMissVals); void cdiStreamCloseDefaultDelegate(stream_t *streamptr, int recordBufIsToBeDeleted); int cdiStreamDefTimestep_(stream_t *streamptr, int tsID); diff --git a/src/cdipio.h b/src/cdipio.h index 72a5f9ac9a77531a532eac94e920239e74340f69..c1401954b50d34532c64686933ef115b9aceb2d6 100644 --- a/src/cdipio.h +++ b/src/cdipio.h @@ -80,14 +80,14 @@ void cdiPioStreamDefDecomposedVlist(int streamID, int vlistID, const Xt_idxlist * the corresponding array passed to streamWriteVar in the serial version. * The group of processes collectively calling streamWriteVarPart * must provide data for all indices or the behaviour is undefined. */ -void streamWriteVarPart(int streamID, int varID, const double *data, int nmiss, Xt_idxlist partDesc); +void streamWriteVarPart(int streamID, int varID, const double *data, int numMissVals, Xt_idxlist partDesc); /* streamWriteVarPartF: Write part of the data making up variable * varID of stream streamID. * * Single-precision version of streamWriteVarPart. */ -void streamWriteVarPartF(int streamID, int varID, const float *data, int nmiss, Xt_idxlist partDesc); +void streamWriteVarPartF(int streamID, int varID, const float *data, int numMissVals, Xt_idxlist partDesc); /* streamWriteScatteredVarPart: Write part of the data making up * variable varID of stream streamID. @@ -97,7 +97,7 @@ void streamWriteVarPartF(int streamID, int varID, const float *data, int nmiss, * blocklengths[i] and starting displacements[i] each for i in [0,numBlocks) */ void streamWriteScatteredVarPart(int streamID, int varID, const double *data, int numBlocks, const int blocklengths[], - const int displacements[], int nmiss, Xt_idxlist partDesc); + const int displacements[], int numMissVals, Xt_idxlist partDesc); /* streamWriteScatteredVarPartF: Write part of the data making up * variable varID of stream streamID. @@ -105,7 +105,7 @@ void streamWriteScatteredVarPart(int streamID, int varID, const double *data, in * Single-precision version of streamWriteScatteredVarPart. */ void streamWriteScatteredVarPartF(int streamID, int varID, const float *data, int numBlocks, const int blocklengths[], - const int displacements[], int nmiss, Xt_idxlist partDesc); + const int displacements[], int numMissVals, Xt_idxlist partDesc); /* cdiPioCSRLastN: return role codes appropriate to use the last \textit{nProcsIO} tasks as I/O servers */ int cdiPioCSRLastN(MPI_Comm commSuper, int IOMode, int nProcsIO); diff --git a/src/get_num_missvals.c b/src/get_num_missvals.c index 7f4b15e538754aaa2fbe4bba68b857de54997db2..5811799e930a9fdec9833d3cdddd19017a68c18c 100644 --- a/src/get_num_missvals.c +++ b/src/get_num_missvals.c @@ -4,7 +4,7 @@ size_t get_num_missvalsSP(size_t size, float *data, float missval) { - size_t nmiss = 0; + size_t numMissVals = 0; if (DBL_IS_NAN(missval)) { @@ -12,7 +12,7 @@ get_num_missvalsSP(size_t size, float *data, float missval) if (DBL_IS_EQUAL(data[i], missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } else @@ -21,17 +21,17 @@ get_num_missvalsSP(size_t size, float *data, float missval) if (IS_EQUAL(data[i], missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } - return nmiss; + return numMissVals; } size_t get_num_missvalsDP(size_t size, double *data, double missval) { - size_t nmiss = 0; + size_t numMissVals = 0; if (DBL_IS_NAN(missval)) { @@ -39,7 +39,7 @@ get_num_missvalsDP(size_t size, double *data, double missval) if (DBL_IS_EQUAL(data[i], missval) || DBL_IS_EQUAL(data[i], (float) missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } else @@ -48,17 +48,17 @@ get_num_missvalsDP(size_t size, double *data, double missval) if (IS_EQUAL(data[i], missval) || IS_EQUAL(data[i], (float) missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } - return nmiss; + return numMissVals; } size_t get_cplx_num_missvalsSP(size_t size, float *data, float missval) { - size_t nmiss = 0; + size_t numMissVals = 0; if (DBL_IS_NAN(missval)) { @@ -66,7 +66,7 @@ get_cplx_num_missvalsSP(size_t size, float *data, float missval) if (DBL_IS_EQUAL(data[i], missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } else @@ -75,17 +75,17 @@ get_cplx_num_missvalsSP(size_t size, float *data, float missval) if (IS_EQUAL(data[i], missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } - return nmiss; + return numMissVals; } size_t get_cplx_num_missvalsDP(size_t size, double *data, double missval) { - size_t nmiss = 0; + size_t numMissVals = 0; if (DBL_IS_NAN(missval)) { @@ -93,7 +93,7 @@ get_cplx_num_missvalsDP(size_t size, double *data, double missval) if (DBL_IS_EQUAL(data[i], missval) || DBL_IS_EQUAL(data[i], (float) missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } else @@ -102,9 +102,9 @@ get_cplx_num_missvalsDP(size_t size, double *data, double missval) if (IS_EQUAL(data[i], missval) || IS_EQUAL(data[i], (float) missval)) { data[i] = missval; - nmiss++; + numMissVals++; } } - return nmiss; + return numMissVals; } diff --git a/src/grb_read.c b/src/grb_read.c index 06d6c3458baf6e85b07eeda3ae0bccbbb1f017a9..0b3e609ef7df358fc88a49b3ebfdf1fb497c8a8f 100644 --- a/src/grb_read.c +++ b/src/grb_read.c @@ -20,7 +20,7 @@ static int grb_decode(int filetype, int memType, int datatype, void *cgribexp, void *gribbuffer, size_t gribsize, void *data, size_t datasize, - int unreduced, size_t *nmiss, double missval) + int unreduced, size_t *numMissVals, double missval) { int status = 0; @@ -31,7 +31,7 @@ grb_decode(int filetype, int memType, int datatype, void *cgribexp, void *gribbu extern int cdiNAdditionalGRIBKeys; if (cdiNAdditionalGRIBKeys > 0) Error("CGRIBEX decode does not support reading of additional GRIB keys!"); #endif - status = cgribexDecode(memType, cgribexp, gribbuffer, gribsize, data, datasize, unreduced, nmiss, missval); + status = cgribexDecode(memType, cgribexp, gribbuffer, gribsize, data, datasize, unreduced, numMissVals, missval); } else #endif @@ -43,7 +43,7 @@ grb_decode(int filetype, int memType, int datatype, void *cgribexp, void *gribbu // if (useFloatInterface) printf("gribapi read: useFloatInterface\n"); - status = gribapiDecode(memTypeX, gribbuffer, gribsize, datap, datasize, unreduced, nmiss, missval); + status = gribapiDecode(memTypeX, gribbuffer, gribsize, datap, datasize, unreduced, numMissVals, missval); if (!useFloatInterface && memType == MEMTYPE_FLOAT) { @@ -112,7 +112,7 @@ typedef struct JobArgs { int recID, tsID, *outZip, filetype, memType, datatype, unreduced; void *cgribexp, *gribbuffer, *data; - size_t recsize, gridsize, nmiss; + size_t recsize, gridsize, numMissVals; double missval; } JobArgs; @@ -122,7 +122,7 @@ grb_decode_record(void *untypedArgs) JobArgs *args = (JobArgs *) untypedArgs; *args->outZip = grib1_unzip_record(args->gribbuffer, &args->recsize); grb_decode(args->filetype, args->memType, args->datatype, args->cgribexp, args->gribbuffer, args->recsize, args->data, - args->gridsize, args->unreduced, &args->nmiss, args->missval); + args->gridsize, args->unreduced, &args->numMissVals, args->missval); return 0; } @@ -177,7 +177,7 @@ grb_read_raw_data(stream_t *streamptr, int tsID, int recID, int memType, void *g .data = data, .recsize = recsize, .gridsize = gridsize, - .nmiss = 0, + .numMissVals = 0, .missval = vlistInqVarMissval(vlistID, varID), .datatype = vlistInqVarDatatype(vlistID, varID), }; @@ -188,7 +188,7 @@ grb_read_and_decode_record(stream_t *streamptr, int recID, int memType, void *da { JobArgs args = grb_read_raw_data(streamptr, streamptr->curTsID, recID, memType, streamptr->record->buffer, data, resetFilePos); grb_decode_record(&args); - return args.nmiss; + return args.numMissVals; } typedef struct JobDescriptor @@ -206,11 +206,11 @@ JobDescriptor_startJob(AsyncManager *jobManager, JobDescriptor *me, stream_t *st } static void -JobDescriptor_finishJob(AsyncManager *jobManager, JobDescriptor *me, void *data, size_t *nmiss) +JobDescriptor_finishJob(AsyncManager *jobManager, JobDescriptor *me, void *data, size_t *numMissVals) { if (AsyncWorker_wait(jobManager, me->job)) xabort("error executing job in worker thread"); memcpy(data, me->args.data, me->args.gridsize * ((me->args.memType == MEMTYPE_FLOAT) ? sizeof(float) : sizeof(double))); - *nmiss = me->args.nmiss; + *numMissVals = me->args.numMissVals; Free(me->args.gribbuffer); Free(me->args.data); @@ -261,7 +261,7 @@ read_next_record(AsyncManager *jobManager, JobDescriptor *jd, stream_t *streampt } static void -grb_read_next_record(stream_t *streamptr, int recID, int memType, void *data, size_t *nmiss) +grb_read_next_record(stream_t *streamptr, int recID, int memType, void *data, size_t *numMissVals) { bool jobFound = false; @@ -298,37 +298,37 @@ grb_read_next_record(stream_t *streamptr, int recID, int memType, void *data, si if (jd->args.recID == recID && jd->args.tsID == tsID) { jobFound = true; - JobDescriptor_finishJob(jobManager, jd, data, nmiss); + JobDescriptor_finishJob(jobManager, jd, data, numMissVals); if (streamptr->nextGlobalRecId < streamptr->maxGlobalRecs) read_next_record(jobManager, jd, streamptr, memType); } } } // perform the work synchronously if we didn't start a job for it yet - if (!jobFound) *nmiss = grb_read_and_decode_record(streamptr, recID, memType, data, false); + if (!jobFound) *numMissVals = grb_read_and_decode_record(streamptr, recID, memType, data, false); } void -grb_read_record(stream_t *streamptr, int memType, void *data, size_t *nmiss) +grb_read_record(stream_t *streamptr, int memType, void *data, size_t *numMissVals) { int tsID = streamptr->curTsID; int vrecID = streamptr->tsteps[tsID].curRecID; int recID = streamptr->tsteps[tsID].recIDs[vrecID]; - grb_read_next_record(streamptr, recID, memType, data, nmiss); + grb_read_next_record(streamptr, recID, memType, data, numMissVals); } void -grb_read_var_slice(stream_t *streamptr, int varID, int levelID, int memType, void *data, size_t *nmiss) +grb_read_var_slice(stream_t *streamptr, int varID, int levelID, int memType, void *data, size_t *numMissVals) { int isub = subtypeInqActiveIndex(streamptr->vars[varID].subtypeID); int recID = streamptr->vars[varID].recordTable[isub].recordID[levelID]; - *nmiss = grb_read_and_decode_record(streamptr, recID, memType, data, true); + *numMissVals = grb_read_and_decode_record(streamptr, recID, memType, data, true); } void -grb_read_var(stream_t *streamptr, int varID, int memType, void *data, size_t *nmiss) +grb_read_var(stream_t *streamptr, int varID, int memType, void *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -343,14 +343,14 @@ grb_read_var(stream_t *streamptr, int varID, int memType, void *data, size_t *nm if (CDI_Debug) Message("nlevs = %d gridID = %d gridsize = %zu", nlevs, gridID, gridsize); - *nmiss = 0; + *numMissVals = 0; for (int levelID = 0; levelID < nlevs; levelID++) { int recID = streamptr->vars[varID].recordTable[isub].recordID[levelID]; size_t offset = levelID * gridsize; void *datap = (memType == MEMTYPE_FLOAT) ? (void *) ((float *) data + offset) : (void *) ((double *) data + offset); - *nmiss += grb_read_and_decode_record(streamptr, recID, memType, datap, false); + *numMissVals += grb_read_and_decode_record(streamptr, recID, memType, datap, false); } fileSetPos(fileID, currentfilepos, SEEK_SET); diff --git a/src/grb_write.c b/src/grb_write.c index e71004aa00c719a210c39a4cadbc6d04faf18481..e730c6167c4ee1fd609480b8a4c7dd910d1faada 100644 --- a/src/grb_write.c +++ b/src/grb_write.c @@ -25,7 +25,7 @@ static size_t grb_encode(int filetype, int memType, int datatype, int varID, int levelID, int vlistID, int gridID, int zaxisID, - CdiDateTime vDateTime, int tsteptype, int numavg, size_t datasize, const void *data, size_t nmiss, void **gribbuffer, + CdiDateTime vDateTime, int tsteptype, int numavg, size_t datasize, const void *data, size_t numMissVals, void **gribbuffer, int comptype, void *gribContainers) { size_t nbytes = 0; @@ -36,7 +36,7 @@ grb_encode(int filetype, int memType, int datatype, int varID, int levelID, int size_t gribbuffersize = datasize * 4 + 3000; *gribbuffer = Malloc(gribbuffersize); - nbytes = cgribexEncode(memType, varID, levelID, vlistID, gridID, zaxisID, vDateTime, tsteptype, numavg, datasize, data, nmiss, + nbytes = cgribexEncode(memType, varID, levelID, vlistID, gridID, zaxisID, vDateTime, tsteptype, numavg, datasize, data, numMissVals, *gribbuffer, gribbuffersize); } else @@ -67,7 +67,7 @@ grb_encode(int filetype, int memType, int datatype, int varID, int levelID, int size_t gribbuffersize; nbytes = gribapiEncode(memTypeX, varID, levelID, vlistID, gridID, zaxisID, vDateTime, tsteptype, numavg, (long) datasize, - datap, nmiss, gribbuffer, &gribbuffersize, comptype, gribContainer); + datap, numMissVals, gribbuffer, &gribbuffersize, comptype, gribContainer); if (!useFloatInterface && memType == MEMTYPE_FLOAT) Free((void *) datap); } @@ -311,7 +311,7 @@ grbCopyRecord(stream_t *streamptr2, stream_t *streamptr1) if (scanModeIN != cdiGribDataScanningMode.value) { - size_t nmiss = 0; + size_t numMissVals = 0; int vlistID = streamptr1->vlistID; int varID = record->varID; @@ -324,7 +324,7 @@ grbCopyRecord(stream_t *streamptr2, stream_t *streamptr1) if (cdiDebugExt >= 20) Message(" processing varID %d; levelID %d", varID, levelID); - grb_write_var_slice(streamptr2, varID, levelID, MEMTYPE_DOUBLE, (const void *) data, nmiss); + grb_write_var_slice(streamptr2, varID, levelID, MEMTYPE_DOUBLE, (const void *) data, numMissVals); free(data); } @@ -374,7 +374,7 @@ grbCopyRecord(stream_t *streamptr2, stream_t *streamptr1) } void -grb_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t nmiss) +grb_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t numMissVals) { int filetype = streamptr->filetype; int fileID = streamptr->fileID; @@ -403,7 +403,7 @@ grb_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, co void *gribbuffer = NULL; size_t nbytes = grb_encode(filetype, memtype, datatype, varID, levelID, vlistID, gridID, zaxisID, vDateTime, tsteptype, numavg, - datasize, data, nmiss, &gribbuffer, comptype, streamptr->gribContainers); + datasize, data, numMissVals, &gribbuffer, comptype, streamptr->gribContainers); if (filetype == CDI_FILETYPE_GRB && (comptype == CDI_COMPRESS_SZIP || comptype == CDI_COMPRESS_AEC)) nbytes = grbSzip(filetype, gribbuffer, nbytes); @@ -455,7 +455,7 @@ grb_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, co } void -grb_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t nmiss) +grb_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t numMissVals) { int vlistID = streamptr->vlistID, gridID = vlistInqVarGrid(vlistID, varID), zaxisID = vlistInqVarZaxis(vlistID, varID), nlevs = zaxisInqSize(zaxisID); @@ -468,31 +468,31 @@ grb_write_var(stream_t *streamptr, int varID, int memtype, const void *data, siz { const float *restrict fdata = ((const float *) data) + levelID * gridsize; - size_t nmiss_slice = 0; - if (nmiss) - for (size_t i = 0; i < chunkLen; ++i) nmiss_slice += DBL_IS_EQUAL(fdata[i], missval); + size_t numMissVals_slice = 0; + if (numMissVals) + for (size_t i = 0; i < chunkLen; ++i) numMissVals_slice += DBL_IS_EQUAL(fdata[i], missval); - grb_write_var_slice(streamptr, varID, levelID, memtype, fdata, nmiss_slice); + grb_write_var_slice(streamptr, varID, levelID, memtype, fdata, numMissVals_slice); } else for (int levelID = 0; levelID < nlevs; levelID++) { const double *restrict ddata = ((const double *) data) + levelID * gridsize; - size_t nmiss_slice = 0; - if (nmiss) - for (size_t i = 0; i < chunkLen; ++i) nmiss_slice += DBL_IS_EQUAL(ddata[i], missval); + size_t numMissVals_slice = 0; + if (numMissVals) + for (size_t i = 0; i < chunkLen; ++i) numMissVals_slice += DBL_IS_EQUAL(ddata[i], missval); - grb_write_var_slice(streamptr, varID, levelID, memtype, ddata, nmiss_slice); + grb_write_var_slice(streamptr, varID, levelID, memtype, ddata, numMissVals_slice); } } void -grb_write_record(stream_t *streamptr, int memtype, const void *data, size_t nmiss) +grb_write_record(stream_t *streamptr, int memtype, const void *data, size_t numMissVals) { int varID = streamptr->record->varID; int levelID = streamptr->record->levelID; - grb_write_var_slice(streamptr, varID, levelID, memtype, data, nmiss); + grb_write_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); } #endif diff --git a/src/iterator.c b/src/iterator.c index c1d20c087c955bd52df91e37ad476d6775cd14ce..6c152276472c312759391ae8bf5c989ccb0b7f8f 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -956,18 +956,18 @@ cdiIterator_inqGridId(CdiIterator *me) @Function cdiIterator_readField @Title Read the whole field into a double buffer -@Prototype void cdiIterator_readField(CdiIterator *me, double *buffer, SizeType *nmiss) +@Prototype void cdiIterator_readField(CdiIterator *me, double *buffer, SizeType *numMissVals) @Parameter @item iterator The iterator to operate on. @item buffer A pointer to the double array that the data should be written to. - @item nmiss A pointer to a variable where the count of missing values will be stored. May be NULL. + @item numMissVals A pointer to a variable where the count of missing values will be stored. May be NULL. @Description It is assumed that the caller first analyses the return value of cdiIterator_inqGridId to determine the required size of the buffer. Failing to do so results in undefined behavior. You have been warned. */ void -cdiIterator_readField(CdiIterator *me, double *buffer, SizeType *nmiss) +cdiIterator_readField(CdiIterator *me, double *buffer, SizeType *numMissVals) { size_t numMiss = 0; sanityCheck(me); @@ -995,25 +995,25 @@ cdiIterator_readField(CdiIterator *me, double *buffer, SizeType *nmiss) default: Error(kUnexpectedFileTypeMessage); } - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } /* @Function cdiIterator_readFieldF @Title Read the whole field into a double buffer -@Prototype void cdiIterator_readFieldF(CdiIterator me, float *buffer, SizeType *nmiss) +@Prototype void cdiIterator_readFieldF(CdiIterator me, float *buffer, SizeType *numMissVals) @Parameter @item iterator The iterator to operate on. @item buffer A pointer to the double array that the data should be written to. - @item nmiss A pointer to a variable where the count of missing values will be stored. May be NULL. + @item numMissVals A pointer to a variable where the count of missing values will be stored. May be NULL. @Description It is assumed that the caller first analyses the return value of cdiIterator_inqGridId to determine the required size of the buffer. Failing to do so results in undefined behavior. You have been warned. */ void -cdiIterator_readFieldF(CdiIterator *me, float *buffer, SizeType *nmiss) +cdiIterator_readFieldF(CdiIterator *me, float *buffer, SizeType *numMissVals) { size_t numMiss = 0; sanityCheck(me); @@ -1041,7 +1041,7 @@ cdiIterator_readFieldF(CdiIterator *me, float *buffer, SizeType *nmiss) default: Error(kUnexpectedFileTypeMessage); } - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } /* diff --git a/src/iterator_fallback.c b/src/iterator_fallback.c index ae78db1c4d1130d6881e469fade424e2a767119c..4be6f2faf6ed456d1bcfaac4e4ba939de8de165c 100644 --- a/src/iterator_fallback.c +++ b/src/iterator_fallback.c @@ -403,21 +403,21 @@ cdiFallbackIterator_copyVariableName(CdiIterator *super) } void -cdiFallbackIterator_readField(CdiIterator *super, double *buffer, size_t *nmiss) +cdiFallbackIterator_readField(CdiIterator *super, double *buffer, size_t *numMissVals) { CdiFallbackIterator *me = (CdiFallbackIterator *) (void *) super; SizeType missingValues = 0; streamReadVarSlice(me->streamId, me->curVariable, me->curLevel, buffer, &missingValues); - if (nmiss) *nmiss = (size_t) missingValues; + if (numMissVals) *numMissVals = (size_t) missingValues; } void -cdiFallbackIterator_readFieldF(CdiIterator *super, float *buffer, size_t *nmiss) +cdiFallbackIterator_readFieldF(CdiIterator *super, float *buffer, size_t *numMissVals) { CdiFallbackIterator *me = (CdiFallbackIterator *) (void *) super; SizeType missingValues = 0; streamReadVarSliceF(me->streamId, me->curVariable, me->curLevel, buffer, &missingValues); - if (nmiss) *nmiss = (size_t) missingValues; + if (numMissVals) *numMissVals = (size_t) missingValues; } /* diff --git a/src/iterator_fallback.h b/src/iterator_fallback.h index e3c9514308ed3498898c2e9f50573b742d8457b1..1828a4992aa88b076eaa80462c9d6194ed16758d 100644 --- a/src/iterator_fallback.h +++ b/src/iterator_fallback.h @@ -37,8 +37,8 @@ char *cdiFallbackIterator_copyVariableName(CdiIterator *me); int cdiFallbackIterator_inqTile(CdiIterator *me, int *outTileIndex, int *outTileAttribute); int cdiFallbackIterator_inqTileCount(CdiIterator *me, int *outTileCount, int *outTileAttributeCount); -void cdiFallbackIterator_readField(CdiIterator *me, double *buffer, size_t *nmiss); -void cdiFallbackIterator_readFieldF(CdiIterator *me, float *buffer, size_t *nmiss); +void cdiFallbackIterator_readField(CdiIterator *me, double *buffer, size_t *numMissVals); +void cdiFallbackIterator_readFieldF(CdiIterator *me, float *buffer, size_t *numMissVals); void cdiFallbackIterator_delete(CdiIterator *super); diff --git a/src/iterator_grib.c b/src/iterator_grib.c index eb49ebf622b75b13cb0123c758ce4cc06808b052..7b5219f0a6421294e95cfc08aeaa16072b62da2f 100644 --- a/src/iterator_grib.c +++ b/src/iterator_grib.c @@ -619,28 +619,28 @@ cdiGribIterator_copyVariableName(CdiIterator *super) } void -cdiGribIterator_readField(CdiIterator *super, double *buffer, size_t *nmiss) +cdiGribIterator_readField(CdiIterator *super, double *buffer, size_t *numMissVals) { CdiGribIterator *me = (CdiGribIterator *) (void *) super; GRIB_CHECK(my_grib_set_double(me->gribHandle, "missingValue", CDI_Default_Missval), 0); gribGetDoubleArray(me->gribHandle, "values", buffer); long gridType = gribGetLong(me->gribHandle, "gridDefinitionTemplateNumber"); - if (nmiss) + if (numMissVals) { // The condition excludes harmonic data. - *nmiss = (gridType >= 50 && gridType <= 53) ? (size_t) 0 : (size_t) gribGetLong(me->gribHandle, "numberOfMissing"); + *numMissVals = (gridType >= 50 && gridType <= 53) ? (size_t) 0 : (size_t) gribGetLong(me->gribHandle, "numberOfMissing"); } } void -cdiGribIterator_readFieldF(CdiIterator *super, float *buffer, size_t *nmiss) +cdiGribIterator_readFieldF(CdiIterator *super, float *buffer, size_t *numMissVals) { CdiGribIterator *me = (CdiGribIterator *) (void *) super; size_t valueCount = gribGetArraySize(me->gribHandle, "values"); double *temp = (double *) Malloc(valueCount * sizeof(*temp)); - cdiGribIterator_readField(super, temp, nmiss); + cdiGribIterator_readField(super, temp, numMissVals); for (size_t i = valueCount; i--;) buffer[i] = (float) temp[i]; Free(temp); } diff --git a/src/iterator_grib.h b/src/iterator_grib.h index a71617f962e29f7234d44417a5efb6f794cc8707..a524c8cd5bfa6070e55eaa2e33dca7f8d110f08a 100644 --- a/src/iterator_grib.h +++ b/src/iterator_grib.h @@ -39,8 +39,8 @@ int cdiGribIterator_inqTile(CdiIterator *me, int *outTileIndex, int *outTileAttr int cdiGribIterator_inqTileCount(CdiIterator *me, int *outTileCount, int *outTileAttributeCount); char *cdiGribIterator_copyVariableName(CdiIterator *me); -void cdiGribIterator_readField(CdiIterator *me, double *buffer, size_t *nmiss); -void cdiGribIterator_readFieldF(CdiIterator *me, float *buffer, size_t *nmiss); +void cdiGribIterator_readField(CdiIterator *me, double *buffer, size_t *numMissVals); +void cdiGribIterator_readFieldF(CdiIterator *me, float *buffer, size_t *numMissVals); #endif diff --git a/src/pio_client.c b/src/pio_client.c index e56f14b988fd579bfb47d68f963221d40d09a883..a312c53f6a54055be5faa39cdbbe1860d0348b2a 100644 --- a/src/pio_client.c +++ b/src/pio_client.c @@ -303,7 +303,7 @@ cdiPioStreamDefDecomposedVlist(int streamID, int vlistID, const Xt_idxlist partD } static void -cdiPioClientStreamWriteVar_(int streamID, int varID, int memtype, const void *data, size_t nmiss) +cdiPioClientStreamWriteVar_(int streamID, int varID, int memtype, const void *data, size_t numMissVals) { struct partDescPreset clientDeco = cdiPioGetStreamPartDescPreset(streamID); int vlistID = streamInqVlist(streamID); @@ -316,7 +316,7 @@ cdiPioClientStreamWriteVar_(int streamID, int varID, int memtype, const void *da xabort("data type does not match pre-declared conversion for stream %d," " variable ID %d!", streamID, varID); - cdiPioStreamWriteVarPart_(streamID, varID, memtype, data, nmiss, clientDeco.lists[varID]); + cdiPioStreamWriteVarPart_(streamID, varID, memtype, data, numMissVals, clientDeco.lists[varID]); } static struct cdiPioIdxlistCache *clientIdxlistCache; @@ -324,7 +324,7 @@ static size_t neededClientIdxlistCacheSize; static struct idList seenStreamWriteVarChunk; static void -cdiPioClientStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2], const void *data, size_t nmiss) +cdiPioClientStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2], const void *data, size_t numMissVals) { if (memtype != MEMTYPE_DOUBLE && memtype != MEMTYPE_FLOAT) Error("Writing of type data %d not implemented!", memtype); int vlistID = streamInqVlist(streamID); @@ -357,7 +357,7 @@ cdiPioClientStreamWriteVarChunk_(int streamID, int varID, int memtype, const int const int sliceShape[]) = (ndims == 3) ? cdiPioIdxlistCacheAddSection3D : cdiPioIdxlistCacheAddSection2D; Xt_idxlist chunkDesc = cacheSection(clientIdxlistCache, varShapeXt, origin, chunkShape); - cdiPioBufferPartData(streamID, varID, memtype, data, nmiss, chunkDesc); + cdiPioBufferPartData(streamID, varID, memtype, data, numMissVals, chunkDesc); } #if defined HAVE_LIBNETCDF diff --git a/src/pio_interface.c b/src/pio_interface.c index 96b28490c6a1db6d66fe35fe44e3853e8ef06086..fa1c6ab8eeca63f8ffe94c9d6286de3a176a3f0b 100644 --- a/src/pio_interface.c +++ b/src/pio_interface.c @@ -317,7 +317,7 @@ cdiPioRDMAProgress(void) } static void -cdiPioBufferPartData_(int streamID, int varID, int memtype, const void *packData, valPackFunc packDataFunc, size_t nmiss, +cdiPioBufferPartData_(int streamID, int varID, int memtype, const void *packData, valPackFunc packDataFunc, size_t numMissVals, Xt_idxlist partDesc) { size_t streamIdx = indexOfID(&openStreams, streamID); @@ -325,7 +325,7 @@ cdiPioBufferPartData_(int streamID, int varID, int memtype, const void *packData xassert(varID >= 0 && varID < streamInqNvars(streamID)); collWaitAll(); int dataHeaderID = memtype == MEMTYPE_DOUBLE ? DATA_HEADER_DOUBLE : DATA_HEADER_FLOAT; - struct winHeaderEntry dataHeader = { .id = dataHeaderID, .specific.dataRecord = { varID, nmiss }, .offset = -1 }; + struct winHeaderEntry dataHeader = { .id = dataHeaderID, .specific.dataRecord = { varID, numMissVals }, .offset = -1 }; modelWinEnqueue(streamIdx, dataHeader, packData, packDataFunc); { struct winHeaderEntry partHeader = { .id = PARTDESCMARKER, .offset = 0 }; @@ -343,11 +343,11 @@ memtype2ElemSize(int memtype) } void -cdiPioBufferPartData(int streamID, int varID, int memtype, const void *data, size_t nmiss, Xt_idxlist partDesc) +cdiPioBufferPartData(int streamID, int varID, int memtype, const void *data, size_t numMissVals, Xt_idxlist partDesc) { size_t chunk = (size_t) (xt_idxlist_get_num_indices(partDesc)); size_t elemSize = memtype2ElemSize(memtype); - cdiPioBufferPartData_(streamID, varID, memtype, &(struct memCpyDataDesc){ data, chunk * elemSize }, memcpyPackFunc, nmiss, + cdiPioBufferPartData_(streamID, varID, memtype, &(struct memCpyDataDesc){ data, chunk * elemSize }, memcpyPackFunc, numMissVals, partDesc); } @@ -394,7 +394,7 @@ scatterGatherPackFunc(void *dataDesc, void *buf, int size, int *pos, void *conte void cdiPioBufferPartDataGather(int streamID, int varID, int memtype, const void *data, int numBlocks, const int blocklengths[], - const int displacements[], size_t nmiss, Xt_idxlist partDesc) + const int displacements[], size_t numMissVals, Xt_idxlist partDesc) { xassert(numBlocks >= 0); cdiPioBufferPartData_(streamID, varID, memtype, @@ -404,7 +404,7 @@ cdiPioBufferPartDataGather(int streamID, int varID, int memtype, const void *dat .elemSize = memtype2ElemSize(memtype), .numBlocks = (unsigned) numBlocks, .numElems = (unsigned) xt_idxlist_get_num_indices(partDesc) }, - scatterGatherPackFunc, nmiss, partDesc); + scatterGatherPackFunc, numMissVals, partDesc); } /************************************************************************/ @@ -747,36 +747,36 @@ pioWriteTimestep(void) } void -cdiPioStreamWriteVarPart_(int streamID, int varID, int memtype, const void *data, int nmiss, Xt_idxlist partDesc) +cdiPioStreamWriteVarPart_(int streamID, int varID, int memtype, const void *data, int numMissVals, Xt_idxlist partDesc) { if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); int chunk = xt_idxlist_get_num_indices(partDesc); xassert(chunk == 0 || data); - void (*myStreamWriteVarPart)(int streamID, int varID, int memtype, const void *data, int nmiss, Xt_idxlist partDesc) + void (*myStreamWriteVarPart)(int streamID, int varID, int memtype, const void *data, int numMissVals, Xt_idxlist partDesc) = (void (*)(int, int, int, const void *, int, Xt_idxlist)) namespaceSwitchGet(NSSWITCH_STREAM_WRITE_VAR_PART_).func; if (!myStreamWriteVarPart) xabort("local part writing is unsupported!"); - myStreamWriteVarPart(streamID, varID, memtype, data, nmiss, partDesc); + myStreamWriteVarPart(streamID, varID, memtype, data, numMissVals, partDesc); } void -streamWriteVarPart(int streamID, int varID, const double *data, int nmiss, Xt_idxlist partDesc) +streamWriteVarPart(int streamID, int varID, const double *data, int numMissVals, Xt_idxlist partDesc) { - cdiPioStreamWriteVarPart_(streamID, varID, MEMTYPE_DOUBLE, data, nmiss, partDesc); + cdiPioStreamWriteVarPart_(streamID, varID, MEMTYPE_DOUBLE, data, numMissVals, partDesc); } void -streamWriteVarPartF(int streamID, int varID, const float *data, int nmiss, Xt_idxlist partDesc) +streamWriteVarPartF(int streamID, int varID, const float *data, int numMissVals, Xt_idxlist partDesc) { - cdiPioStreamWriteVarPart_(streamID, varID, MEMTYPE_FLOAT, data, nmiss, partDesc); + cdiPioStreamWriteVarPart_(streamID, varID, MEMTYPE_FLOAT, data, numMissVals, partDesc); } static void streamWriteScatteredVarPart_(int streamID, int varID, int memtype, const void *data, int numBlocks, const int blocklengths[], - const int displacements[], int nmiss, Xt_idxlist partDesc) + const int displacements[], int numMissVals, Xt_idxlist partDesc) { if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); @@ -784,28 +784,28 @@ streamWriteScatteredVarPart_(int streamID, int varID, int memtype, const void *d xassert(chunk == 0 || data); void (*myStreamWriteScatteredVarPart)(int streamID, int varID, int memtype, const void *data, int numBlocks, - const int blocklengths[], const int displacements[], int nmiss, Xt_idxlist partDesc) + const int blocklengths[], const int displacements[], int numMissVals, Xt_idxlist partDesc) = (void (*)(int, int, int, const void *, int, const int[], const int[], int, Xt_idxlist)) namespaceSwitchGet( NSSWITCH_STREAM_WRITE_SCATTERED_VAR_PART_) .func; if (!myStreamWriteScatteredVarPart) xabort("local part writing is unsupported!"); - myStreamWriteScatteredVarPart(streamID, varID, memtype, data, numBlocks, blocklengths, displacements, nmiss, partDesc); + myStreamWriteScatteredVarPart(streamID, varID, memtype, data, numBlocks, blocklengths, displacements, numMissVals, partDesc); } void streamWriteScatteredVarPart(int streamID, int varID, const double *data, int numBlocks, const int blocklengths[], - const int displacements[], int nmiss, Xt_idxlist partDesc) + const int displacements[], int numMissVals, Xt_idxlist partDesc) { - streamWriteScatteredVarPart_(streamID, varID, MEMTYPE_DOUBLE, data, numBlocks, blocklengths, displacements, nmiss, partDesc); + streamWriteScatteredVarPart_(streamID, varID, MEMTYPE_DOUBLE, data, numBlocks, blocklengths, displacements, numMissVals, partDesc); } void streamWriteScatteredVarPartF(int streamID, int varID, const float *data, int numBlocks, const int blocklengths[], - const int displacements[], int nmiss, Xt_idxlist partDesc) + const int displacements[], int numMissVals, Xt_idxlist partDesc) { - streamWriteScatteredVarPart_(streamID, varID, MEMTYPE_FLOAT, data, numBlocks, blocklengths, displacements, nmiss, partDesc); + streamWriteScatteredVarPart_(streamID, varID, MEMTYPE_FLOAT, data, numBlocks, blocklengths, displacements, numMissVals, partDesc); } /* diff --git a/src/pio_interface.h b/src/pio_interface.h index 24c6b548e13ba11ce5058fc49a154114e1e8ad9f..354ad9187d962593a7068db0c99c4ae924713700 100644 --- a/src/pio_interface.h +++ b/src/pio_interface.h @@ -11,9 +11,9 @@ #include "resource_handle.h" #include "pio_rpc.h" -void cdiPioBufferPartData(int streamID, int varID, int memtype, const void *data, size_t nmiss, Xt_idxlist partDesc); +void cdiPioBufferPartData(int streamID, int varID, int memtype, const void *data, size_t numMissVals, Xt_idxlist partDesc); void cdiPioBufferPartDataGather(int streamID, int varID, int memtype, const void *data, int numBlocks, const int blocklengths[], - const int displacements[], size_t nmiss, Xt_idxlist partDesc); + const int displacements[], size_t numMissVals, Xt_idxlist partDesc); void pioBufferFuncCall(int streamID, struct winHeaderEntry header, const void *data, valPackFunc dataPackFunc); @@ -27,7 +27,7 @@ void memcpyPackFunc(void *dataDesc, void *buf, int size, int *pos, void *context extern float cdiPIOpartInflate_; -void cdiPioStreamWriteVarPart_(int streamID, int varID, int memtype, const void *data, int nmiss, Xt_idxlist partDesc); +void cdiPioStreamWriteVarPart_(int streamID, int varID, int memtype, const void *data, int numMissVals, Xt_idxlist partDesc); void cdiPioClientStreamWinInit(int streamID); void cdiPioClientStreamWinCreate(int streamID, struct collSpec *cspec); diff --git a/src/pio_rpc.h b/src/pio_rpc.h index bb6da5e59c929b4d2d7f84d111307c617842cf59..50dfcc7db889bf794cc1bd1b60439d9ed956cc0a 100644 --- a/src/pio_rpc.h +++ b/src/pio_rpc.h @@ -54,7 +54,7 @@ struct headerSize struct dataRecord { - int varID, nmiss; + int varID, numMissVals; }; union funcArgs diff --git a/src/pio_server.c b/src/pio_server.c index c3888db345bc4c16c94a168dd3d6b6bbff11fa27..661723b5b7892766179609ed25b660c57137a2f0 100644 --- a/src/pio_server.c +++ b/src/pio_server.c @@ -797,35 +797,35 @@ buildVarSlicesIdxList(int vlistID, int varID, int startLvl, int numLvl, const st static inline size_t countMemMissingDouble(size_t n, const double *restrict data, double missVal) { - size_t nmiss = 0; - for (size_t i = 0; i < n; ++i) nmiss += (data[i] == missVal); - return nmiss; + size_t numMissVals = 0; + for (size_t i = 0; i < n; ++i) numMissVals += (data[i] == missVal); + return numMissVals; } static inline size_t countMemMissingFloat(size_t n, const float *restrict data, double missVal) { - size_t nmiss = 0; + size_t numMissVals = 0; float missValF = (float) missVal; if (missValF == missVal) - for (size_t i = 0; i < n; ++i) nmiss += (data[i] == missValF); - return nmiss; + for (size_t i = 0; i < n; ++i) numMissVals += (data[i] == missValF); + return numMissVals; } static size_t countVarChunkMissingVals(int vlistID, int varID, struct streamMapping *mapping, size_t chunkLen, int conversion, const void *restrict data) { - size_t nmiss = 0; + size_t numMissVals = 0; if (mapping->hasMissing[varID]) { double missVal = vlistInqVarMissval(vlistID, varID); if (conversion == DATA_HEADER_DOUBLE) - nmiss = countMemMissingDouble(chunkLen, data, missVal); + numMissVals = countMemMissingDouble(chunkLen, data, missVal); else - nmiss = countMemMissingFloat(chunkLen, data, missVal); + numMissVals = countMemMissingFloat(chunkLen, data, missVal); } - return nmiss; + return numMissVals; } static inline void @@ -956,13 +956,13 @@ writeNetCDFStreamParallel(size_t streamIdx, struct streamMapping *mapping, void { /* count missing values if appropriate */ - size_t nmiss + size_t numMissVals = countVarChunkMissingVals(vlistID, varID, mapping, (size_t) (PPM_extents_size(3, varChunk)), conversion, data); /* write chunk */ if (conversion == DATA_HEADER_DOUBLE) - streamWriteVarChunk(streamID, varID, (const int(*)[2]) myChunk, data, (int) nmiss); + streamWriteVarChunk(streamID, varID, (const int(*)[2]) myChunk, data, (int) numMissVals); else - streamWriteVarChunkF(streamID, varID, (const int(*)[2]) myChunk, data, (int) nmiss); + streamWriteVarChunkF(streamID, varID, (const int(*)[2]) myChunk, data, (int) numMissVals); } } } @@ -1090,11 +1090,11 @@ writeNetCDFStreamSerial(size_t streamIdx, struct streamMapping *mapping, void ** if (!conf->cacheRedists) xt_redist_delete(gatherRedist); if (writerRank == collRank) { - size_t nmiss = countVarChunkMissingVals(vlistID, varID, mapping, varSize, conversion, data); + size_t numMissVals = countVarChunkMissingVals(vlistID, varID, mapping, varSize, conversion, data); if (conversion == DATA_HEADER_DOUBLE) - streamWriteVar(streamID, varID, data, (int) nmiss); + streamWriteVar(streamID, varID, data, (int) numMissVals); else - streamWriteVarF(streamID, varID, data, (int) nmiss); + streamWriteVarF(streamID, varID, data, (int) numMissVals); } } } @@ -1164,7 +1164,7 @@ streamMappingNew(size_t streamIdx, const struct winHeaderEntry *winDict, const s /* FIXME: this could better be ensured on client */ xassert(varID < numVars && varID >= 0 && varMap[varID] == 0); varMap[varID] = headerIdx; - hasMissing[varID] += winDict[headerIdx].specific.dataRecord.nmiss; + hasMissing[varID] += winDict[headerIdx].specific.dataRecord.numMissVals; } /* set numLvlsW[i] to 1 if varMap[i] != 0 on any collector, * also sets hasMissing_[i] to global reduction of hasMissing[i] */ @@ -1533,11 +1533,11 @@ writeGribStream(size_t streamIdx, struct streamMapping *mapping, void **data_, s int conversion = winDict[headerIdx].id; size_t elemSize = conversion == DATA_HEADER_FLOAT ? sizeof(float) : sizeof(double); size_t nvals = recordSize / elemSize; - size_t nmiss = countVarChunkMissingVals(vlistID, varID, mapping, nvals, conversion, data + recordDataOfs); + size_t numMissVals = countVarChunkMissingVals(vlistID, varID, mapping, nvals, conversion, data + recordDataOfs); if (conversion == DATA_HEADER_DOUBLE) - streamWriteVarSlice(streamID, varID, level, (const double *) (const void *) (data + recordDataOfs), (int) nmiss); + streamWriteVarSlice(streamID, varID, level, (const double *) (const void *) (data + recordDataOfs), (int) numMissVals); else - streamWriteVarSliceF(streamID, varID, level, (const float *) (const void *) (data + recordDataOfs), (int) nmiss); + streamWriteVarSliceF(streamID, varID, level, (const float *) (const void *) (data + recordDataOfs), (int) numMissVals); recordDataOfs += recordSize; } aggBufFlush(streamID, fileID, cdiPioFileWrite); diff --git a/src/stream_cdf.h b/src/stream_cdf.h index 088348664ac6e41182ce8b0571de008e1fe389e2..db783aa54e401921b3429cd2c97c54003501bb5c 100644 --- a/src/stream_cdf.h +++ b/src/stream_cdf.h @@ -36,16 +36,16 @@ void cdfCopyRecord(stream_t *streamptr2, stream_t *streamptr1); void cdfDefineAttributes(int filetype, int vlistID, int varID, int fileID, int ncvarID); -void cdf_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss); -void cdf_write_record(stream_t *streamptr, int memtype, const void *data, size_t nmiss); +void cdf_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals); +void cdf_write_record(stream_t *streamptr, int memtype, const void *data, size_t numMissVals); -void cdf_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *nmiss); -void cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t nmiss); +void cdf_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *numMissVals); +void cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t numMissVals); -void cdf_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, void *data, size_t *nmiss); -void cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t nmiss); +void cdf_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, void *data, size_t *numMissVals); +void cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t numMissVals); -void cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype, const int rect[][2], const void *data, size_t nmiss); +void cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype, const int rect[][2], const void *data, size_t numMissVals); void cdfDefVarDeflate(int ncid, int ncvarid, int shuffle, int deflateLevel); void cdfDefTime(stream_t *streamptr); diff --git a/src/stream_cdf_o.c b/src/stream_cdf_o.c index 4b3e8af3d96c1f1d7f5633dc658030d59b47b656..cc6126fd8f20cf948bbd6291c6acd4bb614db982 100644 --- a/src/stream_cdf_o.c +++ b/src/stream_cdf_o.c @@ -32,9 +32,9 @@ cdfCopyRecord(stream_t *streamptr2, stream_t *streamptr1) void *data = Malloc(datasize * ((memtype == MEMTYPE_DOUBLE) ? sizeof(double) : sizeof(float))); - size_t nmiss; - cdf_read_record(streamptr1, memtype, data, &nmiss); - cdf_write_record(streamptr2, memtype, data, nmiss); + size_t numMissVals; + cdf_read_record(streamptr1, memtype, data, &numMissVals); + cdf_write_record(streamptr2, memtype, data, numMissVals); Free(data); } diff --git a/src/stream_cgribex.c b/src/stream_cgribex.c index 0d7439864c1c7f47c321e62911a1ddff3c59a283..41c5a87a4966dcb990cad73c5996fe82298ae8a0 100644 --- a/src/stream_cgribex.c +++ b/src/stream_cgribex.c @@ -1337,7 +1337,7 @@ cgribexScanTimestep(stream_t *streamptr) int cgribexDecode(int memtype, void *cgribex, void *gribbuffer, size_t gribsize, void *data, size_t datasize, int unreduced, - size_t *nmiss, double missval) + size_t *numMissVals, double missval) { int status = 0; @@ -1367,14 +1367,14 @@ cgribexDecode(int memtype, void *cgribex, void *gribbuffer, size_t gribsize, voi gribExDP(isec0, isec1, isec2, fsec2, isec3, fsec3, isec4, (double *) data, (int) datasize, (int *) gribbuffer, (int) gribsize, &iword, hoper, &iret); - *nmiss = (ISEC1_Sec2Or3Flag & 64) ? ISEC4_NumValues - ISEC4_NumNonMissValues : 0; + *numMissVals = (ISEC1_Sec2Or3Flag & 64) ? ISEC4_NumValues - ISEC4_NumNonMissValues : 0; if (ISEC1_CenterID == 215 && (isec1[34] != 0 && isec1[34] != 255)) { double undef_pds, undef_eps; MCH_get_undef(isec1, &undef_pds, &undef_eps); - *nmiss = 0; + *numMissVals = 0; if (memtype == MEMTYPE_FLOAT) { float *restrict dataf = (float *) data; @@ -1382,7 +1382,7 @@ cgribexDecode(int memtype, void *cgribex, void *gribbuffer, size_t gribsize, voi if ((fabs(dataf[i] - undef_pds) < undef_eps) || IS_EQUAL(dataf[i], FSEC3_MissVal)) { dataf[i] = (float) missval; - (*nmiss)++; + (*numMissVals)++; } } else @@ -1392,7 +1392,7 @@ cgribexDecode(int memtype, void *cgribex, void *gribbuffer, size_t gribsize, voi if ((fabs(datad[i] - undef_pds) < undef_eps) || IS_EQUAL(datad[i], FSEC3_MissVal)) { datad[i] = missval; - (*nmiss)++; + (*numMissVals)++; } } } @@ -2060,7 +2060,7 @@ cgribexDefEnsembleVar(int *isec1, int vlistID, int varID) size_t cgribexEncode(int memtype, int varID, int levelID, int vlistID, int gridID, int zaxisID, CdiDateTime vDateTime, int tsteptype, - int numavg, size_t datasize, const void *data, size_t nmiss, void *gribbuffer, size_t gribbuffersize) + int numavg, size_t datasize, const void *data, size_t numMissVals, void *gribbuffer, size_t gribbuffersize) { cgribexrec_t *cgribexp = (cgribexrec_t *) cgribexNew(); @@ -2114,7 +2114,7 @@ cgribexEncode(int memtype, int varID, int levelID, int vlistID, int gridID, int ISEC4_NumValues = (int) datasize; ISEC4_NumBits = grbBitsPerValue(datatype); - if (nmiss > 0) + if (numMissVals > 0) { FSEC3_MissVal = vlistInqVarMissval(vlistID, varID); ISEC1_Sec2Or3Flag |= 64; diff --git a/src/stream_cgribex.h b/src/stream_cgribex.h index 89cc57d5dc9850bf6069f07d55425c1ca539c10a..60ed867ed10b33b6b09b3b077c5d4775b925526c 100644 --- a/src/stream_cgribex.h +++ b/src/stream_cgribex.h @@ -9,10 +9,10 @@ int cgribexScanTimestep2(stream_t *streamptr); int cgribexScanTimestep(stream_t *streamptr); int cgribexDecode(int memtype, void *cgribexp, void *gribbuffer, size_t gribsize, void *data, size_t datasize, int unreduced, - size_t *nmiss, double missval); + size_t *numMissVals, double missval); size_t cgribexEncode(int memtype, int varID, int levelID, int vlistID, int gridID, int zaxisID, CdiDateTime vDateTime, - int tsteptype, int numavg, size_t datasize, const void *data, size_t nmiss, void *gribbuffer, + int tsteptype, int numavg, size_t datasize, const void *data, size_t numMissVals, void *gribbuffer, size_t gribbuffersize); void *cgribex_handle_new_from_meassage(void *gribbuffer, size_t recsize); diff --git a/src/stream_ext.c b/src/stream_ext.c index 9184f631adb5267ebc90a8cc86a5356e3530ee12..01f155c71f903f2c69b830bb74d4f9b62fdb7647 100644 --- a/src/stream_ext.c +++ b/src/stream_ext.c @@ -76,7 +76,7 @@ int extInqRecord(stream_t *streamptr, int *varID, int *levelID) */ static void -ext_read_recordSP(stream_t *streamptr, float *data, size_t *nmiss) +ext_read_recordSP(stream_t *streamptr, float *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -100,15 +100,15 @@ ext_read_recordSP(stream_t *streamptr, float *data, size_t *nmiss) size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); if (vlistInqVarNumber(vlistID, varID) == CDI_REAL) - *nmiss = get_num_missvalsSP(size, data, missval); + *numMissVals = get_num_missvalsSP(size, data, missval); else - *nmiss = get_cplx_num_missvalsSP(size, data, missval); + *numMissVals = get_cplx_num_missvalsSP(size, data, missval); streamptr->numvals += size; } static void -ext_read_recordDP(stream_t *streamptr, double *data, size_t *nmiss) +ext_read_recordDP(stream_t *streamptr, double *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -132,20 +132,20 @@ ext_read_recordDP(stream_t *streamptr, double *data, size_t *nmiss) size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); if (vlistInqVarNumber(vlistID, varID) == CDI_REAL) - *nmiss = get_num_missvalsDP(size, data, missval); + *numMissVals = get_num_missvalsDP(size, data, missval); else - *nmiss = get_cplx_num_missvalsDP(size, data, missval); + *numMissVals = get_cplx_num_missvalsDP(size, data, missval); streamptr->numvals += size; } void -ext_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss) +ext_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals) { if (memtype == MEMTYPE_DOUBLE) - ext_read_recordDP(streamptr, (double *) data, nmiss); + ext_read_recordDP(streamptr, (double *) data, numMissVals); else - ext_read_recordSP(streamptr, (float *) data, nmiss); + ext_read_recordSP(streamptr, (float *) data, numMissVals); } void @@ -550,7 +550,7 @@ extInqTimestep(stream_t *streamptr, int tsID) } void -extReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_t *nmiss) +extReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d levID = %d", streamptr->self, varID, levID); @@ -576,13 +576,13 @@ extReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_ fileSetPos(fileID, currentfilepos, SEEK_SET); if (vlistInqVarNumber(vlistID, varID) == CDI_REAL) - *nmiss = get_num_missvalsDP(gridsize, data, missval); + *numMissVals = get_num_missvalsDP(gridsize, data, missval); else - *nmiss = get_cplx_num_missvalsDP(gridsize, data, missval); + *numMissVals = get_cplx_num_missvalsDP(gridsize, data, missval); } void -extReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) +extReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -590,7 +590,7 @@ extReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) size_t gridsize = gridInqSize(vlistInqVarGrid(vlistID, varID)); size_t nlevs = (size_t) streamptr->vars[varID].recordTable[0].nlevs; - for (size_t levID = 0; levID < nlevs; levID++) extReadVarSliceDP(streamptr, varID, (int) levID, &data[levID * gridsize], nmiss); + for (size_t levID = 0; levID < nlevs; levID++) extReadVarSliceDP(streamptr, varID, (int) levID, &data[levID * gridsize], numMissVals); } void diff --git a/src/stream_ext.h b/src/stream_ext.h index 714e35c40f66ff01ce6041f49fdfa972c3713e86..3f6d3516066c1b0bf4c1c9bf9b5ed09fafd7d17d 100644 --- a/src/stream_ext.h +++ b/src/stream_ext.h @@ -11,13 +11,13 @@ int extInqTimestep(stream_t *streamptr, int tsID); int extInqRecord(stream_t *streamptr, int *varID, int *levelID); void extDefRecord(stream_t *streamptr); void extCopyRecord(stream_t *streamptr2, stream_t *streamptr1); -void ext_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss); +void ext_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals); void ext_write_record(stream_t *streamptr, int memtype, const void *data); -void extReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss); +void extReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals); void extWriteVarDP(stream_t *streamptr, int varID, const double *data); -void extReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *nmiss); +void extReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *numMissVals); void extWriteVarSliceDP(stream_t *streamptr, int varID, int levelID, const double *data); #endif /* _STREAM_EXT_H */ diff --git a/src/stream_grb.h b/src/stream_grb.h index cb8797ab659dcf9658e122d8eeb9986f15b57d05..a007c9ca93721b2a6cb2039403413fbfb102acaf 100644 --- a/src/stream_grb.h +++ b/src/stream_grb.h @@ -33,15 +33,15 @@ int grbInqTimestep(stream_t *streamptr, int tsID); int grbInqRecord(stream_t *streamptr, int *varID, int *levelID); void grbDefRecord(stream_t *streamptr); -void grb_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss); -void grb_write_record(stream_t *streamptr, int memtype, const void *data, size_t nmiss); +void grb_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals); +void grb_write_record(stream_t *streamptr, int memtype, const void *data, size_t numMissVals); void grbCopyRecord(stream_t *streamptr2, stream_t *streamptr1); -void grb_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *nmiss); -void grb_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t nmiss); +void grb_read_var(stream_t *streamptr, int varID, int memtype, void *data, size_t *numMissVals); +void grb_write_var(stream_t *streamptr, int varID, int memtype, const void *data, size_t numMissVals); -void grb_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, void *data, size_t *nmiss); -void grb_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t nmiss); +void grb_read_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, void *data, size_t *numMissVals); +void grb_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtype, const void *data, size_t numMissVals); int grib1ltypeToZaxisType(int grib_ltype); int grib2ltypeToZaxisType(int grib_ltype); diff --git a/src/stream_gribapi.c b/src/stream_gribapi.c index 0bbedbc534aca48d49efcf3a7b024a56be6dd3cd..484e8b000dd8466980eb9381c00d7c83f585d8c7 100644 --- a/src/stream_gribapi.c +++ b/src/stream_gribapi.c @@ -1760,7 +1760,7 @@ unpack_alternative_rows(grib_handle *gh, int memType, void *data) } int -gribapiDecode(int memType, void *gribbuffer, size_t gribsize, void *data, size_t gridsize, int unreduced, size_t *nmiss, +gribapiDecode(int memType, void *gribbuffer, size_t gribsize, void *data, size_t gridsize, int unreduced, size_t *numMissVals, double missval) { int status = 0; @@ -1813,12 +1813,12 @@ gribapiDecode(int memType, void *gribbuffer, size_t gribsize, void *data, size_t GRIB_CHECK(grib_get_long(gh, "gridDefinitionTemplateNumber", &lpar), 0); int gridtype = (int) lpar; - *nmiss = 0; + *numMissVals = 0; if (gridtype < 50 || gridtype > 53) { GRIB_CHECK(grib_get_long(gh, "numberOfMissing", &lpar), 0); - *nmiss = (int) lpar; - // printf("gridtype %d, nmiss %d\n", gridtype, nmiss); + *numMissVals = (int) lpar; + // printf("gridtype %d, numMissVals %d\n", gridtype, numMissVals); } grib_handle_delete(gh); @@ -3283,7 +3283,7 @@ gribapiSetExtMode(grib_handle *gh, int gridID, size_t datasize, const void *data size_t gribapiEncode(int memType, int varID, int levelID, int vlistID, int gridID, int zaxisID, CdiDateTime vDateTime, int tsteptype, - int numavg, size_t datasize, const void *data, size_t nmiss, void **gribbuffer, size_t *gribbuffersize, int comptype, + int numavg, size_t datasize, const void *data, size_t numMissVals, void **gribbuffer, size_t *gribbuffersize, int comptype, void *gribContainer) { long editionNumber = 2; @@ -3452,7 +3452,7 @@ gribapiEncode(int memType, int varID, int levelID, int vlistID, int gridID, int } } - if (nmiss > 0) + if (numMissVals > 0) { GRIB_CHECK(my_grib_set_long(gh, "bitmapPresent", 1), 0); GRIB_CHECK(my_grib_set_double(gh, "missingValue", vlistInqVarMissval(vlistID, varID)), 0); @@ -3473,7 +3473,7 @@ gribapiEncode(int memType, int varID, int levelID, int vlistID, int gridID, int GRIB_CHECK(grib_set_double_array(gh, "values", (const double *) data, datasize), 0); } - if (nmiss) + if (numMissVals) { long numberOfMissing = -1; GRIB_CHECK(grib_get_long(gh, "numberOfMissing", &numberOfMissing), 0); diff --git a/src/stream_gribapi.h b/src/stream_gribapi.h index 7e1300fee2e482f3e57ac4c3de806fdb47a06e42..130530e08b013a44c945357c8f85c314ef24aa31 100644 --- a/src/stream_gribapi.h +++ b/src/stream_gribapi.h @@ -11,11 +11,11 @@ int gribapiScanTimestep1(stream_t *streamptr); int gribapiScanTimestep2(stream_t *streamptr); int gribapiScanTimestep(stream_t *streamptr); -int gribapiDecode(int memType, void *gribbuffer, size_t gribsize, void *data, size_t datasize, int unreduced, size_t *nmiss, +int gribapiDecode(int memType, void *gribbuffer, size_t gribsize, void *data, size_t datasize, int unreduced, size_t *numMissVals, double missval); size_t gribapiEncode(int memType, int varID, int levelID, int vlistID, int gridID, int zaxisID, CdiDateTime vDateTime, - int tsteptype, int numavg, size_t datasize, const void *data, size_t nmiss, void **gribbuffer, + int tsteptype, int numavg, size_t datasize, const void *data, size_t numMissVals, void **gribbuffer, size_t *gribbuffersize, int ljpeg, void *gribContainer); int gribapiGetScanningMode(grib_handle *gh); diff --git a/src/stream_ieg.c b/src/stream_ieg.c index 537286cac728f8d3d2ede9973a6931ca79d22eb6..4aebd78755c586f3315239a1767dced8a6277627 100644 --- a/src/stream_ieg.c +++ b/src/stream_ieg.c @@ -36,7 +36,7 @@ iegDefDatatype(int datatype) } static void -ieg_read_recordSP(stream_t *streamptr, float *data, size_t *nmiss) +ieg_read_recordSP(stream_t *streamptr, float *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -57,13 +57,13 @@ ieg_read_recordSP(stream_t *streamptr, float *data, size_t *nmiss) double missval = vlistInqVarMissval(vlistID, varID); size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); - *nmiss = get_num_missvalsSP(size, data, missval); + *numMissVals = get_num_missvalsSP(size, data, missval); streamptr->numvals += size; } static void -ieg_read_recordDP(stream_t *streamptr, double *data, size_t *nmiss) +ieg_read_recordDP(stream_t *streamptr, double *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -84,18 +84,18 @@ ieg_read_recordDP(stream_t *streamptr, double *data, size_t *nmiss) double missval = vlistInqVarMissval(vlistID, varID); size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); - *nmiss = get_num_missvalsDP(size, data, missval); + *numMissVals = get_num_missvalsDP(size, data, missval); streamptr->numvals += size; } void -ieg_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss) +ieg_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals) { if (memtype == MEMTYPE_DOUBLE) - ieg_read_recordDP(streamptr, (double *) data, nmiss); + ieg_read_recordDP(streamptr, (double *) data, numMissVals); else - ieg_read_recordSP(streamptr, (float *) data, nmiss); + ieg_read_recordSP(streamptr, (float *) data, numMissVals); } static int @@ -1006,7 +1006,7 @@ iegInqTimestep(stream_t *streamptr, int tsID) } void -iegReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_t *nmiss) +iegReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d levID = %d", streamptr->self, varID, levID); @@ -1029,11 +1029,11 @@ iegReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_ fileSetPos(fileID, currentfilepos, SEEK_SET); - *nmiss = get_num_missvalsDP(gridsize, data, missval); + *numMissVals = get_num_missvalsDP(gridsize, data, missval); } void -iegReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) +iegReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -1041,7 +1041,7 @@ iegReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) size_t gridsize = gridInqSize(vlistInqVarGrid(vlistID, varID)); size_t nlevs = (size_t) streamptr->vars[varID].recordTable[0].nlevs; - for (size_t levID = 0; levID < nlevs; levID++) iegReadVarSliceDP(streamptr, varID, (int) levID, &data[levID * gridsize], nmiss); + for (size_t levID = 0; levID < nlevs; levID++) iegReadVarSliceDP(streamptr, varID, (int) levID, &data[levID * gridsize], numMissVals); } void diff --git a/src/stream_ieg.h b/src/stream_ieg.h index 82a04ca3b4f02bb6db5ef6461ccd5b822e639b59..a099cdaf4b96dbb58248c015a23926a2685d5d80 100644 --- a/src/stream_ieg.h +++ b/src/stream_ieg.h @@ -11,13 +11,13 @@ int iegInqTimestep(stream_t *streamptr, int tsID); int iegInqRecord(stream_t *streamptr, int *varID, int *levelID); void iegDefRecord(stream_t *streamptr); void iegCopyRecord(stream_t *streamptr2, stream_t *streamptr1); -void ieg_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss); +void ieg_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals); void ieg_write_record(stream_t *streamptr, int memtype, const void *data); -void iegReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss); +void iegReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals); void iegWriteVarDP(stream_t *streamptr, int varID, const double *data); -void iegReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *nmiss); +void iegReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *numMissVals); void iegWriteVarSliceDP(stream_t *streamptr, int varID, int levelID, const double *data); #endif /* _STREAM_IEG_H */ diff --git a/src/stream_read.c b/src/stream_read.c index 79f3397b751add674254ed651c9950ddceaa63d7..fedafb2ac7b488453fbfbf9319a5069acb4b346c 100644 --- a/src/stream_read.c +++ b/src/stream_read.c @@ -13,7 +13,7 @@ // the single image implementation static int -cdiStreamReadVar(int streamID, int varID, int memtype, void *data, size_t *nmiss) +cdiStreamReadVar(int streamID, int varID, int memtype, void *data, size_t *numMissVals) { // May fail if memtype == MEMTYPE_FLOAT and the file format does not support single precision reading. // A value > 0 is returned in this case, otherwise it returns zero. @@ -22,31 +22,31 @@ cdiStreamReadVar(int streamID, int varID, int memtype, void *data, size_t *nmiss if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); check_parg(data); - check_parg(nmiss); + check_parg(numMissVals); stream_t *streamptr = stream_to_pointer(streamID); const int filetype = streamptr->filetype; - *nmiss = 0; + *numMissVals = 0; if (memtype == MEMTYPE_FLOAT && cdiFiletypeIsExse(filetype)) return 1; switch (cdiBaseFiletype(filetype)) { #ifdef HAVE_LIBGRIB - case CDI_FILETYPE_GRIB: grb_read_var(streamptr, varID, memtype, data, nmiss); break; + case CDI_FILETYPE_GRIB: grb_read_var(streamptr, varID, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBSERVICE - case CDI_FILETYPE_SRV: srvReadVarDP(streamptr, varID, (double *) data, nmiss); break; + case CDI_FILETYPE_SRV: srvReadVarDP(streamptr, varID, (double *) data, numMissVals); break; #endif #ifdef HAVE_LIBEXTRA - case CDI_FILETYPE_EXT: extReadVarDP(streamptr, varID, (double *) data, nmiss); break; + case CDI_FILETYPE_EXT: extReadVarDP(streamptr, varID, (double *) data, numMissVals); break; #endif #ifdef HAVE_LIBIEG - case CDI_FILETYPE_IEG: iegReadVarDP(streamptr, varID, (double *) data, nmiss); break; + case CDI_FILETYPE_IEG: iegReadVarDP(streamptr, varID, (double *) data, numMissVals); break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_read_var(streamptr, varID, memtype, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_read_var(streamptr, varID, memtype, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(filetype)); } @@ -58,13 +58,13 @@ cdiStreamReadVar(int streamID, int varID, int memtype, void *data, size_t *nmiss @Function streamReadVar @Title Read a variable -@Prototype void streamReadVar(int streamID, int varID, double *data, SizeType *nmiss) +@Prototype void streamReadVar(int streamID, int varID, double *data, SizeType *numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenRead}. @Item varID Variable identifier. @Item data Pointer to the location into which the data values are read. The caller must allocate space for the returned values. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamReadVar reads all the values of one time step of a variable @@ -72,24 +72,24 @@ from an open dataset. @EndFunction */ void -streamReadVar(int streamID, int varID, double *data, SizeType *nmiss) +streamReadVar(int streamID, int varID, double *data, SizeType *numMissVals) { size_t numMiss = 0; cdiStreamReadVar(streamID, varID, MEMTYPE_DOUBLE, data, &numMiss); - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } /* @Function streamReadVarF @Title Read a variable -@Prototype void streamReadVar(int streamID, int varID, float *data, SizeType *nmiss) +@Prototype void streamReadVar(int streamID, int varID, float *data, SizeType *numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenRead}. @Item varID Variable identifier. @Item data Pointer to the location into which the data values are read. The caller must allocate space for the returned values. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamReadVar reads all the values of one time step of a variable @@ -97,7 +97,7 @@ from an open dataset. @EndFunction */ void -streamReadVarF(int streamID, int varID, float *data, SizeType *nmiss) +streamReadVarF(int streamID, int varID, float *data, SizeType *numMissVals) { size_t numMiss = 0; if (cdiStreamReadVar(streamID, varID, MEMTYPE_FLOAT, data, &numMiss)) @@ -107,15 +107,15 @@ streamReadVarF(int streamID, int varID, float *data, SizeType *nmiss) size_t elementCount = gridInqSize(vlistInqVarGrid(streamInqVlist(streamID), varID)); elementCount *= (size_t) zaxisInqSize(vlistInqVarZaxis(streamInqVlist(streamID), varID)); double *conversionBuffer = (double *) Malloc(elementCount * sizeof(*conversionBuffer)); - streamReadVar(streamID, varID, conversionBuffer, nmiss); + streamReadVar(streamID, varID, conversionBuffer, numMissVals); for (size_t i = elementCount; i--;) data[i] = (float) conversionBuffer[i]; Free(conversionBuffer); } - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } static int -cdiStreamReadVarSlice(int streamID, int varID, int levelID, int memtype, void *data, size_t *nmiss) +cdiStreamReadVarSlice(int streamID, int varID, int levelID, int memtype, void *data, size_t *numMissVals) { // May fail if memtype == MEMTYPE_FLOAT and the file format does not support single precision reading. // A value > 0 is returned in this case, otherwise it returns zero. @@ -124,31 +124,31 @@ cdiStreamReadVarSlice(int streamID, int varID, int levelID, int memtype, void *d if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); check_parg(data); - check_parg(nmiss); + check_parg(numMissVals); stream_t *streamptr = stream_to_pointer(streamID); const int filetype = streamptr->filetype; - *nmiss = 0; + *numMissVals = 0; if (memtype == MEMTYPE_FLOAT && cdiFiletypeIsExse(filetype)) return 1; switch (cdiBaseFiletype(filetype)) { #ifdef HAVE_LIBGRIB - case CDI_FILETYPE_GRIB: grb_read_var_slice(streamptr, varID, levelID, memtype, data, nmiss); break; + case CDI_FILETYPE_GRIB: grb_read_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBSERVICE - case CDI_FILETYPE_SRV: srvReadVarSliceDP(streamptr, varID, levelID, (double *) data, nmiss); break; + case CDI_FILETYPE_SRV: srvReadVarSliceDP(streamptr, varID, levelID, (double *) data, numMissVals); break; #endif #ifdef HAVE_LIBEXTRA - case CDI_FILETYPE_EXT: extReadVarSliceDP(streamptr, varID, levelID, (double *) data, nmiss); break; + case CDI_FILETYPE_EXT: extReadVarSliceDP(streamptr, varID, levelID, (double *) data, numMissVals); break; #endif #ifdef HAVE_LIBIEG - case CDI_FILETYPE_IEG: iegReadVarSliceDP(streamptr, varID, levelID, (double *) data, nmiss); break; + case CDI_FILETYPE_IEG: iegReadVarSliceDP(streamptr, varID, levelID, (double *) data, numMissVals); break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_read_var_slice(streamptr, varID, levelID, memtype, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_read_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(filetype)); } @@ -160,14 +160,14 @@ cdiStreamReadVarSlice(int streamID, int varID, int levelID, int memtype, void *d @Function streamReadVarSlice @Title Read a horizontal slice of a variable -@Prototype void streamReadVarSlice(int streamID, int varID, int levelID, double *data, SizeType *nmiss) +@Prototype void streamReadVarSlice(int streamID, int varID, int levelID, double *data, SizeType *numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenRead}. @Item varID Variable identifier. @Item levelID Level identifier. @Item data Pointer to the location into which the data values are read. The caller must allocate space for the returned values. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamReadVarSlice reads all the values of a horizontal slice of a variable @@ -175,7 +175,7 @@ from an open dataset. @EndFunction */ void -streamReadVarSlice(int streamID, int varID, int levelID, double *data, SizeType *nmiss) +streamReadVarSlice(int streamID, int varID, int levelID, double *data, SizeType *numMissVals) { size_t numMiss = 0; if (cdiStreamReadVarSlice(streamID, varID, levelID, MEMTYPE_DOUBLE, data, &numMiss)) @@ -184,21 +184,21 @@ streamReadVarSlice(int streamID, int varID, int levelID, double *data, SizeType size_t elementCount = gridInqSize(vlistInqVarGrid(streamInqVlist(streamID), varID)); memset(data, 0, elementCount * sizeof(*data)); } - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } /* @Function streamReadVarSliceF @Title Read a horizontal slice of a variable -@Prototype void streamReadVarSliceF(int streamID, int varID, int levelID, float *data, SizeType *nmiss) +@Prototype void streamReadVarSliceF(int streamID, int varID, int levelID, float *data, SizeType *numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenRead}. @Item varID Variable identifier. @Item levelID Level identifier. @Item data Pointer to the location into which the data values are read. The caller must allocate space for the returned values. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamReadVarSliceF reads all the values of a horizontal slice of a variable @@ -206,7 +206,7 @@ from an open dataset. @EndFunction */ void -streamReadVarSliceF(int streamID, int varID, int levelID, float *data, SizeType *nmiss) +streamReadVarSliceF(int streamID, int varID, int levelID, float *data, SizeType *numMissVals) { size_t numMiss = 0; if (cdiStreamReadVarSlice(streamID, varID, levelID, MEMTYPE_FLOAT, data, &numMiss)) @@ -215,41 +215,41 @@ streamReadVarSliceF(int streamID, int varID, int levelID, float *data, SizeType // we fall back to double precision reading, converting the data on the fly. size_t elementCount = gridInqSize(vlistInqVarGrid(streamInqVlist(streamID), varID)); double *conversionBuffer = (double *) Malloc(elementCount * sizeof(*conversionBuffer)); - streamReadVarSlice(streamID, varID, levelID, conversionBuffer, nmiss); + streamReadVarSlice(streamID, varID, levelID, conversionBuffer, numMissVals); for (size_t i = elementCount; i--;) data[i] = (float) conversionBuffer[i]; Free(conversionBuffer); } - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } static void -stream_read_record(int streamID, int memtype, void *data, size_t *nmiss) +stream_read_record(int streamID, int memtype, void *data, size_t *numMissVals) { check_parg(data); - check_parg(nmiss); + check_parg(numMissVals); stream_t *streamptr = stream_to_pointer(streamID); if (streamptr->lockIO) CDI_IO_LOCK(); - *nmiss = 0; + *numMissVals = 0; switch (cdiBaseFiletype(streamptr->filetype)) { #ifdef HAVE_LIBGRIB - case CDI_FILETYPE_GRIB: grb_read_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_GRIB: grb_read_record(streamptr, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBSERVICE - case CDI_FILETYPE_SRV: srv_read_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_SRV: srv_read_record(streamptr, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBEXTRA - case CDI_FILETYPE_EXT: ext_read_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_EXT: ext_read_record(streamptr, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBIEG - case CDI_FILETYPE_IEG: ieg_read_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_IEG: ieg_read_record(streamptr, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_read_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_read_record(streamptr, memtype, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(streamptr->filetype)); } @@ -258,17 +258,17 @@ stream_read_record(int streamID, int memtype, void *data, size_t *nmiss) } void -streamReadRecord(int streamID, double *data, SizeType *nmiss) +streamReadRecord(int streamID, double *data, SizeType *numMissVals) { size_t numMiss = 0; stream_read_record(streamID, MEMTYPE_DOUBLE, (void *) data, &numMiss); - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } void -streamReadRecordF(int streamID, float *data, SizeType *nmiss) +streamReadRecordF(int streamID, float *data, SizeType *numMissVals) { size_t numMiss = 0; stream_read_record(streamID, MEMTYPE_FLOAT, (void *) data, &numMiss); - *nmiss = (SizeType) numMiss; + *numMissVals = (SizeType) numMiss; } diff --git a/src/stream_srv.c b/src/stream_srv.c index 42298c2085268724e859d9871293bbd0fb224799..f743fe0f21f3b1cbfb64b65202cf55377c229582 100644 --- a/src/stream_srv.c +++ b/src/stream_srv.c @@ -72,7 +72,7 @@ int srvInqRecord(stream_t *streamptr, int *varID, int *levelID) */ static void -srv_read_recordSP(stream_t *streamptr, float *data, size_t *nmiss) +srv_read_recordSP(stream_t *streamptr, float *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -95,13 +95,13 @@ srv_read_recordSP(stream_t *streamptr, float *data, size_t *nmiss) double missval = vlistInqVarMissval(vlistID, varID); size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); - *nmiss = get_num_missvalsSP(size, data, (float) missval); + *numMissVals = get_num_missvalsSP(size, data, (float) missval); streamptr->numvals += size; } static void -srv_read_recordDP(stream_t *streamptr, double *data, size_t *nmiss) +srv_read_recordDP(stream_t *streamptr, double *data, size_t *numMissVals) { int vlistID = streamptr->vlistID; int fileID = streamptr->fileID; @@ -124,18 +124,18 @@ srv_read_recordDP(stream_t *streamptr, double *data, size_t *nmiss) double missval = vlistInqVarMissval(vlistID, varID); size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); - *nmiss = get_num_missvalsDP(size, data, missval); + *numMissVals = get_num_missvalsDP(size, data, missval); streamptr->numvals += size; } void -srv_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss) +srv_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals) { if (memtype == MEMTYPE_DOUBLE) - srv_read_recordDP(streamptr, (double *) data, nmiss); + srv_read_recordDP(streamptr, (double *) data, numMissVals); else - srv_read_recordSP(streamptr, (float *) data, nmiss); + srv_read_recordSP(streamptr, (float *) data, numMissVals); } void @@ -559,7 +559,7 @@ srvInqTimestep(stream_t *streamptr, int tsID) } void -srvReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_t *nmiss) +srvReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d levID = %d", streamptr->self, varID, levID); @@ -586,11 +586,11 @@ srvReadVarSliceDP(stream_t *streamptr, int varID, int levID, double *data, size_ double missval = vlistInqVarMissval(vlistID, varID); size_t size = gridInqSize(vlistInqVarGrid(vlistID, varID)); - *nmiss = get_num_missvalsDP(size, data, missval); + *numMissVals = get_num_missvalsDP(size, data, missval); } void -srvReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) +srvReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d", streamptr->self, varID); @@ -598,7 +598,7 @@ srvReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss) size_t gridsize = gridInqSize(vlistInqVarGrid(vlistID, varID)); size_t nlevs = (size_t) streamptr->vars[varID].recordTable[0].nlevs; - for (size_t levID = 0; levID < nlevs; levID++) srvReadVarSliceDP(streamptr, varID, (int) levID, &data[levID * gridsize], nmiss); + for (size_t levID = 0; levID < nlevs; levID++) srvReadVarSliceDP(streamptr, varID, (int) levID, &data[levID * gridsize], numMissVals); } void diff --git a/src/stream_srv.h b/src/stream_srv.h index feac6841b9c7b32f0b77ed4ee74e4dabd55b07da..adeaf679200828310ac9245e697cac6e25f75b7b 100644 --- a/src/stream_srv.h +++ b/src/stream_srv.h @@ -11,13 +11,13 @@ int srvInqTimestep(stream_t *streamptr, int tsID); int srvInqRecord(stream_t *streamptr, int *varID, int *levelID); void srvDefRecord(stream_t *streamptr); void srvCopyRecord(stream_t *streamptr2, stream_t *streamptr1); -void srv_read_record(stream_t *streamptr, int memtype, void *data, size_t *nmiss); +void srv_read_record(stream_t *streamptr, int memtype, void *data, size_t *numMissVals); void srv_write_record(stream_t *streamptr, int memtype, const void *data); -void srvReadVarDP(stream_t *streamptr, int varID, double *data, size_t *nmiss); +void srvReadVarDP(stream_t *streamptr, int varID, double *data, size_t *numMissVals); void srvWriteVarDP(stream_t *streamptr, int varID, const double *data); -void srvReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *nmiss); +void srvReadVarSliceDP(stream_t *streamptr, int varID, int levelID, double *data, size_t *numMissVals); void srvWriteVarSliceDP(stream_t *streamptr, int varID, int levelID, const double *data); #endif /* _STREAM_SRV_H */ diff --git a/src/stream_write.c b/src/stream_write.c index 44625ffed61d951214735f6c2105de414e256695..8297010f5646d7441aeb09e2d751a2edca37a8f0 100644 --- a/src/stream_write.c +++ b/src/stream_write.c @@ -14,7 +14,7 @@ // the single image implementation int -cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeType nmiss) +cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeType numMissVals) { // May fail if memtype == MEMTYPE_FLOAT and the file format does not support single precision writing. // A value > 0 is returned in this case, otherwise it returns zero. @@ -37,7 +37,7 @@ cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeT switch (cdiBaseFiletype(filetype)) { #ifdef HAVE_LIBGRIB - case CDI_FILETYPE_GRIB: grb_write_var(streamptr, varID, memtype, data, nmiss); break; + case CDI_FILETYPE_GRIB: grb_write_var(streamptr, varID, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBSERVICE case CDI_FILETYPE_SRV: srvWriteVarDP(streamptr, varID, (double *) data); break; @@ -49,7 +49,7 @@ cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeT case CDI_FILETYPE_IEG: iegWriteVarDP(streamptr, varID, (double *) data); break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_write_var(streamptr, varID, memtype, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_write_var(streamptr, varID, memtype, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(filetype)); } @@ -61,12 +61,12 @@ cdiStreamWriteVar_(int streamID, int varID, int memtype, const void *data, SizeT @Function streamWriteVar @Title Write a variable -@Prototype void streamWriteVar(int streamID, int varID, const double *data, SizeType nmiss) +@Prototype void streamWriteVar(int streamID, int varID, const double *data, SizeType numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenWrite}. @Item varID Variable identifier. @Item data Pointer to a block of double precision floating point data values to be written. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamWriteVar writes the values of one time step of a variable to an open dataset. @@ -74,24 +74,24 @@ The values are converted to the external data type of the variable, if necessary @EndFunction */ void -streamWriteVar(int streamID, int varID, const double *data, SizeType nmiss) +streamWriteVar(int streamID, int varID, const double *data, SizeType numMissVals) { - void (*myCdiStreamWriteVar_)(int streamID, int varID, int memtype, const void *data, SizeType nmiss) + void (*myCdiStreamWriteVar_)(int streamID, int varID, int memtype, const void *data, SizeType numMissVals) = (void (*)(int, int, int, const void *, SizeType)) namespaceSwitchGet(NSSWITCH_STREAM_WRITE_VAR_).func; - myCdiStreamWriteVar_(streamID, varID, MEMTYPE_DOUBLE, (const void *) data, nmiss); + myCdiStreamWriteVar_(streamID, varID, MEMTYPE_DOUBLE, (const void *) data, numMissVals); } /* @Function streamWriteVarF @Title Write a variable -@Prototype void streamWriteVarF(int streamID, int varID, const float *data, SizeType nmiss) +@Prototype void streamWriteVarF(int streamID, int varID, const float *data, SizeType numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenWrite}. @Item varID Variable identifier. @Item data Pointer to a block of single precision floating point data values to be written. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamWriteVarF writes the values of one time step of a variable to an open dataset. @@ -99,12 +99,12 @@ The values are converted to the external data type of the variable, if necessary @EndFunction */ void -streamWriteVarF(int streamID, int varID, const float *data, SizeType nmiss) +streamWriteVarF(int streamID, int varID, const float *data, SizeType numMissVals) { - int (*myCdiStreamWriteVar_)(int streamID, int varID, int memtype, const void *data, SizeType nmiss) + int (*myCdiStreamWriteVar_)(int streamID, int varID, int memtype, const void *data, SizeType numMissVals) = (int (*)(int, int, int, const void *, SizeType)) namespaceSwitchGet(NSSWITCH_STREAM_WRITE_VAR_).func; - if (myCdiStreamWriteVar_(streamID, varID, MEMTYPE_FLOAT, (const void *) data, nmiss)) + if (myCdiStreamWriteVar_(streamID, varID, MEMTYPE_FLOAT, (const void *) data, numMissVals)) { // In case the file format does not support single precision writing, // we fall back to double precision writing, converting the data on the fly. @@ -113,13 +113,13 @@ streamWriteVarF(int streamID, int varID, const float *data, SizeType nmiss) elementCount *= (SizeType) zaxisInqSize(vlistInqVarZaxis(vlistID, varID)); double *conversionBuffer = (double *) Malloc(elementCount * sizeof(*conversionBuffer)); for (SizeType i = elementCount; i--;) conversionBuffer[i] = (double) data[i]; - myCdiStreamWriteVar_(streamID, varID, MEMTYPE_DOUBLE, (const void *) conversionBuffer, nmiss); + myCdiStreamWriteVar_(streamID, varID, MEMTYPE_DOUBLE, (const void *) conversionBuffer, numMissVals); Free(conversionBuffer); } } static int -cdiStreamWriteVarSlice(int streamID, int varID, int levelID, int memtype, const void *data, SizeType nmiss) +cdiStreamWriteVarSlice(int streamID, int varID, int levelID, int memtype, const void *data, SizeType numMissVals) { // May fail if memtype == MEMTYPE_FLOAT and the file format does not support single precision writing. // A value > 0 is returned in this case, otherwise it returns zero. @@ -142,7 +142,7 @@ cdiStreamWriteVarSlice(int streamID, int varID, int levelID, int memtype, const switch (cdiBaseFiletype(filetype)) { #ifdef HAVE_LIBGRIB - case CDI_FILETYPE_GRIB: grb_write_var_slice(streamptr, varID, levelID, memtype, data, nmiss); break; + case CDI_FILETYPE_GRIB: grb_write_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBSERVICE case CDI_FILETYPE_SRV: srvWriteVarSliceDP(streamptr, varID, levelID, (double *) data); break; @@ -154,7 +154,7 @@ cdiStreamWriteVarSlice(int streamID, int varID, int levelID, int memtype, const case CDI_FILETYPE_IEG: iegWriteVarSliceDP(streamptr, varID, levelID, (double *) data); break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_write_var_slice(streamptr, varID, levelID, memtype, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_write_var_slice(streamptr, varID, levelID, memtype, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(filetype)); } @@ -166,13 +166,13 @@ cdiStreamWriteVarSlice(int streamID, int varID, int levelID, int memtype, const @Function streamWriteVarSlice @Title Write a horizontal slice of a variable -@Prototype void streamWriteVarSlice(int streamID, int varID, int levelID, const double *data, SizeType nmiss) +@Prototype void streamWriteVarSlice(int streamID, int varID, int levelID, const double *data, SizeType numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenWrite}. @Item varID Variable identifier. @Item levelID Level identifier. @Item data Pointer to a block of double precision floating point data values to be written. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamWriteVarSlice writes the values of a horizontal slice of a variable to an open dataset. @@ -180,22 +180,22 @@ The values are converted to the external data type of the variable, if necessary @EndFunction */ void -streamWriteVarSlice(int streamID, int varID, int levelID, const double *data, SizeType nmiss) +streamWriteVarSlice(int streamID, int varID, int levelID, const double *data, SizeType numMissVals) { - cdiStreamWriteVarSlice(streamID, varID, levelID, MEMTYPE_DOUBLE, (const void *) data, nmiss); + cdiStreamWriteVarSlice(streamID, varID, levelID, MEMTYPE_DOUBLE, (const void *) data, numMissVals); } /* @Function streamWriteVarSliceF @Title Write a horizontal slice of a variable -@Prototype void streamWriteVarSliceF(int streamID, int varID, int levelID, const float *data, SizeType nmiss) +@Prototype void streamWriteVarSliceF(int streamID, int varID, int levelID, const float *data, SizeType numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenWrite}. @Item varID Variable identifier. @Item levelID Level identifier. @Item data Pointer to a block of single precision floating point data values to be written. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamWriteVarSliceF writes the values of a horizontal slice of a variable to an open dataset. @@ -203,41 +203,41 @@ The values are converted to the external data type of the variable, if necessary @EndFunction */ void -streamWriteVarSliceF(int streamID, int varID, int levelID, const float *data, SizeType nmiss) +streamWriteVarSliceF(int streamID, int varID, int levelID, const float *data, SizeType numMissVals) { - if (cdiStreamWriteVarSlice(streamID, varID, levelID, MEMTYPE_FLOAT, (const void *) data, nmiss)) + if (cdiStreamWriteVarSlice(streamID, varID, levelID, MEMTYPE_FLOAT, (const void *) data, numMissVals)) { // In case the file format does not support single precision writing, // we fall back to double precision writing, converting the data on the fly. const SizeType elementCount = gridInqSize(vlistInqVarGrid(streamInqVlist(streamID), varID)); double *conversionBuffer = (double *) Malloc(elementCount * sizeof(*conversionBuffer)); for (SizeType i = elementCount; i--;) conversionBuffer[i] = (double) data[i]; - streamWriteVarSlice(streamID, varID, levelID, conversionBuffer, nmiss); + streamWriteVarSlice(streamID, varID, levelID, conversionBuffer, numMissVals); Free(conversionBuffer); } } void -streamWriteVarChunk(int streamID, int varID, const int rect[][2], const double *data, SizeType nmiss) +streamWriteVarChunk(int streamID, int varID, const int rect[][2], const double *data, SizeType numMissVals) { - void (*myCdiStreamWriteVarChunk_)(int streamID, int varID, int memtype, const int rect[3][2], const void *data, SizeType nmiss) + void (*myCdiStreamWriteVarChunk_)(int streamID, int varID, int memtype, const int rect[3][2], const void *data, SizeType numMissVals) = (void (*)(int, int, int, const int[3][2], const void *, SizeType)) namespaceSwitchGet(NSSWITCH_STREAM_WRITE_VAR_CHUNK_) .func; - myCdiStreamWriteVarChunk_(streamID, varID, MEMTYPE_DOUBLE, rect, data, nmiss); + myCdiStreamWriteVarChunk_(streamID, varID, MEMTYPE_DOUBLE, rect, data, numMissVals); } void -streamWriteVarChunkF(int streamID, int varID, const int rect[][2], const float *data, SizeType nmiss) +streamWriteVarChunkF(int streamID, int varID, const int rect[][2], const float *data, SizeType numMissVals) { - void (*myCdiStreamWriteVarChunk_)(int streamID, int varID, int memtype, const int rect[3][2], const void *data, SizeType nmiss) + void (*myCdiStreamWriteVarChunk_)(int streamID, int varID, int memtype, const int rect[3][2], const void *data, SizeType numMissVals) = (void (*)(int, int, int, const int[3][2], const void *, SizeType)) namespaceSwitchGet(NSSWITCH_STREAM_WRITE_VAR_CHUNK_) .func; - myCdiStreamWriteVarChunk_(streamID, varID, MEMTYPE_FLOAT, rect, data, nmiss); + myCdiStreamWriteVarChunk_(streamID, varID, MEMTYPE_FLOAT, rect, data, numMissVals); } // single image implementation void -cdiStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2], const void *data, SizeType nmiss) +cdiStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2], const void *data, SizeType numMissVals) { if (CDI_Debug) Message("streamID = %d varID = %d", streamID, varID); @@ -266,14 +266,14 @@ cdiStreamWriteVarChunk_(int streamID, int varID, int memtype, const int rect[][2 break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_write_var_chunk(streamptr, varID, memtype, rect, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_write_var_chunk(streamptr, varID, memtype, rect, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(filetype)); break; } } static void -stream_write_record(int streamID, int memtype, const void *data, SizeType nmiss) +stream_write_record(int streamID, int memtype, const void *data, SizeType numMissVals) { check_parg(data); @@ -284,7 +284,7 @@ stream_write_record(int streamID, int memtype, const void *data, SizeType nmiss) switch (cdiBaseFiletype(streamptr->filetype)) { #ifdef HAVE_LIBGRIB - case CDI_FILETYPE_GRIB: grb_write_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_GRIB: grb_write_record(streamptr, memtype, data, numMissVals); break; #endif #ifdef HAVE_LIBSERVICE case CDI_FILETYPE_SRV: srv_write_record(streamptr, memtype, data); break; @@ -296,7 +296,7 @@ stream_write_record(int streamID, int memtype, const void *data, SizeType nmiss) case CDI_FILETYPE_IEG: ieg_write_record(streamptr, memtype, data); break; #endif #ifdef HAVE_LIBNETCDF - case CDI_FILETYPE_NETCDF: cdf_write_record(streamptr, memtype, data, nmiss); break; + case CDI_FILETYPE_NETCDF: cdf_write_record(streamptr, memtype, data, numMissVals); break; #endif default: Error("%s support not compiled in!", strfiletype(streamptr->filetype)); } @@ -308,11 +308,11 @@ stream_write_record(int streamID, int memtype, const void *data, SizeType nmiss) @Function streamWriteRecord @Title Write a horizontal slice of a variable -@Prototype void streamWriteRecord(int streamID, const double *data, SizeType nmiss) +@Prototype void streamWriteRecord(int streamID, const double *data, SizeType numMissVals) @Parameter @Item streamID Stream ID, from a previous call to @fref{streamOpenWrite}. @Item data Pointer to a block of double precision floating point data values to be written. - @Item nmiss Number of missing values. + @Item numMissVals Number of missing values. @Description The function streamWriteRecord writes the values of a horizontal slice (record) of a variable to an open dataset. @@ -320,13 +320,13 @@ The values are converted to the external data type of the variable, if necessary @EndFunction */ void -streamWriteRecord(int streamID, const double *data, SizeType nmiss) +streamWriteRecord(int streamID, const double *data, SizeType numMissVals) { - stream_write_record(streamID, MEMTYPE_DOUBLE, (const void *) data, nmiss); + stream_write_record(streamID, MEMTYPE_DOUBLE, (const void *) data, numMissVals); } void -streamWriteRecordF(int streamID, const float *data, SizeType nmiss) +streamWriteRecordF(int streamID, const float *data, SizeType numMissVals) { - stream_write_record(streamID, MEMTYPE_FLOAT, (const void *) data, nmiss); + stream_write_record(streamID, MEMTYPE_FLOAT, (const void *) data, numMissVals); }