@Override public StructureDataIterator reset() { count = 0; total = (int) getSize(); readStart = 0; readCount = 0; outerCount = 0; return this; }
@Override public StructureDataIterator reset() { count = 0; total = (int) getSize(); readStart = 0; readCount = 0; outerCount = 0; return this; }
public int getDataCount() { return (int) recordHelper.getRecordVar().getSize(); }
public int getDataCount() { return (int) recordHelper.getRecordVar().getSize(); }
public int getDataCount() { return (int) recordHelper.getRecordVar().getSize(); }
/** * Read nested structure data * * @param name Variable name, * @param memberName mumber name, * @param bos data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedLinkedVectorData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readLinkedVectorData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedDataUnlinkVector(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws java.io.IOException, ucar.ma2.InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readUnlinkedVectorData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedDataUnlinkVector(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws java.io.IOException, ucar.ma2.InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readUnlinkedVectorData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedWindBarbData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readWindBarbData(name, bos, vinfo, null); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); //return asbb; }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedWindBarbData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readWindBarbData(name, bos, vinfo, null); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(DataType.SHORT, pdata.getShape(), pa); return ay.sectionNoReduce(section); //return asbb; }
/** * Read nested structure data * * @param name Variable name, * @param memberName mumber name, * @param bos data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedLinkedVectorData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readLinkedVectorData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedCircleStructData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readCircleStructData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedCircleStructData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readCircleStructData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(DataType.SHORT, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedVectorArrowData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readVectorArrowData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
/** * Read nested structure data * * @param name Variable name, * @param memberName mumber name, * @param bos data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedLinkedVectorData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readLinkedVectorData(name, bos, vinfo); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(DataType.SHORT, pdata.getShape(), pa); return ay.sectionNoReduce(section); }
private void testReadDataAsShort(Structure v, String memberName) { Array a = null; assert(null != v); assert(null != v.getDimension(0)); try { a = v.read(); assert(null != a); } catch (java.io.IOException e) { e.printStackTrace(); assert(false); } assert( v.getSize() == a.getSize() ); assert (a instanceof ArrayStructure); int sum = 0; ArrayStructure as = (ArrayStructure) a; int n = (int) as.getSize(); for (int i = 0; i < n; i++) { StructureData sdata = as.getStructureData(i); sum += sdata.getScalarShort(memberName); } System.out.println("test short sum = "+sum); }
/** * Read nested data * * @param name Variable name, * @param memberName Structure mumber name, * @param bos Data buffer, * @param vinfo variable info, * @param section variable section * @return the array of member variable data */ public Array readNestedWindBarbData(String name, String memberName, ByteBuffer bos, Nidsheader.Vinfo vinfo, java.util.List section) throws IOException, InvalidRangeException { Structure pdata = (Structure) ncfile.findVariable(name); ArrayStructure ma = readWindBarbData(name, bos, vinfo, null); int size = (int) pdata.getSize(); StructureMembers members = ma.getStructureMembers(); StructureMembers.Member m = members.findMember(memberName); short[] pa = new short[size]; for (int i = 0; i < size; i++) { pa[i] = ma.getScalarShort(i, m); } Array ay = Array.factory(short.class, pdata.getShape(), pa); return ay.sectionNoReduce(section); //return asbb; }
public void testStructureIterator() throws IOException, InvalidRangeException { NetcdfFile ncfile = NetcdfFile.open(TestDir.cdmUnitTestDir + "ft/station/Surface_METAR_20080205_0000.nc"); ncfile.sendIospMessage(NetcdfFile.IOSP_MESSAGE_ADD_RECORD_STRUCTURE); Structure v = (Structure) ncfile.findVariable("record"); assert v != null; assert (v.getDataType() == DataType.STRUCTURE); int count = 0; try (StructureDataIterator si = v.getStructureIterator()) { while (si.hasNext()) { StructureData sd = si.next(); count++; } } assert count == v.getSize(); ncfile.close(); } }
public void testReadStructureSection() throws IOException, InvalidRangeException { Structure record = (Structure) ncfile.findVariable("record"); assert record != null; Structure subset = (Structure) record.section(new Section("0:10")); assert subset != null; assert subset.getRank() == 1; assert subset.getSize() == 11; // read entire subset ArrayStructure dataAll = (ArrayStructure) subset.read(new Section("0:10")); assert dataAll.getSize() == 11; StructureMembers sm =dataAll.getStructureMembers(); for(StructureMembers.Member m : sm.getMembers()) { Variable v = subset.findVariable(m.getName()); assert v != null; Array mdata = dataAll.extractMemberArray(m); assert mdata.getShape()[0] == dataAll.getShape()[0]; assert mdata.getElementType() == m.getDataType().getPrimitiveClassType(); System.out.println(m.getName()+ " shape="+new Section(mdata.getShape())); } System.out.println("*** TestStructureSubset ok"); }