[netcdf-java] Writing data for a single timestep

Hi all,

I¹ve successfully created an empty NetcdfFile but I¹m having some difficulty
writing data to the file.  Just for a bit of context, I¹m trying to write
data from a list of particles ­ each of which has an id, lat, lon and
concentration ­ to the nc file one timestep at a time.

In other words, I have a loop where a new list of particles is generated
each cycle.  After they are generated, they need to be written to the nc
file as a ³new² timestep.

Basically, I¹d like to have a method that accepts the list of particles
(which contain lat, lon, conc) and a time and simply write a new time record
with all of the particles in the list.  Is that possible??

I¹m completely lost as to how I can do this efficiently.  All of the
examples I can find show writing all of the variables for all times at once
­ which doesn¹t help (too much data to hold in memory until the end).

Any help is very much appreciated.

Thanks,
Chris

Here¹s my file creation code just in case there¹s something wrong here...:

        outNc = NetcdfFileWriteable.createNew(fileLoc, true);
        
        //make the dimensions
        Dimension timeDim = outNc.addDimension(this.TIME, timeSteps);
        Dimension partDim = outNc.addDimension(this.PARTICLE, numParts);
        
        ArrayList dims = new ArrayList();
        
        //add coordinate variables
        outNc.addVariable(this.TIME, DataType.INT, new
Dimension[]{timeDim});
        outNc.addVariable(this.PARTICLE, DataType.INT, new
Dimension[]{partDim});
        
        dims.add(timeDim);
        dims.add(partDim);
        
        //add the variables
        outNc.addVariable(this.LAT, DataType.DOUBLE, dims);
        outNc.addVariable(this.LON, DataType.DOUBLE, dims);
        outNc.addVariable(this.CCONC, DataType.DOUBLE, dims);
        
        //add attributes to the variables
        outNc.addVariableAttribute(this.LAT, "units", "deg North");
        outNc.addVariableAttribute(this.LON, "units", "deg East");
        outNc.addVariableAttribute(this.CCONC, "units", "moles liter^-1");
        
        try {
            outNc.create();
        } catch (IOException ex) {
            ex.printStackTrace();
        } 

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