// test offset only gets applied once public void testWrapOnce() throws IOException { String filename = TestAll.cdmUnitTestDir + "ncml/coords/testCoordScaling.ncml"; System.out.printf("%s%n", filename); NetcdfDataset ncd = ucar.nc2.dataset.NetcdfDataset.openDataset(filename); Variable v = ncd.findCoordinateAxis("Longitude"); assert v != null; assert v instanceof CoordinateAxis1D; // if offset is applied twice, the result is not in +-180 range Array data = v.read(); NCdumpW.printArray(data); IndexIterator ii = data.getIndexIterator(); while (ii.hasNext()) { assert Math.abs(ii.getDoubleNext()) < 180 : ii.getDoubleCurrent(); } }
public void testAggCoordVar3(NetcdfFile ncfile) throws IOException { Variable time = ncfile.findVariable("time"); assert null != time; assert time.getShortName().equals("time"); assert time.getRank() == 1 : time.getRank(); assert time.getShape()[0] == 3; assert time.getDataType() == DataType.DOUBLE : time.getDataType(); assert time.getDimension(0) == ncfile.findDimension("time"); Array data = time.read(); assert (data instanceof ArrayDouble); IndexIterator dataI = data.getIndexIterator(); double val = dataI.getDoubleNext(); assert Misc.closeEnough(val, 0.0) : val; assert Misc.closeEnough(dataI.getDoubleNext(), 10.0) : dataI.getDoubleCurrent(); assert Misc.closeEnough(dataI.getDoubleNext(), 99.0) : dataI.getDoubleCurrent(); }