public VariableDS findVariable(String axisName) { return (VariableDS) parentStructure.findVariable(axisName); }
private void convertMemberInfo(StructureMembers wrapperSm) { for (StructureMembers.Member m : wrapperSm.getMembers()) { Variable v = findVariable(m.getName()); if ((v == null) && (orgVar != null)) // may have been renamed v = (Variable) findVariableFromOrgName(m.getName()); if (v != null) // a section will have missing variables LOOK wrapperSm probbably wrong in that case // log.error("Cant find " + m.getName()); //else m.setVariableInfo(v.getShortName(), v.getDescription(), v.getUnitsString(), v.getDataType()); // nested structures if (v instanceof StructureDS) { StructureDS innerStruct = (StructureDS) v; innerStruct.convertMemberInfo(m.getStructureMembers()); } } }
@Override public VariableDS findVariable(String axisName) { return (VariableDS) parentStructure.findVariable(axisName); }
private void convertMemberInfo(StructureMembers wrapperSm) { for (StructureMembers.Member m : wrapperSm.getMembers()) { Variable v = findVariable(m.getName()); if ((v == null) && (orgVar != null)) // may have been renamed v = (Variable) findVariableFromOrgName(m.getName()); if (v != null) { // a section will have missing variables LOOK wrapperSm probably wrong in that case // log.error("Cant find " + m.getName()); //else m.setVariableInfo(v.getShortName(), v.getDescription(), v.getUnitsString(), v.getDataType()); } // nested structures if (v instanceof StructureDS) { StructureDS innerStruct = (StructureDS) v; innerStruct.convertMemberInfo(m.getStructureMembers()); } } }
@Override public VariableDS findVariable(String axisName) { return (VariableDS) struct.findVariable(axisName); }
private void convertMemberInfo(StructureMembers wrapperSm) { for (StructureMembers.Member m : wrapperSm.getMembers()) { Variable v = findVariable(m.getName()); if ((v == null) && (orgVar != null)) // may have been renamed v = (Variable) findVariableFromOrgName(m.getName()); if (v != null) { // a section will have missing variables LOOK wrapperSm probably wrong in that case // log.error("Cant find " + m.getName()); //else m.setVariableInfo(v.getShortName(), v.getDescription(), v.getUnitsString(), v.getDataType()); } // nested structures if (v instanceof StructureDS) { StructureDS innerStruct = (StructureDS) v; innerStruct.convertMemberInfo(m.getStructureMembers()); } } }
@Override public VariableDS findVariable(String axisName) { return (VariableDS) parentStructure.findVariable(axisName); }
public VariableDS findVariable(String axisName) { return (VariableDS) parentStructure.findVariable(axisName); }
public VariableDS findVariable(String axisName) { return (VariableDS) parentStructure.findVariable(axisName); }
public VariableDS findVariable(String axisName) { return (VariableDS) parentStructure.findVariable(axisName); }
@Override public VariableDS findVariable(String axisName) { String structPrefix = struct.getShortName() + "."; if (axisName.startsWith(structPrefix)) axisName = axisName.substring(structPrefix.length()); return (VariableDS) struct.findVariable(axisName); }
@Override public VariableDS findVariable(String axisName) { String structPrefix = struct.getShortName() +"."; if (axisName.startsWith(structPrefix)) axisName = axisName.substring(structPrefix.length()); return (VariableDS) struct.findVariable(axisName); }
@Override public Structure select(List<String> memberNames) { StructureDS result = new StructureDS(getParentGroup(), orgVar); List<Variable> members = new ArrayList<Variable>(); for (String name : memberNames) { Variable m = findVariable(name); if (null != m) members.add(m); } result.setMemberVariables(members); result.isSubset = true; return result; }
@Override public Structure select(List<String> memberNames) { StructureDS result = new StructureDS(getParentGroup(), orgVar); List<Variable> members = new ArrayList<>(); for (String name : memberNames) { Variable m = findVariable(name); if (null != m) members.add(m); } result.setMemberVariables(members); result.isSubset = true; return result; }
@Override public Structure select(List<String> memberNames) { StructureDS result = new StructureDS(getParentGroup(), orgVar); List<Variable> members = new ArrayList<>(); for (String name : memberNames) { Variable m = findVariable(name); if (null != m) members.add(m); } result.setMemberVariables(members); result.isSubset = true; return result; }
Variable v = s.findVariable(m.getName()); indent.incr();
Variable v = s.findVariable(m.getName()); indent.incr();
private void writeSequence(StructureDS s, StructureDataIterator sdataIter) throws IOException { indent.incr(); int count = 0; while (sdataIter.hasNext()) { out.format("%sSequence %s count=%d%n", indent, s.getShortName(), count++); StructureData sdata = sdataIter.next(); indent.incr(); for (StructureMembers.Member m : sdata.getMembers()) { Variable v = s.findVariable(m.getName()); if (m.getDataType().isString() || m.getDataType().isNumeric()) { writeVariable((VariableDS) v, sdata.getArray(m)); } else if (m.getDataType() == DataType.STRUCTURE) { StructureDS sds = (StructureDS) v; ArrayStructure data = (ArrayStructure) sdata.getArray(m); writeSequence(sds, data.getStructureDataIterator()); } else if (m.getDataType() == DataType.SEQUENCE) { SequenceDS sds = (SequenceDS) v; ArraySequence data = (ArraySequence) sdata.getArray(m); writeSequence(sds, data.getStructureDataIterator()); } } indent.decr(); } indent.decr(); }
public void testDatasetAddRecordAfter() throws InvalidRangeException, IOException { NetcdfDataset nc = NetcdfDataset.openDataset(TestDir.cdmLocalTestDataDir + "testWriteRecord.nc"); assert (Boolean) nc.sendIospMessage(NetcdfFile.IOSP_MESSAGE_ADD_RECORD_STRUCTURE); // record variable Variable record = nc.findVariable("record"); assert record instanceof StructureDS; StructureDS rs = (StructureDS) record; assert rs.getRank() == 1; assert rs.getDimension(0).getLength() == 2; /* Read a record */ Array rsValues = rs.read("1:1:2"); assert (rsValues instanceof ArrayStructure); assert rsValues.getRank() == 1; assert rsValues.getShape()[0] == 1; StructureData sdata = (StructureData) rsValues.getObject(rsValues.getIndex()); Array gdata = sdata.getArray("time"); assert gdata instanceof ArrayInt.D0 : gdata.getClass().getName(); ArrayInt.D0 tdata = (ArrayInt.D0) gdata; int t = tdata.get(); assert t == 18; int t2 = sdata.getScalarInt("time"); assert t2 == 18; /* Read the times: unlimited dimension */ Variable time = rs.findVariable("time"); Array timeValues = time.read(); assert (timeValues instanceof ArrayInt.D0); ArrayInt.D0 ta = (ArrayInt.D0) timeValues; assert (ta.get() == 6) : ta.get(); nc.close(); }
Variable time = rs.findVariable("time"); assert time != null; Array timeValues = time.read();