NetCDF-4 has added support for four different user defined data types.
compound type
variable length array type
opaque type
enum type
Users may construct user defined type with the various NF_DEF_* functions described in this section. They may learn about user defined types by using the NF_INQ_ functions defined in this section.
Once types are constructed, define variables of the new type with NF_DEF_VAR (see NF_DEF_VAR). Write to them with NF_PUT_VAR1, NF_PUT_VAR, NF_PUT_VARA, or NF_PUT_VARS (see Variables). Read data of user-defined type with NF_GET_VAR1, NF_GET_VAR, NF_GET_VARA, or NF_GET_VARS (see Variables).
Create attributes of the new type with NF_PUT_ATT (see NF_PUT_ATT_ type). Read attributes of the new type with NF_GET_ATT (see NF_GET_ATT_ type).