MPAS
The Model for Prediction Across Scales (MPAS) is a collaborative project for developing atmosphere, ocean and other earth-system simulation components for use in climate, regional climate and weather studies. [1].
Contents
MPAS-Atmosphere
Building on Gadi
MPAS7 on Gadi requires no code modifications, although you will need to install its dependency PIO
Installing PIO
module load intel-compiler openmpi
module load netcdf/4.7.3p pnetcdf
# Installation directory, set as desired
export PIO_DIR=/scratch/$PROJECT/$USER/pio
wget https://github.com/NCAR/ParallelIO/releases/download/pio2_5_2/pio-2.5.2.tar.gz
tar xvf pio-2.5.2.tar.gz
cd pio-2.5.2
CC=mpicc FC=mpif90 ./configure --enable-fortran --prefix $PIO_DIR && make check
# I see an error in 'test_pioc'
make install
cd ..
Building MPAS
module load intel-compiler openmpi
module load netcdf/4.7.3p pnetcdf
git clone https://github.com/MPAS-Dev/MPAS-Model
cd MPAS-Model
# Set to wherever you installed PIO
export PIO=$PIO_DIR
make ifort CORE=atmosphere USE_PIO2=true
make clean CORE=init_atmosphere
make ifort CORE=init_atmosphere USE_PIO2=true
Running
See the User's Guide for details on how to run the model. A number of idealised test cases as well as meshes for different resolutions are available from the MPAS download site. The top-level directory has all of the TBL, DBL and namelist files required to run MPAS
You will need to download or generate a mesh file, the default example uses the 120km mesh.
The central WPS_GEOG data files may be used, set 'config_geog_data_path' in namelist.init_atmosphere to '/g/data/sx70/data/WPS_GEOG_20190418/' (you will need to join the sx70 group)
The executable 'init_atmosphere_model' must be run first, before 'atmosphere_model' is run.
Sample PBS scripts to run the model (adjust the number of CPUs to be appropriate for your configuration):
run_init_atmos.pbs
#!/bin/bash
#PBS -l ncpus=1
#PBS -l mem=4gb
#PBS -l walltime=1:00:00
#PBS -l jobfs=50gb
#PBS -l wd
#PBS -l storage=gdata/sx70
#PBS -W umask=0022
set -e
ulimit -s unlimited
# Add your PIO library's 'lib' directory here
export LD_LIBRARY_PATH=/scratch/$PROJECT/$USER/pio/lib:$LD_LIBRARY_PATH
# Create initial conditions
# Note if data is being interpolated this can't be run using MPI
./init_atmosphere_model
run_atmos.pbs
#!/bin/bash
#PBS -l ncpus=4
#PBS -l mem=16gb
#PBS -l walltime=1:00:00
#PBS -l jobfs=50gb
#PBS -l wd
#PBS -l storage=gdata/sx70
#PBS -W umask=0022
set -e
ulimit -s unlimited
module load openmpi
# Add your PIO library's 'lib' directory here
export LD_LIBRARY_PATH=/scratch/$PROJECT/$USER/pio/lib:$LD_LIBRARY_PATH
# Run the model
mpirun ./atmosphere_model