static public boolean compareFiles(NetcdfFile org, NetcdfFile copy, Formatter f, boolean _compareData, boolean _showCompare, boolean _showEach) { CompareNetcdf2 tc = new CompareNetcdf2(f, _showCompare, _showEach, _compareData); return tc.compare(org, copy); }
public boolean compareData(String name, Array data1, Array data2, boolean justOne) { return compareData(name, data1, data2, TOL, justOne, true); }
static public boolean compareFiles(NetcdfFile org, NetcdfFile copy, Formatter f) { return compareFiles(org, copy, f, false, false, false); }
public void compare(Structure obs) throws IOException, InvalidRangeException { int start = 0; for (Message m : msgs) { Array data1; if (!m.isTablesComplete()) continue; if (!m.dds.isCompressed()) { MessageUncompressedDataReader reader = new MessageUncompressedDataReader(); data1 = reader.readEntireMessage(construct.recordStructure, protoMessage, m, raf, null); } else { MessageCompressedDataReader reader = new MessageCompressedDataReader(); data1 = reader.readEntireMessage(construct.recordStructure, protoMessage, m, raf, null); } int n = m.getNumberDatasets(); m.calcTotalBits(null); Array data2 = obs.read(new Section().appendRange(start, start + n - 1)); CompareNetcdf2 cn = new CompareNetcdf2( new Formatter(System.out), true, true, true); cn.compareData("all", data1, data2, true); start += n; } }
ok &= checkDimensions(org.getDimensions(), copy.getDimensions()); ok &= checkDimensions(copy.getDimensions(), org.getDimensions()); ok &= checkAttributes(null, org.getAttributes(), copy.getAttributes(), filter); ok &= checkEnums(org, copy); ok = false; } else { ok &= compareVariables(orgV, copyVar, filter, compareData, true); ok &= checkAll(org.getGroups(), copy.getGroups(), groups); for (int i = 0; i < groups.size(); i += 2) { Group orgGroup = (Group) groups.get(i); Group ncmlGroup = (Group) groups.get(i + 1); ok &= compareGroups(orgGroup, ncmlGroup, filter);
ok &= checkDimensions(org.getDimensions(), copy.getDimensions()); ok &= checkDimensions(copy.getDimensions(), org.getDimensions()); ok &= checkAttributes(org, org.getAttributes(), copy.getAttributes(), filter); VariableEnhanced orge = (VariableEnhanced) org; VariableEnhanced copye = (VariableEnhanced) copy; ok &= checkAll(orge.getCoordinateSystems(), copye.getCoordinateSystems(), null); compareVariableData(org, copy, showCompare, justOne); ok &= checkAll(orgS.getVariables(), ncmlS.getVariables(), vars); for (int i = 0; i < vars.size(); i += 2) { Variable orgV = (Variable) vars.get(i); Variable ncmlV = (Variable) vars.get(i + 1); ok &= compareVariables(orgV, ncmlV, filter, false, true);
public boolean compare(NetcdfFile org, NetcdfFile copy, boolean showCompare, boolean showEach, boolean compareData) { return compare(org, copy, null, showCompare, showEach, compareData); }
ok &= compareData(name, (Array) v1, (Array) v2, justOne, testTypes); double v2 = iter2.getDoubleNext(); if (!Misc.nearlyEquals(v1, v2)) { f.format(createNumericDataDiffMessage(dt, name, v1, v2, iter1)); ok = false; if (justOne) break; float v2 = iter2.getFloatNext(); if (!Misc.nearlyEquals(v1, v2)) { f.format(createNumericDataDiffMessage(dt, name, v1, v2, iter1)); ok = false; if (justOne) break; int v2 = iter2.getIntNext(); if (v1 != v2) { f.format(createNumericDataDiffMessage(dt, name, v1, v2, iter1)); ok = false; if (justOne) break; short v2 = iter2.getShortNext(); if (v1 != v2) { f.format(createNumericDataDiffMessage(dt, name, v1, v2, iter1)); ok = false; if (justOne) break; byte v2 = iter2.getByteNext(); if (v1 != v2) { f.format(createNumericDataDiffMessage(dt, name, v1, v2, iter1));
public boolean compare(NetcdfFile org, NetcdfFile copy, ObjFilter filter, boolean showCompare, boolean showEach, boolean compareData) { this.compareData = compareData; this.showCompare = showCompare; this.showEach = showEach; f.format(" First file = %s%n", org.getLocation()); f.format(" Second file= %s%n", copy.getLocation()); long start = System.currentTimeMillis(); boolean ok = compareGroups(org.getRootGroup(), copy.getRootGroup(), filter); f.format(" Files are the same = %s%n", ok); long took = System.currentTimeMillis() - start; f.format(" Time to compare = %d msecs%n", took); // coordinate systems if (org instanceof NetcdfDataset && copy instanceof NetcdfDataset) { NetcdfDataset orgds = (NetcdfDataset) org; NetcdfDataset copyds = (NetcdfDataset) copy; List matches = new ArrayList(); ok &= checkAll("Dataset CS:", orgds.getCoordinateSystems(), copyds.getCoordinateSystems(), matches); for (int i = 0; i < matches.size(); i += 2) { CoordinateSystem orgCs = (CoordinateSystem) matches.get(i); CoordinateSystem copyCs = (CoordinateSystem) matches.get(i + 1); ok &= compareCoordinateSystem(orgCs, copyCs, filter); } } return ok; }
private boolean compareCoordinateSystem(CoordinateSystem cs1, CoordinateSystem cs2, ObjFilter filter) { if (showCompare) f.format("compare CoordinateSystem '%s' to '%s' %n", cs1.getName(), cs2.getName()); List matchAxes = new ArrayList(); boolean ok = checkAll(cs1.getName(), cs1.getCoordinateAxes(), cs2.getCoordinateAxes(), matchAxes); for (int i = 0; i < matchAxes.size(); i += 2) { CoordinateAxis orgCs = (CoordinateAxis) matchAxes.get(i); CoordinateAxis copyCs = (CoordinateAxis) matchAxes.get(i + 1); ok &= compareCoordinateAxis(orgCs, copyCs, filter); } List matchTransforms = new ArrayList(); ok &= checkAll(cs1.getName(), cs1.getCoordinateTransforms(), cs2.getCoordinateTransforms(), matchTransforms); return ok; }
public boolean compare(NetcdfFile org, NetcdfFile copy, ObjFilter filter, boolean showCompare, boolean showEach, boolean compareData) { this.compareData = compareData; this.showCompare = showCompare; this.showEach = showEach; f.format("First file = %s%n", org.getLocation()); f.format("Second file= %s%n", copy.getLocation()); long start = System.currentTimeMillis(); boolean ok = compareGroups(org.getRootGroup(), copy.getRootGroup(), filter); f.format(" Files are the same = %s%n", ok); long took = System.currentTimeMillis() - start; f.format(" Time to compare = %d msecs%n", took); return ok; }
CompareNetcdf2 nc = new CompareNetcdf2(compareOutputFormatter, false, false, true); assert !nc.compareData(enhancedVar.getShortName(), enhancedData, deferredData, false); assert nc.compareData(enhancedVar.getShortName(), enhancedData, processedData, false);
ok &= checkDimensions(org.getDimensions(), copy.getDimensions()); ok &= checkDimensions(copy.getDimensions(), org.getDimensions()); ok &= checkAttributes(null, org.getAttributes(), copy.getAttributes(), filter); ok &= checkEnums(org, copy); ok = false; } else { ok &= compareVariables(orgV, copyVar, filter, compareData, true); ok &= checkAll(name, org.getGroups(), copy.getGroups(), groups); for (int i = 0; i < groups.size(); i += 2) { Group orgGroup = (Group) groups.get(i); Group copyGroup = (Group) groups.get(i + 1); ok &= compareGroups(orgGroup, copyGroup, filter);
ok &= checkDimensions(org.getDimensions(), copy.getDimensions()); ok &= checkDimensions(copy.getDimensions(), org.getDimensions()); ok &= checkAttributes(org, org.getAttributes(), copy.getAttributes(), filter); ok &= compareVariableData(org, copy, showCompare, justOne); ok &= checkAll("struct " + orgS.getNameAndDimensions(), orgS.getVariables(), ncmlS.getVariables(), vars); for (int i = 0; i < vars.size(); i += 2) { Variable orgV = (Variable) vars.get(i); Variable ncmlV = (Variable) vars.get(i + 1); ok &= compareVariables(orgV, ncmlV, filter, false, true); ok &= checkAll(orgds.getFullName(), orgds.getCoordinateSystems(), copyds.getCoordinateSystems(), matches); for (int i = 0; i < matches.size(); i += 2) { CoordinateSystem orgCs = (CoordinateSystem) matches.get(i); CoordinateSystem copyCs = (CoordinateSystem) matches.get(i + 1); ok &= compareCoordinateSystem(orgCs, copyCs, filter);
public boolean compare(NetcdfFile org, NetcdfFile copy, boolean showCompare, boolean showEach, boolean compareData) { return compare(org, copy, null, showCompare, showEach, compareData); }
public boolean compare(NetcdfFile org, NetcdfFile copy, ObjFilter filter, boolean showCompare, boolean showEach, boolean compareData) { this.compareData = compareData; this.showCompare = showCompare; this.showEach = showEach; f.format(" First file = %s%n", org.getLocation()); f.format(" Second file= %s%n", copy.getLocation()); long start = System.currentTimeMillis(); boolean ok = compareGroups(org.getRootGroup(), copy.getRootGroup(), filter); f.format(" Files are the same = %s%n", ok); long took = System.currentTimeMillis() - start; f.format(" Time to compare = %d msecs%n", took); // coordinate systems if (org instanceof NetcdfDataset && copy instanceof NetcdfDataset) { NetcdfDataset orgds = (NetcdfDataset) org; NetcdfDataset copyds = (NetcdfDataset) copy; List matches = new ArrayList(); ok &= checkAll("Dataset CS:", orgds.getCoordinateSystems(), copyds.getCoordinateSystems(), matches); for (int i = 0; i < matches.size(); i += 2) { CoordinateSystem orgCs = (CoordinateSystem) matches.get(i); CoordinateSystem copyCs = (CoordinateSystem) matches.get(i + 1); ok &= compareCoordinateSystem(orgCs, copyCs, filter); } } return ok; }
private boolean checkAll(String what, List list1, List list2, List result) { boolean ok = true; for (Object aList1 : list1) { ok &= checkEach(what, aList1, "file1", list1, "file2", list2, result); } for (Object aList2 : list2) { ok &= checkEach(what, aList2, "file2", list2, "file1", list1, result); } return ok; }
private boolean compareCoordinateSystem(CoordinateSystem cs1, CoordinateSystem cs2, ObjFilter filter) { if (showCompare) f.format("compare CoordinateSystem '%s' to '%s' %n", cs1.getName(), cs2.getName()); List matchAxes = new ArrayList(); boolean ok = checkAll(cs1.getName(), cs1.getCoordinateAxes(), cs2.getCoordinateAxes(), matchAxes); for (int i = 0; i < matchAxes.size(); i += 2) { CoordinateAxis orgCs = (CoordinateAxis) matchAxes.get(i); CoordinateAxis copyCs = (CoordinateAxis) matchAxes.get(i + 1); ok &= compareCoordinateAxis(orgCs, copyCs, filter); } List matchTransforms = new ArrayList(); ok &= checkAll(cs1.getName(), cs1.getCoordinateTransforms(), cs2.getCoordinateTransforms(), matchTransforms); return ok; }
static public boolean compareFiles(NetcdfFile org, NetcdfFile copy, Formatter f, boolean _compareData, boolean _showCompare, boolean _showEach) { CompareNetcdf2 tc = new CompareNetcdf2(f, _showCompare, _showEach, _compareData); return tc.compare(org, copy); }