
% some real NetCDF data

f1 = '/taro/s2/jpl/ops/correl/point/2002/09/arm/armbe_sgp_v1.00_2002-09-06-191926.cdf';

f2='/taro/s2/jpl/ops/correl/point/2002/09/gsfc/GSFC_SRL_2002090706.cdf';

f3='/taro/s2/jpl/ops/correl/point/2002/09/gsfc/GSFC_GPS_20020910.cdf';

[dat1,atr1,dim1] = sdload(f1);

sdsave('test.hdf', dat1, atr1, dim1)

[dat2,atr2,dim2] = sdload('test.hdf');

isequal(dat1, dat2)
% structcmp(dat1, dat2, eps)
isequal(atr1, atr2)
isequal(dim1, dim2)

sdsave('test.hdf', dat2, atr2, dim2)

[dat3,atr3,dim3] = sdload('test.hdf');

isequal(dat2, dat3)
% structcmp(dat2, dat3, eps)
isequal(atr2, atr3)
isequal(dim2, dim3)

% note that isequal(NaN, NaN) is 0, so some objects that
% are effectively equivalent will fail the comparisons;
% so do some spot checks:

isequal(dat2.wavenumber, dat3.wavenumber)
isequal(dat2.temperatureAmsu, dat3.temperatureAmsu)
