Index: /XIOS/trunk/xios_test_suite/COMPILE/compile_irene
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/compile_irene	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/compile_irene	(revision 1805)
@@ -0,0 +1,2 @@
+#!/bin/bash
+ccc_msub job_compile_irene.sh
Index: /XIOS/trunk/xios_test_suite/COMPILE/compile_param_irene.def
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/compile_param_irene.def	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/compile_param_irene.def	(revision 1805)
@@ -0,0 +1,2 @@
+arch = X64_IRENE
+mode = prod, debug
Index: /XIOS/trunk/xios_test_suite/COMPILE/compile_param_jeanzay.def
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/compile_param_jeanzay.def	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/compile_param_jeanzay.def	(revision 1805)
@@ -0,0 +1,9 @@
+arch = X64_JEANZAY
+mode = prod, debug
+
+#arch = X64_JEANZAY_Intel, X64_JEANZAY_gcc,  X64_JEANZAY_pgi
+#    mode = prod, debug
+#    run_test=false
+#arch = X64_Jeanzai_intel
+#     mode = prod
+#     run_test=yes
Index: /XIOS/trunk/xios_test_suite/COMPILE/config_compile.py
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/config_compile.py	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/config_compile.py	(revision 1805)
@@ -0,0 +1,78 @@
+import glob
+import sys
+import subprocess
+import os
+
+def OSinfo(runthis):
+	red = lambda text: '\033[0;31m' + text + '\033[0m'
+	osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
+	theInfo = osstdout.communicate()[0].strip()
+	if osstdout.returncode!=0:
+		print(red(runthis+" FAILED"))
+		print >> sys.stderr, osstdout.returncode
+		sys.exit()
+	# else:
+	# 	print(runthis+" OK")
+
+
+def main():
+    machine=os.getenv('xios_machine_name')
+    revision=os.getenv('revision')
+
+
+    default_nb_config = 2
+    nb_config = 1
+    configs = [0]*default_nb_config 
+    configs_arg = [[], []] 
+
+    f=open("compile_param_"+machine+".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("arch"):
+                    line = line.replace("arch", "")
+                    for word in line.split():
+                        configs[0] += 1
+                        configs_arg[0].append(word)
+                elif line.startswith("mode"):
+                    line = line.replace("mode", "")
+                    for word in line.split():
+                        configs[1] += 1
+                        configs_arg[1].append(word)
+				
+
+    f=open("CMakeLists.txt", "w")
+    f.write("#######################################\n")
+    f.write("# file generated by config_compile.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")
+       
+    for i in range(len(configs_arg[0])):
+        for j in range(len(configs_arg[1])):
+            build_dir_name = configs_arg[0][i]+"_"+configs_arg[1][j]
+            g=open("build_"+revision+"_"+machine+"_"+build_dir_name+".txt", "w")
+            g.write("arch "+configs_arg[0][i]+"\n")
+            g.write("mode "+configs_arg[1][j]+"\n")
+            g.write("machine "+machine+"\n")
+            g.write("revision "+revision+"\n")
+            g.close()
+            
+            f.write("add_test( NAME "+build_dir_name+'\n')
+            f.write("          COMMAND bash -c \"source ../ARCH/arch-"+configs_arg[0][i]+".env && module load cmake && cd ../.. && ./make_xios --arch_dir xios_test_suite/ARCH --arch "+configs_arg[0][i]+" --"+configs_arg[1][j]+" --job 16 --build_dir build_"+build_dir_name+" | tail -n 1 >> Compile/build_"+revision+"_"+machine+"_"+build_dir_name+".txt\")\n\n")
+            f.write("set_tests_properties( "+build_dir_name+" PROPERTIES\n")
+            f.write("                      FAIL_REGULAR_EXPRESSION \"failed\")\n\n")
+    
+    
+    f.close()
+    
+    
+if __name__== "__main__":
+  main()
Index: /XIOS/trunk/xios_test_suite/COMPILE/generate_compile.py
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/generate_compile.py	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/generate_compile.py	(revision 1805)
@@ -0,0 +1,118 @@
+import glob
+import sys
+import subprocess
+import os
+import copy
+
+def OSinfo(runthis):
+	red = lambda text: '\033[0;31m' + text + '\033[0m'
+	osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
+	theInfo = osstdout.communicate()[0].strip()
+	if osstdout.returncode!=0:
+		print(red(runthis+" FAILED"))
+		print >> sys.stderr, osstdout.returncode
+		sys.exit()
+	# else:
+	# 	print(runthis+" OK")
+
+def Sort(sub_li): 
+    l = len(sub_li) 
+    for i in range(0, l): 
+        for j in range(0, l-i-1): 
+            if (sub_li[j][0] < sub_li[j+1][0]): 
+                tempo = sub_li[j] 
+                sub_li[j]= sub_li[j+1] 
+                sub_li[j+1]= tempo
+            if (sub_li[j][0] == sub_li[j+1][0]):
+                if (sub_li[j][3] < sub_li[j+1][3]): 
+                    tempo = sub_li[j] 
+                    sub_li[j]= sub_li[j+1] 
+                    sub_li[j+1]= tempo 
+                if (sub_li[j][3] == sub_li[j+1][3]): 
+                    if (sub_li[j][2] < sub_li[j+1][2]): 
+                        tempo = sub_li[j] 
+                        sub_li[j]= sub_li[j+1] 
+                        sub_li[j+1]= tempo 
+    return sub_li 
+
+def subgenerate(maindir, machine_name):
+
+    compile_list = glob.glob(maindir+"/build_"+machine_name+"/build_*.txt")
+    print(maindir)
+    print(compile_list)
+    if len(compile_list) == 0 :
+        return
+    machine = machine_name
+    revision_list=[]
+    machine_list=[]
+    arch_list=[]
+    mode_list=[]
+
+    bg_color = ["#84c5ff", "#96cdff", "#a1d3ff", "#b3dafd", "#c2e1fd"]
+
+
+    myBuild=["", "", "", "", ""] #revision, machine, arch, mode, status
+    myBuildList=[]
+    
+    for compile_log in compile_list:
+        revision = compile_log[6:10]
+        
+        f=open(compile_log, "r")
+        for line in f:
+            if line.startswith("revision"):
+                myText = line.replace("revision ", "").replace("\n", "")
+                if not myText in revision_list:
+                    revision_list.append(myText)
+                myBuild[0] = myText
+                
+
+            elif line.startswith("machine"):
+                myText = line.replace("machine ", "").replace("\n", "")
+                if not myText in machine_list:
+                    machine_list.append(myText)
+                myBuild[1] = myText
+
+            elif line.startswith("arch"):
+                myText = line.replace("arch ", "").replace("\n", "")
+                if not myText in arch_list:
+                    arch_list.append(myText)
+                myBuild[2] = myText
+
+            elif line.startswith("mode"):
+                myText = line.replace("mode ", "").replace("\n", "")
+                if not myText in mode_list:
+                    mode_list.append(myText)
+                myBuild[3] = myText
+
+            elif line.startswith("Build command"):
+                myTexts = line.replace("Build command ", "").replace("\n", "").split(" ")
+                if myTexts[0] == "finished" :
+                    myBuild[4] = "&#9989;" 
+                else :
+                    myBuild[4] = "&#10060;"
+        myBuildList.append([myBuild[0], myBuild[1], myBuild[2], myBuild[3], myBuild[4]])
+        f.close()
+
+    print(Sort(myBuildList)) # first by revision number, then by mode, then by arch. all in descendant order
+    print(len(myBuildList))
+    
+    revision_list = sorted(revision_list, reverse = True)
+    print(arch_list) # row
+    print(mode_list) # col
+    print(machine_list) # col
+    print(revision_list) # col
+
+
+    f=open("compile_"+machine+"_info.js", "w")
+    f.write("var "+machine+"_compile_info_list = "+repr(myBuildList)+"\n\n")
+    f.write("var "+machine+"_revision_list = "+repr(revision_list)+"\n\n")
+    f.close()
+
+
+def main() :
+    repository_name=os.getenv('xios_test_suite_repository')
+    machine_name=os.getenv('xios_machine_name')
+    subgenerate(repository_name+'/BUILD',machine_name)
+
+if __name__== "__main__":
+  main()
Index: /XIOS/trunk/xios_test_suite/COMPILE/job_compile_irene.sh
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/job_compile_irene.sh	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/job_compile_irene.sh	(revision 1805)
@@ -0,0 +1,44 @@
+#!/bin/bash
+######################
+## CURIE   TGCC/CEA ##
+######################
+#MSUB -r XIOS
+#MSUB -o client_output.out    # standard output
+#MSUB -e client_error.err    #error output
+#MSUB -eo
+#MSUB -c 48
+#MSUB -n 1  # Number of MPI tasks (SPMD case) or cores (MPMD case)
+#MSUB -X 
+#MSUB -x 
+#MSUB -T 1800      # Wall clock limit (seconds)
+#MSUB -q skylake           # thin nodes
+#MSUB -A gen0826
+#MSUB -Q test
+#MSUB -m work
+
+# ------------- Compile job for Irene------------
+
+cd $BRIDGE_MSUB_PWD
+
+set -x 
+
+export revision=$(svn info --show-item revision .. 2>&1)
+
+python config_compile.py
+
+cmake .
+ctest -V
+
+build_dir=${xios_test_suite_repository}/BUILD
+mkdir -p $build_dir
+chmod --quiet ug+rwX $build_dir
+mkdir -p ${build_dir}/build_${xios_machine_name}
+
+cp build_*.txt ${build_dir}/build_${xios_machine_name}
+chmod -R ug+rwX ${build_dir}/build_${xios_machine_name}
+
+bash -c "python ./generate_compile.py"
+
+copy_to_thredds compile_${xios_machine_name}_info.js
+
+exit
Index: /XIOS/trunk/xios_test_suite/COMPILE/job_compile_jeanzay.sh
===================================================================
--- /XIOS/trunk/xios_test_suite/COMPILE/job_compile_jeanzay.sh	(revision 1805)
+++ /XIOS/trunk/xios_test_suite/COMPILE/job_compile_jeanzay.sh	(revision 1805)
@@ -0,0 +1,35 @@
+#!/bin/bash
+##SBATCH --nodes=2
+#SBATCH --ntasks=8              # Nombre total de processus MPI
+#SBATCH --ntasks-per-node=16
+#SBATCH --hint=nomultithread
+#SBATCH -t 00:30:00              # Temps elapsed maximum d'exÃ©cution
+#SBATCH -o output.out     # Nom du fichier de sortie
+#SBATCH -e error.err     # Nom du fichier d'erreur
+#SBATCH --account=psl@cpu
+
+#----------------- Compile job for Jean-Zay --------------
+
+
+cd ${SLURM_SUBMIT_DIR}
+
+module load cmake
+
+ulimit -c 0
+
+export machine=jeanzay
+export revision=$(svn info --show-item revision .. 2>&1)
+
+python config_compile.py
+
+cmake .
+ctest -V
+
+mkdir -p ../html
+mkdir -p ../html/build_${machine}
+
+mv build_*.txt ../html/build_${machine}/
+
+bash -c "cd ../html && python generate_compile.py"
+
+
