static public boolean isValidFile(NetcdfFile ds) { if (!ds.hasUnlimitedDimension()) return false; if (ds.findVariable(latName) == null) return false; if (ds.findVariable(lonName) == null) return false; if (ds.findVariable(altName) == null) return false; if (ds.findVariable(timeName) == null) return false; return true; }
static public boolean isValidFile(NetcdfFile ds) { if (!ds.hasUnlimitedDimension()) return false; if (ds.findVariable(latName) == null) return false; if (ds.findVariable(lonName) == null) return false; if (ds.findVariable(altName) == null) return false; if (ds.findVariable(timeName) == null) return false; return true; }
static public boolean isValidFile(NetcdfFile ds) { if (!ds.hasUnlimitedDimension()) return false; if (ds.findVariable(latName) == null) return false; if (ds.findVariable(lonName) == null) return false; if (ds.findVariable(altName) == null) return false; if (ds.findVariable(timeName) == null) return false; return true; }
protected Variable findVariable(NetcdfFile ncfile, Variable client) { Variable v = ncfile.findVariable(client.getFullNameEscaped()); if (v == null) { // might be renamed VariableEnhanced ve = (VariableEnhanced) client; v = ncfile.findVariable(ve.getOriginalName()); } return v; }
protected Variable findVariable(NetcdfFile ncfile, Variable client) { Variable v = ncfile.findVariable(client.getFullNameEscaped()); if (v == null) { // might be renamed VariableEnhanced ve = (VariableEnhanced) client; v = ncfile.findVariable(ve.getOriginalName()); } return v; }
/** * For netcdf3 only, take all unlimited variables and make them into a structure. * @return the record Structure, or null if not done. */ public Structure addRecordStructure() { if (version != Version.netcdf3) return null; boolean ok = (Boolean) ncfile.sendIospMessage(NetcdfFile.IOSP_MESSAGE_ADD_RECORD_STRUCTURE); if (!ok) throw new IllegalStateException("can't add record variable"); return (Structure) ncfile.findVariable("record"); }
/** * Rename a Variable. Must be in define mode. * @param oldName existing Variable has this name * @param newName rename to this * @return renamed Variable, or null if not found */ public Variable renameVariable(String oldName, String newName) { if (!defineMode) throw new UnsupportedOperationException("not in define mode"); Variable v = ncfile.findVariable(oldName); if (null != v) v.setName(newName); return v; }
/** * @param ncfile the NetcdfFile to test * @return true if we think this is a IFPSConvention file. */ public static boolean isMine( NetcdfFile ncfile) { Variable v = ncfile.findVariable("latitude"); return (null != ncfile.findDimension("DIM_0")) && (null != ncfile.findVariable("longitude")) && (null != v) && (null != ncfile.findAttValueIgnoreCase(v, "projectionType", null)); }
protected Variable findVariable(NetcdfFile ncfile, Variable mainV) { Variable v = ncfile.findVariable(mainV.getFullNameEscaped()); if (v == null) { // might be renamed VariableEnhanced ve = (VariableEnhanced) mainV; v = ncfile.findVariable(ve.getOriginalName()); // LOOK not escaped } return v; }
public Structure addRecordStructure() { if (version.isNetdf4format()) return null; boolean ok = (Boolean) ncfile.sendIospMessage(NetcdfFile.IOSP_MESSAGE_ADD_RECORD_STRUCTURE); if (!ok) throw new IllegalStateException("can't add record variable"); return (Structure) ncfile.findVariable("record"); }
static public boolean isValidFile(NetcdfFile ds) { if (!ds.findAttValueIgnoreCase(null, "Conventions", "").equalsIgnoreCase("COARDS")) return false; if (!ds.findAttValueIgnoreCase(null, "data_provider", "").equalsIgnoreCase("National Data Buoy Center")) return false; if (null == ds.findAttValueIgnoreCase(null, "station", null)) return false; if (null == ds.findAttValueIgnoreCase(null, "location", null)) return false; if (ds.findVariable("lat") == null) return false; if (ds.findVariable("lon") == null) return false; // DODS wont have record !! if (!ds.hasUnlimitedDimension()) return false; return true; }
private void addCoordinateTransform(GridCoordSystem gcs, NetcdfFile ncd, List<String> varNameList, List<Variable> varList) { for (CoordinateTransform ct : gcs.getCoordinateTransforms()) { Variable v = ncd.findVariable(ct.getName()); if (!varNameList.contains(ct.getName()) && (null != v)) { varNameList.add(ct.getName()); varList.add(v); } } }
private void addCoordinateTransform(GridCoordSystem gcs, NetcdfFile ncd, List<String> varNameList, List<Variable> varList) { for (CoordinateTransform ct : gcs.getCoordinateTransforms()) { Variable v = ncd.findVariable(ct.getName()); if (!varNameList.contains(ct.getName()) && (null != v)) { varNameList.add(ct.getName()); varList.add(v); } } }
public void testWithDateFormatMark() throws Exception { System.out.printf("ncml=%s%n", ncml); String filename = "file:" + TestNcML.topDir + "testAggModify.ncml"; NetcdfFile ncfile = NcMLReader.readNcML(new StringReader(ncml), filename, null); System.out.println(" TestNcmlAggExisting.open " + filename + "\n" + ncfile); Variable v = ncfile.findVariable("T"); assert null != v; v = ncfile.findVariable("P"); assert null == v; ncfile.close(); }
@Test public void pdsScaleOverflow() throws Exception { String filename = TestDir.cdmUnitTestDir + "formats/grib2/pdsScale.grib2"; logger.debug("{}", filename); try (NetcdfFile ncfile = NetcdfFile.open(filename, null)) { Variable v = ncfile.findVariable("isobaric"); float val = v.readScalarFloat(); Assert2.assertNearlyEquals(val, 92500.0); } }
public void testStride() throws IOException, InvalidRangeException { String filename = "file:./" + TestNcML.topDir + "tiled/testAggTiled.ncml"; NetcdfFile ncfile = NcMLReader.readNcML(filename, null); logger.debug(" TestNcmlAggExisting.open {}", ncfile); Variable v = ncfile.findVariable("temperature"); v.setCaching(false); testReadDataSection(v, new Section("1:9:4,3:19:3")); ncfile.close(); }
@Test public void testNestedScan() throws IOException, InvalidRangeException, InterruptedException { String filename = "file:./" + TestNcML.topDir + "nested/TestNestedDirs.ncml"; try (NetcdfFile ncfile = NetcdfDataset.openFile(filename, null)) { TestDir.readAllData(ncfile); Variable v = ncfile.findVariable("time"); Array data = v.read(); assert data.getSize() == 3; logger.debug(NCdumpW.toString(data)); } } }
@Test public void testEcmwfExtendedComplexData2() throws IOException { final String testfile = "../grib/src/test/data/complex_packing2.grib1"; try (NetcdfFile nc = NetcdfFile.open(testfile)) { Variable var = nc.findVariable("Snowfall_surface"); Array data = var.read(); float first = data.getFloat(0); Assert.assertEquals(.326607, first, 1e-6); } }
@Test public void zeroLenData() throws IOException { try (NetcdfFile ncremote = new CdmRemote(TestOnLocalServer.withHttpPath(urlPath + "/netcdf3/longOffset.nc"))) { Variable v = ncremote.findVariable(null, "time_whole"); Array data = v.read(); assert data.getSize() == 0; } }
public void testStride(String stride) throws IOException, InvalidRangeException { Variable time = ncfile.findVariable("time"); ArrayInt all = (ArrayInt) time.read(); ArrayInt correct = (ArrayInt) all.section(new Section(stride).getRanges()); logger.debug("correct({}) {}", stride, NCdumpW.toString(correct)); ArrayInt data = (ArrayInt) time.read(stride); logger.debug("data({}) {}", stride, NCdumpW.toString(data)); Index ci = correct.getIndex(); Index di = data.getIndex(); for (int i=0; i<data.getSize(); i++) assert (data.getInt(di.set(i)) == correct.getInt(ci.set(i))) : stride +" index " + i + " = " + data.getInt(di.set(i)) +" != "+ correct.getInt(ci.set(i)); }