private void createNewVariables(NetcdfDataset ds, Variable ncVar, List<Dimension> newDims, Dimension levelDim) throws InvalidRangeException { List<Dimension> dims = ncVar.getDimensions(); int newDimIndex = dims.indexOf(levelDim); //String shapeS = ncVar.getShapeS(); int[] origin = new int[ncVar.getRank()]; int[] shape = ncVar.getShape(); int count = 0; for (Dimension dim : newDims) { String name = ncVar.getShortName() + "-" + dim.getShortName(); origin[newDimIndex] = count; shape[newDimIndex] = dim.getLength(); Variable varNew = ncVar.section(new Section(origin, shape)); varNew.setName(name); varNew.setDimension(newDimIndex, dim); // synthesize long name String long_name = ds.findAttValueIgnoreCase(ncVar, CDM.LONG_NAME, ncVar.getShortName()); long_name = long_name + "-" + dim.getShortName(); ds.addVariableAttribute(varNew, new Attribute(CDM.LONG_NAME, long_name)); ds.addVariable(null, varNew); parseInfo.format("Created New Variable as section = "); varNew.getNameAndDimensions(parseInfo, true, false); parseInfo.format("%n"); count += dim.getLength(); } }
private void createNewVariables(NetcdfDataset ds, Variable ncVar, List<Dimension> newDims, Dimension levelDim) throws InvalidRangeException { List<Dimension> dims = ncVar.getDimensions(); int newDimIndex = dims.indexOf(levelDim); //String shapeS = ncVar.getShapeS(); int[] origin = new int[ncVar.getRank()]; int[] shape = ncVar.getShape(); int count = 0; for (Dimension dim : newDims) { String name = ncVar.getShortName() + "-" + dim.getShortName(); origin[newDimIndex] = count; shape[newDimIndex] = dim.getLength(); Variable varNew = ncVar.section(new Section(origin, shape)); varNew.setName(name); varNew.setDimension(newDimIndex, dim); // synthesize long name String long_name = ds.findAttValueIgnoreCase(ncVar, CDM.LONG_NAME, ncVar.getShortName()); long_name = long_name + "-" + dim.getShortName(); ds.addVariableAttribute(varNew, new Attribute(CDM.LONG_NAME, long_name)); ds.addVariable(null, varNew); parseInfo.format("Created New Variable as section = "); varNew.getNameAndDimensions(parseInfo, true, false); parseInfo.format("\n"); count += dim.getLength(); } }
private void createNewVariables(NetcdfDataset ds, Variable ncVar, List<Dimension> newDims, Dimension levelDim) throws InvalidRangeException { List<Dimension> dims = ncVar.getDimensions(); int newDimIndex = dims.indexOf(levelDim); //String shapeS = ncVar.getShapeS(); int[] origin = new int[ncVar.getRank()]; int[] shape = ncVar.getShape(); int count = 0; for (Dimension dim : newDims) { String name = ncVar.getShortName() + "-" + dim.getShortName(); origin[newDimIndex] = count; shape[newDimIndex] = dim.getLength(); Variable varNew = ncVar.section(new Section(origin, shape)); varNew.setName(name); varNew.setDimension(newDimIndex, dim); // synthesize long name String long_name = ds.findAttValueIgnoreCase(ncVar, CDM.LONG_NAME, ncVar.getShortName()); long_name = long_name + "-" + dim.getShortName(); ds.addVariableAttribute(varNew, new Attribute(CDM.LONG_NAME, long_name)); ds.addVariable(null, varNew); parseInfo.format("Created New Variable as section = "); varNew.getNameAndDimensions(parseInfo, true, false); parseInfo.format("%n"); count += dim.getLength(); } }