NetCDF-4 added support for compound types, which allow users to construct a new type - a combination of other types, like a C struct.
Compound types are not supported in classic or 64-bit offset format files.
To write data in a compound type, first use nf90_def_compound to create the type, multiple calls to nf90_insert_compound to add to the compound type, and then write data with the appropriate nf90_put_var1, nf90_put_vara, nf90_put_vars, or nf90_put_varm call.
To read data written in a compound type, you must know its structure. Use the NF90_INQ_COMPOUND functions to learn about the compound type.
In Fortran a character buffer must be used for the compound data. The user must read the data from within that buffer in the same way that the C compiler which compiled netCDF would store the structure.
The use of compound types introduces challenges and portability issues for Fortran users.