protected void tearDown() throws IOException { if (gds != null) gds.close(); }
public void testNcmlGrid() throws IOException { String filename = "file:" + TestDir.cdmUnitTestDir + "ncml/nc/seawifs/aggDirectory.ncml"; GridDataset gds = GridDataset.open( filename); logger.debug(" TestNcmlAggExisting.openGrid {}", filename); List grids = gds.getGrids(); assert grids.size() == 2; 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 = 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(); }
public void testConventionsMultiple() throws IOException { //String filename = TestDir.cdmUnitTestDir + "ft/grid/ensemble/demeter/MM_cnrm_129_red.ncml"; String filename = "G:/work/lmoxey/PF5_SST_Climatology_Monthly_1982_2008.ncml"; GridDataset ncd = GridDataset.open(filename); Attribute convAtt = ncd.findGlobalAttributeIgnoreCase("Conventions"); assert convAtt != null; System.out.printf("%s%n", convAtt); GeoGrid grid = ncd.findGridByName("sst"); GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis1DTime time = gcs.getTimeAxis1D(); assert time != null; /* Variable v = ncd.getDetailInfo("TIME"); assert v != null; //assert v.isCoordinateVariable(); assert v instanceof CoordinateAxis1DTime; CoordinateAxis1DTime axis = (CoordinateAxis1DTime) v; List<CalendarDate> dates = axis.getCalendarDates(); for (CalendarDate d : dates) System.out.printf("%s%n", d); */ ncd.close(); }
@Test public void testEcmwf() throws IOException { // scanMode 192 String filename = TestDir.cdmUnitTestDir + "formats/grib2/MSG1-SEVI-MSGCLMK-0100-0100-20060102111500.000000000Z-12774.grb.grb"; logger.debug("Reading File {}", filename); GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("Cloud_mask"); assert grid != null; assert (grid.getDimensions().size() == 3); GridCoordSystem gcs = grid.getCoordinateSystem(); int[] result = gcs.findXYindexFromCoord(0, 0, null); logger.debug("x,y={},{}", result[0], result[1]); // should be non NAN Array data = grid.readDataSlice(0, 0, result[1], result[0]); logger.debug("{}", NCdumpW.toString(data)); Index ima = data.getIndex(); float val = data.getFloat(ima); Assert2.assertNearlyEquals(val, 0.0); gds.close(); } }
@Test // scanMode = 0 public void testScanMode0() throws IOException { String filename = TestDir.cdmUnitTestDir + "formats/grib2/S-HSAF-h03_20131214_1312_rom.grb"; logger.debug("Reading File {}", filename); GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("Instantaneous_rain_rate"); assert grid != null; assert (grid.getDimensions().size() == 3); GridCoordSystem gcs = grid.getCoordinateSystem(); int[] result = gcs.findXYindexFromCoord(-7, 60.0, null); logger.debug("x,y={},{}", result[0], result[1]); // should be non NAN Array data = grid.readDataSlice(0, 0, 714, 1779); logger.debug("{}", NCdumpW.toString(data)); Index ima = data.getIndex(); float val = data.getFloat(ima); Assert2.assertNearlyEquals(val, 5.0192626E-5); gds.close(); }
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(); }
public static void test1() throws IOException { String filename = "D:/work/asaScience/EGM200_3.ncml"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("u_wind"); 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, 35.0, -6.0); doOne(g2d, 34.667302, -5.008376); // FAIL doOne(g2d, 34.667303, -6.394240); doOne(g2d, 36.6346, -5.0084); doOne(g2d, 36.6346, -6.394240); gds.close(); }
public static void test1() throws IOException { String filename = "D:/work/asaScience/EGM200_3.ncml"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("u_wind"); 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, 35.0, -6.0); doOne(g2d, 34.667302, -5.008376); // FAIL doOne(g2d, 34.667303, -6.394240); doOne(g2d, 36.6346, -5.0084); doOne(g2d, 36.6346, -6.394240); gds.close(); }
public static void test1() throws IOException { String filename = "D:/work/asaScience/EGM200_3.ncml"; GridDataset gds = GridDataset.open(filename); GeoGrid grid = gds.findGridByName("u_wind"); 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, 35.0, -6.0); doOne(g2d, 34.667302, -5.008376); // FAIL doOne(g2d, 34.667303, -6.394240); doOne(g2d, 36.6346, -5.0084); doOne(g2d, 36.6346, -6.394240); gds.close(); }
public void utestAxisId() throws IOException { ucar.nc2.dt.grid.GridDataset dataset = GridDataset.open("C:/data/20100314_v_000000_l_0118800.nc"); GeoGrid grid = dataset.findGridByName("wind_speed"); assert null != grid; GridCoordSystem gcs = grid.getCoordinateSystem(); assert null != gcs; assert grid.getRank() == 3; CoordinateAxis axis = gcs.getXHorizAxis(); assert axis != null; assert axis.getShortName().equals("x") : axis.getShortName(); axis = gcs.getYHorizAxis(); assert axis != null; assert axis.getShortName().equals("y") : axis.getShortName(); dataset.close(); } }
private void testGrid(String uri, String var) throws IOException, InvalidRangeException { GridDataset ds = null; try { ds = GridDataset.open(uri); GeoGrid grid = ds.findGridByName(var); Section s = new Section(grid.getShape()); System.out.printf("var = %s %n", s); GridCoordSystem GridCoordS = grid.getCoordinateSystem(); VerticalTransform vt = GridCoordS.getVerticalTransform(); ArrayDouble.D3 z = vt.getCoordinateArray(0); Section sv = new Section(z.getShape()); System.out.printf("3dcoord = %s %n", sv); if (vt.isTimeDependent()) s = s.removeRange(0); assert s.equals(sv); } finally { if (ds != null) ds.close(); } }
private void testDataset( String location) throws IOException, InvalidRangeException { ucar.nc2.dt.grid.GridDataset dataset = GridDataset.open(location); assert dataset != null; testGrid( dataset.findGridByName("U")); testGrid( dataset.findGridByName("V")); testGrid( dataset.findGridByName("W")); testGrid( dataset.findGridByName("T")); dataset.close(); }
@Test public void testJoinNewWithGroups() throws IOException, InvalidRangeException { String location = TestDir.cdmUnitTestDir + "agg/groups/groupsJoinNew.ncml"; GridDataset ncd = null; try { ncd = GridDataset.open(location); // fails here GridDatatype v = ncd.findGridDatatype("All_Data/Lifted_Index"); // the only agg var assert v != null; assert v.getRank() == 3; Section s = new Section(v.getShape()); //assert s.equals(new Section(new int[] {2, 44, 60})) : s ; v = ncd.findGridDatatype("All_Data/CAPE"); // random non-agg var assert v != null; assert v.getRank() == 2; Array a = v.readVolumeData(0); System.out.printf("array section for %s = %s%n", v, new Section(a.getShape())); } finally { if (ncd != null) ncd.close(); } } }
public void testSubset() throws Exception { ucar.nc2.dt.grid.GridDataset dataset = GridDataset.open(TestDir.cdmLocalTestDataDir+"rankTest.nc"); GeoGrid grid = dataset.findGridByName("full4"); assert null != grid; GridCoordSystem gcs = grid.getCoordinateSystem(); assert null != gcs; assert grid.getRank() == 4; doRead4(grid); GeoGrid grid_section = grid.subset(null, new Range(0,3,2), null, null); GridCoordSystem gcs_section = grid_section.getCoordinateSystem(); CoordinateAxis zaxis = gcs_section.getVerticalAxis(); assert zaxis.getSize() == 2; assert gcs_section.getXHorizAxis().equals( gcs.getXHorizAxis()); assert gcs_section.getYHorizAxis().equals( gcs.getYHorizAxis()); assert gcs_section.getTimeAxis().equals( gcs.getTimeAxis()); Array data = grid_section.readDataSlice(-1, -1, -1, -1); logger.debug(NCdumpW.toString( data, "grid_section", null)); dataset.close(); }