/** * Retrieve a Dimension using its (short) name. If it doesnt exist in this group, * recursively look in parent groups. * * @param name Dimension name. * @return the Dimension, or null if not found */ public Dimension findDimension(String name) { if (name == null) return null; // name = NetcdfFile.makeNameUnescaped(name); Dimension d = findDimensionLocal(name); if (d != null) return d; Group parent = getParentGroup(); if (parent != null) return parent.findDimension(name); return null; }
private void setUnlimited(String dimName) { Dimension dim = rootGroup.findDimension(dimName); if (dim != null) dim.setUnlimited(true); else logger.error(" DODS Unlimited_Dimension = " + dimName + " not found on " + location); }
public boolean hasDimension(Group g, String dimName) { if (g == null) g = ncfile.getRootGroup(); return g.findDimension(dimName) != null; }
/** * Retrieve a Dimension using its (short) name. If it doesnt exist in this group, * recursively look in parent groups. * * @param name Dimension name. * @return the Dimension, or null if not found */ public Dimension findDimension(String name) { if (name == null) return null; // name = NetcdfFile.makeNameUnescaped(name); Dimension d = findDimensionLocal(name); if (d != null) return d; Group parent = getParentGroup(); if (parent != null) return parent.findDimension(name); return null; }
public boolean hasDimension(Group g, String dimName) { if (g == null) g = ncfile.getRootGroup(); return g.findDimension(dimName) != null; }
/** * Rename a Dimension. Must be in define mode. * @param oldName existing dimension has this name * @param newName rename to this * @return renamed dimension, or null if not found */ public Dimension renameDimension(Group g, String oldName, String newName) { if (!defineMode) throw new UnsupportedOperationException("not in define mode"); if (!isValidObjectName(newName)) throw new IllegalArgumentException("illegal dimension name "+newName); if (g == null) g = ncfile.getRootGroup(); Dimension dim = g.findDimension(oldName); if (null != dim) dim.setName(newName); return dim; }
/** * Rename a Dimension. Must be in define mode. * * @param oldName existing dimension has this name * @param newName rename to this * @return renamed dimension, or null if not found */ public Dimension renameDimension(Group g, String oldName, String newName) { if (!defineMode) throw new UnsupportedOperationException("not in define mode"); if (!isValidObjectName(newName)) throw new IllegalArgumentException("illegal dimension name " + newName); if (g == null) g = ncfile.getRootGroup(); Dimension dim = g.findDimension(oldName); if (null != dim) dim.setName(newName); return dim; }
/** * Rename a Dimension. Must be in define mode. * * @param oldName existing dimension has this name * @param newName rename to this * @return renamed dimension, or null if not found */ public Dimension renameDimension(Group g, String oldName, String newName) { if (!defineMode) throw new UnsupportedOperationException("not in define mode"); if (!isValidObjectName(newName)) throw new IllegalArgumentException("illegal dimension name " + newName); if (g == null) g = ncfile.getRootGroup(); Dimension dim = g.findDimension(oldName); if (null != dim) dim.setName(newName); return dim; }
private Dimension makeDimensionShared(String dimName, int len) { Group root = ncfile.getRootGroup(); Dimension d = root.findDimension(dimName); if ((d != null) && (d.getLength() == len)) return d; if (d != null) { // different length dimName = dimName + len; d = root.findDimension(dimName); if ((d != null) && (d.getLength() == len)) return d; } // create new dimension and add it return ncfile.addDimension(null, new Dimension(dimName, len)); }
private Dimension makeDimensionShared(String dimName, int len) { Group root = ncfile.getRootGroup(); Dimension d = root.findDimension(dimName); if ((d != null) && (d.getLength() == len)) return d; if (d != null) { // different length dimName = dimName + len; d = root.findDimension(dimName); if ((d != null) && (d.getLength() == len)) return d; } // create new dimension and add it return ncfile.addDimension(null, new Dimension(dimName, len)); }
private Dimension makeDimensionShared(String dimName, int len) { Group root = ncfile.getRootGroup(); Dimension d = root.findDimension(dimName); if ((d != null) && (d.getLength() == len)) return d; if (d != null) { // different length dimName = dimName + len; d = root.findDimension(dimName); if ((d != null) && (d.getLength() == len)) return d; } // create new dimension and add it return ncfile.addDimension(null, new Dimension(dimName, len)); }
static public Dimension getBoundsDimension(NetcdfFile ncfile) { Group g = ncfile.getRootGroup(); Dimension d = g.findDimension(boundsDimName); if (d == null) d = ncfile.addDimension(g, new Dimension(boundsDimName, 2, true)); return d; }
static public Dimension getBoundsDimension(NetcdfFile ncfile) { Group g = ncfile.getRootGroup(); Dimension d = g.findDimension(boundsDimName); if (d == null) d = ncfile.addDimension(g, new Dimension(boundsDimName, 2, true)); return d; }
static public Dimension getBoundsDimension(NetcdfFile ncfile) { Group g = ncfile.getRootGroup(); Dimension d = g.findDimension(boundsDimName); if (d == null) d = ncfile.addDimension(g, new Dimension(boundsDimName, 2, true)); return d; }
private String extendDimension(ucar.nc2.Group g, H5Group h5group, String name, int length) { int pos = name.lastIndexOf('/'); String dimName = (pos >= 0) ? name.substring(pos + 1) : name; Dimension d = h5group.dimMap.get(dimName); // first look in current group if (d == null) d = g.findDimension(dimName); // then look in parent groups if (d != null) { if (d.isUnlimited() && (length > d.getLength())) d.setLength(length); if (!d.isUnlimited() && (length != d.getLength())) { throw new IllegalStateException("extendDimension: DimScale has different length than dimension it references dimScale=" + dimName); } return d.getShortName(); } return dimName; }
private String extendDimension(ucar.nc2.Group g, H5Group h5group, String name, int length) { int pos = name.lastIndexOf('/'); String dimName = (pos >= 0) ? name.substring(pos + 1) : name; Dimension d = h5group.dimMap.get(dimName); // first look in current group if (d == null) d = g.findDimension(dimName); // then look in parent groups if (d != null) { if (d.isUnlimited() && (length > d.getLength())) d.setLength(length); if (!d.isUnlimited() && (length != d.getLength())) { throw new IllegalStateException("extendDimension: DimScale has different length than dimension it references dimScale=" + dimName); } return d.getShortName(); } return dimName; }
private String extendDimension(ucar.nc2.Group g, H5Group h5group, String name, int length) { int pos = name.lastIndexOf('/'); String dimName = (pos >= 0) ? name.substring(pos + 1) : name; Dimension d = h5group.dimMap.get(dimName); // first look in current group if (d == null) d = g.findDimension(dimName); // then look in parent groups if (d != null) { if (d.isUnlimited() && (length > d.getLength())) d.setLength(length); if (!d.isUnlimited() && (length != d.getLength())) { throw new IllegalStateException("extendDimension: DimScale has different length than dimension it references dimScale="+dimName); } return d.getShortName(); } return dimName; }
@Override public int getDimension(String name) { String groupName = getDirectory(name); String variableName = getName(name); Group group = getGroup(groupName); return group.findDimension(variableName).getLength(); }
@Override public int getDimension(String name) { String groupName = getDirectory(name); String variableName = getName(name); Group group = getGroup(groupName); return group.findDimension(variableName).getLength(); }
private void makeCoordinateVariable(Group parentGroup, Variable v, Array data) { String name = v.getShortName(); // replace in Variable Dimension oldDimension = v.getDimension(0); Dimension newDimension = new Dimension(name, oldDimension.getLength()); // newDimension.setCoordinateAxis( v); calcCoordinateVaribale will do this v.setDimension(0, newDimension); // replace old (if it exists) in Group with shared dimension Dimension old = parentGroup.findDimension(name); parentGroup.remove(old); parentGroup.addDimension(newDimension); // might as well cache the data if (data != null) { v.setCachedData(data); if (debugCached) System.out.println(" cache for <" + name + "> length =" + data.getSize()); } }