Re: [netcdfgroup] NF90_SYNC question

Leon,

> On Fri, Feb 22, 2013 at 2:59 PM, Russ Rew <russ@xxxxxxxxxxxxxxxx> wrote:
> 
> > > And I override these defaults by providing a chunksizes array when
> > calling
> > > NF90_DEF_VAR?
> >
> > Not quite.  You have to call nc_def_var_chunking(..., chunkshape) for
> > each variable *before* calling nc_enddef().
> 
> 
> I don't see a Fortran 90 equivalent of nc_def_var_chunking, and providing a
> chunksizes array when calling NF90_DEF_VAR seems to have the desired
> effect. For example:
> 
> dimensions:
>         step = UNLIMITED ;
>         cell = 100 ;
> variables:
>         float temperature(step, cell) ;
>                 temperature:_Storage = "chunked" ;
>                 temperature:_ChunkSizes = 1000, 100 ;
> ...
> 
> Am I missing something by doing it this way?

Oops, sorry, I was answering in the context of the C API and should have
noticed the question was about F90.

There *is* a Fortran 90 equivalent to nc_def_var_chunking, using
optional arguments to nf90_def_var:

  http://www.unidata.ucar.edu/netcdf/docs/netcdf-f90.html#NF90_005fDEF_005fVAR

The "storage" and "chunksizes" arguments are what you want.

Creating variable "special attributes" that begin with "_" won't work.
The only special attribute that the library understands is "_FillValue".

The other special attributes that begin with "_" were not intended for
setting properties from library APIs, but just for displaying and
setting them in CDL, as the ncgen documentation says:

   These special virtual attributes are not actually part of the file,
   they are merely a convenient way to set miscellaneous properties of
   the data in CDL

   The special attributes currently supported are as follows: `_Format',
   `_Fletcher32, `_ChunkSizes', `_Endianness', `_DeflateLevel',
   `_Shuffle', and `_Storage'.

In recent versions of the C-based netCDF library, the ncgen utility
interprets these special attributes and converts them into the necessary
netCDF function calls, but the library functions don't do that.

I guess we need to return an error for attempts to use special
attributes in the library APIs as a substitute for function calls, if
we're not going to interpret them at a low level in the library.

--Russ



  • 2013 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: