Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/check.py
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/check.py	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/check.py	(revision 1838)
@@ -7,6 +7,7 @@
 
 
-from default_param import *
-from user_param import *     
+# from default_param import *
+# from user_param import *     
+from param_list import *
 
 # load default_param first, variables defines in user_param will overwrite the default value 
@@ -26,410 +27,134 @@
 
 
-def write_jz_job(configName, nbproc=8):
-	red = lambda text: '\033[0;31m' + text + '\033[0m'
-	f=open("jz_job_"+configName+".sh", "w")
-	f.write("#!/bin/bash\n")
-	f.write("#SBATCH --ntasks="+repr(nbproc)+"              # Nombre total de processus MPI\n")
-	f.write("#SBATCH --ntasks-per-node=16\n")
-	f.write("#SBATCH --hint=nomultithread\n")
-	f.write("#SBATCH -t 00:10:00            # Temps elapsed maximum d'execution\n")
-	f.write("#SBATCH -o single_config.out     # Nom du fichier de sortie\n")
-	f.write("#SBATCH -e single_config.err     # Nom du fichier d'erreur\n")
-	f.write("#SBATCH --account=psl@cpu\n")
-	f.write("cd ${SLURM_SUBMIT_DIR}\n")
-	f.write("module purge\n")
-	f.write("module load intel-all/19.0.4\n")
-	f.write("module load netcdf/4.7.0/intel-19.0.4-mpi\n")
-	f.write("module load netcdf-cxx/4.2/intel-19.0.4-mpi\n")
-	f.write("module load netcdf-fortran/4.4.5/intel-19.0.4-mpi\n")
-	f.write("module load gcc/6.5.0/gcc-4.8.5\n")
-	f.write("module load cmake\n")
-	f.write("module load cdo\n")
-	f.write("ulimit -c 0\n")
-	xios_root=os.getenv('xios_dir')
-	build_folder=os.getenv('build_dir')
-	f.write("export xios_dir="+xios_root+"\n")
-	f.write("export build_dir="+build_folder+"\n")
-	f.write("export machine_name=jeanzay\n")
-	f.write("cp ../setup.py ./\n")
-	f.write("cp ../run_sub_test.sh ./\n")
-	f.write("mv user_params.def user_params.def_bkp\n")
-	f.write("cp "+configName+"/setup/user_param.py user_params.def\n")
-	f.write("python setup.py\n")
-	f.write("cmake .\n")
-	f.write("ctest -V #enable all output\n")
-	f.write("rm -f setup.py\n")
-	f.write("rm -f run_sub_test.sh\n")
-	f.write("rm -f run_test_*.py\n")
-	f.write("rm -f CMakeLists.txt\n")
-	f.write("rm -f context_grid_dynamico.xml\n")
-	f.write("rm -f dynamico_grid.nc\n")
-	f.write("rm -f default_param.*\n")
-	f.write("rm -f user_param.*\n")
-	f.write("mv user_params.def_bkp user_params.def\n")
-	f.write("\n")
-	f.close
 
-def write_irene_job(configName, nbproc=8):
-	red = lambda text: '\033[0;31m' + text + '\033[0m'
-	f=open("irene_job_"+configName+".sh", "w")
-	f.write("#!/bin/bash\n")
-	f.write("#MSUB -r XIOS\n")
-	f.write("#MSUB -o client_output.out    # standard output\n")
-	f.write("#MSUB -e client_error.err    #error output\n")
-	f.write("#MSUB -eo\n")
-	f.write("#MSUB -c 1\n")
-	f.write("#MSUB -n "+ repr(nbproc) + "  # Number of MPI tasks (SPMD case) or cores (MPMD case)\n")
-	f.write("#MSUB -X \n")
-	f.write("#MSUB -x \n")
-	f.write("#MSUB -T 600      # Wall clock limit (seconds)\n")
-	f.write("#MSUB -q skylake           # thin nodes\n")
-	f.write("#MSUB -A devcmip6\n")
-	f.write("#MSUB -Q test\n")
-	f.write("#MSUB -m work\n")
-	f.write("cd $BRIDGE_MSUB_PWD\n")
-	f.write("module unload netcdf-c netcdf-fortran hdf5 flavor perl hdf5 boost blitz mpi gnu\n")
-	f.write("module load gnu\n")
-	f.write("module load mpi/intelmpi/2017.0.6.256\n")
-	f.write("module load flavor/buildcompiler/intel/17\n")
-	f.write("module load flavor/hdf5/parallel\n")
-	f.write("module load netcdf-fortran/4.4.4\n")
-	f.write("module load hdf5/1.8.20\n")
-	f.write("module load boost\n")
-	f.write("module load blitz\n")
-	f.write("module load feature/bridge/heterogenous_mpmd\n")
-	f.write("module load nco\n")
-	f.write("module load cdo\n")
-	f.write("export KMP_STACKSIZE=3g\n")
-	f.write("export KMP_LIBRARY=turnaround\n")
-	f.write("export MKL_SERIAL=YES\n")
-	f.write("export OMP_NUM_THREADS=${BRIDGE_MSUB_NCORE}\n")
-	f.write("set -x \n")
-	xios_root=os.getenv('xios_dir')
-	build_folder=os.getenv('build_dir')
-	f.write("export xios_dir="+xios_root+"\n")
-	f.write("export build_dir="+build_folder+"\n")
-	f.write("export machine_name=irene\n")
-	f.write("cp ../setup.py ./\n")
-	f.write("cp ../run_sub_test.sh ./\n")
-	f.write("mv user_params.def user_params.def_bkp\n")
-	f.write("cp "+configName+"/setup/user_param.py user_params.def\n")
-	f.write("python setup.py\n")
-	f.write("cmake .\n")
-	f.write("ctest -V #enable all output\n")
-	f.write("rm -f setup.py\n")
-	f.write("rm -f run_sub_test.sh\n")
-	f.write("rm -f run_test_*.py\n")
-	f.write("rm -f CMakeLists.txt\n")
-	f.write("rm -f context_grid_dynamico.xml\n")
-	f.write("rm -f dynamico_grid.nc\n")
-	f.write("rm -f default_param.*\n")
-	f.write("rm -f user_param.*\n")
-	f.write("mv user_params.def_bkp user_params.def\n")
-	f.write("\n")
-	f.close
-
-
+blue = lambda text: '\033[0;34m' + text + '\033[0m'
+yellow = lambda text: '\033[0;33m' + text + '\033[0m'
+green = lambda text: '\033[0;32m' + text + '\033[0m'
+# blue = lambda text: text
+# yellow = lambda text: text
+# green = lambda text: text
 
 def main():
 
-	black = lambda text: '\033[0;30m' + text + '\033[0m'
-	red = lambda text: '\033[0;31m' + text + '\033[0m'
-	green = lambda text: '\033[0;32m' + text + '\033[0m'
-	yellow = lambda text: '\033[0;33m' + text + '\033[0m'
-	blue = lambda text: '\033[0;34m' + text + '\033[0m'
-	magenta = lambda text: '\033[0;35m' + text + '\033[0m'
-	cyan = lambda text: '\033[0;36m' + text + '\033[0m'
-	lgray = lambda text: '\033[0;37m' + text + '\033[0m'
-	dgray = lambda text: '\033[1;30m' + text + '\033[0m'
-	lred = lambda text: '\033[1;32m' + text + '\033[0m'
-	lgreen = lambda text: '\033[1;32m' + text + '\033[0m'
-	lyellow = lambda text: '\033[1;33m' + text + '\033[0m'
-	lblue = lambda text: '\033[1;34m' + text + '\033[0m'
-	lpurple = lambda text: '\033[1;35m' + text + '\033[0m'
-	lcyan = lambda text: '\033[1;36m' + text + '\033[0m'
-	white = lambda text: '\033[1;37m' + text + '\033[0m'
+	defaultConfig = True
+	configNamePattern=[]
+	for i in range(len(param_list)):
+		f=open("user_param.py", "r")
+		for line in f:
+			line = line.strip().replace(" ","")
+			if line.startswith(param_list[i]):
+				configNamePattern.append('_'+param_short_list[i]+"="+line.split("=")[1].replace("'",""))
+				defaultConfig = False
 	
-	configNamePattern=[0]*7
+	f.close()
+    
+	configName = "config"
+	
+	for i in range(len(configNamePattern)):
+		configName = configName+configNamePattern[i]
 
-	f=open("user_param.py", "r")
+	checkfile = "checkfile.def"
+
+	f=open(checkfile, "r")
 	for line in f:
 		line = line.strip()
-		if line.startswith("UsingServer2"):
-			configNamePattern[0] = '_UsingSrv2=' + UsingServer2
-		elif line.startswith("RatioServer2"):
-			configNamePattern[1] = '_RatioSrv2=' + repr(RatioServer2)
-		elif line.startswith("NumberPoolsServer2"):
-			configNamePattern[2] = '_NbPoolsSrv2=' + repr(NumberPoolsServer2)
-		elif line.startswith("NumberClients"):
-			configNamePattern[3] = '_NbClients=' + repr(NumberClients)
-		elif line.startswith("NumberServers"):
-			configNamePattern[4] = '_NbServers=' + repr(NumberServers)
-		elif line.startswith("Duration"):
-			configNamePattern[5] = '_Duration=' + Duration
-		elif line.startswith("ATMdomain"):
-			configNamePattern[5] = '_ATMdomain=' + ATMdomain
+		line = line.rstrip()
+		if line.startswith("all"):
+			allfiles = os.listdir(os.getcwd())
+			g=open("checkfile_new.def", "w")
+			for thisfile in allfiles:
+				if thisfile.endswith(".nc") and thisfile != "dynamico_grid.nc":
+					g.write(thisfile+"\n")
+					checkfile = "checkfile_new.def"
+			g.close()
+			break
 	f.close()
+
+	if not os.path.exists(configName):
+		OSinfo("mkdir -p "+configName)
+
+		print(blue("\n    ****************************************************************"))
+		print(blue("    * Directory " + repr(configName) + " Created "))
+		print(blue("    * Copy results to \'not_validated_reference\' folder"))
+		print(blue("    ****************************************************************\n"))
+
+		OSinfo("mkdir -p "+configName+"/setup")
+		OSinfo("mkdir -p "+configName+"/tmp_reference")
+
+		OSinfo("cp user_param.py user_param.def")
+		OSinfo("cp user_param.py "+configName+"/setup")
+		OSinfo("mv user_param.def "+configName+"/setup")
+
+		OSinfo("cp default_param.json "+configName+"/setup")
 		
-	
-
-	configName = "config"
-	defaultConfig = True
-
-	for i in range(len(configNamePattern)):
-		if configNamePattern[i] != 0:
-			configName = configName + configNamePattern[i]
-			defaultConfig = False
-
-	if defaultConfig:
-		configName = "config_default"
-
-	
+		OSinfo("mv all_param.def "+configName+"/setup")
+		OSinfo("mv iodef.xml "+configName+"/setup/")
+		OSinfo("cp context_atm.xml "+configName+"/setup/")
+		OSinfo("cp context_grid_dynamico.xml "+configName+"/setup/")
 
 
-	if not os.path.exists(configName):
+		f=open(checkfile, "r")
+		reportfile = open("../plain_report.txt", "a+")
+		for line in f:
+			line = line.strip()
+			line = line.rstrip()
+			if not line.startswith("#") and len(line) != 0:
+				OSinfo("cp "+line+" "+configName+"/tmp_reference")
+				reportfile.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(0)+" \n")
+				print(yellow("\n        ****************************************"))
+				print(yellow("        ** "+line+" is stored as temporal reference !!! **"))
+				print(yellow("\n        ****************************************"))
+		f.close()
+		reportfile.close()
 
-		
-		
-
-		os.mkdir(configName)
-		print blue("\n    ****************************************************************")
-		print blue("    * Directory " + repr(configName) + " Created ")
-		print blue("    * Copy results to \'not_validated_reference\' folder")
-		print blue("    ****************************************************************\n")
-
-		OSinfo("mkdir "+configName+'/setup')
-		OSinfo('mkdir '+configName+'/tmp_reference')
-		OSinfo('mkdir '+configName+'/xios_output')
-		
-		OSinfo('mv param.def '+configName+'/setup/')
-		OSinfo('mv all_param.def '+configName+'/setup/')
-		OSinfo('mv user_param.py '+configName+'/setup/')
-		OSinfo('cp '+configName+'/setup/user_param.py '+configName+'/setup/user_param.def ')
-		OSinfo('mv iodef.xml '+configName+'/setup/')
-		OSinfo('cp context_atm.xml '+configName+'/setup/')
-		OSinfo('cp context_grid_dynamico.xml '+configName+'/setup/')
-		OSinfo('cp dynamico_grid.nc '+configName+'/setup/')
-		OSinfo('mv xios_*.out '+configName+'/xios_output/')
-		OSinfo('mv xios_*.err '+configName+'/xios_output/')
-		
-
-		f=open("checkfile.def", "r")
-		h=open("report.txt", "a+")
-		l=open("report.html", "a+")
-		preport=open("../plein_report.txt", "a+")
-		h.write("Config : "+configName+"\n")		
-		l.write("<p>Config : "+configName+"</p>")	
-		for line in f:
-			line=line.strip()
-			line=line.rstrip()
-
-			if line.startswith("all"):
-				allfiles = os.listdir(os.getcwd())
-				for thisfile in allfiles:
-					if thisfile.endswith(".nc") and thisfile!="dynamico_grid.nc":
-						cmd = 'mv '+thisfile + ' '+configName+'/tmp_reference/'
-						OSinfo(cmd)	
-				
-				h.write("test for "+lpurple("all NC files")+"     \t"+yellow('INITIALIZED')+"\n")
-				preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"_all_nc_files"+" "+repr(0)+" \n")				
-				l.write("<p>test for <font color=\"purple\">"+"all NC files"+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"darkorange\">INITIALIZED</font></p>")
-				print yellow("\n        ****************************************")
-				print yellow("        ** "+"all NC files"+" is stored as temporal reference !!! **")
-				print yellow("\n        ****************************************")
-
-				break
-
-			if not line.startswith("#") and len(line) != 0:
-				cmd = 'mv '+line + ' '+configName+'/tmp_reference/'
-				OSinfo(cmd)
-
-				h.write("test for "+lpurple(line)+"     \t"+yellow('INITIALIZED')+"\n")		
-				preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(0)+" \n")		
-				l.write("<p>test for <font color=\"purple\">"+line+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"darkorange\">INITIALIZED</font></p>")
-				print yellow("\n        ****************************************")
-				print yellow("        ** "+line+" is stored as temporal reference !!! **")
-				print yellow("\n        ****************************************")
-				
-		f.close()
-		h.write("\n")
-		l.write("<br>")
-		h.close()
-		l.close()
-		preport.close()
-		#generate job scripts
-		hostname=os.getenv('machine_name')
-		if hostname.startswith("jeanzay"):
-			write_jz_job(configName, NumberClients+NumberServers)
-				
-		elif hostname.startswith("irene"):
-			write_irene_job(configName, NumberClients+NumberServers)
-							
-		else :
-			print("machine unknown")
-			print >> sys.stderr, 1
-			sys.exit()
-
-
-	else:    
-		
-
-
-		print blue("\n    ********************************************************")
-		print blue("    * Directory " + repr(configName) + " already exists")
-		print blue("    * Start comparing results with references")
-		print blue("    ********************************************************\n")
+	else:
+		print(blue("\n    ****************************************************************"))
+		print(blue("    * Directory " + repr(configName) + " already exists "))
 
 		tmp_ref = os.path.isdir(configName+'/tmp_reference')
 		ref = os.path.isdir(configName+'/reference') and not tmp_ref
+		
+		if tmp_ref : 
+			print(blue("    * Start comparing results with NON-validated references"))
+			path = configName+"/tmp_reference"
+		if ref : 
+			print(blue("    * Start comparing results with validated references"))
+			path = configName+"reference"
+		
+		OSinfo('cp '+configName+'/setup/user_param.py '+configName+'/setup/user_param.def ')
+		print(blue("    ****************************************************************\n"))
 
-
-		if ref:
-			print blue("\n    =====================================")
-			print blue("    | Comparing results with references |")
-			print blue("    =====================================\n")
-			path = configName+'/reference/'
-			OSinfo('cp '+configName+'/setup/user_param.py '+configName+'/setup/user_param.def ')
-		elif tmp_ref:
-			print blue("\n    ===================================================")
-			print blue("    | Comparing results with NON-Validated references |")
-			print blue("    ===================================================\n")
-			path = configName+'/tmp_reference/'
-			OSinfo('cp '+configName+'/setup/user_param.py '+configName+'/setup/user_param.def ')
-		
-		f=open("checkfile.def", "r")
-		h=open("report.txt", "a+")
-		l=open("report.html", "a+")
-		preport=open("../plein_report.txt", "a+")
-
-
-		h.write("Config : "+configName+"\n")	
-		l.write("<p>Config : "+configName+"</p>")	
+		f=open(checkfile, "r")
+		reportfile = open("../plain_report.txt", "a+")
 		for line in f:
-
-			line=line.strip()
-			line=line.rstrip()
-			
-			if line.startswith("all") :
-				for thisfile in os.listdir(path):
-					if thisfile.endswith(".nc"):
-						cmd = 'cdo -W diffn '+ thisfile +' '+ path + thisfile + ' | tail -1 > diff.txt'
-						
-						OSinfo(cmd)
-						
-						if os.stat("diff.txt").st_size==0:
-							h.write("test for "+lpurple(thisfile)+"     \t"+green('PASSED')+"\n")		
-							preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+thisfile+" "+repr(1)+" \n")		
-							l.write("<p>test for <font color=\"purple\">"+thisfile+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"green\">PASSED</font></p>")		
-							print green("\n        ****************************************")
-							print green("        ** "+thisfile+" is valid !!! **")
-							print green("\n        ****************************************")
-
-						else:	
-							g=open("diff.txt", "r")
-							for gline in g:
-								if gline.strip().startswith("0") or ":" in gline :
-									h.write("test for "+lpurple(thisfile)+"      \t"+green('PASSED')+"\n")	
-									preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+thisfile+" "+repr(1)+" \n")			
-									l.write("<p>test for <font color=\"purple\">"+thisfile+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"green\">PASSED</font></p>")		
-									print green("\n        ****************************************")
-									print green("        ** "+thisfile+" is valid !!! **")
-									print green("\n        ****************************************")
-								else:
-									h.write("test for "+lpurple(thisfile)+"     \t"+red('FAILED')+"\n")	
-									preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+thisfile+" "+repr(-1)+" \n")			
-									l.write("<p>test for <font color=\"purple\">"+thisfile+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"red\">FAILED</font></p>")		
-									print red("\n        **************************************************")
-									print red("        ** "+thisfile+" is NOT valid. Please debugging.. **")
-									print red("\n        **************************************************")
-							g.close()
-
-						# generate job submission script
-						hostname=os.getenv('machine_name')
-
-						if hostname.startswith("jeanzay"):
-							write_jz_job(configName, NumberClients+NumberServers)
-							
-						elif hostname.startswith("irene"):
-							write_irene_job(configName, NumberClients+NumberServers)
-							
-						else :
-							print("machine unknown")
-							print >> sys.stderr, 1
-							sys.exit()
-				break
-
-
-			elif not line.startswith("#") and len(line) != 0:
-				cmd = 'cdo -W diffn '+ line +' '+ path + line + ' | tail -1 > diff.txt'
-				
-				OSinfo(cmd)
+			line = line.strip()
+			line = line.rstrip()
+			if not line.startswith("#") and len(line) != 0:
+				OSinfo("cdo -W diffn "+line+" "+path+line+" | tail -1 > diff.txt")
 
 				if os.stat("diff.txt").st_size==0:
-					h.write("test for "+lpurple(line)+"     \t"+green('PASSED')+"\n")
-					preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(1)+" \n")				
-					l.write("<p>test for <font color=\"purple\">"+line+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"green\">PASSED</font></p>")		
-					print green("\n        ****************************************")
-					print green("        ** "+line+" is valid !!! **")
-					print green("\n        ****************************************")
-
-				else:	
+					reportfile.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(1)+" \n")
+					print(green("\n        ****************************************"))
+					print(green("        ** "+line+" is valid !!! **"))
+					print(green("\n        ****************************************"))
+				else:
 					g=open("diff.txt", "r")
 					for gline in g:
-						if gline.strip().startswith("0") or ":" in gline :
-							h.write("test for "+lpurple(line)+"      \t"+green('PASSED')+"\n")		
-							preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(1)+" \n")		
-							l.write("<p>test for <font color=\"purple\">"+line+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"green\">PASSED</font></p>")		
-							print green("\n        ****************************************")
-							print green("        ** "+line+" is valid !!! **")
-							print green("\n        ****************************************")
+						if gline.strip().startswith("0") or ":" in gline:
+							reportfile.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(1)+" \n")
+							print(green("\n        ****************************************"))
+							print(green("        ** "+line+" is valid !!! **"))
+							print(green("\n        ****************************************"))
 						else:
-							h.write("test for "+lpurple(line)+"     \t"+red('FAILED')+"\n")	
-							preport.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(-1)+" \n")			
-							l.write("<p>test for <font color=\"purple\">"+line+"</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color=\"red\">FAILED</font></p>")		
-							print red("\n        **************************************************")
-							print red("        ** "+line+" is NOT valid. Please debugging.. **")
-							print red("\n        **************************************************")
+							reportfile.write(os.path.basename(os.getcwd())+" "+os.path.basename(os.getcwd())[5:]+"@"+configName+" "+os.path.basename(os.getcwd())[5:]+"@"+configName[7:]+"@"+line+" "+repr(-1)+" \n")
+							print(green("\n        ****************************************"))
+							print(green("        ** "+line+" is NOT valid. Please debugging.. **"))
+							print(green("\n        ****************************************"))
 					g.close()
+		f.close()
+		reportfile.close()
 
-				# generate job submission script
-				hostname=os.getenv('machine_name')
-
-				if hostname.startswith("jeanzay"):
-					write_jz_job(configName, NumberClients+NumberServers)
-							
-				elif hostname.startswith("irene"):
-					write_irene_job(configName, NumberClients+NumberServers)
-							
-				else :
-					print("machine unknown")
-					print >> sys.stderr, 1
-					sys.exit()
-
-
-		f.close()
-		h.write("\n")
-		l.write("<br>")
-		h.close()
-		l.close()
-		preport.close()
-
-		if not os.path.exists('current_run'):
-			OSinfo('mkdir current_run')
-
-		if not os.path.exists('current_run/'+configName):
-			OSinfo('mkdir current_run/'+configName)
-
-		OSinfo('mv -f param.def current_run/'+configName)
-		OSinfo('mv -f all_param.def current_run/'+configName)
-		OSinfo('mv -f user_param.py current_run/'+configName)
-		OSinfo('mv -f iodef.xml current_run/'+configName)
-		OSinfo('rm -f current_run/'+configName+'/context_atm.xml')
-		OSinfo('cp -n context_atm.xml current_run/'+configName)
-		OSinfo('cp -f context_grid_dynamico.xml current_run/'+configName)
-		OSinfo('cp -f dynamico_grid.nc current_run/'+configName)
-		OSinfo('mv -f xios_*.out current_run/'+configName)
-		OSinfo('mv -f xios_*.err current_run/'+configName)
-
+	if os.path.exists("checkfile_new.def"):
+		OSinfo("rm -f checkfile_new.def")
 
 
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/default_param.json
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/default_param.json	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/default_param.json	(revision 1838)
@@ -0,0 +1,11 @@
+[
+	{
+	"ATMdomain": "'lmdz'",
+        "UsingServer2": "'true'",
+        "RatioServer2": "50",
+        "NumberPoolsServer2": "1",
+        "Duration": "'1d'",
+        "NumberClients": "4",
+	"NumberServers": "4"
+	}
+]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/job_jeanzay.sh
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/job_jeanzay.sh	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/job_jeanzay.sh	(revision 1838)
@@ -34,4 +34,5 @@
 
 source ../arch/arch-${arch}.env
+source $I_MPI_ROOT/intel64/bin/mpivars.sh release_mt
 module load cmake
 module load cdo
@@ -58,12 +59,12 @@
 
 
-rm -f plein_report.txt
-
-echo "#revision" ${xios_revision} >> plein_report.txt
-echo "#relurl" ${relurl} >> plein_report.txt
-echo "#machine" ${machine_name} >> plein_report.txt
-echo "#build_dir" ${xios_dir}/${build_dir} >> plein_report.txt
-echo "#arch" ${arch} >> plein_report.txt
-echo "#mode" ${mode} >> plein_report.txt
+rm -f plain_report.txt
+
+echo "#revision" ${xios_revision} >> plain_report.txt
+echo "#relurl" ${relurl} >> plain_report.txt
+echo "#machine" ${machine_name} >> plain_report.txt
+echo "#build_dir" ${xios_dir}/${build_dir} >> plain_report.txt
+echo "#arch" ${arch} >> plain_report.txt
+echo "#mode" ${mode} >> plain_report.txt
 
 
@@ -74,4 +75,6 @@
 do
   cp setup.py ${i%%/}      
+  cp default_param.json ${i%%/}  
+  cp param_list.py ${i%%/}      
   cp run_sub_test.sh ${i%%/}    
   echo "bash -c \"cd " ${i%%/} " && python setup.py\" ">> setup.sh
@@ -107,5 +110,5 @@
 mkdir -p ../html
 mkdir -p ../html/test_${machine_name}
-cp plein_report.txt ../html/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt
+cp plain_report.txt ../html/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt
 
 
@@ -116,5 +119,5 @@
 do
   mkdir -p ../html/def_files/${xios_revision}/${i%%}
-  cp ${i%%}/user_params.def ../html/def_files/${xios_revision}/${i%%}      
+  cp ${i%%/}/param.json ../html/def_files/${xios_revision}/${i%%}      
   for j in $(ls -d ${i%%/}/config_*)
   do
@@ -126,6 +129,4 @@
 
 bash -c "cd ../html && python generate_test.py"
-
-
 
 #============================= X64_JEANZAY_debug =============================
@@ -146,4 +147,5 @@
 
 source ../arch/arch-${arch}.env
+source $I_MPI_ROOT/intel64/bin/mpivars.sh release_mt
 module load cmake
 module load cdo
@@ -170,12 +172,12 @@
 
 
-rm -f plein_report.txt
-
-echo "#revision" ${xios_revision} >> plein_report.txt
-echo "#relurl" ${relurl} >> plein_report.txt
-echo "#machine" ${machine_name} >> plein_report.txt
-echo "#build_dir" ${xios_dir}/${build_dir} >> plein_report.txt
-echo "#arch" ${arch} >> plein_report.txt
-echo "#mode" ${mode} >> plein_report.txt
+rm -f plain_report.txt
+
+echo "#revision" ${xios_revision} >> plain_report.txt
+echo "#relurl" ${relurl} >> plain_report.txt
+echo "#machine" ${machine_name} >> plain_report.txt
+echo "#build_dir" ${xios_dir}/${build_dir} >> plain_report.txt
+echo "#arch" ${arch} >> plain_report.txt
+echo "#mode" ${mode} >> plain_report.txt
 
 
@@ -186,4 +188,6 @@
 do
   cp setup.py ${i%%/}      
+  cp default_param.json ${i%%/}  
+  cp param_list.py ${i%%/}      
   cp run_sub_test.sh ${i%%/}    
   echo "bash -c \"cd " ${i%%/} " && python setup.py\" ">> setup.sh
@@ -219,6 +223,6 @@
 mkdir -p ../html
 mkdir -p ../html/test_${machine_name}
-
-cp plein_report.txt ../html/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt
+cp plain_report.txt ../html/test_${machine_name}/test_${xios_revision}_${machine_name}_${arch}_${mode}.txt
+
 
 mkdir -p ../html/def_files
@@ -228,5 +232,5 @@
 do
   mkdir -p ../html/def_files/${xios_revision}/${i%%}
-  cp ${i%%}/user_params.def ../html/def_files/${xios_revision}/${i%%}      
+  cp ${i%%/}/param.json ../html/def_files/${xios_revision}/${i%%}      
   for j in $(ls -d ${i%%/}/config_*)
   do
@@ -239,3 +243,2 @@
 bash -c "cd ../html && python generate_test.py"
 
-
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/param_list.py
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/param_list.py	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/param_list.py	(revision 1838)
@@ -0,0 +1,2 @@
+param_list = ["ATMdomain", "UsingServer2", "NumberClients", "NumberServers", "RatioServer2", "NumberPoolsServer2", "Duration"]
+param_short_list = ["ATMdom", "UsingSrv2", "NbClients", "NbServers", "RatioSrv2", "NbPlSrv2", "Duration"]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/run_sub_test.sh
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/run_sub_test.sh	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/run_sub_test.sh	(revision 1838)
@@ -5,5 +5,5 @@
 cp ../config.py sub_config.py
 cp ../check.py sub_check.py
-cp ../default_param.py default_param.py
+# cp ../default_param.py default_param.py
 
 
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/setup.py
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/setup.py	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/setup.py	(revision 1838)
@@ -1,171 +1,142 @@
 import os
 import sys
+import json
+import itertools
 
+from param_list import *
 
-def main():
+def getlabel(sub_list_element, level):
+    label=""
+    for l in range(level):
+        label = label+sub_list_element[l]+"_"
+    return label
 
-	black = lambda text: '\033[0;30m' + text + '\033[0m'
-	red = lambda text: '\033[0;31m' + text + '\033[0m'
-	green = lambda text: '\033[0;32m' + text + '\033[0m'
-	yellow = lambda text: '\033[0;33m' + text + '\033[0m'
-	blue = lambda text: '\033[0;34m' + text + '\033[0m'
-	magenta = lambda text: '\033[0;35m' + text + '\033[0m'
-	cyan = lambda text: '\033[0;36m' + text + '\033[0m'
-	lgray = lambda text: '\033[0;37m' + text + '\033[0m'
-	dgray = lambda text: '\033[1;30m' + text + '\033[0m'
-	lred = lambda text: '\033[1;32m' + text + '\033[0m'
-	lgreen = lambda text: '\033[1;32m' + text + '\033[0m'
-	lyellow = lambda text: '\033[1;33m' + text + '\033[0m'
-	lblue = lambda text: '\033[1;34m' + text + '\033[0m'
-	lpurple = lambda text: '\033[1;35m' + text + '\033[0m'
-	lcyan = lambda text: '\033[1;36m' + text + '\033[0m'
-	white = lambda text: '\033[1;37m' + text + '\033[0m'
+def MySort(sub_list, level):
+    l=len(sub_list)
+    for i in range(0,l):
+        for j in range(0, l-i-1):
+            if(getlabel(sub_list[j], level) > getlabel(sub_list[j+1], level)):
+                tempo = sub_list[j]
+                sub_list[j]= sub_list[j+1] 
+                sub_list[j+1]= tempo 
+    return sub_list
 
-	default_nb_config = 7
+def main() :
+      
+    param_length = len(param_list)
+    param = [""]*param_length
+    
+    
+    f=open("user_param.json", 'r')
+    config_dict = json.load(f)
+    f.close()
+    
+    f=open("default_param.json", 'r')
+    def_config = json.load(f)
+    f.close()
+        
+    default_config=[""]*param_length
+    f=open("default_param.py", "w")
+    for i in range(param_length):
+        default_config[i] = str(def_config[0][param_list[i]])
+        f.write(param_list[i]+" = "+str(def_config[0][param_list[i]])+"\n")
+    f.close()
+        
+    config_list=[]
+    
+    for config_set in config_dict:
+        sub_list=[]
+        for l in range(param_length):
+            if param_list[l] in config_set:
+                param[l]=config_set[param_list[l]].split(" ")
+                for i in range(len(param[l])) :
+                    param[l][i] = [str(param[l][i])]
+            else :
+                param[l]=['_']
+        
+        for l in range(len(param_list)):
+            if not sub_list:
+                sub_list = list(param[l])
+            else:
+                tmp_sub_list = list(itertools.product(sub_list,list(param[l])))
+                sub_list=[]
+                for i in range(len(tmp_sub_list)):
+                    sub_list.append(list(tmp_sub_list[i]))
+                for i in range(len(sub_list)):
+                    sub_list[i] = list(itertools.chain(*sub_list[i]))
+                
+        for i in range(len(sub_list)):    
+            config_list.append(sub_list[i])
+            
+            
+        param=[""]*param_length
+        
+    config_list=MySort(config_list, param_length)
+    
+    
+    for i in range(len(config_list)):
+        print(config_list[i])
+        
+        
+    full_config_list=[[]]*len(config_list)
+    
+    for i in range(len(config_list)):
+        full_config_list[i] = list(config_list[i])
+        for j in range(param_length):
+            if full_config_list[i][j]=='_':
+                full_config_list[i][j] = default_config[j]
+        # print(full_config_list[i])
+        
+    for i in range(len(config_list)):
+        f=open("user_param.py."+repr(i), "w")
+        for j in range(param_length):
+            if not config_list[i][j] == "_":
+                f.write(param_list[j]+" = "+config_list[i][j]+"\n")
+        f.close()
+    
+    f=open("CMakeLists.txt", "w")
+    f.write("##############################\n")
+    f.write("# file generated by setup.py #\n")
+    f.write("#      DO NOT modify         #\n")
+    f.write("##############################\n\n")
+    f.write("cmake_minimum_required(VERSION 2.8.12.2)\n\n")
+    f.write("project(generic_testcase)\n\n")
+    f.write("find_package(PythonInterp REQUIRED)\n\n")
+    f.write("enable_testing()\n\n")
+    dirpath = os.getcwd()
+    foldername = os.path.basename(os.getcwd())
+    print(foldername)
+    
+    for x in range(len(config_list)):
+    	f.write("add_test( NAME "+foldername+"_config"+repr(x)+'\n')
+        f.write("          COMMAND ${PYTHON_EXECUTABLE}\n")
+        f.write("          ${CMAKE_CURRENT_BINARY_DIR}/run_test_"+repr(x)+".py\n")
+        f.write("          "+foldername+"_config"+repr(x)+")\n\n")
+        f.write("set_tests_properties("+foldername+"_config"+repr(x)+" PROPERTIES\n")
+        f.write("                      FAIL_REGULAR_EXPRESSION \"check.py failed;execution failed;failed;setup.sh failed; machine unknown\")\n\n")
 
-	nb_config = 1
-	configs = [0]*default_nb_config
-	 
-	configs_arg = [[], [], [], [], [], [], []] 
+        g=open("run_test_"+repr(x)+".py", "w")
+        g.write("##############################\n")
+        g.write("# file generated by setup.py #\n")
+        g.write("#      DO NOT modify         #\n")
+        g.write("##############################\n\n")
+        g.write("import os\n")
+        g.write("import sys\n")
+        g.write("import subprocess\n")
+		
 
-	f=open("user_params.def", "r")
-	for line in f:
-		line = line.strip()
-		if len(line) != 0:
-			if not line.startswith("#"):
-				nb_config = nb_config * (line.count(",")+1)
-				line = line.replace(",", "")
-				line = line.replace("=", "")
-				if line.startswith("UsingServer2"):
-					line = line.replace("UsingServer2", "")
-					for word in line.split():
-						configs[0] += 1
-						configs_arg[0].append('UsingServer2 = '+word)
-				elif line.startswith("RatioServer2"):
-					line = line.replace("RatioServer2", "")
-					for word in line.split():
-						configs[1] += 1
-						configs_arg[1].append('RatioServer2 = '+word)
-				elif line.startswith("NumberPoolsServer2"):
-					line = line.replace("NumberPoolsServer2", "")
-					for word in line.split():
-						configs[2] += 1
-						configs_arg[2].append('NumberPoolsServer2 = '+word)
-				elif line.startswith("NumberClients"):
-					line = line.replace("NumberClients", "")
-					for word in line.split():
-						configs[3] += 1
-						configs_arg[3].append('NumberClients = '+word)
-				elif line.startswith("NumberServers"):
-					line = line.replace("NumberServers", "")
-					for word in line.split():
-						configs[4] += 1
-						configs_arg[4].append('NumberServers = '+word)
-				elif line.startswith("Duration"):
-					line = line.replace("Duration", "")
-					for word in line.split():
-						configs[5] += 1
-						configs_arg[5].append('Duration = '+word)
-				elif line.startswith("ATMdomain"):
-					line = line.replace("ATMdomain", "")
-					for word in line.split():
-						configs[6] += 1
-						configs_arg[6].append('ATMdomain = '+word)
+        g.write("\ndef main():\n")
+        g.write("	os.system(\'rm -f user_param.py\')\n")
+        g.write("	os.system(\'cp user_param.py."+repr(x)+" user_param.py\')\n")
+        g.write("	os.system(\'./run_sub_test.sh\')\n")
+        g.write("if __name__== \"__main__\":\n")
+        g.write("	main()\n")
+        g.close()
+		 
+    f.close()
 
-				
-	for x in range(default_nb_config):
-		if configs[x]==0:
-			configs[x] =1
-
-	config_id=0
-	for i0 in range(configs[0]):
-		hasContent0 = len(configs_arg[0])>0
-		for i1 in range(configs[1]):
-			hasContent1 = len(configs_arg[1])>0
-			for i2 in range(configs[2]):
-				hasContent2 = len(configs_arg[2])>0
-				for i3 in range(configs[3]):
-					hasContent3 = len(configs_arg[3])>0
-					for i4 in range(configs[4]):
-						hasContent4 = len(configs_arg[4])>0
-						for i5 in range(configs[5]):
-							hasContent5 = len(configs_arg[5])>0
-							for i6 in range(configs[6]):
-								hasContent6 = len(configs_arg[6])>0
-
-								filename = "user_param.py."+repr(config_id)
-								g = open(filename, "w")
-
-								if hasContent0: g.write(configs_arg[0][i0]+'\n')
-								if hasContent1: g.write(configs_arg[1][i1]+'\n')
-								if hasContent2: g.write(configs_arg[2][i2]+'\n')
-								if hasContent3: g.write(configs_arg[3][i3]+'\n')
-								if hasContent4: g.write(configs_arg[4][i4]+'\n')
-								if hasContent5: g.write(configs_arg[5][i5]+'\n')
-								if hasContent6: g.write(configs_arg[6][i6]+'\n')
-							
-								config_id +=1
-								g.close
+if __name__== "__main__":
+  main()
 
 
 
-	f=open("CMakeLists.txt", "w")
-	f.write("##############################\n")
-	f.write("# file generated by setup.py #\n")
-	f.write("#      DO NOT modify         #\n")
-	f.write("##############################\n\n")
-	f.write("cmake_minimum_required(VERSION 2.8.12.2)\n\n")
-	f.write("project(generic_testcase)\n\n")
-	f.write("find_package(PythonInterp REQUIRED)\n\n")
-	f.write("enable_testing()\n\n")
-	dirpath = os.getcwd()
-	foldername = os.path.basename(os.getcwd())
-
-
-	for x in range(nb_config):
-		f.write("add_test( NAME "+foldername+"_config"+repr(x)+'\n')
-		f.write("          COMMAND ${PYTHON_EXECUTABLE}\n")
-		f.write("          ${CMAKE_CURRENT_BINARY_DIR}/run_test_"+repr(x)+".py\n")
-		f.write("          "+foldername+"_config"+repr(x)+")\n\n")
-
-		f.write("set_tests_properties("+foldername+"_config"+repr(x)+" PROPERTIES\n")
-		f.write("                      FAIL_REGULAR_EXPRESSION \"check.py failed;execution failed;failed;setup.sh failed; machine unknown\")\n\n")
-
-		g=open("run_test_"+repr(x)+".py", "w")
-		g.write("##############################\n")
-		g.write("# file generated by setup.py #\n")
-		g.write("#      DO NOT modify         #\n")
-		g.write("##############################\n\n")
-		g.write("import os\n")
-		g.write("import sys\n")
-		g.write("import subprocess\n")
-		# g.write("\ndef OSinfo(runthis):\n")
-		# g.write("	osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)\n")
-		# g.write("	theInfo = osstdout.communicate()[0].strip()\n")
-		# g.write("	if osstdout.returncode!=0:\n")
-		# g.write("		print(runthis+\" failed\")\n")
-		# g.write("		print >> sys.stderr, osstdout.returncode\n")
-		# g.write("		sys.exit()\n")
-		# g.write("	else:\n")
-		# g.write("		print(runthis+\" OK\")\n")
-
-		g.write("\ndef main():\n")
-		g.write("	os.system(\'rm -f user_param.py\')\n")
-		g.write("	os.system(\'cp user_param.py."+repr(x)+" user_param.py\')\n")
-		g.write("	os.system(\'./run_sub_test.sh\')\n")
-		g.write("if __name__== \"__main__\":\n")
-		g.write("	main()\n")
-		g.close
-		 
-	f.close
-
-	f=open("report.txt", "w")
-	g=open("report.html", "w")
-	f.write("\n\n\nin "+cyan(foldername)+" ...\n\n")
-	g.write("<br><br><br><p>in <font color=\"blue\">"+foldername+"</font> ...</p><br><br>")
-	f.close
-	g.close
-
-
-if __name__== "__main__":
-  main()
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_axis_algo/checkfile.def
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_axis_algo/checkfile.def	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_axis_algo/checkfile.def	(revision 1838)
@@ -1,3 +1,3 @@
-all
+#all
 atm_output_zoom.nc
 #atm_output_inverse.nc
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_axis_algo/user_param.json
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_axis_algo/user_param.json	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_axis_algo/user_param.json	(revision 1838)
@@ -0,0 +1,14 @@
+[
+	{
+		"ATMdomain": "'lmdz'",
+		"UsingServer2": "'true'",
+		"NumberServers": "2 4",
+		"RatioServer2": "50"
+	},
+	{
+		"UsingServer2": "'false'",
+		"NumberServers": "6 8",
+		"ATMdomain": "'lmdz'",
+		"RatioServer2": "50"
+	}
+]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_domain_algo/checkfile.def
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_domain_algo/checkfile.def	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_domain_algo/checkfile.def	(revision 1838)
@@ -1,12 +1,6 @@
 #all
-
 atm_output.nc
-
 atm_output_expand.nc
-
-
 atm_output_extract.nc
-
 atm_output_interpolate.nc
-
 atm_output_zoom.nc
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_domain_algo/user_param.json
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_domain_algo/user_param.json	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_domain_algo/user_param.json	(revision 1838)
@@ -0,0 +1,14 @@
+[
+	{
+		"ATMdomain": "'lmdz'",
+		"UsingServer2": "'true'",
+		"NumberServers": "2 4",
+		"RatioServer2": "50"
+	},
+	{
+		"UsingServer2": "'false'",
+		"NumberServers": "6 8",
+		"ATMdomain": "'lmdz'",
+		"RatioServer2": "50"
+	}
+]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_function/checkfile.def
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_function/checkfile.def	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_function/checkfile.def	(revision 1838)
@@ -1,3 +1,5 @@
+#all
+  
+atm_output.nc
 
-atm_output.nc
 #atm_output_ensemble.nc
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_function/user_param.json
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_function/user_param.json	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_function/user_param.json	(revision 1838)
@@ -0,0 +1,14 @@
+[
+	{
+		"ATMdomain": "'lmdz'",
+		"UsingServer2": "'true'",
+		"NumberServers": "2 4",
+		"RatioServer2": "50"
+	},
+	{
+		"UsingServer2": "'false'",
+		"NumberServers": "6 8",
+		"ATMdomain": "'lmdz'",
+		"RatioServer2": "50"
+	}
+]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_grid_algo/checkfile.def
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_grid_algo/checkfile.def	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_grid_algo/checkfile.def	(revision 1838)
@@ -1,5 +1,3 @@
 #atm_output_1.nc
-
 atm_output.nc
-
 atm_output_zoom.nc
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_grid_algo/user_param.json
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_grid_algo/user_param.json	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_grid_algo/user_param.json	(revision 1838)
@@ -0,0 +1,14 @@
+[
+	{
+		"ATMdomain": "'lmdz'",
+		"UsingServer2": "'true'",
+		"NumberServers": "2 4",
+		"RatioServer2": "50"
+	},
+	{
+		"UsingServer2": "'false'",
+		"NumberServers": "6 8",
+		"ATMdomain": "'lmdz'",
+		"RatioServer2": "50"
+	}
+]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_scalar_algo/checkfile.def
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_scalar_algo/checkfile.def	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_scalar_algo/checkfile.def	(revision 1838)
@@ -1,4 +1,3 @@
 #atm_output1.nc
-
 atm_output.nc
 atm_output_zoom.nc
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_scalar_algo/user_param.json
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_scalar_algo/user_param.json	(revision 1838)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/test_scalar_algo/user_param.json	(revision 1838)
@@ -0,0 +1,14 @@
+[
+	{
+		"ATMdomain": "'lmdz'",
+		"UsingServer2": "'true'",
+		"NumberServers": "2 4",
+		"RatioServer2": "50"
+	},
+	{
+		"UsingServer2": "'false'",
+		"NumberServers": "6 8",
+		"ATMdomain": "'lmdz'",
+		"RatioServer2": "50"
+	}
+]
Index: XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/user_config.py
===================================================================
--- XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/user_config.py	(revision 1795)
+++ XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/user_config.py	(revision 1838)
@@ -41,10 +41,4 @@
 	f.write("                   COMMAND rm -f report.txt\n")
 	f.write("                   COMMAND rm -f report.html\n")
-
-	
-	for folder in test_list:
-		f.write("                   COMMAND cat "+folder+"/report.txt >> report.txt\n")
-		f.write("                   COMMAND cat "+folder+"/report.html >> report.html\n")
-	
 	f.write("                   )\n\n")
 	f.close
