@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
/** * Set data for one member, over all structures. * This is used by VariableDS to do scale/offset. * * @param m set data for this StructureMembers.Member. * @param memberArray Array values. */ public void setMemberArray(StructureMembers.Member m, Array memberArray) { m.setDataArray(memberArray); if (memberArray instanceof ArrayStructure) { // LOOK ArrayStructure as = (ArrayStructure) memberArray; m.setStructureMembers( as.getStructureMembers()); } }
private void decodeMemberData(StructureMembers members, NcStreamProto.DataCol memberData, Section parentSection) throws IOException { String name = memberData.getName(); DataType dataType = NcStream.convertDataType(memberData.getDataType()); Section section = NcStream.decodeSection(memberData.getSection()); if (!memberData.getIsVlen()) { assert memberData.getNelems() == section.computeSize(); } // the dproto section includes parents, remove them Section msection = section.removeFirst(parentSection); if (memberData.getIsVlen()) msection = msection.appendRange(Range.VLEN); StructureMembers.Member result = members.addMember(name, null, null, dataType, msection.getShape()); Array data = decode(memberData, parentSection); result.setDataArray(data); }
@Override public StructureDataIterator getStructureDataIterator(Cursor cursor) throws IOException { StructureData parentStruct = cursor.getParentStructure(); if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(data); } return asma.getStructureDataIterator(); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.tableData[2]; if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky int middleIndex = cursor.recnum[1]; ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); Array myData = data.slice(0, middleIndex); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray (myData.copy()); // must make copy - ArrayStucture doesnt deal with logical views } return asma.getStructureDataIterator(); }
/** * Set data for one member, over all structures. * This is used by VariableDS to do scale/offset. * * @param m set data for this StructureMembers.Member. * @param memberArray Array values. */ public void setMemberArray(StructureMembers.Member m, Array memberArray) { m.setDataArray(memberArray); if (memberArray instanceof ArrayStructure) { // LOOK ArrayStructure as = (ArrayStructure) memberArray; m.setStructureMembers( as.getStructureMembers()); } }
private void addTime(ArrayStructure as) throws IOException { int n = (int) as.getSize(); Array timeData = Array.factory(double.class, new int[]{n}); IndexIterator ii = timeData.getIndexIterator(); StructureDataIterator iter = as.getStructureDataIterator(); while (iter.hasNext()) ii.setDoubleNext(construct.makeObsTimeValue(iter.next())); StructureMembers.Member m = as.findMember(ConstructNC.TIME_NAME); m.setDataArray(timeData); }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
/** * Set the data array for this member. * @param memberName name of member * @param data Array for this member. */ public void setMemberArray( String memberName, Array data) { StructureMembers.Member m = members.findMember( memberName); m.setDataArray( data); }
@Override public Array reallyRead(Variable mainv, CancelTask cancelTask) throws IOException { if (debugRecord) System.out.println(" read all psuedo records "); StructureMembers smembers = makeStructureMembers(); ArrayStructureMA asma = new ArrayStructureMA( smembers, getShape()); for (Variable v : orgVariables) { Array data = v.read(); StructureMembers.Member m = smembers.findMember(v.getShortName()); m.setDataArray(data); } return asma; }
/** * Set the data array for this member. * @param memberName name of member * @param data Array for this member. */ public void setMemberArray( String memberName, Array data) { StructureMembers.Member m = members.findMember( memberName); m.setDataArray( data); }
/** * Set the data array for this member. * @param memberName name of member * @param data Array for this member. */ public void setMemberArray( String memberName, Array data) { StructureMembers.Member m = members.findMember( memberName); m.setDataArray( data); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.tableData[2]; int middleIndex = cursor.recnum[1]; ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (VariableSimpleIF v : cols) { Array data = parentStruct.getArray(v.getShortName()); Array myData = data.slice(0, middleIndex); StructureMembers.Member childm = sm.findMember(v.getShortName()); childm.setDataArray (myData.copy()); // must make copy - ARrayStucture doesnt deal with logical views } return asma.getStructureDataIterator(); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.getParentStructure(); ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (VariableSimpleIF v : cols) { Array data = parentStruct.getArray(v.getShortName()); StructureMembers.Member childm = sm.findMember(v.getShortName()); childm.setDataArray(data); } return asma.getStructureDataIterator(); }
public ArrayStructure makeNested2(StructureMembers.Member parent) throws IOException, InvalidRangeException { StructureMembers members = new StructureMembers(parent.getName()); parent.setStructureMembers(members); StructureMembers.Member m = members.addMember("h1", "desc", "units", DataType.INT, new int[]{1}); Array data = Array.factory(DataType.INT, new int[]{4, 9, 7}); m.setDataArray(data); fill(data); m = members.addMember("h2", "desc", "units", DataType.DOUBLE, new int[]{2}); data = Array.factory(DataType.DOUBLE, new int[]{4, 9, 7, 2}); m.setDataArray(data); fill(data); return new ArrayStructureBB(members, new int[]{4, 9, 7}); }
private ArrayStructure makeNested2(StructureMembers.Member parent) throws IOException, InvalidRangeException { StructureMembers members = new StructureMembers(parent.getName()); parent.setStructureMembers(members); StructureMembers.Member m = members.addMember("h1", "desc", "units", DataType.INT, new int[]{1}); Array data = Array.factory(DataType.INT, new int[]{4, 9, 7}); m.setDataArray(data); fill(data); m = members.addMember("h2", "desc", "units", DataType.DOUBLE, new int[]{2}); data = Array.factory(DataType.DOUBLE, new int[]{4, 9, 7, 2}); m.setDataArray(data); fill(data); return new ArrayStructureMA(members, new int[]{4, 9, 7}); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.getParentStructure(); if (parentStruct instanceof StructureDataProxy) parentStruct = ((StructureDataProxy) parentStruct).getOriginalStructureData(); // tricky dicky ArrayStructureMA asma = new ArrayStructureMA(sm, new int[]{inner.getLength()}); for (String colName : cols.keySet()) { Array data = parentStruct.getArray(colName); StructureMembers.Member childm = sm.findMember(colName); childm.setDataArray(data); } return asma.getStructureDataIterator(); }