Numerical reproducibility: netcdf vs. pnetcdf

Robert Latham robl at mcs.anl.gov
Fri Nov 10 10:15:19 CST 2006


On Thu, Oct 26, 2006 at 04:17:28PM -0600, John Michalakes wrote:
> I'm comparing WRF output using regular Netcdf 3.6.0 against the new output
> that generated using pNetCDF, and for all but one fields it comes out bit
> for bit the same. Curiously, one field is not comparing bit for bit, but the
> differences are very small relative to the size of the values -- possibly
> within a low order bit of each other (though I haven't looked at it
> carefully enough to be sure of that).
> 
> I've been working under the assumption that output generated using NetCDF
> and pNetCDF should compare bit for bit. Is that a reasonable assumption, or
> might there be differences in versions that could lead to slight different
> (within roundoff) output for certain ranges of values? Perhaps this is a
> question for Unidata too.
> 
> Can you tell me please what version of NetCDF that pNetCDF is based on?

Hi John

Sorry for the lateness in my reply.  We started pNetCDF based on the
3.5.0 release of serial NetCDF.  When each version of serial NetCDF is
released, I look through the patch and do my best to keep the two in
sync.  I last did this with 3.6.0, but it's possible I missed
something.  It's also possible the bitwise differences are related to
minor type differences between the two interfaces (we now use
MPI_Offset.  serial NetCDF doesn't have such a type). 

Are you comparing the two data files?  Or are you comparing the output
of ncdump or ncmpidump?  I wonder if there might be a small difference
in the file layout that goes away once interpreted by the library.

Can you help me understand how critical bit-for-bit reproducibilty is
for you?  Did you notice because you were curious, or because your
application requires such compatiblity?  

Thanks
==rob

-- 
Rob Latham
Mathematics and Computer Science Division    A215 0178 EA2D B059 8CDF
Argonne National Lab, IL USA                 B29D F333 664A 4280 315B




More information about the parallel-netcdf mailing list