Double time step for Noresm simulations
This commit is contained in:
parent
0e89ec9cab
commit
d7c2964062
130
INPUT_FILES/NORESM_FILES/job_nemo.sh
Executable file
130
INPUT_FILES/NORESM_FILES/job_nemo.sh
Executable file
@ -0,0 +1,130 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#SBATCH --account=nn5002k
|
||||||
|
#SBATCH --job-name=LNAA10KM
|
||||||
|
####SBATCH --qos=devel
|
||||||
|
#SBATCH --partition=normal
|
||||||
|
#SBATCH --time=80:00: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=1962
|
||||||
|
Y2=1971
|
||||||
|
np=1024
|
||||||
|
|
||||||
|
PAR_NAME=NAA10KM
|
||||||
|
|
||||||
|
# Where Make sure I am in the ctore outputs
|
||||||
|
OUTDIR=/cluster/work/users/robinson/NAA10KM/OUTPUT_NORESM
|
||||||
|
# Where to store restarts
|
||||||
|
RESTARTS=/cluster/work/users/robinson/NAA10KM/RESTARTS_NORESM
|
||||||
|
RUNDIR=/cluster/work/users/robinson/NAA10KM/RUNDIR_NORESM
|
||||||
|
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)
|
||||||
|
touch *
|
||||||
|
rm -rf ocean.output*
|
||||||
|
cp namelist_cfg_naa10km namelist_cfg
|
||||||
|
|
||||||
|
sed -i "s/XXXX/${JY}/g" namelist_cfg
|
||||||
|
if [ ${leapy} -eq 0 ]; then
|
||||||
|
sed -i 's/NTSTEP/105120/g' namelist_cfg
|
||||||
|
fi
|
||||||
|
if [ ${leapy} -eq 1 ]; then
|
||||||
|
sed -i 's/NTSTEP/105120/g' namelist_cfg
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## link to restart files
|
||||||
|
rm -rf 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 $?
|
||||||
|
#
|
||||||
@ -41,7 +41,7 @@
|
|||||||
&namdom ! time and space domain
|
&namdom ! time and space domain
|
||||||
!-----------------------------------------------------------------------
|
!-----------------------------------------------------------------------
|
||||||
ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time
|
ln_linssh = .false. ! =T linear free surface ==>> model level are fixed in time
|
||||||
rn_rdt = 600. ! time step for the dynamics and tracer
|
rn_rdt = 300. ! time step for the dynamics and tracer
|
||||||
ln_meshmask = .false. ! =T create a mesh file
|
ln_meshmask = .false. ! =T create a mesh file
|
||||||
/
|
/
|
||||||
!-----------------------------------------------------------------------
|
!-----------------------------------------------------------------------
|
||||||
@ -108,7 +108,7 @@
|
|||||||
!-----------------------------------------------------------------------
|
!-----------------------------------------------------------------------
|
||||||
&namsbc ! Surface Boundary Condition manager (default: NO selection)
|
&namsbc ! Surface Boundary Condition manager (default: NO selection)
|
||||||
!-----------------------------------------------------------------------
|
!-----------------------------------------------------------------------
|
||||||
nn_fsbc = 2 ! frequency of SBC module call
|
nn_fsbc = 4 ! frequency of SBC module call
|
||||||
! ! (control sea-ice & iceberg model call)
|
! ! (control sea-ice & iceberg model call)
|
||||||
! Type of air-sea fluxes
|
! Type of air-sea fluxes
|
||||||
ln_usr = .false. ! user defined formulation (T => check usrdef_sbc)
|
ln_usr = .false. ! user defined formulation (T => check usrdef_sbc)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user