diff --git a/.gitignore b/.gitignore
index 33414d68b49efe6402a578af8d8fe255930f1685..6996cf0c0461d7f867367c6d513463a1fa973d57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 __pycache__*
+inmplot.egg-info*
 ctler.egg-info*
diff --git a/inmplot.py b/inmplot.py
new file mode 100644
index 0000000000000000000000000000000000000000..31b3cc1922cd6054d9d95197252535b6205a9483
--- /dev/null
+++ b/inmplot.py
@@ -0,0 +1,2 @@
+from ctler import ctl_to_netcdf
+from plot_ctl import plot_ctl
diff --git a/plot_ctl.py b/plot_ctl.py
index d929d36527f27d5ec298477356940401dbb563eb..39f507e624474ba47a22c72bbac0c1b9b16a7d1f 100644
--- a/plot_ctl.py
+++ b/plot_ctl.py
@@ -2,7 +2,7 @@ import matplotlib.pyplot as plt
 import matplotlib.cm as cm
 import ctler
 import argparse
-
+  
 def cmdargs_wide_help_column():
   formatter = lambda prog: argparse.HelpFormatter(prog,max_help_position=40)
   return formatter
@@ -15,21 +15,23 @@ def cmdargs():
   parser.add_argument("--znum",   "-z", default=0          , help="level number to plot")
   parser.add_argument("--cmap",   "-c", default="coolwarm" , help="color map palette")
   parser.add_argument("--output", "-o", default="pic.png"  , help="output image file")
+  parser.add_argument("--dpi",    "-q", default="600"      , help="output image dpi resolution")
   return parser.parse_args()
 
-def plot_ctl(ctl_file, varname, tnum, znum, cmap, out_file):  
+def plot_ctl(ctl_file, varname, tnum, znum, cmap, out_file, dpi):  
   ds = ctler.ctl_read(ctl_file)
   
   lon = ds.variables['longitude'][:]
   lat = ds.variables['latitude'][:]
   var = ds.variables[varname]
   
-  
+  fig = plt.figure()
   plt.contourf(lon, lat, var[tnum,znum,:,:], cmap=cm.get_cmap(name=cmap) )
   plt.colorbar() 
     
-  plt.savefig(out_file, dpi=300)
+  plt.savefig(out_file, dpi=dpi)
+  return fig
 
 if __name__ == '__main__':
   args = cmdargs()
-  plot_ctl(args.file, args.var, args.tnum, args.znum, args.cmap, args.output)
+  plot_ctl(args.file, args.var, args.tnum, args.znum, args.cmap, args.output, int(args.dpi))
diff --git a/pytest.ini b/pytest.ini
new file mode 100644
index 0000000000000000000000000000000000000000..ca55c8143f4f6a6e0f0ddb2812ff146132017d27
--- /dev/null
+++ b/pytest.ini
@@ -0,0 +1,5 @@
+[pytest]
+addopts = --mpl
+
+testpaths =
+    tests/tests.py
diff --git a/setup.py b/setup.py
index 50267d0cd798a3281443e5d1b271dbaaace6191c..7fe67c615121f61762ca0d2446e997c1b9fb0120 100644
--- a/setup.py
+++ b/setup.py
@@ -15,7 +15,7 @@ setup(
         description="Plotting tools for INMCM model",
         classifiers=filter(None, classifiers.split("\n")),
         license='MIT',
-        py_modules=['ctler, ctlinm, plot_ctl'],
+        py_modules=['ctler, ctlinm, plot_ctl, inmplot'],
         include_package_data=True,
 
         install_requires=[
diff --git a/tests/data/mmsst.dat b/tests/data/mmsst.dat
index be539f8264d630540e679e2b0652bd728295ea07..37c96c4b532a4bf85ca40390529cfe27db8b5f25 100644
--- a/tests/data/mmsst.dat
+++ b/tests/data/mmsst.dat
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:54d1a83b3aae94b0f080ba4127e8c8cffcffe5dcbc0559dcbb3e3a2035adaa05
-size 4147200
+oid sha256:8407281e492115af89e967478973ffa4db2b8ac15e1ff831bdcab3e667e72cce
+size 49766400
diff --git a/tests/data/mmsst.nc b/tests/data/mmsst.nc
new file mode 100644
index 0000000000000000000000000000000000000000..1b02e9ebd5a4953c47bd095958194f0bf6dca25c
--- /dev/null
+++ b/tests/data/mmsst.nc
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ff4a9f21153f30200dfc2c1a9184ec1d349ef30441b9b41229472da34e2e7e2e
+size 49782468
diff --git a/tests/data/sst.png b/tests/data/sst.png
index 9c5e9098c3d5419e53721a2d0441701fc2f04335..2fc107fe4e84a57d4c4410cc87f46a1cb7ca2c37 100644
--- a/tests/data/sst.png
+++ b/tests/data/sst.png
@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:b2fc198ef1c54c924067d4cc3f9001877e323610d570b5213dc806494e898790
-size 110844
+oid sha256:714a333ef5aaf88dcb0e6bcb83061c0d43eedcea1dd675b6f634875128cb43f6
+size 30508
diff --git a/tests/tests.py b/tests/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..021e91d7feedd245f458816a73d9ce21cc146675
--- /dev/null
+++ b/tests/tests.py
@@ -0,0 +1,33 @@
+import inmplot
+
+import pytest
+import filecmp
+import os
+
+
+@pytest.fixture
+def convert_ctl_to_netcdf():
+  inmplot.ctl_to_netcdf(os.path.join('tests','data','mmsst.ctl'), 'test.nc')
+  yield
+  os.remove('test.nc')
+
+def test_ctl_to_netcdf(convert_ctl_to_netcdf):
+  assert filecmp.cmp('test.nc', os.path.join('tests','data','mmsst.nc')) 
+
+
+
+
+
+def teardown_module():
+  os.remove('test.png')
+
+@pytest.mark.mpl_image_compare(baseline_dir="data", filename='sst.png', savefig_kwargs={'dpi': 100})
+def test_plot_ctl():
+  return inmplot.plot_ctl(
+      ctl_file=os.path.join('tests','data','mmsst.ctl'),
+      varname='sst',
+      tnum=0,
+      znum=0,
+      cmap='coolwarm',
+      out_file="test.png",
+      dpi=100)