Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Next: , Previous: NF_INQ_VAR_DEFLATE, Up: Variables



6.8 Define Fletcher32 Parameters for a Variable: NF_DEF_VAR_FLETCHER32

The function NF_DEF_VAR_FLETCHER32 sets the fletcher32 parameters for a variable in a netCDF-4 file.

This function must be called after the variable is defined, but before NC_ENDDEF is called.

Usage

     NF_DEF_VAR_FLETCHER32(INTEGER NCID, INTEGER VARID, INTEGER FLETCHER32);
NCID
NetCDF ID, from a previous call to NF_OPEN or NF_CREATE.
VARID
Variable ID.
FLETCHER32
If this is non-zero, fletcher32 checksums will be turned on for this variable.

Errors

NF_DEF_VAR_FLETCHER32 returns the value NF_NOERR if no errors occurred. Otherwise, the returned status indicates an error.

Possible return codes include:

NF_NOERR
No error.
NF_BADID
Bad ncid.
NF_ENOTNC4
Not a netCDF-4 file.
NF_ENOTVAR
Can't find this variable.
NF_ELATEDEF
This variable has already been the subject of a NC_ENDDEF call. In netCDF-4 files NC_ENDDEF will be called automatically for any data read or write. Once enddef has been called, it is impossible to set the fletcher32 for a variable.
NF_ENOTINDEFINE
Not in define mode. This is returned for netCDF classic or 64-bit offset files, or for netCDF-4 files, when they were been created with NF_STRICT_NC3 flag. (see NF_CREATE).
NF_EPERM
Attempt to create object in read-only file.

Example

In this example from nf_test/ftst_vars.F, the variable in a file has the Fletcher32 checksum filter turned on.

     
     C     Create the netCDF file.
           retval = nf_create(FILE_NAME, NF_NETCDF4, ncid)
           if (retval .ne. nf_noerr) call handle_err(retval)
     
     C     Define the dimensions.
           retval = nf_def_dim(ncid, "x", NX, x_dimid)
           if (retval .ne. nf_noerr) call handle_err(retval)
           retval = nf_def_dim(ncid, "y", NY, y_dimid)
           if (retval .ne. nf_noerr) call handle_err(retval)
     
     C     Define the variable.
           dimids(1) = y_dimid
           dimids(2) = x_dimid
           retval = NF_DEF_VAR(ncid, "data", NF_INT, NDIMS, dimids, varid)
           if (retval .ne. nf_noerr) call handle_err(retval)
     
     C     Turn on chunking.
           chunks(1) = NY
           chunks(2) = NX
           retval = NF_DEF_VAR_chunking(ncid, varid, 0, chunks)
           if (retval .ne. nf_noerr) call handle_err(retval)
     
     C     Turn on deflate, fletcher32.
           retval = NF_DEF_VAR_deflate(ncid, varid, 0, 1, 4)
           if (retval .ne. nf_noerr) call handle_err(retval)
           retval = NF_DEF_VAR_fletcher32(ncid, varid, 1)
           if (retval .ne. nf_noerr) call handle_err(retval)
     
 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Office of Programs University Corporation for Atmospheric Research (UCAR)   Unidata is a member of the UCAR Office of Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690