Index: /issm/trunk-jpl/test/NightlyRun/runme.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/runme.py	(revision 27359)
+++ /issm/trunk-jpl/test/NightlyRun/runme.py	(revision 27360)
@@ -1,3 +1,3 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 # NOTE: Switch to,
@@ -8,6 +8,7 @@
 #
 import argparse
+from glob import glob
 import os
-import re
+from re import search, split
 from sys import float_info
 from traceback import format_exc
@@ -89,7 +90,4 @@
     exception'; see also jenkins/jenkins.sh). These should be counted as
     failures.
-    - Figure out why the following changes allow for correct partitioning of 
-    test set, but cause an error with ADOL-C build (some test logs are parsed 
-    twice).
     """
 
@@ -118,7 +116,8 @@
     # }}}
     #GET ids  {{{
-    flist = [f for f in os.listdir('.') if re.match('test[0-9]+.py', f)] # File name must follow the format "test<integer>.py"
-    list_ids = [int(re.search(r'\d+',f.split('.')[0]).group()) for f in flist] # Retrieve test IDs
-    i1, i2 = parallelrange(rank, numprocs, len(list_ids))  # Get tests for this CPU only
+    flist = glob('test*.py')  #File name must start with 'test' and must end by '.py' and must be different than 'test.py'
+    list_ids = [int(search(r'\d+',file.split('.')[0]).group()) for file in flist if not file == 'test.py'] # Keep test id only (skip 'test' and '.py')
+
+    i1, i2 = parallelrange(rank, numprocs, len(list_ids))  #Get tests for this cpu only
     list_ids = list_ids[i1:i2 + 1]
     if np.size(id) > 0 and id is not None:
@@ -214,5 +213,5 @@
                 for key in mdl.results.__dict__.keys():
                     if 'Solution' in key:
-                        solvetype = re.split('Solution', key)[0]
+                        solvetype = split('Solution', key)[0]
 
                 #we save the results, scrap them and solve.
@@ -225,16 +224,16 @@
                     try:
                         #first look for indexing
-                        if re.search(r'\d+$', fieldname):
-                            index = int(re.search(r'\d+$', fieldname).group()) - 1
-                            fieldname = fieldname[:re.search(r'\d+$', fieldname).start()]
+                        if search(r'\d+$', fieldname):
+                            index = int(search(r'\d+$', fieldname).group()) - 1
+                            fieldname = fieldname[:search(r'\d+$', fieldname).start()]
                         elif 'FirstStep' in fieldname:
                             index = 0
-                            fieldname = fieldname[:re.search('FirstStep', fieldname).start()]
+                            fieldname = fieldname[:search('FirstStep', fieldname).start()]
                         elif 'SecondStep' in fieldname:
                             index = 1
-                            fieldname = fieldname[:re.search('SecondStep', fieldname).start()]
+                            fieldname = fieldname[:search('SecondStep', fieldname).start()]
                         elif 'ThirdStep' in fieldname:
                             index = 2
-                            fieldname = fieldname[:re.search('ThirdStep', fieldname).start()]
+                            fieldname = fieldname[:search('ThirdStep', fieldname).start()]
                         else:
                             index = 0
@@ -271,5 +270,5 @@
                                     #probably severalmatches, we take the last one which should be the good one (Needs to be controled in the list above)
                                     sufix = sufixes[np.squeeze(np.where([suf in fieldname for suf in sufixes]))[-1]]
-                                fieldname = fieldname[:re.search(sufix, fieldname).start()]
+                                fieldname = fieldname[:search(sufix, fieldname).start()]
                             elif fieldname.endswith("P") and index == 1:
                                 #we are looking for P2 but 2 as been considered as an index and so shifted by -1
