public static Count read(GridDatatype gdt) throws IOException { Dimension rtDim = gdt.getRunTimeDimension(); Dimension tDim = gdt.getTimeDimension(); Dimension zDim = gdt.getZDimension(); Count count = new Count(); if (rtDim != null) { for (int rt = 0; rt < rtDim.getLength(); rt++) read(gdt, count, rt, tDim, zDim); } else { read(gdt, count, -1, tDim, zDim); } return count; }
Dimension timeDimension = gridDatatype.getTimeDimension(); Dimension xDimension = gridDatatype.getXDimension(); Dimension yDimension = gridDatatype.getYDimension();
dtCoords = new SubsetParams(); Dimension rtDim = gdt.getRunTimeDimension(); Dimension tDim = gdt.getTimeDimension(); Dimension zDim = gdt.getZDimension();
@Test public void testEcmwfEns() throws Exception { String filename = TestDir.cdmUnitTestDir + "ft/grid/ensemble/jitka/ECME_RIZ_201201101200_00600_GB"; System.out.printf("Open %s%n", filename); try (NetcdfFile datafile = NetcdfFile.open(filename)) { NetcdfDataset netcdfDataset = new NetcdfDataset(datafile); GridDataset gridDataset = new GridDataset(netcdfDataset); String requiredName = "Total_precipitation_surface"; GridDatatype gridDatatype = gridDataset.findGridDatatype(requiredName); assertNotNull(gridDatatype); assertEquals(requiredName, gridDatatype.getFullName()); Dimension ensDimension = gridDatatype.getEnsembleDimension(); assertNotNull(ensDimension); //fails in 4.3 , null returned assertEquals(51, ensDimension.getLength()); // is 2 in 4.2, however it should be 51 (incl. control forecast) Dimension timeDimension = gridDatatype.getTimeDimension(); assertEquals(1, timeDimension.getLength()); //ok in both versions Dimension xDimension = gridDatatype.getXDimension(); assertEquals(31, xDimension.getLength()); //ok in both versions Dimension yDimension = gridDatatype.getYDimension(); assertEquals(21, yDimension.getLength()); //ok in both versions } }