Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt
hiddentrue
nameExample 1: Run WRF

ตัวอย่างการใช้งาน WRF เบื้องต้น

...

สามารถคัดลอกข้อมูล Global model output สำหรับตัวอย่างนี้ ได้โดยใช้คำสั่ง

Code Block
languagebash
cp -r XXX .       /tarafs/data/project/common/WRF/Example1/GFS/ .    # Copy the prepared example data to the current directory

...

ในการนำเข้าข้อมูล จำเป็นต้องสร้าง Variable table เพื่อใช้ในการจับคู่ชื่อ ประเภทและหน่วยของตัวแปรในชุดข้อมูลนำเข้ากับตัวแปรที่ ประเภทและหน่วยของตัวแปรที่อยู่ในไฟล์ข้อมูลนำเข้ากับตัวแปรที่ WRF model ใช้

WPS มี Variable table สำหรับนำเข้าข้อมูลจาก สำหรับการนำเข้าข้อมูลจากบาง Global model บางตัวอยู่ในโฟลเดอร์ อยู่ในโฟลเดอร์ ./WPS/ungrib/Variable_Tables/

ก่อนการแปลงข้อมูลด้วย ungrib.exe จำเป็นต้องลิ้งค์หรือคัดลอกตารางที่เหมาะสมออกมายังตำแหน่งเดียวกันกับ ungrib.exe โดยใช้ชื่อ Vtable

Code Block
languagebash
cd WPS
ln -s ./ungrib/Variable_Tables/Vtable.GFS ./Vtable  # For GFS data, link Vtable.GFS to the same location as ungrib.exe, naming it Vtable

...

สคริปต์ link_grib.csh ทำหน้าที่ลิ้งค์และแปลงชื่อไฟล์ในโฟลเดอร์ที่มึชุดข้อมูลมายังโฟลเดอร์ WPS ให้โดยอัตโนมัติ

Code Block
languagebash
./link_grib.csh Path_to_your_data      # Path to the folder containing the GFS data *** {USER INPUT} ***

...

2.1 Edit ./WPS/namelist.wps

แก้ไขไฟล์ ไฟล์ namelist.wps ในโฟลเดอร์ WPS เป็นไฟล์ที่ควบคุมการทำงานหลักของ WPS ซึ่งกำหนดวันเวลา ตำแหน่งและขนาดพื้นที่ที่ WRF model จำลอง

สำหรับตัวอย่างนี้ ให้แก้ไขไฟล์ namelist.wps ดังนี้

Code Block
languagetext
# Edit namelist.wps 
# as follows while leave the others unchanged
  start_date     = '2022-05-09_00:00:00',  '2022-05-09_00:00:00',
  end_date       = '2022-05-09_12:00:00',  '2022-05-09_12:00:00',
  
  i_parent_start =  1,  43,
  j_parent_start =  1,  53,
  e_we           = 120, 121,
  e_sn           = 150, 151,
  dx             = 36000,
  dy             = 36000,
  map_proj       = 'mercator',
  ref_lat        = 13.208,
  ref_lon        = 101,
  truelat1       = 13.208,
  truelat2       = 0,
  stand_lon      = 100.861,
  geog_data_path = '../WPS_GEOG' # *** {USER INPUT} ***

...

Panel
panelIconId1f4d8
panelIcon:blue_book:
panelIconText📘
bgColor#DEEBFF

See also: https://www2.mmm.ucar.edu/wrf/users/namelist_best_prac_wps.html

2.2 Check domains (Optional, require

...

NCL6.2 or later)

สามารถตรวจสอบ Domain ที่ถูกตั้งค่าไว้ใน namelist.wps ได้โดยใช้ plotgrids_new.ncl ซึ่งอยู่ในโฟลเดอร์ ./WPS/util/ โดยมีขั้นตอนดังนี้

...

สัญลักษณ์ ; คือ การ comment ใน NCL

cd WPS
Code Block
languagebash
cp ./util/plotgrids_new.ncl .    # Copy the script to the same directory as namelist.wps
nano plotgrids_new.ncl           # Comment/uncomment the variable "type" 
                                 # For X11 (default), X11 Forwarding must be enabled.
ncl plotgrids_new.ncl            # Run the script

...

2.3 WPS job submission script

ในการเตรียมข้อมูลนำเข้า WRF model ด้วย WPS จะต้องรัน geogrid.exe และ ungrid.exe ก่อน แล้วจึงจะสามารถรัน metgrid.exe ได้

Example WPS script ด้านล่างนี้ คือตัวอย่างที่ใช้ในการ Submit job บน TARA devel node (5 CPU cores) โดยสามารถคัดลอกสคริปต์นี้ได้โดยใช้คำสั่งด้านล่าง แล้วแก้ไข Project account

Code Block
languagebash
cp -r /tarafs/data/project/common/WRF/Example1/submitWPS.sh .   # Copy the script to WPS directory
nano submitWPS.sh                               # Specify your project account *** {USER INPUT} **

Example WPS script

Code Block
languagebash
#!/bin/bash

#SBATCH -p devel                    # Partition or machine type [devel/compute/$
#SBATCH -N 1  --ntasks-per-node=5    # Number of nodes and Number of core per no$
#SBATCH -t 02:00:00                 # Total run time limit (hour: minute: secon$
#SBATCH -J WPS_Ex1                  # Job name (short)
#SBATCH -A thaisc projxxxx                 # Your project account *** {USER INPUT} ***

module purge

module load HDF5netCDF-Fortran/14.105.52-iimpi-2019b
module load JasPerlibpng/1.9006.137-intel-2019bGCCcore-8.3.0
module load libpngJasPer/1.6900.371-GCCcore-10.3.0intel-2019b

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

export NETCDF=/tarafs/data/project/thaisc/skanoksi/Libraries/NET$
export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}
export PATH=${NETCDF}/bin:${PATH}

ulimit -s unlimited

srun -n4 --exclusive ./geogrid.exe &
srun -n1 --exclusive ./ungrib.exe &
wait
srun -n4 --exclusive ./metgrid.exe
Note

ungrid.exe ต้องรันแบบ Single processor/Serial execution เท่านั้น

สามารถรวม Job submission script ได้ของ WPS และ WRF เพื่อ Submit job เพียงครั้งเดียวได้

2.4 Submit WPS job

สามารถ Submit job ได้โดยใช้คำสั่ง sbatch แล้วติดตามด้วยคำสั่ง sacct หรือ squeue -u USERNAME

Code Block
languagebash
sbatch submitWPS.sh

3. Run WRF

3.1 Edit ./em_real/namelist.input

ไฟล์ namelist.input ในโฟลเดอร์ em_real เป็นไฟล์ที่ควบคุมการทำงานทั้งหมดของ WRF ซึ่งต้องกำหนดวันเวลา ตำแหน่งและขนาดพื้นที่ ให้สอดคล้องกับไฟล์ ./WPS/namelist.wps

ในไฟล์ namelist.input จะเพิ่มการ

สำหรับตัวอย่างนี้ ให้แก้ไขไฟล์ namelist.input ดังนี้

Code Block
languagetext
  run_days                            = 0,
  run_hours                           = 12,
  run_minutes                         = 0,
  run_seconds                         = 0,
  start_year                          = 2022, 2022,
  start_month                         = 05,   05,
  start_day                           = 19,   19,
  start_hour                          = 00,   00,
  end_year                            = 2022, 2022,
  end_month                           = 05,   09,
  end_day                             = 06,   06,
  end_hour                            = 00,   00,
  frames_per_outfile                  = 6, 6,
  
time_step                           = 90,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 2,
 e_we                                = 120,    121,
 e_sn                                = 150,    151,
 e_vert                              = 34,     34,
 dzstretch_s                         = 1.1 
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 34,
 num_metgrid_soil_levels             = 4,
 dx                                  = 36000,
 dy                                  = 36000,
 grid_id                             = 1,     2,
 parent_id                           = 0,     1,
 i_parent_start                      = 1,     43,
 j_parent_start                      = 1,     53,
Panel
panelIconId1f4d8
panelIcon:blue_book:
panelIconText📘
bgColor#DEEBFF

See also: https://www2.mmm.ucar.edu/wrf/users/namelist_best_prac_wrf.html

...

Code Block
#!/bin/bash

#SBATCH -p devel
#SBATCH -N 1  --ntasks-per-node=40
#SBATCH -t 02:00:00
#SBATCH -J WRF
#SBATCH -A thaisc

module purge

module load HDF5/1.10.5-iimpi-2019b
module load JasPer/1.900.1-intel-2019b
module load libpng/1.6.37-GCCcore-10.3.0

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

export NETCDF=/tarafs/data/project/thaisc/skanoksi/Libraries/NET$export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}
export PATH=${NETCDF}/bin:${PATH}

ulimit -s unlimited

srun ./real.exe &
wait
srun ./wrf.exe

3.3 Submit job

...

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