-
Notifications
You must be signed in to change notification settings - Fork 383
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'douglasjacobsen/machinefiles/lanl_clusters' (PR #64)
This enables support to use mustang and wolf as machines within the ACME build system. * douglasjacobsen/machinefiles/lanl_clusters: Adding support for LANL's wolf cluster Adding support for LANL's mustang cluster
- Loading branch information
Showing
6 changed files
with
380 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#! /bin/csh -f | ||
|
||
#------------------------------------------------------------------------------- | ||
# Modules and library paths | ||
#------------------------------------------------------------------------------- | ||
source /usr/share/Modules/init/csh | ||
module purge | ||
module use /usr/projects/climate/SHARED_CLIMATE/modulefiles/all | ||
|
||
if ( $COMPILER == "intel" ) then | ||
module load intel/13.1.3 | ||
endif | ||
|
||
if ( $COMPILER == "pgi" ) then | ||
# 13.10 is too old to support | ||
# PGI support is currently disabled until we have access to a newer version | ||
# (i.e. 14.10) | ||
module load pgi/13.10 | ||
endif | ||
|
||
if ( $COMPILER == "gnu" ) then | ||
module load gcc/4.8.2 | ||
endif | ||
|
||
if ( $MPILIB == "openmpi" ) then | ||
module load openmpi/1.6.5 | ||
endif | ||
|
||
if ( $MPILIB == "mvapich" ) then | ||
module load mvapich2/1.8 | ||
endif | ||
|
||
module load netcdf/4.4.0 | ||
module load parallel-netcdf/1.5.0 | ||
module load cmake/3.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#! /bin/csh -f | ||
|
||
#------------------------------------------------------------------------------- | ||
# Modules and library paths | ||
#------------------------------------------------------------------------------- | ||
source /usr/share/Modules/init/csh | ||
module purge | ||
module use /usr/projects/climate/SHARED_CLIMATE/modulefiles/all | ||
|
||
if ( $COMPILER == "intel" ) then | ||
module load intel/13.1.3 | ||
endif | ||
|
||
if ( $COMPILER == "pgi" ) then | ||
# 13.10 is too old to support | ||
# PGI support is currently disabled until we have access to a newer version | ||
# (i.e. 14.10) | ||
module load pgi/13.10 | ||
endif | ||
|
||
if ( $COMPILER == "gnu" ) then | ||
module load gcc/4.8.2 | ||
endif | ||
|
||
if ( $MPILIB == "openmpi" ) then | ||
module load openmpi/1.6.5 | ||
endif | ||
|
||
if ( $MPILIB == "mvapich" ) then | ||
module load mvapich2/1.8 | ||
endif | ||
|
||
module load netcdf/4.4.0 | ||
module load parallel-netcdf/1.5.0 | ||
module load cmake/3.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
#! /bin/csh -f | ||
|
||
################################################################################# | ||
if ($PHASE == set_batch) then | ||
################################################################################# | ||
|
||
source ./Tools/ccsm_getenv || exit -1 | ||
|
||
set ntasks = `${CASEROOT}/Tools/taskmaker.pl -sumtasks` | ||
set maxthrds = `${CASEROOT}/Tools/taskmaker.pl -maxthrds` | ||
@ nodes = $ntasks / ${MAX_TASKS_PER_NODE} | ||
if ( $ntasks % ${MAX_TASKS_PER_NODE} > 0) then | ||
@ nodes = $nodes + 1 | ||
@ ntasks = $nodes * ${MAX_TASKS_PER_NODE} | ||
endif | ||
@ taskpernode = ${MAX_TASKS_PER_NODE} / ${maxthrds} | ||
|
||
#--- Job name is first fifteen characters of case name --- | ||
set jobname = `echo ${CASE} | cut -c1-15` | ||
|
||
set walltime = "01:00:00" | ||
if ($CCSM_ESTCOST > 1) set walltime = "02:00:00" | ||
if ($CCSM_ESTCOST > 3) set walltime = "10:00:00" | ||
|
||
if ($?TESTMODE) then | ||
set file = $CASEROOT/${CASE}.test | ||
else | ||
set file = $CASEROOT/${CASE}.run | ||
endif | ||
|
||
if ( "${PROJECT}" == "PROJECT_UNSET" ) then | ||
set account = "" | ||
else | ||
set account = "#MSUB -A ${PROJECT}" | ||
endif | ||
|
||
cat >! $file << EOF1 | ||
#!/bin/csh | ||
#MSUB -N ${jobname} | ||
#MSUB -l nodes=${nodes}:ppn=${MAX_TASKS_PER_NODE} | ||
#MSUB -l walltime=${walltime} | ||
#MSUB -o $CASEROOT/log.o | ||
#MSUB -e $CASEROOT/log.e | ||
${account} | ||
cd $CASEROOT | ||
source ./Tools/ccsm_getenv || exit -1 | ||
EOF1 | ||
|
||
################################################################################# | ||
else if ($PHASE == set_exe) then | ||
################################################################################# | ||
|
||
source ./Tools/ccsm_getenv || exit -1 | ||
|
||
set maxthrds = `${CASEROOT}/Tools/taskmaker.pl -maxthrds` | ||
set ntasks_tot = `${CASEROOT}/Tools/taskmaker.pl -sumtasks` | ||
|
||
cat >> $CASEROOT/${CASE}.run << EOF1 | ||
# ------------------------------------------------------------------------- | ||
# Run the model | ||
# ------------------------------------------------------------------------- | ||
cd \$RUNDIR | ||
echo "\`date\` -- CSM EXECUTION BEGINS HERE" | ||
setenv MP_LABELIO yes | ||
sleep 10 | ||
setenv OMP_NUM_THREADS ${maxthrds} | ||
if ( "\$MPILIB" == "openmpi" ) then | ||
mpirun -np ${ntasks_tot} $EXEROOT/cesm.exe >&! cesm.log.\$LID | ||
endif | ||
if ( "\$MPILIB" == "mvapich" ) then | ||
srun -n ${ntasks_tot} $EXEROOT/cesm.exe >&! cesm.log.\$LID | ||
endif | ||
wait | ||
wait | ||
echo "\`date\` -- CSM EXECUTION HAS FINISHED" | ||
EOF1 | ||
|
||
|
||
################################################################################# | ||
else if ($PHASE == set_larch) then | ||
################################################################################# | ||
|
||
cat >! $CASEROOT/${CASE}.l_archive << EOF1 | ||
#! /bin/csh -f | ||
echo 'sorry, no archiving script' | ||
EOF1 | ||
chmod 775 ${CASEROOT}/${CASE}.l_archive | ||
|
||
################################################################################# | ||
else | ||
################################################################################# | ||
|
||
echo " PHASE setting of $PHASE is not an accepted value" | ||
echo " accepted values are set_batch, set_exe and set_larch" | ||
exit 1 | ||
|
||
################################################################################# | ||
endif | ||
################################################################################# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
#! /bin/csh -f | ||
|
||
################################################################################# | ||
if ($PHASE == set_batch) then | ||
################################################################################# | ||
|
||
source ./Tools/ccsm_getenv || exit -1 | ||
|
||
set ntasks = `${CASEROOT}/Tools/taskmaker.pl -sumtasks` | ||
set maxthrds = `${CASEROOT}/Tools/taskmaker.pl -maxthrds` | ||
@ nodes = $ntasks / ${MAX_TASKS_PER_NODE} | ||
if ( $ntasks % ${MAX_TASKS_PER_NODE} > 0) then | ||
@ nodes = $nodes + 1 | ||
@ ntasks = $nodes * ${MAX_TASKS_PER_NODE} | ||
endif | ||
@ taskpernode = ${MAX_TASKS_PER_NODE} / ${maxthrds} | ||
|
||
#--- Job name is first fifteen characters of case name --- | ||
set jobname = `echo ${CASE} | cut -c1-15` | ||
|
||
set walltime = "01:00:00" | ||
if ($CCSM_ESTCOST > 1) set walltime = "02:00:00" | ||
if ($CCSM_ESTCOST > 3) set walltime = "10:00:00" | ||
|
||
if ($?TESTMODE) then | ||
set file = $CASEROOT/${CASE}.test | ||
else | ||
set file = $CASEROOT/${CASE}.run | ||
endif | ||
|
||
if ( "${PROJECT}" == "PROJECT_UNSET" ) then | ||
set account = "" | ||
else | ||
set account = "#MSUB -A ${PROJECT}" | ||
endif | ||
|
||
cat >! $file << EOF1 | ||
#!/bin/csh | ||
#MSUB -N ${jobname} | ||
#MSUB -l nodes=${nodes}:ppn=${MAX_TASKS_PER_NODE} | ||
#MSUB -l walltime=${walltime} | ||
#MSUB -o $CASEROOT/log.o | ||
#MSUB -e $CASEROOT/log.e | ||
${account} | ||
cd $CASEROOT | ||
source ./Tools/ccsm_getenv || exit -1 | ||
EOF1 | ||
|
||
################################################################################# | ||
else if ($PHASE == set_exe) then | ||
################################################################################# | ||
|
||
source ./Tools/ccsm_getenv || exit -1 | ||
|
||
set maxthrds = `${CASEROOT}/Tools/taskmaker.pl -maxthrds` | ||
set ntasks_tot = `${CASEROOT}/Tools/taskmaker.pl -sumtasks` | ||
|
||
cat >> $CASEROOT/${CASE}.run << EOF1 | ||
# ------------------------------------------------------------------------- | ||
# Run the model | ||
# ------------------------------------------------------------------------- | ||
cd \$RUNDIR | ||
echo "\`date\` -- CSM EXECUTION BEGINS HERE" | ||
setenv MP_LABELIO yes | ||
sleep 10 | ||
setenv OMP_NUM_THREADS ${maxthrds} | ||
if ( "\$MPILIB" == "openmpi" ) then | ||
mpirun -np ${ntasks_tot} $EXEROOT/cesm.exe >&! cesm.log.\$LID | ||
endif | ||
if ( "\$MPILIB" == "mvapich" ) then | ||
srun -n ${ntasks_tot} $EXEROOT/cesm.exe >&! cesm.log.\$LID | ||
endif | ||
wait | ||
wait | ||
echo "\`date\` -- CSM EXECUTION HAS FINISHED" | ||
EOF1 | ||
|
||
|
||
################################################################################# | ||
else if ($PHASE == set_larch) then | ||
################################################################################# | ||
|
||
cat >! $CASEROOT/${CASE}.l_archive << EOF1 | ||
#! /bin/csh -f | ||
echo 'sorry, no archiving script' | ||
EOF1 | ||
chmod 775 ${CASEROOT}/${CASE}.l_archive | ||
|
||
################################################################################# | ||
else | ||
################################################################################# | ||
|
||
echo " PHASE setting of $PHASE is not an accepted value" | ||
echo " accepted values are set_batch, set_exe and set_larch" | ||
exit 1 | ||
|
||
################################################################################# | ||
endif | ||
################################################################################# |