Preliminary
It is recommended to add the variables in .bashrc:
nano ~/.bashrc
M3HOME=/usr/local/app/CMAQv5.1
M3SCRIPT=/usr/local/app/CMAQv5.1/scripts
M3MODEL=/usr/local/app/CMAQv5.1/models
M3DATA=/usr/local/app/CMAQv5.1/data
M3LIB=/usr/local/app/CMAQv5.1/lib/x86_64/gcc
source ~/.bashrc
Benchmark Data
Download and copy benchmark data if $M3HOME/data is empty:
cd /usr/local/app
wget http://cloud.csiss.gmu.edu/CMAQ/DATA.CMAQv5.1.Nov2015.tar
tar xf DATA.CMAQv5.1.Nov2015.tar
Run CMAQ
ICON
cd $M3HOME/scripts/icon
./run.icon &> run.log
Run in background:
cd $M3HOME/scripts/icon
nohup ./run.icon > run.log 2>&1 &
BCON
cd $M3HOME/scripts/bcon
./run.bcon &> run.log
Run in background:
cd $M3HOME/scripts/bcon
nohup ./run.bcon > run.log 2>&1 &
CCTM
Run in MPI mode:
cd $M3SCRIPT/cctm
nano run.cctm
...
set PROC = mpi #> serial or mpi
...
#> horizontal domain decomposition
if ( $PROC == serial ) then
setenv NPCOL_NPROW "1 1"; set NPROCS = 1 # single processor setting
else
setenv NPCOL_NPROW "4 3"; set NPROCS = 12
endif
...
#>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
source $BASE/outck.q
ls -l $BLD/$EXEC; size $BLD/$EXEC
# unlimit
limit
#> Executable call for single PE, uncomment to invoke
# /usr/bin/time $BLD/$EXEC
#> Executable call for multi PE, configure for your system
set MPI = /usr/bin
set MPIRUN = $MPI/mpirun
# time $MPIRUN -r ssh -np $NPROCS $BLD/$EXEC
time $MPIRUN -np $NPROCS $BLD/$EXEC
date
exit
Run CCTM:
cd $M3HOME/scripts/cctm
./run.cctm &> run.log
Run in background:
cd $M3HOME/scripts/cctm
nohup ./run.cctm > run.log 2>&1 &
Verify Outputs
Download reference benchmark data:
cd /usr/local/app
mkdir CMAQ_DATA_REF
cd CMAQ_DATA_REF
wget http://cloud.csiss.gmu.edu/CMAQ/DATA_REF.CMAQv5.1.Nov2015.tar
tar xf DATA_REF.CMAQv5.1.Nov2015.tar
Display output data:
cd $M3DATA/cctm
ncview
FAQ
“Can’t remove limit” error when running the script
Solution: comment the “unlimit” in the script
No response when running the CCTM script
Solution: The script is running, however, the output log is being recorded in run.
Memory overflow
Solution: Extend SWAP size
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo dd if=/dev/zero of=/swapfile bs=1M count=8192
sudo dd if=/dev/zero of=/swapfile bs=1M count=16384
sudo mkswap /swapfile
sudo swapon /swapfile