From ad9c486e5d896fed690a4762a1162f1386fa9dd4 Mon Sep 17 00:00:00 2001 From: Robinson Hordoir Date: Mon, 6 Oct 2025 14:56:08 +0200 Subject: [PATCH] Add ecearth job script --- cfgs/SPITZ12/RUNDIR/job_nemo_ecearth.sh | 132 ++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100755 cfgs/SPITZ12/RUNDIR/job_nemo_ecearth.sh diff --git a/cfgs/SPITZ12/RUNDIR/job_nemo_ecearth.sh b/cfgs/SPITZ12/RUNDIR/job_nemo_ecearth.sh new file mode 100755 index 0000000..b067e8a --- /dev/null +++ b/cfgs/SPITZ12/RUNDIR/job_nemo_ecearth.sh @@ -0,0 +1,132 @@ +#!/bin/bash +#SBATCH --account=nn5002k +#SBATCH --job-name=D-ECEARTH +####SBATCH --qos=devel +#SBATCH --partition=normal +#SBATCH --time=60:30:00 +#SBATCH --nodes=9 +#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=1950 +Y2=1950 +np=1024 + +PAR_NAME=NAA10KM + +# Where Make sure I am in the ctore outputs +OUTDIR=/cluster/work/users/robinson/NAA10KM/OUTPUT_GIT_ECEARTH +# Where to store restarts +RESTARTS=/cluster/work/users/robinson/NAA10KM/RESTARTS_GIT_ECEARTH +RUNDIR=/cluster/work/users/robinson/NAA10KM/RUNDIR_GIT_ECEARTH +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.bash $JY) + rm -rf ocean.output + cp namelist_cfg_naa10km_ecearth_init namelist_cfg + ##cp namelist_cfg_naa10km_ecearth namelist_cfg + + sed -i "s/XXXX/${JY}/g" namelist_cfg + echo $leapy + 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 + + + + ## 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 : -np 1 ./xios_server.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 $? +#