/** * Instances which have same name and coordinate system are equal. */ public boolean equals(Object oo) { if (this == oo) return true; if (!(oo instanceof GeoGrid)) return false; GeoGrid d = (GeoGrid) oo; if (!getFullName().equals(d.getFullName())) return false; return getCoordinateSystem().equals(d.getCoordinateSystem()); }
/** * Instances which have same name and coordinate system are equal. */ public boolean equals(Object oo) { if (this == oo) return true; if (!(oo instanceof GeoGrid)) return false; GeoGrid d = (GeoGrid) oo; if (!getFullName().equals(d.getFullName())) return false; if (!getCoordinateSystem().equals(d.getCoordinateSystem())) return false; return true; }
/** * Instances which have same name and coordinate system are equal. */ public boolean equals(Object oo) { if (this == oo) return true; if (!(oo instanceof GeoGrid)) return false; GeoGrid d = (GeoGrid) oo; if (!getFullName().equals(d.getFullName())) return false; return getCoordinateSystem().equals(d.getCoordinateSystem()); }
/** * Override Object.hashCode() to be consistent with equals. */ public int hashCode() { if (hashCode == 0) { int result = 17; // result = 37*result + dataset.getName().hashCode(); result = 37 * result + getFullName().hashCode(); result = 37 * result + getCoordinateSystem().hashCode(); hashCode = result; } return hashCode; }
/** * Override Object.hashCode() to be consistent with equals. */ public int hashCode() { if (hashCode == 0) { int result = 17; // result = 37*result + dataset.getName().hashCode(); result = 37 * result + getFullName().hashCode(); result = 37 * result + getCoordinateSystem().hashCode(); hashCode = result; } return hashCode; }
/** * Override Object.hashCode() to be consistent with equals. */ public int hashCode() { if (hashCode == 0) { int result = 17; // result = 37*result + dataset.getName().hashCode(); result = 37 * result + getFullName().hashCode(); result = 37 * result + getCoordinateSystem().hashCode(); hashCode = result; } return hashCode; }
private double[] getVertTransformationForPoint(ProjectionPoint point, int timeIndex, GeoGrid grid) throws IOException, InvalidRangeException{ VerticalTransform vt = grid.getCoordinateSystem().getVerticalTransform(); //System.out.println(vt.isTimeDependent()); int[] pointIndices = new int[]{0,0}; grid.getCoordinateSystem().findXYindexFromCoord( point.getX(), point.getY(), pointIndices); ArrayDouble.D1 dataArr = vt.getCoordinateArray1D(timeIndex, pointIndices[0], pointIndices[1]); return (double[])dataArr.copyTo1DJavaArray(); }
public static void test3() throws IOException { String filename = testfilename; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("Sea_Surface_Height_Relative_to_Geoid_surface"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis lonAxis = gcs.getXHorizAxis(); assert lonAxis instanceof CoordinateAxis2D; CoordinateAxis latAxis = gcs.getYHorizAxis(); assert latAxis instanceof CoordinateAxis2D; GridCoordinate2D g2d = new GridCoordinate2D((CoordinateAxis2D) latAxis, (CoordinateAxis2D) lonAxis); doOne(g2d, -15.554099426977835, -0.7742870290336263); gds.close(); }
public static void test2() throws IOException { String filename = "C:/data/fmrc/apex_fmrc/Run_20091025_0000.nc"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("temp"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis lonAxis = gcs.getXHorizAxis(); assert lonAxis instanceof CoordinateAxis2D; CoordinateAxis latAxis = gcs.getYHorizAxis(); assert latAxis instanceof CoordinateAxis2D; GridCoordinate2D g2d = new GridCoordinate2D((CoordinateAxis2D) latAxis, (CoordinateAxis2D) lonAxis); doOne(g2d, 40.166959,-73.954234); gds.close(); }
public static void test3() throws IOException { String filename = testfilename; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("Sea_Surface_Height_Relative_to_Geoid_surface"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis lonAxis = gcs.getXHorizAxis(); assert lonAxis instanceof CoordinateAxis2D; CoordinateAxis latAxis = gcs.getYHorizAxis(); assert latAxis instanceof CoordinateAxis2D; GridCoordinate2D g2d = new GridCoordinate2D((CoordinateAxis2D) latAxis, (CoordinateAxis2D) lonAxis); doOne(g2d, -15.554099426977835, -0.7742870290336263); gds.close(); }
public static void test2() throws IOException { String filename = "C:/data/fmrc/apex_fmrc/Run_20091025_0000.nc"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("temp"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis lonAxis = gcs.getXHorizAxis(); assert lonAxis instanceof CoordinateAxis2D; CoordinateAxis latAxis = gcs.getYHorizAxis(); assert latAxis instanceof CoordinateAxis2D; GridCoordinate2D g2d = new GridCoordinate2D((CoordinateAxis2D) latAxis, (CoordinateAxis2D) lonAxis); doOne(g2d, 40.166959,-73.954234); gds.close(); }
public static void test3() throws IOException { String filename = "Q:/cdmUnitTest/ft/fmrc/rtofs/ofs.20091122/ofs_atl.t00z.F024.grb.grib2"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("Sea_Surface_Height_Relative_to_Geoid_surface"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis lonAxis = gcs.getXHorizAxis(); assert lonAxis instanceof CoordinateAxis2D; CoordinateAxis latAxis = gcs.getYHorizAxis(); assert latAxis instanceof CoordinateAxis2D; GridCoordinate2D g2d = new GridCoordinate2D((CoordinateAxis2D) latAxis, (CoordinateAxis2D) lonAxis); doOne(g2d, -15.554099426977835, -0.7742870290336263); gds.close(); }
public static void test2() throws IOException { String filename = "C:/data/fmrc/apex_fmrc/Run_20091025_0000.nc"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("temp"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis lonAxis = gcs.getXHorizAxis(); assert lonAxis instanceof CoordinateAxis2D; CoordinateAxis latAxis = gcs.getYHorizAxis(); assert latAxis instanceof CoordinateAxis2D; GridCoordinate2D g2d = new GridCoordinate2D((CoordinateAxis2D) latAxis, (CoordinateAxis2D) lonAxis); doOne(g2d, 40.166959,-73.954234); gds.close(); }
@Test public void testCF() throws IOException { try (GridDataset ds = GridDataset.open(TestDir.cdmUnitTestDir + "conventions/cf/twoGridMaps.nc")) { GeoGrid grid = ds.findGridByName("altitude"); GridCoordSystem gcs = grid.getCoordinateSystem(); assert 1 == gcs.getCoordinateTransforms().size(); CoordinateTransform ct = gcs.getCoordinateTransforms().get(0); assert ct.getTransformType() == TransformType.Projection; assert ct.getName().equals("projection_stere"); } }
private void testLatLonSubset(GeoGrid grid, LatLonRect bbox, int[] shape) throws Exception { logger.debug("grid bbox = {}", grid.getCoordinateSystem().getLatLonBoundingBox().toString2()); logger.debug("constrain bbox = {}", bbox.toString2()); GeoGrid grid_section = grid.subset(null, null, bbox, 1, 1, 1); GridCoordSystem gcs2 = grid_section.getCoordinateSystem(); assert null != gcs2; assert grid_section.getRank() == 2; logger.debug("resulting bbox = {}", gcs2.getLatLonBoundingBox().toString2()); Array data = grid_section.readDataSlice(0, 0, -1, -1); assert data != null; assert data.getRank() == 2; assert data.getShape()[0] == shape[0] : data.getShape()[0]; assert data.getShape()[1] == shape[1] : data.getShape()[1]; }
public void testSubset() throws Exception { ucar.nc2.dt.grid.GridDataset dataset = GridDataset.open(TestDir.cdmUnitTestDir + "ft/grid/stag/bora_feb.nc"); GeoGrid grid = dataset.findGridByName("u"); assert null != grid; System.out.printf("u shape= %s%n", showShape(grid.getShape())); GridCoordSystem gcs = grid.getCoordinateSystem(); assert null != gcs; assert grid.getRank() == 4; ucar.unidata.geoloc.vertical.VerticalTransform vt = gcs.getVerticalTransform(); Array a = vt.getCoordinateArray(0); System.out.printf("vt shape= %s%n", showShape(a.getShape())); dataset.close(); }
@Test public void testAWIPSsatLatlon() throws IOException { try (GridDataset ds = GridDataset.open(TestDir.cdmUnitTestDir + "conventions/awips/20150602_0830_sport_imerg_noHemis_rr.nc")) { GeoGrid grid = ds.findGridByName("image"); assert grid != null; GridCoordSystem gcs = grid.getCoordinateSystem(); assert gcs.isLatLon(); Assert.assertEquals(DataType.BYTE, grid.getDataType()); } }
public void testErie() throws IOException, InvalidRangeException { String uri = TestDir.cdmUnitTestDir + "transforms/erie_test.ncml"; String var = "temp"; GridDataset ds = GridDataset.open(uri); GeoGrid grid = ds.findGridByName(var); Section s = new Section(grid.getShape()); System.out.printf("var = %s %n", s); GridCoordSystem gcs = grid.getCoordinateSystem(); VerticalTransform vt = gcs.getVerticalTransform(); ArrayDouble.D3 z = vt.getCoordinateArray(0); Section sv = new Section(z.getShape()); System.out.printf("3dcoord = %s %n", sv); s = s.removeRange(0); assert s.equals(sv); }
@Test @Ignore("Does this dataset exist on a public server?") public void testFMRCSubset() throws Exception { try (GridDataset dataset = GridDataset.open("dods://localhost:8080/thredds/dodsC/data/cip/fmrcCase1/CIPFMRCCase1_best.ncd")) { GeoGrid grid = dataset.findGridByName("Latitude__90_to_+90"); assert null != grid; GridCoordSystem gcs = grid.getCoordinateSystem(); assert null != gcs; Range timeRange = new Range(2, 2); int bestZIndex = 5; GeoGrid subset = grid.subset(timeRange, new Range(bestZIndex, bestZIndex), null, null); Array yxData = subset.readYXData(0, 0); logger.debug(NCdumpW.toString(yxData, "xyData", null)); } }
@Test public void testCOARDSdefaultCalendar() throws IOException { try (GridDataset ds = GridDataset.open(TestDir.cdmUnitTestDir + "conventions/coards/olr.day.mean.nc")) { GeoGrid grid = ds.findGridByName("olr"); assert grid != null; GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis1DTime time = gcs.getTimeAxis1D(); assert time != null; CalendarDate first = time.getCalendarDate(0); CalendarDate cd = CalendarDateFormatter.isoStringToCalendarDate(Calendar.gregorian, "2002-01-01T00:00:00Z"); assert first.equals(cd) : first + " != " + cd; CalendarDate last = time.getCalendarDate((int) time.getSize() - 1); CalendarDate cd2 = CalendarDateFormatter.isoStringToCalendarDate(Calendar.gregorian, "2012-12-02T00:00:00Z"); assert last.equals(cd2) : last + " != " + cd2; } }