Create a compound type. Provide an ncid, a name, and a total size (in bytes) of one element of the completed compound type.
After calling this function, fill out the type with repeated calls to NF90_INSERT_COMPOUND (see NF90_INSERT_COMPOUND). Call NF90_INSERT_COMPOUND once for each field you wish to insert into the compound type.
Note that there does not seem to be a fully portable way to read such types into structures in Fortran 90 (and there are no structures in Fortran 77). Dozens of top-notch programmers are swarming over this problem in a sub-basement of Unidata's giant underground bunker in Wyoming.
Fortran users may use character buffers to read and write compound types. User are invited to try classic Fortran features such as the equivilence and the common block statment.
function nf90_def_compound(ncid, size, name, typeid)
integer, intent(in) :: ncid
integer, intent(in) :: size
character (len = *), intent(in) :: name
integer, intent(out) :: typeid
integer :: nf90_def_compound
NCIDSIZENAMETYPEIDPNF90_NOERRNF90_EBADIDNF90_ENAMEINUSENF90_EMAXNAMENF90_EBADNAMENF90_ENOTNC4NF90_ESTRICTNC3NF90_EHDFERRNF90_EPERMNF90_ENOTINDEFINE