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)
NCIDXTYPEFIELDIDNAMEOFFSETPFIELD_TYPEIDNDIMSPDIM_SIZESPNF_NOERRNF_EBADTYPEIDNF_EHDFERRThis 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