[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #QQU-296951]: NcVar put method



Hi Salah,

Sorry to have taken so long to respond to your question ...

It looks like you got the help you needed from the netcdfgroup
mailing list.

--Russ

> I am trying to use this method signature -NcBool put(const ....*   vals,
> const long* counts)-; but I have a problem  , can some one please tell
> me what is my mistake .
> 
> Why - data->put(&dataOut[0],*dim);-  is not working. Please see the code.
> 
> 
> #include <iostream>
> #include <netcdfcpp.h>
> 
> using namespace std;
> 
> // We are writing 2D data, a 6 x 12 grid.
> static const int NDIMS = 2;
> static const int NX = 6;
> static const int NY = 12;
> 
> // Return this in event of a problem.
> static const int NC_ERR = 2;
> 
> int main(void)
> {
> // Different ways to write arrays
> 
> int dataOut[NX * NY];
> int dataOut2[NX] [NY];
> 
> // Create some pretend data. Note that dataOut and dataOut2 are
> identical...!!!
> for(int i = 0; i < NX; i++)
> for(int j = 0; j < NY; j++){
> dataOut[i * NY +j] = (i+1) * (j+1);
> dataOut2[i][j] = (i+1) * (j+1);
> }
> 
> 
> // Create the file.
> NcFile dataFile("simple_xy.nc", NcFile::Replace);
> 
> if (!dataFile.is_valid())
> {
> cout << "Couldn't open file!\n";
> return NC_ERR;
> }
> 
> NcDim* xDim = dataFile.add_dim("x", NX);
> NcDim* yDim = dataFile.add_dim("y", NY);
> 
> 
> const NcDim* all[2] ;
> all[0] = xDim;
> all[1] = yDim;
> 
> int *dim;
> dim = new int[2];
> dim[0] = 6;
> dim[1] = 12;
> 
> NcVar *data = dataFile.add_var("data", ncInt, 2, all);
> NcVar *data2 = dataFile.add_var("data2", ncInt, 2, all);
> 
> // This works fine and data and data2 are identical
> // data->put(&dataOut[0],NX, NY);
> data2->put(&dataOut2[0][0], NX, NY);
> 
> // try to use another signature
> 
> data->put(&dataOut[0],*dim); //nothing is written
> 
> cout << "*** SUCCESS writing example file simple_xy.nc!" << endl;
> 
> return 0;
> }
> 
> 
> 
> 
> 

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: QQU-296951
Department: Support netCDF
Priority: Normal
Status: Closed