/** @return the shape */ public int[] getShape() { return variableDS.getShape(); }
/** @throws Exception */ private void initSlicesInfo() throws Exception { int[] shape = variableDS.getShape(); numberOfSlices = 1; for (int i = 0; i < variableDS.getShape().length - 2; i++) { if (!ignoredDimensions.contains(variableDS.getDimension(i).getFullName())) { numberOfSlices *= shape[i]; } } }
/** @return the shape */ public int[] getShape() { return variableDS.getShape(); }
/** @throws Exception */ private void initSlicesInfo() throws Exception { int[] shape = variableDS.getShape(); numberOfSlices = 1; for (int i = 0; i < variableDS.getShape().length - 2; i++) { if (!ignoredDimensions.contains(variableDS.getDimension(i).getFullName())) { numberOfSlices *= shape[i]; } } }
/** * @throws Exception * */ private void initSlicesInfo() throws Exception { // get the length of the coverageDescriptorsCache in each dimension shape = variableDS.getShape(); switch (shape.length) { case 2: numberOfSlices = 1; break; case 3: numberOfSlices = shape[0]; break; case 4: numberOfSlices = 0 + shape[0] * shape[1]; break; default: if (LOGGER.isLoggable(Level.WARNING)) LOGGER.warning("Ignoring variable: " + getName() + " with shape length: " + shape.length); } }
private List<CalendarDate> makeTimesFromChar(VariableDS org, Formatter errMessages) throws IOException { int ncoords = (int) org.getSize(); int rank = org.getRank(); int strlen = org.getShape(rank - 1); ncoords /= strlen; List<CalendarDate> result = new ArrayList<CalendarDate>(ncoords); ArrayChar data = (ArrayChar) org.read(); ArrayChar.StringIterator ii = data.getStringIterator(); ArrayObject.D1 sdata = new ArrayObject.D1(String.class, ncoords); for (int i = 0; i < ncoords; i++) { String coordValue = ii.next(); CalendarDate cd = makeCalendarDateFromStringCoord(coordValue, org, errMessages); sdata.set(i, coordValue); result.add( cd); } setCachedData(sdata, true); return result; }
private List<CalendarDate> makeTimesFromChar(VariableDS org, Formatter errMessages) throws IOException { int ncoords = (int) org.getSize(); int rank = org.getRank(); int strlen = org.getShape(rank - 1); ncoords /= strlen; List<CalendarDate> result = new ArrayList<>(ncoords); ArrayChar data = (ArrayChar) org.read(); ArrayChar.StringIterator ii = data.getStringIterator(); ArrayObject.D1 sdata = new ArrayObject.D1(String.class, ncoords); for (int i = 0; i < ncoords; i++) { String coordValue = ii.next(); CalendarDate cd = makeCalendarDateFromStringCoord(coordValue, org, errMessages); sdata.set(i, coordValue); result.add( cd); } setCachedData(sdata, true); return result; }
private List<CalendarDate> makeTimesFromChar(VariableDS org, Formatter errMessages) throws IOException { int ncoords = (int) org.getSize(); int rank = org.getRank(); int strlen = org.getShape(rank - 1); ncoords /= strlen; List<CalendarDate> result = new ArrayList<>(ncoords); ArrayChar data = (ArrayChar) org.read(); ArrayChar.StringIterator ii = data.getStringIterator(); ArrayObject.D1 sdata = (ArrayObject.D1) Array.factory(DataType.STRING, new int[] {ncoords}); for (int i = 0; i < ncoords; i++) { String coordValue = ii.next(); CalendarDate cd = makeCalendarDateFromStringCoord(coordValue, org, errMessages); sdata.set(i, coordValue); result.add( cd); } setCachedData(sdata, true); return result; }
int[] shape = timeAxis.getShape(); int ntimes = shape[0]; assert (ntimes == dateList.size());
int[] shape = timeAxis.getShape(); int ntimes = shape[0]; assert (ntimes == dateList.size());
newGroup.addVariable(timeVar); Array timeCoordVals = Array.factory(DataType.DOUBLE, timeVar.getShape(), gridset.timeOffset); timeVar.setCachedData(timeCoordVals);
newGroup.addVariable(timeVar); Array timeCoordVals = Array.factory(DataType.DOUBLE, timeVar.getShape(), gridset.timeOffset); timeVar.setCachedData(timeCoordVals);
newGroup.addVariable(timeVar); Array timeCoordVals = Array.factory(DataType.DOUBLE, timeVar.getShape(), gridset.timeOffset); timeVar.setCachedData(timeCoordVals);
private void checkMissingValues(VariableDS elev, VariableDS azi, VariableDS time, VariableDS q) throws IOException, InvalidRangeException { Array elevData = elev.read(); IndexIterator elevII = elevData.getIndexIterator(); Array aziData = azi.read(); IndexIterator aziII = aziData.getIndexIterator(); Array timeData = time.read(); IndexIterator timeII = timeData.getIndexIterator(); while (elevII.hasNext()) { float elevValue = elevII.getFloatNext(); float aziValue = aziII.getFloatNext(); assert azi.isMissing(aziValue) == elev.isMissing(elevValue); // LOOK missing data broken for non-float coordinate axes //int timeValue = timeII.getIntNext(); //assert azi.isMissing(aziValue) == time.isMissing(timeValue) : " azi= "+aziValue +" time= "+timeValue; } int[] shape = q.getShape(); int rank = q.getRank(); int[] origin = new int[rank]; shape[rank-1] = 1; Array qData = q.read(origin, shape); assert qData.getSize() == aziData.getSize(); IndexIterator qII = qData.getIndexIterator(); aziII = aziData.getIndexIterator(); while (qII.hasNext()) { float qValue = qII.getFloatNext(); float aziValue = aziII.getFloatNext(); if (azi.isMissing(aziValue)) assert q.isMissing(qValue); } }