Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt
hiddentrue
nameSingle WRF Job Submission (WPS+WRF)

การทำให้สามารถสั่งรัน WPS และ WRF ด้วยการ Submit job เพียงครั้งเดียว

ผู้ใช้งาน WRF model สามารถสร้างโฟลเดอร์ใหม่ (เช่น RunWRF) เพื่อ Submit job ของทั้ง WPS และ WRF พร้อมกันจากโฟลเดอร์นี้ โดยมีขั้นตอนดังนี้

  1. สร้างโฟลเดอร์ใหม่ ชื่อ RunWRF

  2. คัดลอกโฟลเดอร์ ./WRF/test/em_real ด้วยสคริปต์เช่นใน Duplicate ./WRF/test/em_real มายังโฟลเดอร์ RunWRF

  3. คัดลอกโฟลเดอร์ ./WPS ด้วยสคริปต์เช่นใน Duplicate ./WPS มายังโฟลเดอร์ RunWRF

  4. จากโฟลเดอร์ RunWRF นี้ ทำการลิ้งค์ Vtable, ลิ้งค์ข้อมูลนำเข้า, ปรับ namelist.wps, namelist.input ฯลฯ ตามปกติ

  5. Submit job ด้วย Submission script เช่นด้านล่างนี้

Info

However, it is more efficient to run geogrid.exe, metgrid.exe and real.exe using a few CPU cores (but enough memory).

Code Block
languagebash
#!/bin/bash
#SBATCH -p compute                  # Partition or machine type [devel/compute/memory]
#SBATCH -N 1 --ntasks-per-node=40   # Number of nodes and Number of core per node
#SBATCH -t 24:00:00                 # Total run time limit (hour:minute:second)
#SBATCH -J RunWRF_Ex1               # Job name (short)
#SBATCH -A projxxxx                 # Your project account *** {USER EDIT} ***

module purge
module load netCDF-Fortran/4.5.2-iimpi-2019b
module load libpng/1.6.37-GCCcore-8.3.0
module load JasPer/1.900.1-intel-2019b

export JASPERINC=$EBROOTJASPER/include
export JASPERLIB=$EBROOTJASPER/lib

ulimit -s unlimited         # MUST have otherwise ERROR

# Run WPS
srun -n4 ./geogrid.exe      # Run geogrid.exe using 4 CPU cores (-n4)
srun -n1 ./ungrib.exe       # ungrib.exe MUST run in serial (-n1)
srun -n4 ./metgrid.exe      # Run metgrid.exe using 4 CPU cores (-n4)

# Run WRF
srun -n8 ./real.exe         # Run real.exe using 8 CPU cores (-n8)
srun ./wrf.exe

# It is more efficient to run geogrid.exe, metgrid.exe and real.exe using a few CPU cores (but enough memory).

How to create the RunWRF folder

1. Create a folder

สร้างโฟลเดอร์ ใหม่ เช่น RunWRF00 แล้วเข้าไปในโฟลเดอร์นั้น

Code Block
mkdir RunWRF00          # Create your new WPS folder
cd ./RunWRF00      

2. Get the Bash scripts

คัดลอกไฟล์ duplicate_WPS4p4.sh และ duplicate_WRF4p4_emreal.sh จากโฟลเดอร์ /tarafs/data/projects/common/WRF/Others (เช่นเดียวกับใน Duplicate ./WPS และ Duplicate ./WRF/test/em_real)

Code Block
# Copy the prepared script 
cp /tarafs/data/projects/common/WRF/Others/duplicate_WPS4p4.sh ./duplicate_WPS.sh 
cp /tarafs/data/projects/common/WRF/Others/duplicate_WRF4p4_emreal.sh ./duplicate_emreal.sh

3. Edit the two Bash scripts

3.1 Edit WPS_DIR in duplicate_WPS.sh

เปิด duplicate_WPS.sh ด้วย Text editor แล้วตั้งค่า Path ไปยังโฟลเดอร์ WPS ลงในตัวแปร WPS_DIR

Code Block
nano duplicate_WPS.sh
# Edit path to WPS folder --> WPS_DIR=

3.2 Edit WRF_DIR in duplicate_emreal.sh

เปิด duplicate_emreal.sh ด้วย Text editor แล้วตั้งค่า Path ไปยังโฟลเดอร์ WRF ลงในตัวแปร WRF_DIR

Code Block
nano duplicate_emreal.sh
# Edit path to WRF folder --> WRF_DIR=

4. Run the two Bash scripts

รัน Script ทั้งสองอันโดยใช้คำสั่ง bash

Code Block
bash duplicate_WPS.sh
bash duplicate_emreal.sh

5. Repeat step 1-4 for more (Optional)

ทำขั้นตอนที่ 1-4 ซ้ำ จนกว่าจะได้จำนวนโฟลเดอร์ RunWRF เท่ากันจำนวน Job ที่ต้องการสั่งเข้า TARA พร้อมๆกัน

RETURN: WRF model

...

Contact Us
ThaiSC support service : thaisc-support@nstda.or.th