I have been thinking about your original question about modelling observations containing parts containing events. I think a better solution is as follows: dimensions: obs_id = UNLIMITED; part_id = UNLIMITED; event_id = UNLIMITED; types: compound { int id; int(*) parts; ... } obs_state; compound { int id; int(*) events; ... } part_state; compound { int id; ... } event_state; variables: event_state events[event_id]; part_state parts[part_id]; obs_state observations[obs_id]; This is simple to fill in data and simpler to maintain. =Dennis Heimbigner Unidata Ticket Details =================== Ticket ID: HLX-917795 Department: Support netCDF Priority: Normal Status: Closed