Index: /XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/job_irene.sh
===================================================================
--- /XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/job_irene.sh	(revision 1745)
+++ /XIOS/dev/dev_trunk_omp/GENERIC_TESTCASE/job_irene.sh	(revision 1746)
@@ -48,4 +48,72 @@
 #ddt -start -n 8 ../buile_intelmpi/bin/test_omp.exe
 
+
+
+
+#============================= Run EP with IntelMPI =============================
+
+
+
+export machine_name=irene
+export xios_dir=/ccc/cont003/home/gencmip6/wangyush/XIOS/dev_trunk_omp
+export build_dir=build_ep_intelmpi_prod
+
+rm -f setup.sh
+touch setup.sh
+>setup.sh
+for i in $(ls -d test_*/)
+do
+  cp setup.py ${i%%/}      
+  cp run_sub_test.sh ${i%%/}      
+  echo "bash -c \"cd " ${i%%/} " && python setup.py\" ">> setup.sh
+  echo "echo \"setup.py called from " ${i%%/} "\"">> setup.sh
+done
+
+export output=$(python user_config.py 2>&1 >/dev/null)
+
+if [ "$output" -ne 0 ]
+then
+	echo "user_config.py failed"
+	exit
+else
+	echo "user_config.py OK"
+fi
+
+
+cmake .
+ctest -V 
+#ctest --output-on-failure
+make report
+
+#echo "Generic testcase report" | mailx -s "report" -a report.html yushan.wang@lsce.ipsl.fr
+
+rm -f test_*/setup.py
+rm -f test_*/run_sub_test.sh
+rm -f test_*/run_test_*.py
+rm -f test_*/CMakeLists.txt
+rm -f test_*/context_grid_dynamico.xml
+rm -f test_*/dynamico_grid.nc
+rm -f test_*/default_param.pyc
+rm -f test_*/user_param.pyc
+rm -f test_*/user_param.py.*
+
+rm -f report_ep_intelmpi.*
+cp report.txt report_ep_intelmpi.txt
+cp report.html report_ep_intelmpi.html
+
+
+
+
+
+#============================= Run MPI with IntelMPI =============================
+
+
+
+
+
+
+
+
+
 export machine_name=irene
 export xios_dir=/ccc/cont003/home/gencmip6/wangyush/XIOS/dev_trunk_omp
@@ -79,5 +147,5 @@
 make report
 
-echo "Generic testcase report" | mailx -s "report" -a report.html yushan.wang@lsce.ipsl.fr
+#echo "Generic testcase report" | mailx -s "report" -a report.html yushan.wang@lsce.ipsl.fr
 
 rm -f test_*/setup.py
@@ -91,2 +159,5 @@
 rm -f test_*/user_param.py.*
 
+rm -f report_mpi_intelmpi.*
+cp report.txt report_mpi_intelmpi.txt
+cp report.html report_mpi_intelmpi.html
Index: /XIOS/dev/dev_trunk_omp/extern/src_ep_dev/ep_fortran.cpp
===================================================================
--- /XIOS/dev/dev_trunk_omp/extern/src_ep_dev/ep_fortran.cpp	(revision 1745)
+++ /XIOS/dev/dev_trunk_omp/extern/src_ep_dev/ep_fortran.cpp	(revision 1746)
@@ -16,9 +16,10 @@
     Debug("MPI_Comm_c2f");
     void* fint = new MPI_Fint;
-    #ifdef _intelmpi
-    *static_cast< ::MPI_Fint*>(fint) = (::MPI_Fint)(to_mpi_comm(comm->mpi_comm));
-    #elif _openmpi
+    //#ifdef _intelmpi
+    //*static_cast< ::MPI_Fint*>(fint) = (::MPI_Fint)(to_mpi_comm(comm->mpi_comm));
+    //*static_cast< MPI_Fint*>(fint) = MPI_Comm_c2f(to_mpi_comm(comm->mpi_comm));
+    //#elif _openmpi
     *static_cast< MPI_Fint*>(fint) = MPI_Comm_c2f(to_mpi_comm(comm->mpi_comm));
-    #endif
+    //#endif
     
     std::map<std::pair< MPI_Fint, int>, ep_lib::MPI_Comm > ::iterator it;
@@ -60,9 +61,10 @@
     
     MPI_Comm *base_comm = new MPI_Comm;
-    #ifdef _intelmpi
-    *base_comm = (MPI_Comm)(*static_cast< MPI_Fint*>(comm));
-    #elif _openmpi
+    //#ifdef _intelmpi
+    //*base_comm = (MPI_Comm)(*static_cast< MPI_Fint*>(comm));
+    //*base_comm = MPI_Comm_f2c(*static_cast< MPI_Fint*>(comm));
+    //#elif _openmpi
     *base_comm = MPI_Comm_f2c(*static_cast< MPI_Fint*>(comm));
-    #endif
+    //#endif
 
     if(*base_comm != to_mpi_comm(MPI_COMM_NULL->mpi_comm))
Index: /XIOS/dev/dev_trunk_omp/extern/src_ep_dev/ep_probe.cpp
===================================================================
--- /XIOS/dev/dev_trunk_omp/extern/src_ep_dev/ep_probe.cpp	(revision 1745)
+++ /XIOS/dev/dev_trunk_omp/extern/src_ep_dev/ep_probe.cpp	(revision 1746)
@@ -24,6 +24,7 @@
     ::MPI_Message mpi_message;
 
-    #ifdef _openmpi
-    #pragma omp critical (_mpi_call)
+    //#ifdef _openmpi
+    ::MPI_Improbe(src<0? MPI_ANY_SOURCE : src, tag<0? MPI_ANY_TAG: tag, to_mpi_comm(comm->mpi_comm), flag, &mpi_message, &mpi_status);
+    /*#pragma omp critical (_mpi_call)
     {
       ::MPI_Iprobe(src<0? MPI_ANY_SOURCE : src, tag<0? MPI_ANY_TAG: tag, to_mpi_comm(comm->mpi_comm), flag, &mpi_status);
@@ -32,8 +33,8 @@
         ::MPI_Mprobe(src<0? MPI_ANY_SOURCE : src, tag<0? MPI_ANY_TAG: tag, to_mpi_comm(comm->mpi_comm), &mpi_message, &mpi_status);
       }
-    }
-    #elif _intelmpi
-    ::MPI_Improbe(src<0? MPI_ANY_SOURCE : src, tag<0? MPI_ANY_TAG: tag, to_mpi_comm(comm->mpi_comm), flag, &mpi_message, &mpi_status);
-    #endif
+    }*/
+    //#elif _intelmpi
+    //::MPI_Improbe(src<0? MPI_ANY_SOURCE : src, tag<0? MPI_ANY_TAG: tag, to_mpi_comm(comm->mpi_comm), flag, &mpi_message, &mpi_status);
+    //#endif
       
     status->mpi_status = new ::MPI_Status(mpi_status);
