@Test
@Category(NeedsExternalResource.class)
public void testScaleOffset() throws Exception {
try (GridDataset dataset = GridDataset.open("http://esrl.noaa.gov/psd/thredds/dodsC/Datasets/noaa.oisst.v2/sst.wkmean.1990-present.nc")) {
GeoGrid grid = dataset.findGridByName("sst");
assert null != grid;
GridCoordSystem gcs = grid.getCoordinateSystem();
assert null != gcs;
logger.debug("original bbox = {} ({})", gcs.getBoundingBox(), gcs.getLatLonBoundingBox());
LatLonRect llbb = gcs.getLatLonBoundingBox();
LatLonRect llbb_subset = new LatLonRect(llbb.getLowerLeftPoint(), 20.0, llbb.getWidth() / 2);
GeoGrid grid2 = grid.subset(null, null, llbb_subset, 1, 1, 1);
GridCoordSystem gcs2 = grid2.getCoordinateSystem();
assert null != gcs2;
logger.debug("subset bbox = {} ({})", gcs2.getBoundingBox(), gcs2.getLatLonBoundingBox());
logger.debug("original grid var = {}", grid.getVariable());
logger.debug("subset grid var = {}", grid2.getVariable());
Array data = grid.readDataSlice(0, 0, 159, 0);
Array data2 = grid2.readDataSlice(0, 0, 0, 0);
logger.debug(NCdumpW.toString(data, "org", null));
logger.debug(NCdumpW.toString(data2, "subset", null));
ucar.unidata.util.test.CompareNetcdf.compareData(data, data2);
}
}