Get information about one of the fields of a compound type.
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
XTYPE
FIELDID
NAME
OFFSETP
FIELD_TYPEID
NDIMSP
DIM_SIZESP
NF_NOERR
NF_EBADTYPEID
NF_EHDFERR
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