diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..7c02efd87a87406116c0c3410e607b0c97c8a51b --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.nc filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.ctl filter=lfs diff=lfs merge=lfs -text +*.dat filter=lfs diff=lfs merge=lfs -text diff --git a/ctler.py b/ctler.py index f9e666851af53321d6e922cdd2db273540c1e7d2..5711882f66213ba5e4cd05ec4faaf186df6abdb4 100644 --- a/ctler.py +++ b/ctler.py @@ -33,7 +33,7 @@ class CTLReader(object): dset = re.search("DSET *(.*)", self.ctl).group(1) if dset.startswith('^'): dset = os.path.join(os.path.dirname(self.filename), dset[1:]) - data = np.fromfile(dset, 'f') + data = np.fromfile(dset.strip(), 'f') if big_endian: data = data.byteswap() self.data = np.ma.masked_values(data, self.undef) @@ -73,10 +73,20 @@ class CTLReader(object): SPACE = self.dimensions['latitude'] * self.dimensions['longitude'] if levels[0] > 0: var.dimensions = ('time', 'levels', 'latitude', 'longitude') - size = self.dimensions['time'] * self.dimensions['levels'] * (SPACE+2) # account for header bytes + + if self.dimensions['time'] > 1: + size = self.dimensions['time'] * self.dimensions['levels'] * (SPACE+2) # account for header bytes + else: + size = self.dimensions['time'] * self.dimensions['levels'] * SPACE + else: var.dimensions = ('time', 'latitude', 'longitude') - size = self.dimensions['time'] * (SPACE+2) # account for header bytes + + if self.dimensions['time'] > 1: + size = self.dimensions['time'] * (SPACE+2) # account for header bytes + else: + size = self.dimensions['time'] * SPACE + var.shape = tuple(self.dimensions[dim] for dim in var.dimensions) var.data = self.data[i:i+size].reshape(-1, SPACE)[:,:].reshape(var.shape) # remove header bytes diff --git a/setup.py b/setup.py index 50267d0cd798a3281443e5d1b271dbaaace6191c..69af46d00f267076f09e0c85b25a52c6a16282f1 100644 --- a/setup.py +++ b/setup.py @@ -19,6 +19,8 @@ setup( include_package_data=True, install_requires=[ + 'setuptools', + 'matplotlib', 'numpy', 'netCDF4' ]