The file topodata_0.9x1.25_USGS_070110_stream_c151201.nc is identical to lnd/clm2/griddata/topodata_0.9x1.25_USGS_070110.nc, but with TOPO having a time dimension, and added mask and area fields, so that it can be read as a stream (with domain information in the same file). It was modified as follows: ---- In python: from netCDF4 import Dataset topodata = Dataset('topodata_0.9x1.25_USGS_070110_stream_c151201.nc', 'a') topodata.createDimension('time', size=1) topodata.createVariable('time', 'f8', ('time')) topodata.variables['time'].long_name = "time" topodata.variables['time'].units = 'days since 0001-01-01 00:00:00' topodata.variables['time'].calendar = 'noleap' topodata.variables['time'][:] = 0. topodata.renameVariable('TOPO', 'TOPO_old') topodata.createVariable('TOPO', 'f8', ('time','lsmlat','lsmlon')) topodata.variables['TOPO'][:] = topodata.variables['TOPO_old'][:] topodata.variables['TOPO'].long_name = "topography height" topodata.variables['TOPO'].units = 'm' topodata.createVariable('mask', 'i4', ('lsmlat','lsmlon')) topodata.variables['mask'][:] = 1 topodata.variables['mask'].long_name = "mask of valid data (0 = invalid, 1 = valid)" topodata.variables['mask'].units = "unitless" domain = Dataset('/glade/p/cesmdata/cseg/inputdata/share/domains/domain.lnd.fv0.9x1.25_gx1v6.090309.nc') topodata.createVariable('area', 'f8', ('lsmlat','lsmlon')) topodata.variables['area'][:] = domain.variables['area'][:] topodata.variables['area'].long_name = "grid cell area" topodata.variables['area'].units = 'radian2' topodata.renameDimension('lsmlat','lat') topodata.renameDimension('lsmlon','lon') topodata.close() ---- Removing old TOPO variable using nco, because there is no way to delete a variable using python's netCDF4: ncks -x -v TOPO_old topodata_0.9x1.25_USGS_070110_stream_c151201.nc topodata_new.nc mv topodata_new.nc topodata_0.9x1.25_USGS_070110_stream_c151201.nc