netCDF4 supports hierarchical data organization using Groups, which act like directories in a filesystem. Groups can contain variables, dimensions, attributes, and other groups.
- Create a group using
ncfile.createGroup(name). - Dimensions defined in a parent group can be accessed by variables created in a child group (recursive upward search).
ncfile = netCDF4.Dataset('data/new2.nc', 'w', format='NETCDF4')
# Create groups
grp1 = ncfile.createGroup('model_run1')
grp2 = ncfile.createGroup('model_run2')
# Create dimensions in the root group
lat_dim = ncfile.createDimension('lat', 73)
# Create variable in a group using root-level dimensions
temp1 = grp1.createVariable('temp', np.float64, ('lat',))
# Enable compression for the variable
temp1 = grp1.createVariable('temp', np.float64, ('lat',), zlib=True)