ds.addDimension( null, new Dimension("Elevation", 1 , true)); String lName = "elevation angle in degres: 0 = parallel to pedestal base, 90 = perpendicular"; CoordinateAxis v = new CoordinateAxis1D(ds, null, "Elevation", DataType.DOUBLE, "Elevation", "degrees", lName); ds.addDimension( null, new Dimension("Elevation", spsize , true)); String lName = "elevation angle in degres: 0 = parallel to pedestal base, 90 = perpendicular"; CoordinateAxis v = new CoordinateAxis1D(ds, null, "Elevation", DataType.DOUBLE, "Elevation", "degrees", lName);
ds.addDimension(null, dim); if (debugBreakup) parseInfo.format(" make Dimension = %s length = %d%n", name, len);
ds.addDimension( null, new Dimension("Elevation", 1 , true)); String lName = "elevation angle in degres: 0 = parallel to pedestal base, 90 = perpendicular"; CoordinateAxis v = new CoordinateAxis1D(ds, null, "Elevation", DataType.DOUBLE, "Elevation", "degrees", lName); ds.addDimension( null, new Dimension("Elevation", spsize , true)); String lName = "elevation angle in degres: 0 = parallel to pedestal base, 90 = perpendicular"; CoordinateAxis v = new CoordinateAxis1D(ds, null, "Elevation", DataType.DOUBLE, "Elevation", "degrees", lName);
ds.addDimension(null, dim); if (debugBreakup) parseInfo.format(" make Dimension = %s length = %d%n", name, len);
ds.addDimension(null, new Dimension("Elevation", 1, true)); String lName = "elevation angle in degres: 0 = parallel to pedestal base, 90 = perpendicular"; CoordinateAxis v = new CoordinateAxis1D(ds, null, "Elevation", DataType.DOUBLE, "Elevation", "degrees", lName); ds.addDimension(null, new Dimension("Elevation", spsize, true)); String lName = "elevation angle in degres: 0 = parallel to pedestal base, 90 = perpendicular"; CoordinateAxis v = new CoordinateAxis1D(ds, null, "Elevation", DataType.DOUBLE, "Elevation", "degrees", lName);
ds.addDimension(null, dim); if (debugBreakup) parseInfo.format(" make Dimension = %s length = %d\n", name, len);
private void addCoordSystem(NetcdfDataset ds) throws IOException { double lat = ds.findGlobalAttributeIgnoreCase("Latitude").getNumericValue().doubleValue(); double lon = ds.findGlobalAttributeIgnoreCase("Longitude").getNumericValue().doubleValue(); double dlat = ds.findGlobalAttributeIgnoreCase("LatGridSpacing").getNumericValue().doubleValue(); double dlon = ds.findGlobalAttributeIgnoreCase("LonGridSpacing").getNumericValue().doubleValue(); int time = ds.findGlobalAttributeIgnoreCase("Time").getNumericValue().intValue(); if (debug) System.out.println(ds.getLocation() + " Lat/Lon=" + lat + "/" + lon); int nlat = ds.findDimension("Lat").getLength(); int nlon = ds.findDimension("Lon").getLength(); // add lat CoordinateAxis v = new CoordinateAxis1D(ds, null, "Lat", DataType.FLOAT, "Lat", CDM.LAT_UNITS, "latitude coordinate"); ds.setValues(v, nlat, lat, -dlat); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Lat.toString())); ds.addCoordinateAxis( v); // add lon v = new CoordinateAxis1D(ds, null, "Lon", DataType.FLOAT, "Lon", CDM.LON_UNITS, "longitude coordinate"); ds.setValues(v, nlon, lon, dlon); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Lon.toString())); ds.addCoordinateAxis( v); // add time ds.addDimension(null, new Dimension("Time", 1)); v = new CoordinateAxis1D(ds, null, "Time", DataType.INT, "Time", "seconds since 1970-1-1 00:00:00", "time coordinate"); ds.setValues(v, 1, time, 1); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Time.toString())); ds.addCoordinateAxis( v); }
private void addCoordSystem(NetcdfDataset ds) throws IOException { double lat = ds.findGlobalAttributeIgnoreCase("Latitude").getNumericValue().doubleValue(); double lon = ds.findGlobalAttributeIgnoreCase("Longitude").getNumericValue().doubleValue(); double dlat = ds.findGlobalAttributeIgnoreCase("LatGridSpacing").getNumericValue().doubleValue(); double dlon = ds.findGlobalAttributeIgnoreCase("LonGridSpacing").getNumericValue().doubleValue(); int time = ds.findGlobalAttributeIgnoreCase("Time").getNumericValue().intValue(); if (debug) System.out.println(ds.getLocation() + " Lat/Lon=" + lat + "/" + lon); int nlat = ds.findDimension("Lat").getLength(); int nlon = ds.findDimension("Lon").getLength(); // add lat CoordinateAxis v = new CoordinateAxis1D(ds, null, "Lat", DataType.FLOAT, "Lat", CDM.LAT_UNITS, "latitude coordinate"); v.setValues(nlat, lat, -dlat); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Lat.toString())); ds.addCoordinateAxis( v); // add lon v = new CoordinateAxis1D(ds, null, "Lon", DataType.FLOAT, "Lon", CDM.LON_UNITS, "longitude coordinate"); v.setValues(nlon, lon, dlon); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Lon.toString())); ds.addCoordinateAxis( v); // add time ds.addDimension(null, new Dimension("Time", 1)); v = new CoordinateAxis1D(ds, null, "Time", DataType.INT, "Time", "seconds since 1970-1-1 00:00:00", "time coordinate"); v.setValues(1, time, 1); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Time.toString())); ds.addCoordinateAxis( v); }
private void addCoordSystem(NetcdfDataset ds) throws IOException { double lat = ds.findGlobalAttributeIgnoreCase("Latitude").getNumericValue().doubleValue(); double lon = ds.findGlobalAttributeIgnoreCase("Longitude").getNumericValue().doubleValue(); double dlat = ds.findGlobalAttributeIgnoreCase("LatGridSpacing").getNumericValue().doubleValue(); double dlon = ds.findGlobalAttributeIgnoreCase("LonGridSpacing").getNumericValue().doubleValue(); int time = ds.findGlobalAttributeIgnoreCase("Time").getNumericValue().intValue(); if (debug) System.out.println(ds.getLocation() + " Lat/Lon=" + lat + "/" + lon); int nlat = ds.findDimension("Lat").getLength(); int nlon = ds.findDimension("Lon").getLength(); // add lat CoordinateAxis v = new CoordinateAxis1D(ds, null, "Lat", DataType.FLOAT, "Lat", CDM.LAT_UNITS, "latitude coordinate"); v.setValues(nlat, lat, -dlat); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Lat.toString())); ds.addCoordinateAxis( v); // add lon v = new CoordinateAxis1D(ds, null, "Lon", DataType.FLOAT, "Lon", CDM.LON_UNITS, "longitude coordinate"); v.setValues(nlon, lon, dlon); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Lon.toString())); ds.addCoordinateAxis( v); // add time ds.addDimension(null, new Dimension("Time", 1)); v = new CoordinateAxis1D(ds, null, "Time", DataType.INT, "Time", "seconds since 1970-1-1 00:00:00", "time coordinate"); v.setValues(1, time, 1); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Time.toString())); ds.addCoordinateAxis( v); }
ds.addDimension( null, newDim);
ds.addDimension( null, newDim);
ds.addDimension( null, newDim);
private boolean addTimeCoordinate(NetcdfDataset ds) { // add time coordinate CalendarDate cd = parseFilenameForDate(ds.getLocation()); if (cd == null) return false; ds.addAttribute(ds.getRootGroup(), new Attribute("_MODIS_Date", cd.toString())); // add the time dimension int nTimesDim = 1; Dimension newDim = new Dimension(TIME_NAME, nTimesDim); ds.addDimension( null, newDim); // add the coordinate variable String units = "seconds since "+cd.toString(); String desc = "time coordinate"; Array data = Array.makeArray(DataType.DOUBLE, 1, 0.0, 0.0) ; CoordinateAxis1D timeCoord = new CoordinateAxis1D( ds, null, TIME_NAME, DataType.DOUBLE, "", units, desc); timeCoord.setCachedData(data, true); timeCoord.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Time.toString())); ds.addCoordinateAxis(timeCoord); return true; }
private boolean addTimeCoordinate(NetcdfDataset ds) { // add time coordinate CalendarDate cd = parseFilenameForDate(ds.getLocation()); if (cd == null) return false; ds.addAttribute(ds.getRootGroup(), new Attribute("_MODIS_Date", cd.toString())); // add the time dimension int nTimesDim = 1; Dimension newDim = new Dimension(TIME_NAME, nTimesDim); ds.addDimension( null, newDim); // add the coordinate variable String units = "seconds since "+cd.toString(); String desc = "time coordinate"; Array data = Array.makeArray(DataType.DOUBLE, 1, 0.0, 0.0) ; CoordinateAxis1D timeCoord = new CoordinateAxis1D( ds, null, TIME_NAME, DataType.DOUBLE, "", units, desc); timeCoord.setCachedData(data, true); timeCoord.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Time.toString())); ds.addCoordinateAxis(timeCoord); return true; }
private boolean addTimeCoordinate(NetcdfDataset ds) { // add time coordinate CalendarDate cd = parseFilenameForDate(ds.getLocation()); if (cd == null) return false; ds.addAttribute(ds.getRootGroup(), new Attribute("_MODIS_Date", cd.toString())); // add the time dimension int nTimesDim = 1; Dimension newDim = new Dimension(TIME_NAME, nTimesDim); ds.addDimension( null, newDim); // add the coordinate variable String units = "seconds since "+cd.toString(); String desc = "time coordinate"; Array data = Array.makeArray(DataType.DOUBLE, 1, 0.0, 0.0) ; CoordinateAxis1D timeCoord = new CoordinateAxis1D( ds, null, TIME_NAME, DataType.DOUBLE, "", units, desc); timeCoord.setCachedData(data, true); timeCoord.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.Time.toString())); ds.addCoordinateAxis(timeCoord); return true; }
private void makeZCoordAxis(NetcdfDataset ds, String dimName, String levelsName, String unitName) { Dimension dimz = ds.findDimension(dimName); int nz = dimz.getLength(); ArrayDouble.D1 dataLev = new ArrayDouble.D1(nz); ArrayDouble.D1 dataLayers = new ArrayDouble.D1(nz + 1); // layer values are a numeric global attribute array !! Attribute layers = ds.findGlobalAttribute("VGLVLS"); for (int i = 0; i <= nz; i++) dataLayers.set(i, layers.getNumericValue(i).doubleValue()); for (int i = 0; i < nz; i++) { double midpoint = (dataLayers.get(i) + dataLayers.get(i + 1)) / 2; dataLev.set(i, midpoint); } CoordinateAxis v = new CoordinateAxis1D(ds, null, "level", DataType.DOUBLE, dimName, unitName, "synthesized coordinate from " + levelsName + " global attributes"); v.setCachedData(dataLev, true); v.addAttribute(new Attribute("positive", "down")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.GeoZ.toString())); // layer edges String edge_name = "layer"; Dimension lay_edge = new Dimension(edge_name, nz + 1); ds.addDimension(null, lay_edge); CoordinateAxis vedge = new CoordinateAxis1D(ds, null, edge_name, DataType.DOUBLE, edge_name, unitName, "synthesized coordinate from " + levelsName + " global attributes"); vedge.setCachedData(dataLayers, true); v.setBoundaryRef(edge_name); ds.addCoordinateAxis(v); ds.addCoordinateAxis(vedge); }
Dimension aggDim = new Dimension(dimName, getTotalCoords()); ncDataset.addDimension(null, aggDim);
Dimension aggDim = new Dimension(dimName, getTotalCoords()); ncDataset.addDimension(null, aggDim);
private void makeZCoordAxis(NetcdfDataset ds, String dimName, String levelsName, String unitName) { Dimension dimz = ds.findDimension(dimName); int nz = dimz.getLength(); ArrayDouble.D1 dataLev = new ArrayDouble.D1(nz); ArrayDouble.D1 dataLayers = new ArrayDouble.D1(nz + 1); // layer values are a numeric global attribute array !! Attribute layers = ds.findGlobalAttribute("VGLVLS"); for (int i = 0; i <= nz; i++) dataLayers.set(i, layers.getNumericValue(i).doubleValue()); for (int i = 0; i < nz; i++) { double midpoint = (dataLayers.get(i) + dataLayers.get(i + 1)) / 2; dataLev.set(i, midpoint); } CoordinateAxis v = new CoordinateAxis1D(ds, null, "level", DataType.DOUBLE, dimName, unitName, "synthesized coordinate from " + levelsName + " global attributes"); v.setCachedData(dataLev, true); v.addAttribute(new Attribute("positive", "down")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.GeoZ.toString())); // layer edges String edge_name = "layer"; Dimension lay_edge = new Dimension(edge_name, nz + 1); ds.addDimension(null, lay_edge); CoordinateAxis vedge = new CoordinateAxis1D(ds, null, edge_name, DataType.DOUBLE, edge_name, unitName, "synthesized coordinate from " + levelsName + " global attributes"); vedge.setCachedData(dataLayers, true); v.setBoundaryRef(edge_name); ds.addCoordinateAxis(v); ds.addCoordinateAxis(vedge); }
private void makeZCoordAxis(NetcdfDataset ds, String dimName, String levelsName, String unitName) { Dimension dimz = ds.findDimension(dimName); int nz = dimz.getLength(); ArrayDouble.D1 dataLev = new ArrayDouble.D1(nz); ArrayDouble.D1 dataLayers = new ArrayDouble.D1(nz + 1); // layer values are a numeric global attribute array !! Attribute layers = ds.findGlobalAttribute("VGLVLS"); for (int i = 0; i <= nz; i++) dataLayers.set(i, layers.getNumericValue(i).doubleValue()); for (int i = 0; i < nz; i++) { double midpoint = (dataLayers.get(i) + dataLayers.get(i + 1)) / 2; dataLev.set(i, midpoint); } CoordinateAxis v = new CoordinateAxis1D(ds, null, "level", DataType.DOUBLE, dimName, unitName, "synthesized coordinate from " + levelsName + " global attributes"); v.setCachedData(dataLev, true); v.addAttribute(new Attribute("positive", "down")); v.addAttribute(new Attribute(_Coordinate.AxisType, AxisType.GeoZ.toString())); // layer edges String edge_name = "layer"; Dimension lay_edge = new Dimension(edge_name, nz + 1); ds.addDimension(null, lay_edge); CoordinateAxis vedge = new CoordinateAxis1D(ds, null, edge_name, DataType.DOUBLE, edge_name, unitName, "synthesized coordinate from " + levelsName + " global attributes"); vedge.setCachedData(dataLayers, true); v.setBoundaryRef(edge_name); ds.addCoordinateAxis(v); ds.addCoordinateAxis(vedge); }