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'
         ]