This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Gary: Thanks for the bug report and our heartiest thanks for including a fix. Sorry that slipped thru. FYI, the "rec" functions don't exist in the new interface, only in the backward compatibility interface. The reasons for this are complicated. The notion of a netcdf "record" is tied more strongly to the current netcdf file format. It is argueable whether or not the notion has anything to do with the abstract data model. As we evolve the file format to allow multiple unlimited dimensions, it won't make any sense. So, as you migrate your code, think about how else you might do what you need to do using the new interface. Since I'm cc'ing our support database with this reply, I will include your message at the end. Thanks again. -glenn On Nov 6, 7:43am, Gary Granger wrote: > Subject: Re: netcdf-3.1a > Message-Id: <address@hidden> > > Hi Glenn, > > I've been working with netcdf 3.1a, doing performance tests and the like > with Zebra. Sorry I haven't gotten back to you sooner, but I'm in the > middle of some changes to Zebra's file format interface. In particular I'm > trying to add a test suite, and one of the tests caught a bug in 3.1a, in > NCrecput and NCrecget. So in case no has noticed it yet, I've attached a > patch that fixed it for me. Other things keep diverting me from finishing > the performance tests, but I hope to give you some feedback soon. > > Gary > > __________________________ > Patch to libsrc/putget.m4: > > --- putget.2.21 Fri Oct 25 03:02:11 1996 > +++ putget.m4 Fri Oct 25 02:57:17 1996 > @@ -12,7 +12,7 @@ > * Copyright 1996, University Corporation for Atmospheric Research > * See netcdf/COPYRIGHT file for copying and redistribution conditions. > */ > -/* $Id: putget.m4,v 2.21 1996/08/23 17:58:36 davis Exp $ */ > +/* $Id: putget.m4,v 2.22 1996/10/25 08:57:16 granger Exp $ */ > > #include "nc.h" > #include <string.h> > @@ -2135,7 +2135,7 @@ > assert(ncp->dims.nelems != 0); > assert(ncp->scratch != NULL); > > - (void) memset(coord, 0, ncp->dims.nelems); > + (void) memset(coord, 0, ncp->dims.nelems * sizeof(size_t)); > coord[0] = recnum; > for(ii = 0; ii < ncp->vars.nelems; ii++) > { > @@ -2180,7 +2180,7 @@ > assert(ncp->dims.nelems != 0); > assert(ncp->scratch != NULL); > > - (void) memset(coord, 0, ncp->dims.nelems); > + (void) memset(coord, 0, ncp->dims.nelems * sizeof(size_t)); > coord[0] = recnum; > for(ii = 0; ii < ncp->vars.nelems; ii++) > { > > >-- End of excerpt from Gary Granger