Skip to content

Instantly share code, notes, and snippets.

@rhattersley
Created September 24, 2013 15:02
Show Gist options
  • Save rhattersley/6686093 to your computer and use it in GitHub Desktop.
Save rhattersley/6686093 to your computer and use it in GitHub Desktop.
Demonstrate byte order problem in netCDF4 package.
import netCDF4
import numpy as np
def create_file(filename, format):
dataset = netCDF4.Dataset(filename, mode='w', format=format)
dataset.createDimension('time', None)
dataset.createDimension('space', 4)
dims = ('time', 'space')
little_little = dataset.createVariable('little-little', '<f4', dims)
little_big = dataset.createVariable('little-big', '<f4', dims)
big_little = dataset.createVariable('big-little', '>f4', dims)
big_big = dataset.createVariable('big-big', '>f4', dims)
little_little[:] = np.arange(12, dtype='<f4').reshape(3, 4) * 2
little_big[:] = np.arange(12, dtype='>f4').reshape(3, 4)
big_little[:] = np.arange(12, dtype='<f4').reshape(3, 4)
big_big[:] = np.arange(12, dtype='>f4').reshape(3, 4)
dataset.close()
if __name__ == '__main__':
create_file('classic.nc', 'NETCDF3_CLASSIC')
create_file('hdf_based.nc', 'NETCDF4')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment