Index: python/FlexpartTools.py
===================================================================
--- python/FlexpartTools.py	(revision a9c7f3e683adff09e14197fcd3b46ab149d4f8b7)
+++ python/FlexpartTools.py	(revision fb8810cda0dbbf0169e05332ef2fe5632ef1214e)
@@ -303,5 +303,5 @@
     # uncomment if user wants email notification directly from python
     #for t in target:
-        #p=subprocess.Popen(['mail','-s flex_extract v7.0.3 ERROR', os.path.expandvars(t)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,bufsize=1)
+        #p=subprocess.Popen(['mail','-s flex_extract v7.0.4 ERROR', os.path.expandvars(t)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,bufsize=1)
         #tr='\n'.join(traceback.format_stack())
         #pout=p.communicate(input=message+'\n\n'+tr)[0]
@@ -320,5 +320,5 @@
         # Uncomment if user wants notification directly from python
         #for t in target:
-            #p=subprocess.Popen(['mail','-s flex_extract v7.0.3 normal exit', os.path.expandvars(t)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,bufsize=1)
+            #p=subprocess.Popen(['mail','-s flex_extract v7.0.4 normal exit', os.path.expandvars(t)], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,bufsize=1)
             #pout=p.communicate(input=message+'\n\n')[0]
             #print pout.decode()
@@ -1032,12 +1032,12 @@
 
                     if request == "0":
-                        MR.display_info()
-                        MR.data_retrieve()
+                        MR.displayInfo()
+                        MR.dataRetrieve()
                     elif request == "1":
                         MR.print_infodata_csv(self.inputdir, self.mreq_count)
                     elif request == "2":
                         MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                        MR.display_info()
-                        MR.data_retrieve()
+                        MR.displayInfo()
+                        MR.dataRetrieve()
 # The whole else section is only necessary for operational scripts. It could be removed
                 else: # check if mars job requests fields beyond basetime. If yes eliminate those fields since they may not
@@ -1071,12 +1071,12 @@
 
                             if request == "0":
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
                             elif request == "1":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                             elif request == "2":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
 
                             maxtime=elimit-datetime.timedelta(hours=12)
@@ -1091,12 +1091,12 @@
                                                 date=mfdate, time=mftime,number=self.number,step=mfstep, expver=self.expver, param=pv[0])
                             if request == "0":
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
                             elif request == "1":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                             elif request == "2":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
                         else:
                             # increase number of mars requests
@@ -1108,12 +1108,12 @@
 
                             if request == "0":
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
                             elif request == "1":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                             elif request == "2":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
                     else:
                         maxtime=elimit-datetime.timedelta(hours=24)
@@ -1138,12 +1138,12 @@
 
                         if request == "0":
-                            MR.display_info()
-                            MR.data_retrieve()
+                            MR.displayInfo()
+                            MR.dataRetrieve()
                         elif request == "1":
                             MR.print_infodata_csv(self.inputdir, self.mreq_count)
                         elif request == "2":
                             MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                            MR.display_info()
-                            MR.data_retrieve()
+                            MR.displayInfo()
+                            MR.dataRetrieve()
 
                         if int(mftimesave.split('/')[0])==0 and int(mfstep.split('/')[0])==0 and pk!='OG_OROLSM__SL':
@@ -1160,12 +1160,12 @@
 
                             if request == "0":
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
                             elif request == "1":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
                             elif request == "2":
                                 MR.print_infodata_csv(self.inputdir, self.mreq_count)
-                                MR.display_info()
-                                MR.data_retrieve()
+                                MR.displayInfo()
+                                MR.dataRetrieve()
 
 
@@ -1473,14 +1473,14 @@
             key_vals = grib_index_get(iid,key)
             print key_vals
-            if key=='step':
-                l=[]
-                for k in key_vals:
-                    l.append(int(k))
-                l.sort()
-                key_vals=[]
-                for k in l:
-                    key_vals.append(str(k))
-    
-                index_vals.append(key_vals)
+
+            l=[]
+            for k in key_vals:
+                l.append(int(k))
+            l.sort()
+            key_vals=[]
+            for k in l:
+                key_vals.append(str(k))
+
+            index_vals.append(key_vals)
 
 
Index: python/compilejob.temp
===================================================================
--- python/compilejob.temp	(revision b38d7502fc21b0c0ec1be25a99e9e179cf66617f)
+++ python/compilejob.temp	(revision fb8810cda0dbbf0169e05332ef2fe5632ef1214e)
@@ -25,5 +25,5 @@
 
 set -x
-export VERSION=7.0.3
+export VERSION=7.0.4
 case $HOST in
   *ecg*)
Index: python/install.py
===================================================================
--- python/install.py	(revision e18f4b5f53f063ab746e1307bdd3162d31cb3e8a)
+++ python/install.py	(revision fb8810cda0dbbf0169e05332ef2fe5632ef1214e)
@@ -106,5 +106,5 @@
                 data='##PBS -o /scratch/ms/'+c.ecgid+'/'+c.ecuid+'flex_ecmwf.$Jobname.$Job_ID.out'
             if  'export PATH=${PATH}:' in data:
-                data+=c.ec_flexpart_root_scripts+'/flex_extract_v7.0.3/python'
+                data+=c.ec_flexpart_root_scripts+'/flex_extract_v7.0.4/python'
 
             if 'cat>>' in data or 'cat >>' in data:
@@ -137,15 +137,15 @@
             if os.path.abspath(ecd)!=os.path.abspath(c.flexpart_root_scripts):
                 os.chdir('/')
-                p=subprocess.check_call(['tar','-cvf',ecd+'../flex_extract_v7.0.3.tar',ecd+'python',ecd+'grib_templates',ecd+'src'])
+                p=subprocess.check_call(['tar','-cvf',ecd+'../flex_extract_v7.0.4.tar',ecd+'python',ecd+'grib_templates',ecd+'src'])
                 try:
-                    os.makedirs(c.flexpart_root_scripts+'/flex_extract_v7.0.3')
+                    os.makedirs(c.flexpart_root_scripts+'/flex_extract_v7.0.4')
                 except:
                     pass
-                os.chdir(c.flexpart_root_scripts+'/flex_extract_v7.0.3')
-                p=subprocess.check_call(['tar','-xvf',ecd+'../flex_extract_v7.0.3.tar'])
-                os.chdir(c.flexpart_root_scripts+'/flex_extract_v7.0.3/src')
+                os.chdir(c.flexpart_root_scripts+'/flex_extract_v7.0.4')
+                p=subprocess.check_call(['tar','-xvf',ecd+'../flex_extract_v7.0.4.tar'])
+                os.chdir(c.flexpart_root_scripts+'/flex_extract_v7.0.4/src')
 
         os.chdir('../src')
-        print 'install flex_extract_v7.0.3 software on '+target+' in directory '+os.getcwd()
+        print 'install flex_extract_v7.0.4 software on '+target+' in directory '+os.getcwd()
         if c.makefile==None:
             makefile='Makefile.local.ifort'
@@ -167,18 +167,18 @@
     elif target.lower()=='ecgate':
         os.chdir('/')
-        p=subprocess.check_call(['tar','-cvf',ecd+'../flex_extract_v7.0.3.tar',ecd+'python',ecd+'grib_templates',ecd+'src'])
+        p=subprocess.check_call(['tar','-cvf',ecd+'../flex_extract_v7.0.4.tar',ecd+'python',ecd+'grib_templates',ecd+'src'])
         try:
-            p=subprocess.check_call(['ecaccess-file-put',ecd+'../flex_extract_v7.0.3.tar','ecgate:/home/ms/'+c.ecgid+'/'+c.ecuid+'/flex_extract_v7.0.3.tar'])
+            p=subprocess.check_call(['ecaccess-file-put',ecd+'../flex_extract_v7.0.4.tar','ecgate:/home/ms/'+c.ecgid+'/'+c.ecuid+'/flex_extract_v7.0.4.tar'])
         except:
             print 'ecaccess-file-put failed! Probably the eccert key has expired.'
             exit(1)
         p=subprocess.check_call(['ecaccess-job-submit','-queueName',target,ecd+'python/compilejob.ksh'])
-        print 'compilejob.ksh has been submitted to ecgate for installation in '+c.ec_flexpart_root_scripts+'/flex_extract_v7.0.3'
+        print 'compilejob.ksh has been submitted to ecgate for installation in '+c.ec_flexpart_root_scripts+'/flex_extract_v7.0.4'
         print 'You should get an email with subject flexcompile within the next few minutes'
     elif target.lower()=='cca':
         os.chdir('/')
-        p=subprocess.check_call(['tar','-cvf',ecd+'../flex_extract_v7.0.3.tar',ecd+'python',ecd+'grib_templates',ecd+'src'])
+        p=subprocess.check_call(['tar','-cvf',ecd+'../flex_extract_v7.0.4.tar',ecd+'python',ecd+'grib_templates',ecd+'src'])
         try:
-            p=subprocess.check_call(['ecaccess-file-put',ecd+'../flex_extract_v7.0.3.tar','cca:/home/ms/'+c.ecgid+'/'+c.ecuid+'/flex_extract_v7.0.3.tar'])
+            p=subprocess.check_call(['ecaccess-file-put',ecd+'../flex_extract_v7.0.4.tar','cca:/home/ms/'+c.ecgid+'/'+c.ecuid+'/flex_extract_v7.0.4.tar'])
         except:
             print 'ecaccess-file-put failed! Probably the eccert key has expired.'
@@ -186,5 +186,5 @@
 
         p=subprocess.check_call(['ecaccess-job-submit','-queueName',target,ecd+'python/compilejob.ksh'])
-        print 'compilejob.ksh has been submitted to cca for installation in '+c.ec_flexpart_root_scripts+'/flex_extract_v7.0.3'
+        print 'compilejob.ksh has been submitted to cca for installation in '+c.ec_flexpart_root_scripts+'/flex_extract_v7.0.4'
         print 'You should get an email with subject flexcompile within the next few minutes'
     else:
Index: python/job.temp.o
===================================================================
--- python/job.temp.o	(revision b38d7502fc21b0c0ec1be25a99e9e179cf66617f)
+++ python/job.temp.o	(revision fb8810cda0dbbf0169e05332ef2fe5632ef1214e)
@@ -25,5 +25,5 @@
 
 set -x
-export VERSION=7.0.3
+export VERSION=7.0.4
 case $HOST in
   *ecg*)
