mirror of
https://github.com/JHUAPL/kaiju.git
synced 2026-01-09 18:57:53 -05:00
65 lines
2.0 KiB
Bash
65 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
# This script was generated to run on {{ simulation.hpc_system }}.
|
|
|
|
#PBS -N {{ simulation.segment_id }}
|
|
#PBS -A {{ pbs.account_name }}
|
|
#PBS -q {{ pbs.queue }}
|
|
#PBS -l walltime={{ pbs.walltime }}
|
|
#PBS -l select={{ pbs.select }}:ncpus={{ pbs.ncpus }}:mpiprocs={{ pbs.mpiprocs }}:ompthreads={{ pbs.ompthreads }}{{ pbs.other }}
|
|
#PBS -m abe
|
|
#PBS -j oe
|
|
|
|
echo "Job $PBS_JOBID started at `date` on `hostname`."
|
|
|
|
# Specify the ID string for the run.
|
|
export RUNID=$PBS_JOBNAME
|
|
|
|
# Some HPC systems do not start the job in the correct directory.
|
|
# Move to the intended directory. This will move the job to the correct
|
|
# directory on problem systems, such as pleiades (for some users), and have no
|
|
# effect on other systems.
|
|
cd $PBS_O_WORKDIR
|
|
|
|
# Load the required modules for MPI kaiju.
|
|
module purge
|
|
{%- for module in pbs.modules %}
|
|
module load {{ module }}
|
|
{%- endfor %}
|
|
echo "The loaded modules are:"
|
|
module list
|
|
|
|
# Define the kaiju installation location.
|
|
export KAIJU_INSTALL_DIR={{ pbs.kaiju_install_directory }}
|
|
|
|
# Set kaiju-related environment variables.
|
|
# This script sets KAIJUHOME and other environment variables.
|
|
source $KAIJU_INSTALL_DIR/scripts/setupEnvironment.sh
|
|
|
|
# Add the kaiju build bin directory to PATH.
|
|
export PATH={{ pbs.kaiju_build_directory }}/bin:$PATH
|
|
|
|
# Set other environment variables.
|
|
{{ pbs.additional_environment_variables -}}
|
|
export MPI_TYPE_DEPTH=32
|
|
export OMP_STACKSIZE=100M
|
|
export OMP_NUM_THREADS={{ pbs.ompthreads }}
|
|
|
|
echo "The active environment variables are:"
|
|
printenv
|
|
|
|
# Copy the node file for use by the placer command.
|
|
nodefile=nodefile.$PBS_JOBID
|
|
cp $PBS_NODEFILE $nodefile
|
|
|
|
# Copy the main executable.
|
|
cp {{ pbs.kaiju_build_directory }}/bin/gamhelio_mpi.x ./gamhelio_mpi.x
|
|
|
|
# Run the model. Direct output from the program is saved in a text file.
|
|
EXE=./gamhelio_mpi.x
|
|
OUTPUT_FILE="$EXE-{{ simulation.segment_id }}.out"
|
|
echo "Running $EXE on model $RUNID."
|
|
{{ pbs.mpiexec_command }} $EXE $RUNID.xml &>> $OUTPUT_FILE
|
|
|
|
echo "Job $PBS_JOBID ended at `date` on `hostname`."
|