knmi-rhino.job.tmpl 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #!/bin/bash
  2. #SBATCH --job-name=ifs_nemo_H
  3. #SBATCH --partition=all --exclusive
  4. #SBATCH --nodes=63
  5. #SBATCH --ntasks-per-node=28
  6. #SBATCH --output=out/[[[MOD:GENERAL:EXP_NAME]]].%j.out
  7. ########SBATCH --time=04:00:00
  8. ####### --cpu_bind=none
  9. ####### -L lustre_na*4
  10. export INTEL_LICENSE_FILE=/opt/intel/licenses
  11. COMPILO_ROOTDIR=/opt/intel/compilers_and_libraries_2017.2.174/linux
  12. source $COMPILO_ROOTDIR/bin/compilervars_arch.sh intel64 linux
  13. source $COMPILO_ROOTDIR/mkl/bin/mklvars.sh intel64
  14. source /opt/intel/impi/5.1.3.258/intel64/bin/mpivars.sh
  15. set -e
  16. echo "nodeset : $SLURM_NODELIST and current frequency:"
  17. clush -w $SLURM_NODELIST cat /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_cur_freq 2>/dev/null | sort -u | awk '{print $2}' | sort -u
  18. ./ece-ifs+nemo.sh
  19. # #PLS ------ HERE you can put tailored copy of ece-ifs+nemo.sh.tmpl --------------
  20. # Some possible changes:
  21. # if [ ! -d ${run_dir} ]
  22. # then
  23. # mkdir -p ${run_dir}
  24. # lfs setstripe -c 12 ${run_dir}
  25. # fi
  26. # cd ${run_dir}
  27. # # Use the launch function from the platform configuration file
  28. # t1=$(date +%s)
  29. # #DC launch \
  30. # #DC ${xio_numproc} ${xio_exe_file} -- \
  31. # #DC ${nem_numproc} ${nem_exe_file} -- \
  32. # #DC ${rnf_numproc} ${rnf_exe_file} -- \
  33. # #DC ${ifs_numproc} ${ifs_exe_file} -v ecmwf -e ${exp_name}
  34. # xio_task0=0
  35. # xio_task1=$((xio_task0+xio_numproc-1))
  36. # nem_task0=$((xio_task1+1))
  37. # nem_task1=$((nem_task0+nem_numproc-1))
  38. # rnf_task0=$((nem_task1+1))
  39. # rnf_task1=$((rnf_task0+rnf_numproc-1))
  40. # ifs_task0=$((rnf_task1+1))
  41. # ifs_task1=$((ifs_task0+ifs_numproc-1))
  42. # echo "${xio_task0}-${xio_task1} ${xio_exe_file}" >conf.txt
  43. # echo "${nem_task0}-${nem_task1} ${nem_exe_file}" >>conf.txt
  44. # echo "${rnf_task0}-${rnf_task1} ${rnf_exe_file}" >>conf.txt
  45. # echo "${ifs_task0}-${ifs_task1} ${ifs_exe_file} -v ecmwf -e ${exp_name}" >>conf.txt
  46. # NBTASKS=$((xio_numproc+nem_numproc+rnf_numproc+ifs_numproc))
  47. # export OMP_NUM_THREADS=1
  48. # case $OMP_NUM_THREADS in
  49. # 1) BINDING=map_cpu:$LIST_CORES ;;
  50. # 2) MASK=`~/KNMI/mytools/build_mask.14cores.sh 28x2`
  51. # BINDING=mask_cpu:$MASK ;;
  52. # *) echo "$OMP_NUM_THREADS OpenMP not yet implemented." ; exit ;;
  53. # esac
  54. # launch_atos conf.txt $NODES_ECE_IFS_NEMO $NBTASKS $BINDING $OMP_NUM_THREADS
  55. # t2=$(date +%s)
  56. # # This takes care of a special IFS feature: The output for the last time
  57. # # step of each leg is written at the first time step of the new leg. The
  58. # # following code makes sure that the output is appended to the appropriate
  59. # # file. Since GRIB files are just streams, its done with a simple cat
  60. # # command.
  61. # for f in ICMSH${exp_name}+?????? ICMGG${exp_name}+??????
  62. # do
  63. # if [ -f output/ifs/${prv_leg}/${f} ]
  64. # then
  65. # cat ${f} >> output/ifs/${prv_leg}/${f}
  66. # rm -f ${f}
  67. # else
  68. # mv ${f} ${outdir}
  69. # fi
  70. # done
  71. # postprocess ${outdir} $LAST_NODE
  72. # cd ${run_dir}
  73. # ...
  74. # done # loop over legs
  75. # # attente du dernier postprocessing
  76. # wait
  77. # PP_DATE_END=`date +"%H %M %S"`
  78. # echo "on node $LAST_NODE post processing ends at : $PP_DATE_END"
  79. #
  80. # # -----------------------------------------------------------------------------
  81. # # *** Platform dependent finalising of the run
  82. # # -----------------------------------------------------------------------------
  83. # finalise