ROMS
ROMS is a regional and ocean circulation model commonly used by oceanographic research institutions. It has seen extensive use in CO-OPS and is listed as one of the operational ocean models. The ROMS model is written in F90/F95, with a code structure based on grid characteristics. It supports both shared memory and message-passing multiprocessor architectures. It has high requirements for cluster performance, characterized by compute intensity, large I/O read/write volumes, and high network latency and bandwidth requirements. The model achieves good scalability based on problem size; it can accelerate to nearly 100 cores for smaller scales and 400-1000 cores for larger scales. Additionally, this application can be coupled with other meteorological and oceanographic models or serve as a driver for other meteorological and oceanographic applications, and is widely used in domestic oceanographic institutions.
1. Script Template
- Slurm
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=56 # Number of cores per node
#SBATCH --ntasks=56 # Total number of cores
#SBATCH --partition=g1_share # Queue partition; must specify the correct partition
#SBATCH --job-name=hello # Job name
#SBATCH --output=hello.%j.out # Normal log output (%j parameter value is jobId)
#SBATCH --error=hello.%j.err # Error log output (%j parameter value is jobId)
##############################################
# Software Envrironment #
##############################################
unset I_MPI_PMI_LIBRARY # Unset default MPI library, use Intel's built-in
export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0 # Parameter modification required for Intel multi-node jobs
module load intel/2022 intelmpi/2022 # Load Intel environment
##############################################
# Run job #
##############################################
export OMP_NUM_THREADS=1
mpirun ./oceanM ocean_upwelling.in