this.coordValue = extractCoordNameFromFilename(this.getLocation()); this.isStringValued = true; } else {
for (Dataset dataset : nestedDatasets) { DatasetOuterDimension dod = (DatasetOuterDimension) dataset; if (dod.getId() == null) logger.warn("id is null"); out.print(" <netcdf id='" + dod.getId() + "' "); out.print("ncoords='" + dod.getNcoords(null) + "' >\n"); Array data = pv.getData(dod.getId()); if (data != null) { out.print(" <cache varName='" + pv.varName + "' >");
MFile mfile = dod.getMFile(); if (mfile != null && mfile.getLastModified() > lastWritten) { // skip datasets that have changed if (logger.isDebugEnabled()) logger.debug(" dataset was changed= {}", mfile);
MFile mfile = dod.getMFile(); if (mfile != null && mfile.getLastModified() > lastWritten) { // skip datasets that have changed if (logger.isDebugEnabled()) logger.debug(" dataset was changed= {}", mfile);
for (Dataset dataset : nestedDatasets) { DatasetOuterDimension dod = (DatasetOuterDimension) dataset; if (dod.getId() == null) logger.warn("id is null"); out.print(" <netcdf id='" + dod.getId() + "' "); out.print("ncoords='" + dod.getNcoords(null) + "' >\n"); Array data = pv.getData(dod.getId()); if (data != null) { out.print(" <cache varName='" + pv.varName + "' >");
MFile mfile = dod.getMFile(); if (mfile != null && mfile.getLastModified() > lastWritten) { // skip datasets that have changed if (logger.isDebugEnabled()) logger.debug(" dataset was changed= {}", mfile);
for (Dataset dataset : nestedDatasets) { DatasetOuterDimension dod = (DatasetOuterDimension) dataset; if (dod.getId() == null) logger.warn("id is null"); out.print(" <netcdf id='" + dod.getId() + "' "); out.print("ncoords='" + dod.getNcoords(null) + "' >\n"); Array data = pv.getData(dod.getId()); if (data != null) { out.print(" <cache varName='" + pv.varName + "' >");
for (Dataset nested : nestedDatasets) { DatasetOuterDimension dod = (DatasetOuterDimension) nested; Range nestedJoinRange = dod.getNestedJoinRange(joinRange); if (nestedJoinRange == null) continue; varData = dod.read(mainv, cancelTask, innerSection); } else { nestedSection.set(0, nestedJoinRange); varData = dod.read(mainv, cancelTask, nestedSection);
for (Dataset nested : nestedDatasets) { DatasetOuterDimension dod = (DatasetOuterDimension) nested; Range nestedJoinRange = dod.getNestedJoinRange(joinRange); if (nestedJoinRange == null) continue; varData = dod.read(mainv, cancelTask, innerSection); } else { nestedSection.set(0, nestedJoinRange); varData = dod.read(mainv, cancelTask, nestedSection);
for (Dataset nested : nestedDatasets) { DatasetOuterDimension dod = (DatasetOuterDimension) nested; Range nestedJoinRange = dod.getNestedJoinRange(joinRange); if (nestedJoinRange == null) continue; varData = dod.read(mainv, cancelTask, innerSection); } else { nestedSection.set(0, nestedJoinRange); varData = dod.read(mainv, cancelTask, nestedSection);
Range nestedJoinRange = dod.getNestedJoinRange(joinRange); if (nestedJoinRange == null) {
private Array readCached(DatasetOuterDimension dset) throws IOException { Array data = getData(dset.getId()); if (data != null) return data; putData(dset.getId(), data); return data; logger.error("readAggCoord incorrect number of coordinates dataset=" + dset.getLocation()); throw new IllegalArgumentException("readAggCoord incorrect number of coordinates dataset=" + dset.getLocation()); putData(dset.getId(), data); return data;
private Array readCached(DatasetOuterDimension dset) throws IOException { Array data = getData(dset.getId()); if (data != null) return data; putData(dset.getId(), data); return data; logger.error("readAggCoord incorrect number of coordinates dataset=" + dset.getLocation()); throw new IllegalArgumentException("readAggCoord incorrect number of coordinates dataset=" + dset.getLocation()); putData(dset.getId(), data); return data;
private Array readCached(DatasetOuterDimension dset) throws IOException { Array data = getData(dset.getId()); if (data != null) return data; putData(dset.getId(), data); return data; logger.error("readAggCoord incorrect number of coordinates dataset=" + dset.getLocation()); throw new IllegalArgumentException("readAggCoord incorrect number of coordinates dataset=" + dset.getLocation()); putData(dset.getId(), data); return data;
Range nestedJoinRange = dod.getNestedJoinRange(joinRange); if (nestedJoinRange == null) {
Range nestedJoinRange = dod.getNestedJoinRange(joinRange); if (nestedJoinRange == null) {
this.coordValue = extractCoordNameFromFilename(this.getLocation()); this.isStringValued = true; } else {
this.coordValue = extractCoordNameFromFilename(this.getLocation()); this.isStringValued = true; } else {
@Override protected Array read(Variable mainv, CancelTask cancelTask, List<Range> section) throws IOException, InvalidRangeException { NetcdfFile ncd = null; try { ncd = acquireFile(cancelTask); if ((cancelTask != null) && cancelTask.isCancel()) return null; Variable v = findVariable(ncd, mainv); if (v == null) { logger.error("AggOuterDimension cant find " + mainv.getFullName() + " in " + ncd.getLocation() + "; return all zeroes!!!"); return Array.factory(mainv.getDataType(), new Section(section).getShape()); // all zeros LOOK need missing value } if (debugRead) { Section want = new Section(section); System.out.printf("AggOuter.read(%s) %s from %s in %s%n", want, mainv.getNameAndDimensions(), v.getNameAndDimensions(), getLocation()); } // its possible that we are asking for more of the time coordinate than actually exists (fmrc ragged time) // so we need to read only what is there Range fullRange = v.getRanges().get(0); Range want = section.get(0); if (fullRange.last() < want.last()) { Range limitRange = new Range(want.first(), fullRange.last(), want.stride()); section = new ArrayList<>(section); // make a copy section.set(0, limitRange); } return v.read(section); } finally { close(ncd); } }
@Override protected Array read(Variable mainv, CancelTask cancelTask, List<Range> section) throws IOException, InvalidRangeException { NetcdfFile ncd = null; try { ncd = acquireFile(cancelTask); if ((cancelTask != null) && cancelTask.isCancel()) return null; Variable v = findVariable(ncd, mainv); if (v == null) { logger.error("AggOuterDimension cant find " + mainv.getFullName() + " in " + ncd.getLocation() + "; return all zeroes!!!"); return Array.factory(mainv.getDataType(), new Section(section).getShape()); // all zeros LOOK need missing value } if (debugRead) { Section want = new Section(section); System.out.printf("AggOuter.read(%s) %s from %s in %s%n", want, mainv.getNameAndDimensions(), v.getNameAndDimensions(), getLocation()); } // its possible that we are asking for more of the time coordinate than actually exists (fmrc ragged time) // so we need to read only what is there Range fullRange = v.getRanges().get(0); Range want = section.get(0); if (fullRange.last() < want.last()) { Range limitRange = new Range(want.first(), fullRange.last(), want.stride()); section = new ArrayList<Range>(section); // make a copy section.set(0, limitRange); } return v.read(section); } finally { close(ncd); } }