Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.

[netcdfgroup] Fw: NcVar put method

Sorry for sending this a gain


----- Forwarded Message ----

From: salah jubeh <s_jubeh@xxxxxxxxx>
To: support-netcdf@xxxxxxxxxxxxxxxx
Sent: Mon, November 8, 2010 12:58:41 PM
Subject: NcVar put method


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;
}


      
  • 2010 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: