|
@@ -4,18 +4,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
|
|
|
set -ueo pipefail
|
|
|
|
|
|
LOCAL_NODES=4
|
|
|
-LOCAL_TASKS=408
|
|
|
+LOCAL_TASKS=492
|
|
|
|
|
|
stdout_file=${SLURM_SUBMIT_DIR-$PWD}/${SLURM_JOB_NAME-"local"}_${SLURM_JOB_ID-"id"}.log
|
|
|
exec > ${stdout_file}
|
|
@@ -32,7 +32,7 @@ set -ue
|
|
|
|
|
|
|
|
|
NB_CORES_PER_NODES=128
|
|
|
-MAX_CORES_PER_NODES=100
|
|
|
+MAX_CORES_PER_NODES=123
|
|
|
LIST_CORES_SOCKET=`seq -s',' 0 $((NB_CORES_PER_NODES-1))`
|
|
|
|
|
|
|
|
@@ -91,10 +91,10 @@ nem_grid=ORCA1L75
|
|
|
|
|
|
|
|
|
|
|
|
-rst_freq="1 year"
|
|
|
+rst_freq="6 months"
|
|
|
|
|
|
|
|
|
-run_num_legs=2
|
|
|
+run_num_legs=1
|
|
|
|
|
|
|
|
|
has_config ifs tm5 && cpl_freq_atm_ctm_hrs=6
|
|
@@ -121,7 +121,49 @@ ece_info_file="ece.info"
|
|
|
|
|
|
. ${start_dir}/ecconf.cfg
|
|
|
|
|
|
-configure
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+export SCRATCH=/gpfs/scratch/acad/ecearth/${USER}
|
|
|
+
|
|
|
+
|
|
|
+ecearth_src_dir=${HOME}/models/ecearth_3.3.3.2/sources
|
|
|
+run_dir=/gpfs/scratch/acad/ecearth/${USER}/ecearth/run/${exp_name}
|
|
|
+ini_data_dir=/gpfs/scratch/acad/ecearth/data/bsc32/v3.3.3.2/inidata
|
|
|
+archive_dir=/gpfs/scratch/acad/ecearth/${USER}/ecearth/archive/${exp_name}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+stdout_file=${SLURM_SUBMIT_DIR-$PWD}/${SLURM_JOB_NAME-"local"}_${SLURM_JOB_ID-"id"}.log
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+resubmit_job=true
|
|
|
+resubmit_opt=""
|
|
|
+
|
|
|
+module purge
|
|
|
+module load EasyBuild/2023a
|
|
|
+MODULEPATH=$MODULEPATH:/gpfs/projects/acad/ecearth/softs/easybuild/modules/all
|
|
|
+module load netCDF-Fortran/4.6.1-iompi-2023a
|
|
|
+module load imkl/2023.1.0
|
|
|
+module load grib_api/1.24.0-iompi-2023a
|
|
|
+module load CDO/1.9.10-iompi-2023a
|
|
|
+
|
|
|
+
|
|
|
+export GRIB_DEFINITION_PATH=${HOME}/models/ecearth_3.3.3.2/sources/util/grib_table_126:${EBROOTGRIB_API}/share/grib_api/definitions
|
|
|
+export GRIB_SAMPLES_PATH=${EBROOTGRIB_API}/share/grib_api/ifs_samples/grib1
|
|
|
+export GRIB_BIN_PATH=${EBROOTGRIB_API}/bin
|
|
|
+
|
|
|
+
|
|
|
+proc_per_node=128
|
|
|
+
|
|
|
+
|
|
|
+[[ `echo "$use_machinefile" | tr '[:upper:]' '[:lower:]'` == true ]] && use_machinefile=true || use_machinefile=false
|
|
|
+
|
|
|
+ulimit -s unlimited
|
|
|
|
|
|
|
|
|
|
|
@@ -182,7 +224,7 @@ ifs_ddh_freq=$(( 120 * 3600 / ifs_time_step_sec ))
|
|
|
export ifs_res_hor=$(echo ${ifs_grid} | sed 's:T\([0-9]\+\)L\([0-9]\+\):\1:')
|
|
|
ifs_res_ver=$(echo ${ifs_grid} | sed 's:T\([0-9]\+\)L\([0-9]\+\):\2:')
|
|
|
|
|
|
-ifs_numproc=320
|
|
|
+ifs_numproc=392
|
|
|
|
|
|
ifs_exe_file=${ecearth_src_dir}/ifs-${ifs_version}/bin/ifsmaster-${build_arch}
|
|
|
|
|
@@ -193,8 +235,8 @@ ifs_cmip5=TRUE
|
|
|
|
|
|
ifs_cmip5_rcp=0
|
|
|
|
|
|
-export ifs_cmip_fixyear=0
|
|
|
-export ifs_cmip_fixyear_ch4=0
|
|
|
+export ifs_cmip_fixyear=1850
|
|
|
+export ifs_cmip_fixyear_ch4=1850
|
|
|
|
|
|
|
|
|
if ! has_config tm5:ch4fb && (( $ifs_cmip_fixyear != $ifs_cmip_fixyear_ch4 ))
|
|
@@ -387,7 +429,7 @@ fi
|
|
|
|
|
|
nem_exe_file=${ecearth_src_dir}/nemo-3.6/CONFIG/${nem_config}/BLD/bin/nemo.exe
|
|
|
|
|
|
-nem_numproc=86
|
|
|
+nem_numproc=98
|
|
|
|
|
|
|
|
|
case "${ifs_grid}" in
|
|
@@ -677,6 +719,7 @@ do
|
|
|
leg_start_sec=$(( $(date -u -d "${leg_start_date}" +%s) - $(date -u -d "${run_start_date}" +%s) ))
|
|
|
leg_end_sec=$(( $(date -u -d "${leg_end_date}" +%s) - $(date -u -d "${run_start_date}" +%s) ))
|
|
|
leg_start_date_yyyymmdd=$(date -u -d "${leg_start_date}" +%Y%m%d)
|
|
|
+ leg_start_date_yyyymm=$(date -u -d "${leg_start_date}" +%Y%m)
|
|
|
leg_start_date_yyyy=$(date -u -d "${leg_start_date}" +%Y)
|
|
|
leg_end_date_yyyy=$(date -u -d "${leg_end_date}" +%Y)
|
|
|
|
|
@@ -710,7 +753,7 @@ do
|
|
|
then
|
|
|
rm -fr ${run_dir}/*
|
|
|
else
|
|
|
- error "Run directory not empty and \$force_run_from_scratch not set."
|
|
|
+ error "Run directory ${run_dir} not empty and \$force_run_from_scratch not set."
|
|
|
fi
|
|
|
fi
|
|
|
|
|
@@ -1952,6 +1995,23 @@ done
|
|
|
|
|
|
|
|
|
|
|
|
-finalise
|
|
|
+
|
|
|
+
|
|
|
+if ${resubmit_job} && [ $(date -d "${leg_end_date}" +%s) -lt $(date -d "${run_end_date}" +%s) ]
|
|
|
+then
|
|
|
+ info "Resubmitting job for leg $((leg_number+1))"
|
|
|
+
|
|
|
+ cd ${start_dir}
|
|
|
+
|
|
|
+ echo "sbatch -N ${SLURM_JOB_NUM_NODES-"1"} -o ${run_dir}/$(basename ${stdout_file}).$(printf %03d $((leg_number+1))) \
|
|
|
+ -e ${run_dir}/$(basename ${stdout_file}).$(printf %03d $((leg_number+1))) -d ${SLURM_JOB_ID-"id"} \
|
|
|
+ ./${SLURM_JOB_NAME-"run"}.sh"
|
|
|
+
|
|
|
+ sbatch -N ${SLURM_JOB_NUM_NODES-"1"} \
|
|
|
+ -o ${run_dir}/$(basename ${stdout_file}).$(printf %03d $((leg_number+1))) \
|
|
|
+ -e ${run_dir}/$(basename ${stdout_file}).$(printf %03d $((leg_number+1))) \
|
|
|
+ -d ${SLURM_JOB_ID-"id"} \
|
|
|
+ ./${SLURM_JOB_NAME-"run"}.sh
|
|
|
+fi
|
|
|
|
|
|
exit 0
|