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.

Re: Problems with Java NetCDF examples

Craig Mattocks wrote:

Hi John,

I modified the CreateNetcdf.java example file (attached) to add a "valid_range" attribute to the relative humidity field but I am running into problems.

When I compare the output with the file generated by "ncgen -b example.cdl", the quotes are contained in the Java-generated file (see line #88).

What is the proper way to add an attribute like this? I can't find the info in the Javadocs.

Please excuse me if this is a dumb question.

Thanks!
Craig


You have:
       ncfile.addVariable("rh", DataType.INT, dim3);
       ncfile.addVariableAttribute("rh", "long_name", "relative humidity");
       ncfile.addVariableAttribute("rh", "units", "percent");

ncfile.addVariableAttribute("rh", "valid_range", "0., 100."); // <--- Problem quotes!

which adds a string-valued attribute. You probably want to create an integer valued attribute, since rh is an integer.

normally you could go:

ncfile.addVariableAttribute("rh", "valid_range", new Integer(0) );
but since you need an array, its more convoluted:

ArrayInt.D1 valid_range = new ArrayInt.D1(2); // create a 1-d integer array of length
   valid_range.set(0, 0);  // set the firsst element
   valid_range.set(1,100);  // set the second element
   ncfile.addVariableAttribute("rh", "valid_range", valid_range);



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