Changeset 664 for trunk/libIGCM/libIGCM_sys/libIGCM_sys_obelix.ksh
- Timestamp:
- 05/09/12 11:07:41 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_sys/libIGCM_sys_obelix.ksh
r657 r664 201 201 function IGCM_sys_RshMaster { 202 202 IGCM_debug_PushStack "IGCM_sys_RshMaster" $@ 203 204 ssh obelix3 exec /bin/ksh <<-EOF 203 ssh obelix3 /bin/ksh <<-EOF 205 204 export libIGCM=${libIGCM} 206 205 export DEBUG_debug=${DEBUG_debug} … … 272 271 Dear ${LOGIN}, 273 272 274 Simulation ${config_UserChoices_JobName} ${status} on supercomputer `hostname`.275 Job started : ${ PeriodDateBegin}276 Job ended : ${ PeriodDateEnd}273 Simulation ${config_UserChoices_JobName} is ${status} on supercomputer `hostname`. 274 Job started : ${DateBegin} 275 Job ended : ${DateEnd} 277 276 Output files are available in ${R_SAVE} 278 277 Script files, Script Outputs and Debug files (if necessary) are available in ${SUBMIT_DIR} … … 1354 1353 function IGCM_sys_build_run_file { 1355 1354 1356 IGCM_debug_Print 3 " dummy function : IGCM_sys_build_run_file "1355 IGCM_debug_Print 3 " dummy function : IGCM_sys_build_run_file " 1357 1356 1358 1357 } … … 1546 1545 else 1547 1546 1548 1549 1550 1551 1552 1553 1547 # Then first loop on the components for the coupler ie oasis 1548 1549 ## the coupler ie oasis must be the first one 1550 for comp in ${config_ListOfComponents[*]} ; do 1551 1552 eval ExeNameOut=\${config_Executable_${comp}[1]} 1554 1553 1555 1554 # for CPL component only 1556 1557 1558 1559 1560 1555 if [ "X${comp}" = "XCPL" ] ; then 1556 eval comp_proc_mpi_loc=\${${comp}_PROC_MPI} 1557 echo "-np ${comp_proc_mpi_loc} ./${ExeNameOut} " >> run_file 1558 fi 1559 done 1561 1560 1562 1561 # Then second loop on the components 1563 1562 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1563 for comp in ${config_ListOfComponents[*]} ; do 1564 1565 eval ExeNameOut=\${config_Executable_${comp}[1]} 1566 1567 # Only if we really have an executable for the component and not the coupler ie oasis: 1568 if ( [ "X${ExeNameOut}" != X\"\" ] && [ "X${comp}" != "XCPL" ] ) ; then 1569 eval comp_proc_mpi_loc=\${${comp}_PROC_MPI} 1570 echo "-np ${comp_proc_mpi_loc} ./${ExeNameOut}" >> run_file 1571 fi 1572 done 1573 IGCM_sys_Chmod u+x run_file 1574 1575 EXECUTION="${HOST_MPIRUN_COMMAND} --app ./run_file" 1577 1576 1578 1577 fi … … 1580 1579 else # Only one executable. launch it. 1581 1580 1582 1583 1584 1585 1586 if ( [ "X${ExeNameOut}" != X\"\" ] ) ; then1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1581 for comp in ${config_ListOfComponents[*]} ; do 1582 1583 # Only if we really have an executable for the component : 1584 eval ExeNameOut=\${config_Executable_${comp}[1]} 1585 if ( [ "X${ExeNameOut}" != X\"\" ] && [ "X${ExeNameOut}" != "Xinca.dat" ] ) ; then 1586 1587 echo "#!/bin/ksh" > script_${ExeNameOut}.ksh 1588 echo "" >> script_${ExeNameOut}.ksh 1589 if ( ${OK_PARA_OMP} ) ; then 1590 eval comp_proc_omp_loc=\${${comp}_PROC_OMP} 1591 echo "OMP_NUM_THREADS=${comp_proc_omp_loc}" >> script_${ExeNameOut}.ksh 1592 fi 1593 if ( ${OK_PARA_MPI} ) ; then 1594 # Default : mpirun used if nb_proc gt 1 1595 # pour sortie out/err par process 1596 # echo "./${ExeNameOut} > out_${ExeNameOut}.out.\${OMPI_COMM_WORLD_RANK} 2>out_${ExeNameOut}.err.\${OMPI_COMM_WORLD_RANK}" >> script_${ExeNameOut}.ksh 1597 echo "./${ExeNameOut}" >> script_${ExeNameOut}.ksh 1598 IGCM_sys_Chmod u+x script_${ExeNameOut}.ksh 1599 EXECUTION="${HOST_MPIRUN_COMMAND} ./script_${ExeNameOut}.ksh" 1600 else 1601 # Default : mpirun is NOT used if nb_proc eq 1 1602 # pour sortie out/err par process 1603 # echo "./${ExeNameOut} > out_${ExeNameOut}.out 2>out_${ExeNameOut}.err" >> script_${ExeNameOut}.ksh 1604 echo "./${ExeNameOut}" >> script_${ExeNameOut}.ksh 1605 IGCM_sys_Chmod u+x script_${ExeNameOut}.ksh 1606 EXECUTION="time ./script_${ExeNameOut}.ksh" 1607 fi 1608 fi 1609 done 1611 1610 1612 1611 fi
Note: See TracChangeset
for help on using the changeset viewer.