2023-02-17 11:11:42 +01:00

142 lines
4.0 KiB
Bash

#!/bin/bash
#SBATCH --account=nn5002k
#SBATCH --job-name=LNAA10KM
####SBATCH --qos=devel
#SBATCH --partition=normal
#SBATCH --time=6:20:00
#SBATCH --nodes=8
#SBATCH --ntasks-per-node=128
#SBATCH --mail-type=ALL # Mail events (NONE, BEGIN, END, FAIL, ALL)
#SBATCH --mail-user=robinson.hordoir@hi.no # email to user
#SBATCH --output=NAA10KM.out
#SBATCH --error=NAA10KM.err
export DISPLAY=""
#
export CRAY_ROOTFS=DSL
set -x
ulimit -c unlimited
#
#
Y1=1970
Y2=1970
np=1024
PAR_NAME=NAA10KM
# Where Make sure I am in the ctore outputs
OUTDIR=/cluster/work/users/robinson/NAA10KM/OUTPUT_NEMO4_TS
# Where to store restarts
RESTARTS=/cluster/work/users/robinson/NAA10KM/RESTARTS_NEMO4_TS
RUNDIR=/cluster/work/users/robinson/NAA10KM/RUNDIR_NEMO4_TS
cd ${RUNDIR}
# change read permissions of output files
umask a+r
# For hexagon use:
JY=${Y1}
JYP=`expr ${JY} + 1`
JYM=`expr ${JY} - 1`
while [ ${JY} -le ${Y2} ]; do
# Test if leap year
leapy=$(leap.ksh $JY)
rm -rf ocean.output
### cp namelist_cfg_naa10km_1958 namelist_cfg
cp namelist_cfg_naa10km_1958_1978 namelist_cfg
## cp 1_namelist_cfg_naa10km_1958_1978 1_namelist_cfg
## cp namelist_cfg_naa10km_1979_1992_era5_rt namelist_cfg
### cp namelist_cfg_naa10km_1993_2019_era5 namelist_cfg
sed -i "s/XXXX/${JY}/g" namelist_cfg
if [ ${leapy} -eq 0 ]; then
sed -i 's/NTSTEP/52560/g' namelist_cfg
fi
if [ ${leapy} -eq 1 ]; then
sed -i 's/NTSTEP/52704/g' namelist_cfg
fi
sed -i "s/XXXX/${JY}/g" 1_namelist_cfg
if [ ${leapy} -eq 0 ]; then
sed -i 's/NTSTEP/157680/g' 1_namelist_cfg
fi
if [ ${leapy} -eq 1 ]; then
sed -i 's/NTSTEP/158112/g' 1_namelist_cfg
fi
## link to restart files
rm -rf restart_*.nc
rm -rf 1_restart_*.nc
pr=0
while [ $pr -lt $np ] ; do
if [ $pr -lt 10 ] ; then
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_000${pr}.nc restart_oce_000${pr}.nc
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_000${pr}.nc restart_ice_000${pr}.nc
else
if [ $pr -lt 100 ] ; then
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_00${pr}.nc restart_oce_00${pr}.nc
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_00${pr}.nc restart_ice_00${pr}.nc
else
if [ $pr -lt 1000 ] ; then
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_0${pr}.nc restart_oce_0${pr}.nc
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_0${pr}.nc restart_ice_0${pr}.nc
else
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_${pr}.nc restart_oce_${pr}.nc
ln -s ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_${pr}.nc restart_ice_${pr}.nc
fi
fi
fi
((pr+=1))
done
mpirun -n ${np} ./nemo.exe
chmod a+r ./*
#### Mv outputs
mv *${PAR_NAME}_*${JY}0101_${JY}1231_*.nc ${OUTDIR}
JY=`expr ${JY} + 1`
JYP=`expr ${JY} + 1`
JYM=`expr ${JY} - 1`
## Mv restart files into standard name files for next run
pr=0
while [ $pr -lt $np ] ; do
if [ $pr -lt 10 ] ; then
mv *${PAR_NAME}*_restart_oce_000${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_000${pr}.nc
mv *${PAR_NAME}*_restart_ice_000${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_000${pr}.nc
else
if [ $pr -lt 100 ] ; then
mv *${PAR_NAME}*_restart_oce_00${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_00${pr}.nc
mv *${PAR_NAME}*_restart_ice_00${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_00${pr}.nc
else
if [ $pr -lt 1000 ] ; then
mv *${PAR_NAME}*_restart_oce_0${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_0${pr}.nc
mv *${PAR_NAME}*_restart_ice_0${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_0${pr}.nc
else
mv *${PAR_NAME}*_restart_oce_${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_oce_in_${pr}.nc
mv *${PAR_NAME}*_restart_ice_${pr}.nc ${RESTARTS}/${JY}_${PAR_NAME}_restart_ice_in_${pr}.nc
fi
fi
fi
((pr+=1))
done
done
exit $?
#