NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Ed Yu wrote:
yeah, rank 0 is not obvious, you need to use 0 length array of Dimension. heres an example: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!
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"); }
netcdf-java
archives: