Re: Newbie queation about using NetCDF Java Library (Version 2) creating a scalar variable

  • To: Ed Yu <ekyu@xxxxxxxxx>
  • Subject: Re: Newbie queation about using NetCDF Java Library (Version 2) creating a scalar variable
  • From: John Caron <caron@xxxxxxxxxxxxxxxx>
  • Date: Sat, 08 Nov 2003 15:29:26 -0700
Ed Yu wrote:

Hi all,

I'm trying to create a scalar variable say:

interval = 60

I have trouble using the java api to add a variable without a dimension. Did
I completely misunderstand the NetCDF concept? If I make the variable
interval a dimension with rank-1 (vector), I was able to create the netcdf
file.

Any comments and sample code is appreciated.

Thanks a bunch!
yeah, rank 0 is not obvious, you need to use 0 length array of Dimension. heres an example:
public void testWrite() {
   NetcdfFileWriteable ncfile = new NetcdfFileWriteable();
   ncfile.setName("mydata.nc");

   ncfile.addVariable("interval", int.class, new Dimension[0]);

   // create the file
   try {
     ncfile.create();
   }  catch (IOException e) {
     System.err.println("ERROR creating file");
     assert(false);
   }

   // write scaler
   try {
     ArrayInt.D0 scalarA = new ArrayInt.D0();
     scalarA.set( 60);
     ncfile.write("interval", scalarA);
   } catch (IOException e) {
     System.err.println("ERROR writing Achar4");
     assert(false);
   }

   // read it back
   // read scalar variable
   Variable scalar = ncfile.findVariable("interval"));
   try {
     A = scalar.read();
   } catch (IOException e) {
     assert(false);
   }
   ArrayInt.D0 scalarA = (ArrayInt.D0) A;
   int vali = scalarA.get();
   assert(vali == 60);

   // all done
   try {
     ncfile.close();
   } catch (IOException e) {
     System.err.println("ERROR writing file");
     assert(false);
   }

   System.out.println( "*****************Test Write done");
 }



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