diff --git a/python/FlexpartTools.py b/python/FlexpartTools.py
index 27c2ca9d4725d10e2fb7a397d84383363a73d5fa..41a806b89e7016502672bbf39355b30a41f441f7 100644
--- a/python/FlexpartTools.py
+++ b/python/FlexpartTools.py
@@ -97,7 +97,7 @@ def interpret_args_and_control(*args,**kwargs):
     parser.add_argument("--public", dest="public", default=0,
                         help="Public mode - retrieves the public datasets")
 
-    parser.add_argument("--request", dest="request", default=0,
+    parser.add_argument("--request", dest="request", default=None,
                         help="list all mars request in file mars_requests.dat \
                         and skip submission to mars")
 
@@ -192,10 +192,12 @@ def interpret_args_and_control(*args,**kwargs):
         c.flexpart_root_scripts=args.flexpart_root_scripts
 
     # set request attribute to control file
-    if args.request != '0':
-        c.request=args.request
+    if args.request != None:
+        c.request=int(args.request)
+    else:
+        c.request = 0
 
-    if c.request != '0':
+    if c.request != 0:
         marsfile = os.path.join(c.inputdir, 'mars_requests.csv')
         if os.path.isfile(marsfile):
             os.remove(marsfile)
@@ -576,8 +578,9 @@ class Control:
                     self.type[i] = 0
 
             if not hasattr(self,'request'):
-                self.request='0'
-            elif self.request != 0:
+                self.request=0
+            elif int(self.request) != 0:
+                self.request=int(self.request)
                 marsfile = os.path.join(self.inputdir,
                                         'mars_requests.csv')
                 if os.path.isfile(marsfile):
@@ -1030,12 +1033,12 @@ class EIFlexpart:
                                   accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area,
                                   date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
 
-                    if request == "0":
+                    if request == 0:
                         MR.displayInfo()
                         MR.dataRetrieve()
-                    elif request == "1":
+                    elif request == 1:
                         MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                    elif request == "2":
+                    elif request == 2:
                         MR.print_infodata_csv(self.inputdir, self.mreq_count)
                         MR.displayInfo()
                         MR.dataRetrieve()
@@ -1069,12 +1072,12 @@ class EIFlexpart:
                                                 accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area,
                                                 date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
 
-                            if request == "0":
+                            if request == 0:
                                 MR.displayInfo()
                                 MR.dataRetrieve()
-                            elif request == "1":
+                            elif request == 1:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                            elif request == "2":
+                            elif request == 2:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                                 MR.displayInfo()
                                 MR.dataRetrieve()
@@ -1089,12 +1092,12 @@ class EIFlexpart:
                                               type=mftype, levtype=pv[1], levelist=pv[2],resol=self.resol, gaussian=gaussian,
                                                 accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area,
                                                 date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
-                            if request == "0":
+                            if request == 0:
                                 MR.displayInfo()
                                 MR.dataRetrieve()
-                            elif request == "1":
+                            elif request == 1:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                            elif request == "2":
+                            elif request == 2:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                                 MR.displayInfo()
                                 MR.dataRetrieve()
@@ -1106,12 +1109,12 @@ class EIFlexpart:
                                                 accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area,
                                                 date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
 
-                            if request == "0":
+                            if request == 0:
                                 MR.displayInfo()
                                 MR.dataRetrieve()
-                            elif request == "1":
+                            elif request == 1:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                            elif request == "2":
+                            elif request == 2:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                                 MR.displayInfo()
                                 MR.dataRetrieve()
@@ -1136,12 +1139,12 @@ class EIFlexpart:
                                       accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area,
                                       date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
 
-                        if request == "0":
+                        if request == 0:
                             MR.displayInfo()
                             MR.dataRetrieve()
-                        elif request == "1":
+                        elif request == 1:
                             MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                        elif request == "2":
+                        elif request == 2:
                             MR.print_infodata_csv(self.inputdir, self.mreq_count)
                             MR.displayInfo()
                             MR.dataRetrieve()
@@ -1158,20 +1161,20 @@ class EIFlexpart:
                                           accuracy=self.accuracy,grid=pv[3],target=mftarget,area=area,
                                           date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
 
-                            if request == "0":
+                            if request == 0:
                                 MR.displayInfo()
                                 MR.dataRetrieve()
-                            elif request == "1":
+                            elif request == 1:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                            elif request == "2":
+                            elif request == 2:
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                                 MR.displayInfo()
                                 MR.dataRetrieve()
 
 
-        if request == "0" or request == "2":
+        if request == 0 or request == 2:
             print('MARS retrieve done ... ')
-        elif request == "1":
+        elif request == 1:
             print('MARS request printed ...')
 
     def getFlexpartTime(self, type,step, time):
@@ -1471,7 +1474,6 @@ class EIFlexpart:
         index_vals = []
         for key in index_keys:
             key_vals = grib_index_get(iid,key)
-            print key_vals
 
             l=[]
             for k in key_vals:
@@ -1480,7 +1482,7 @@ class EIFlexpart:
             key_vals=[]
             for k in l:
                 key_vals.append(str(k))
-
+            print key_vals
             index_vals.append(key_vals)
 
 
@@ -1580,9 +1582,9 @@ class EIFlexpart:
 
                         grib_set_values(gid, values)
                         if c.maxstep>12:
-                            grib_set(gid,'step',max(0,step-2*int(c.dtime)))
+                            grib_set(gid,'stepRange',max(0,step-2*int(c.dtime)))
                         else:
-                            grib_set(gid,'step',0)
+                            grib_set(gid,'stepRange',0)
                             grib_set(gid,'time',fdate.hour*100)
                             grib_set(gid,'date',fdate.year*10000+fdate.month*100+fdate.day)
                         grib_write(gid, f)
@@ -1600,7 +1602,7 @@ class EIFlexpart:
                         if step==c.maxstep and c.maxstep>12 or sdates==elimit:
                             values=svdp[3]
                             grib_set_values(gid, values)
-                            grib_set(gid,'step',0)
+                            grib_set(gid,'stepRange',0)
                             truedatetime=fdate+datetime.timedelta(hours=2*int(c.dtime))
                             grib_set(gid,'time',truedatetime.hour*100)
                             grib_set(gid,'date',truedatetime.year*10000+truedatetime.month*100+truedatetime.day)
@@ -1612,7 +1614,7 @@ class EIFlexpart:
                             else:
                                 values=dapoly(list(reversed(svdp)))
 
-                            grib_set(gid,'step',0)
+                            grib_set(gid,'stepRange',0)
                             truedatetime=fdate+datetime.timedelta(hours=int(c.dtime))
                             grib_set(gid,'time',truedatetime.hour*100)
                             grib_set(gid,'date',truedatetime.year*10000+truedatetime.month*100+truedatetime.day)
diff --git a/python/getMARSdata.py b/python/getMARSdata.py
index 4e40ed5ee240b028982a447300d5a88f73ca39c6..047279604943d06b45d7b0eed6069435c9a9c355 100755
--- a/python/getMARSdata.py
+++ b/python/getMARSdata.py
@@ -111,7 +111,7 @@ def getMARSdata(args,c):
         endp1=end+ datetime.timedelta(days=2)
 
     datechunk=datetime.timedelta(days=int(c.date_chunk))
-    if c.request == '0' or c.request == '2':
+    if c.request == 0 or c.request == 2:
         print 'removing content of '+c.inputdir
         tobecleaned=glob.glob(c.inputdir+'/*_acc_*.'+str(os.getppid())+'.*.grb')
         for f in tobecleaned:
@@ -150,7 +150,7 @@ def getMARSdata(args,c):
             day+=datechunk
 
 
-    if c.request == '0' or c.request == '2':
+    if c.request == 0 or c.request == 2:
         print 'removing content of '+c.inputdir
         tobecleaned=glob.glob(c.inputdir+'/*__*.'+str(os.getppid())+'.*.grb')
         for f in tobecleaned:
diff --git a/python/job.temp b/python/job.temp
index 598184a09d9e3e53ae8897521ff4c7e734909e1b..2e03859f783ffd1f1cd504d3404f732fc0a4dee6 100644
--- a/python/job.temp
+++ b/python/job.temp
@@ -24,7 +24,7 @@
 ##PBS -l EC_memory_per_task=32000MB
 
 set -x
-export VERSION=7.0.3
+export VERSION=7.0.4
 case $HOST in
   *ecg*)
   module load python
@@ -32,7 +32,7 @@ case $HOST in
   module unload emos
   module load grib_api/1.14.5
   module load emos/437-r64
-  export PATH=${PATH}:${HOME}/flex_extract_v7.0.3/python
+  export PATH=${PATH}:${HOME}/flex_extract_v7.0.4/python
   ;;
   *cca*)
   module switch PrgEnv-cray PrgEnv-intel
@@ -40,7 +40,7 @@ case $HOST in
   module load emos
   module load python
   export SCRATCH=$TMPDIR
-  export PATH=${PATH}:${HOME}/flex_extract_v7.0.3/python
+  export PATH=${PATH}:${HOME}/flex_extract_v7.0.4/python
   ;;
 esac