Link Search Menu Expand Document

國網cctm相關腳本之修改

Table of contents

背景

run.cctm.csh

  • 這支csh的腳本算是主程式,在此設定空間與網格,也在此分配執行節點。
  • 由於每個domain的網格數不同,理論上應該也要規劃有不同的執行節點,以取得最佳的執行效率。此處皆以200為度,如此相同的slurm設定可以適用在每個domain。尚未嘗試最佳化。
  • 因domain 3是長形的設定,設定上與domain 1~2相反。
setenv NPCOL_NPROW "20 10"; set NPROCS   = 200

project.config

  • 時間與個案在此設定。此部分不更改。
  • 工作目錄的頂端也在此設定。需進行相應修正。

cctm.source.v5.3.1.ae7

  eval `$LMOD_CMD tcsh load compiler/intel/2021 IntelMPI/2021 hdf5/1.12 netcdf/4.7.4 pnetcdf/1.12.2`  \
  && eval `$LMOD_SETTARG_CMD -s csh`
  set MPI = /opt/ohpc/Taiwania3/pkg/intel/2021/mpi/2021.1.1/bin
  set MPIRUN = $MPI/mpiexec.hydra
  ( /usr/bin/time -p $MPIRUN -bootstrap slurm -n 200 $BLD/$EXEC ) |& tee buff_${EXECUTION_ID}.txt

csh_cctm.sh

  • 啟動方式:sbatch $fcst/csh_mcip.sh 45,引數為網格間距,$1=03, 09, 45,以對應各個domain的主程式腳本。
  • 使用ct224其中的200個單元
$ cat csh_cctm.sh
#!/bin/sh
#SBATCH -A ENT111040             # Account name/project number
#SBATCH -J cctm                  # Job name
#SBATCH -p ct224                 # Partiotion name
#SBATCH -n 200                   # Number of MPI tasks (i.e. processes)
#SBATCH -c 1                     # Number of cores per MPI task
#SBATCH -N 5                     # Maximum number of nodes to be allocated
#SBATCH --ntasks-per-node=40     # Maximum number of tasks on each node
#SBATCH -o rsl.out.%j            # Path to the standard output file
#SBATCH -e rsl.error.%j          # Path to the standard error ouput file

module purge
csh run.cctm.${1}.csh

濃度場的nest down

  • 有別於前述第1層東亞domain的ICBC,第2~3層的ICBC需讀取上1層的模擬結果來產生。
    • 需使用國網編譯的前處理程式BCON.BCON.exe(run_bcon_NC.csh)及ICON.exe(run_icon_NC.csh)來接續下層的模擬。
    • 這2支程式都是intel MPI程式,需使用slurm來啟動。
  • 腳本的引數為上一層domain三維的模擬結果(CCTM_ACONC檔)
    • 邊界檔需逐日執行,再以ncrcat整併、最後再加上一小時。
    • 初始檔只需執行一個time frame。
  • 修改項目
  • csh_bcon.sh、csh_icon.sh