Changeset 5480 for trunk


Ignore:
Timestamp:
2015-06-24T17:11:23+02:00 (5 years ago)
Author:
timgraham
Message:

Added arch and batch files for running SETTE on new Met Office HPC. Also modified prepare_job.sh but all contained within a case statement so no impact to other users.

Location:
trunk/NEMOGCM
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/SETTE/prepare_job.sh

    r4814 r5480  
    226226                                        # round up the number of nodes required. 
    227227                                        # 
    228                                         NB_NODES=$( echo $NB_NODES $NXIO_PROC | awk '{print ($1 + ( $2 / 4 ) + 1)}')                     
     228                                        NB_NODES=$( echo $NB_NODES $NXIO_PROC | awk '{print ($1 + ( $2 / 4 ) + 1)}')  
     229                                fi 
     230                                ;; 
     231                        XC40_METO*) #Setup for Met Office XC40 with any compiler 
     232                                # ocean cores are packed 32 to a node 
     233                                # If we need more than one node then have to use parallel queue and XIOS must have a node to itself 
     234                                NB_REM=$( echo $NB_PROC | awk '{print ( $1 % 32 ) }') 
     235                                if [ ${NB_REM} == 0 ] ; then 
     236                                        # number of processes required is an integer multiple of 32 
     237                                        # 
     238                                        NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{print ($1) / 32}') 
     239                                else 
     240                                        # 
     241                                        # number of processes required is not an integer multiple of 32 
     242                                        # round up the number of nodes required. 
     243                                        # 
     244                                        NB_NODES=$( echo $NB_PROC $NXIO_PROC | awk '{printf("%d",($1) / 32 + 1 )}') 
     245                                fi 
     246                                # xios cores are sparsely packed at 4 to a node 
     247                                if [ $NXIO_PROC == 0 ] ; then 
     248                                    NB_XNODES=0 
     249                                else 
     250                                    NB_REM=$( echo $NXIO_PROC | awk '{print ( $1 % 4 ) }') 
     251                                    if [ ${NB_REM} == 0 ] ; then 
     252                                            # number of processes required is an integer multiple of 4                            
     253                                            # 
     254                                            NB_XNODES=$( echo $NXIO_PROC | awk '{print (( $1 / 4 ) + 1)}')  
     255                                    else 
     256                                            # 
     257                                            # number of processes required is not an integer multiple of 4                              
     258                                            # round up the number of nodes required. 
     259                                            # 
     260                                            NB_XNODES=$( echo $NXIO_PROC | awk '{printf("%d",($1) / 4 + 1) }')                     
     261                                    fi 
     262                                fi 
     263                                if [ ${NB_XNODES} -ge 1 ] ; then 
     264                                   NB_NODES=$((NB_NODES+NB_XNODES)) 
     265                                fi 
     266                                echo NB_XNODES=${NB_XNODES}  
     267                                echo Total NB_NODES=${NB_NODES} 
     268                                if [ ${NB_NODES} -eq 1 ] ; then 
     269                                   QUEUE=shared 
     270                                   #Not using XIOS in detatched mode and using less than one node so should be ok on shared node 
     271                                   #Load snplauncher module to allow use of mpiexec 
     272                                   SELECT="select=1:ncpus=$((NXIO_PROC + NB_PROC))":mem=15GB 
     273                                   module load cray-snplauncher 
     274                                   echo 'Shared Queue' 
     275                                else 
     276                                   QUEUE=normal 
     277                                   SELECT="select=$NB_NODES" 
     278                                   module unload cray-snplauncher #Make sure snplauncher module is not loaded 
     279                                   echo 'Normal Queue' 
    229280                                fi 
    230281                                ;; 
     
    279330                    cat run_sette_test.job | sed -e"s/NPROC_NODE/${NB_PROC_NODE}/" \ 
    280331                                                 -e"s:QUEUE:${QUEUE}:" > run_sette_test1.job 
     332                    mv run_sette_test1.job run_sette_test.job 
     333                    ;; 
     334              XC40_METO*) 
     335                    cat run_sette_test.job | sed -e"s/QUEUE/${QUEUE}/" \ 
     336                                                 -e"s/SELECT/${SELECT}/" > run_sette_test1.job 
    281337                    mv run_sette_test1.job run_sette_test.job 
    282338                    ;; 
Note: See TracChangeset for help on using the changeset viewer.