[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: netcdf-3.1a



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