How to work with this example?
John Caron
caron at unidata.ucar.edu
Tue Jan 30 16:05:11 MST 2007
Hi Ruben:
Perhaps you are using an old version of the library?
2.2.18 has this method:
NetcdfFileWriteable.addVariable(String varName, DataType dataType, List dims);
Ruben Arroyo wrote:
> public static void main(String args[])
> {
> // We are writing 2D data, a 6 x 12 grid.
> final int NX = 6;
> final int NY = 12;
>
>
> // Create the file.
> String filename = "simple_xy.nc";
> NetcdfFileWriteable dataFile = null;
>
> try {
> dataFile = new NetcdfFileWriteable(filename);
>
> // Create netCDF dimensions,
> Dimension xDim = dataFile.addDimension ("x", NX );
> Dimension yDim = dataFile.addDimension("y", NY );
>
> ArrayList<Dimension> dims = new ArrayList<Dimension>();
>
> // define dimensions
> dims.add( xDim);
> dims.add( yDim);
>
>
> // Define a netCDF variable. The type of the variable in this case
> // is ncInt (32-bit integer).
> dataFile.addVariable("data", DataType.INT.getClass(), dims);
>
> //dataFile.addVariable("data", DataType.INT.getClass(), dims);
>
> // This is the data array we will write. It will just be filled
> // with a progression of numbers for this example.
> ArrayInt.D2 dataOut = new ArrayInt.D2 ( xDim.getLength(),
> yDim.getLength());
>
> // Create some pretend data. If this wasn't an example program, we
> // would have some real data to write, for example, model output.
> int i,j;
>
> for (i=0; i<xDim.getLength(); i++) {
> for (j=0; j<yDim.getLength(); j++) {
> dataOut.set(i,j, i * NY + j);
> }
> }
>
> // create the file
> dataFile.create();
>
>
> // Write the pretend data to the file. Although netCDF supports
> // reading and writing subsets of data, in this case we write all
> // the data in one operation.
> dataFile.write("data", dataOut);
>
>
> } catch (IOException e) {
> e.printStackTrace();
> } catch (InvalidRangeException e) {
> e.printStackTrace();
> } finally {
> if (dataFile != null)
> try {
> dataFile.close();
> } catch (IOException ioe) {
> ioe.printStackTrace();
> }
> }
>
> System.out.println( "*** SUCCESS writing example file simple_xy.nc!");
> }
>
> }
>
> // I have been to change several lines to try to compile the example I
> see in:
> //
> http://www.unidata.ucar.edu/software/netcdf/examples/programs/Simple_xy_wr.java
> <http://www.unidata.ucar.edu/software/netcdf/examples/programs/Simple_xy_wr.java>
>
> dataFile.addVariable("data", DataType.INT.getClass(), dims);
> The method addVariable(String, Class, Dimension[]) in the type
> NetcdfFileWriteable is not applicable for the arguments (String,
> Class<capture-of ? extends DataType>, ArrayList)
>
> And my question: Is possible that canot we pass an ArrayList to
> dataFile.addVariable ??
>
> Thanks!
>
==============================================================================
To unsubscribe netcdf-java, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
==============================================================================
More information about the Netcdf-java
mailing list