Ignore:
Timestamp:
Jul 27, 2007 9:09:17 AM (17 years ago)
Author:
raasch
Message:

preliminary version for coupled runs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/mrun

    r97 r102  
    120120     #                     removed (incl. option -f)
    121121     # 19/06/07 - Siggi  - time limit for cdata jobs increased
     122     # 25/07/07 - Siggi  - two sets of executables can be started on lcmuk,
     123     #                     if new option -Y (coupling) is given,
     124     #                     output of executables to aout_output removed,
     125     #                     messages are immediately written to stdout instead
    122126
    123127
     
    207211 remotecall=false
    208212 remote_username=""
     213 run_coupled_model=false
    209214 run_mode=""
    210215 scirocco=false
     
    226231
    227232 typeset -i  iec=0 iic=0 iin=0 ioc=0 iout=0 memory=0 stagein_anz=0 stageout_anz=0
    228  typeset -i  cputime i ii icycle inode ival jobges jobsek maxcycle minuten nodes pes sekunden tp1
     233 typeset -i  cputime i ii iii icycle inode ival jobges jobsek maxcycle minuten nodes pes sekunden tp1
    229234
    230235 typeset  -R30 calltime
     
    344349    # SHELLSCRIPT-OPTIONEN EINLESEN UND KOMMANDO NEU ZUSAMMENSETZEN, FALLS ES
    345350    # FUER FOLGEJOBS BENOETIGT WIRD
    346  while  getopts  :a:AbBc:Cd:D:FG:h:H:i:IkK:m:M:n:o:Op:P:q:r:R:s:St:T:u:U:vxX: option
     351 while  getopts  :a:AbBc:Cd:D:FG:h:H:i:IkK:m:M:n:o:Op:P:q:r:R:s:St:T:u:U:vxX:Y option
    347352 do
    348353   case  $option  in
     
    382387       (x)   do_trace=true;set -x; mc="$mc -x";;
    383388       (X)   numprocs=$OPTARG; mc="$mc -X$OPTARG";;
     389       (Y)   run_coupled_model=true; mc="$mc -Y";;
    384390       (\?)  printf "\n  +++ unknown option $OPTARG \n"
    385391             printf "\n  --> type \"$0 ?\" for available options \n"
     
    436442    printf "\n        -x    tracing of mrun for debug purposes       ---"
    437443    printf "\n        -X    # of processors (on parallel machines)   1"
     444    printf "\n        -Y    run coupled model                        ---"
    438445    printf "\n "
    439446    printf "\n      Possible values of positional parameter <modus>:"
     
    26182625                if [[ "$cond1" = hpmcount  ||  "$cond2" = hpmcount ]]
    26192626                then
    2620                    /opt/optibm/HPM_2_4_1/bin/hpmcount  a.out  $ROPTS  >  aout_output  2>&1
     2627                   /opt/optibm/HPM_2_4_1/bin/hpmcount  a.out  $ROPTS
    26212628                else
    2622                    poe ./a.out  $ROPTS  >  aout_output  2>&1
     2629                   poe ./a.out  $ROPTS
    26232630                fi
    26242631             else
    26252632                if [[ $localhost = ibmb  ||  $localhost = ibmh  ||  $localhost = ibms ]]
    26262633                then
    2627                    poe  a.out  -procs $numprocs  -nodes 1  -rmpool 0  $ROPTS  >  aout_output  2>&1
     2634                   poe  a.out  -procs $numprocs  -nodes 1  -rmpool 0  $ROPTS
    26282635                elif [[ $localhost = ibmy ]]
    26292636                then
     
    26402647                   fi
    26412648                   export MP_HOSTFILE=hostfile
    2642                    ./a.out  -procs $tasks_per_node  $ROPTS  >  aout_output  2>&1
     2649                   ./a.out  -procs $tasks_per_node  $ROPTS
    26432650                else
    26442651                   if [[ "$host_file" = "" ]]
     
    26512658                   fi
    26522659                   export MP_HOSTFILE=$host_file
    2653                    poe  a.out  -procs $numprocs  -tasks_per_node $numprocs  $ROPTS  >  aout_output  2>&1
     2660                   poe  a.out  -procs $numprocs  -tasks_per_node $numprocs  $ROPTS
    26542661                fi
    26552662             fi
     
    26632670                #  export F_TRACE=YES|FMT1|FMT2  # output of ftrace informations to job protocol
    26642671                echo "*** execution on single node with mpirun"
    2665                 mpirun  -np $numprocs  ./a.out  $ROPTS  >  aout_output  2>&1
     2672                mpirun  -np $numprocs  ./a.out  $ROPTS
    26662673             else
    26672674                (( i = 0 ))
     
    26992706                echo "export use_seperate_pe_for_dvrp_output"  >>  mpi_exec_shell
    27002707                echo " "                                 >>  mpi_exec_shell
    2701                 echo "exec  ./a.out > aout_output  2>&1" >>  mpi_exec_shell
     2708                echo "exec  ./a.out"                    >>  mpi_exec_shell
    27022709
    27032710                chmod u+x  mpi_exec_shell
     
    27312738                printf "\n      threads per task: $threads_per_task"
    27322739             fi
    2733              printf "\n\n"
    2734              if [[ $scirocco = true ]]
    2735              then
    2736                 mpiexec  -machinefile hostfile  -n $ii  a.out  $ROPTS   >  aout_output  2>&1
     2740             if [[ $run_coupled_model = false ]]
     2741             then
     2742                printf "\n\n"
     2743                mpiexec  -machinefile hostfile  -n $ii  a.out  $ROPTS
    27372744             else
    2738                 mpirun  -machinefile hostfile  -np $ii  a.out  $ROPTS   >  aout_output  2>&1
    2739              fi
     2745                ((  iii = ii / 2 ))
     2746                printf "\n      coupled run ($iii atmosphere, $iii ocean)"
     2747                printf "\n\n"
     2748                mpiexec  -machinefile hostfile  -n $iii  -env coupling_mode atmosphere_to_ocean  a.out  $ROPTS  &
     2749                mpiexec  -machinefile hostfile  -n $iii  -env coupling_mode ocean_to_atmosphere  a.out  $ROPTS  &
     2750                wait
     2751             fi
     2752
     2753#             if [[ $scirocco = true ]]
     2754#             then
     2755#                mpiexec  -machinefile hostfile  -n $ii  a.out  $ROPTS
     2756#             else
     2757#                mpirun  -machinefile hostfile  -np $ii  a.out  $ROPTS
     2758#             fi
     2759
    27402760          elif [[ $host = decalpha ]]
    27412761          then
    2742              dmpirun  -np $numprocs  a.out  $ROPTS  >  aout_output  2>&1
     2762             dmpirun  -np $numprocs  a.out  $ROPTS
    27432763          elif [[ $host = lctit ]]
    27442764          then
     
    27602780             if [[ "$QUEUE" = interactive ]]
    27612781             then
    2762                 mpirun  -np $numprocs  a.out  $ROPTS  >  aout_output  2>&1
     2782                mpirun  -np $numprocs  a.out  $ROPTS
    27632783             else
    2764                 n1ge  -fore  -g 1S060156  -mpi $numprocs  -mem 4  -N palm  -q $queue  a.out  $ROPTS  >  aout_output  2>&1
     2784                n1ge  -fore  -g 1S060156  -mpi $numprocs  -mem 4  -N palm  -q $queue  a.out  $ROPTS
    27652785             fi
    27662786
    27672787             rm  $runfile
    27682788          else
    2769              mpprun  -n $numprocs  a.out  $ROPTS  >  aout_output  2>&1
     2789             mpprun  -n $numprocs  a.out  $ROPTS
    27702790          fi
    27712791          [[ $? != 0 ]]  &&  execution_error=true
     
    27782798          fi
    27792799       else
    2780           a.out  $ROPTS  >  aout_output  2>&1
     2800          a.out  $ROPTS
    27812801       fi
    27822802    fi
     
    27852805
    27862806          # ABBRUCH BEI LAUFZEITFEHLER
    2787        [[ ! ( "$cond1" = debug  ||  "$cond2" = debug ) ]]  &&  cat  aout_output
     2807#       [[ ! ( "$cond1" = debug  ||  "$cond2" = debug ) ]]  &&  cat  aout_output*
    27882808       printf "\n  +++ runtime error occured"
    27892809       locat=execution
    27902810       exit
    27912811    else
    2792        [[ ! ( "$cond1" = debug  ||  "$cond2" = debug ) ]]  &&  cat  aout_output
     2812#       [[ ! ( "$cond1" = debug  ||  "$cond2" = debug ) ]]  &&  cat  aout_output*
    27932813       printf "\n$striche\n  *** execution finished \n"
    27942814    fi
     
    35443564    [[ $delete_temporary_catalog = false ]]  &&  mrun_com=${mrun_com}" -B"
    35453565    [[ $node_usage != default ]]  &&  mrun_com=${mrun_com}" -n $node_usage"
     3566    [[ $run_coupled_model = true ]]  &&  mrun_com=${mrun_com}" -Y"
    35463567    if [[ $do_remote = true ]]
    35473568    then
Note: See TracChangeset for help on using the changeset viewer.