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

Previous: NF_INQ_COMPOUND, Up: Compound Types



5.5.5 Learn About a Field of a Compound Type: NF_INQ_COMPOUND_FIELD

Get information about one of the fields of a compound type.

Usage

     INTEGER FUNCTION NF_INQ_COMPOUND_FIELD(INTEGER NCID, INTEGER XTYPE,
             INTEGER FIELDID, CHARACTER*(*) NAME, INTEGER OFFSETP,
             INTEGER FIELD_TYPEIDP, INTEGER NDIMSP, INTEGER DIM_SIZESP)
     
     INTEGER FUNCTION NF_INQ_COMPOUND_FIELDNAME(INTEGER TYPEID,
             INTEGER FIELDID, CHARACTER*(*) NAME)
     
     INTEGER FUNCTION NF_INQ_COMPOUND_FIELDINDEX(INTEGER TYPEID,
             CHARACTER*(*) NAME, INTEGER FIELDIDP)
     
     INTEGER FUNCTION NF_INQ_COMPOUND_FIELDOFFSET(INTEGER TYPEID,
             INTEGER FIELDID, INTEGER OFFSETP)
     
     INTEGER FUNCTION NF_INQ_COMPOUND_FIELDTYPE(INTEGER TYPEID,
             INTEGER FIELDID, INTEGER FIELD_TYPEIDP)
     
     INTEGER FUNCTION NF_INQ_COMPOUND_FIELDNDIMS(INTEGER NCID,
             INTEGER XTYPE, INTEGER FIELDID, INTEGER NDIMSP)
     
     INTEGER FUNCTION NF_INQ_COMPOUND_FIELDDIM_SIZES(INTEGER NCID,
             INTEGER XTYPE, INTEGER FIELDID, INTEGER DIM_SIZES)
NCID
The groupid where this compound type exists.
XTYPE
The typeid for this compound type, as returned by NF_DEF_COMPOUND, or NF_INQ_VAR.
FIELDID
A one-based index number specifying a field in the compound type.
NAME
A character array which will get the name of the field. The name will be NF_MAX_NAME characters, at most.
OFFSETP
An integer which will get the offset of the field.
FIELD_TYPEID
An integer which will get the typeid of the field.
NDIMSP
An integer which will get the number of dimensions of the field.
DIM_SIZESP
An integer array which will get the dimension sizes of the field.

Errors

NF_NOERR
No error.
NF_EBADTYPEID
Bad type id.
NF_EHDFERR
An error was reported by the HDF5 layer.

Example

This example is from nf_test/fst_types.F.

     C     Check the first field of the compound type.
           retval = nf_inq_compound_field(ncid, typeids(1), 1, name_in,
          &     offset_in, field_typeid_in, ndims_in, dim_sizes_in)
           if (retval .ne. nf_noerr) call handle_err(retval)
           if (name_in(1:len(u_name)) .ne. u_name .or. offset_in .ne. 0 .or.
          &     field_typeid_in .ne. NF_INT .or. ndims_in .ne. 0) stop 2
           retval = nf_inq_compound_fieldname(ncid, typeids(1), 1, name_in)
           if (retval .ne. nf_noerr) call handle_err(retval)
           if (name_in(1:len(u_name)) .ne. u_name) stop 2
           retval = nf_inq_compound_fieldoffset(ncid, typeids(1), 1,
          &     offset_in)
           if (retval .ne. nf_noerr) call handle_err(retval)
           if (offset_in .ne. 0) stop 2
           retval = nf_inq_compound_fieldtype(ncid, typeids(1), 1,
          &     field_typeid_in)
           if (retval .ne. nf_noerr) call handle_err(retval)
           if (field_typeid_in .ne. NF_INT) stop 2
           retval = nf_inq_compound_fieldndims(ncid, typeids(1), 1,
          &     ndims_in)
           if (retval .ne. nf_noerr) call handle_err(retval)
           if (ndims_in .ne. 0) stop 2
 
 
  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