Versions Compared

Key

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

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

...

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

Common mistake

  • Setting path to the wrong folder

  • The folder contains some unrelated files or files from other models

...

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

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

# Edit
Code Block
languagetext
Panel
panelIconId1f4d8
panelIcon:blue_book:
panelIconText📘
bgColor#DEEBFF

See also: WRF namelist.wps

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

Code Block
languagetext
# Edit namelist.wps 
# as follows while leave the others unchanged

### Share ###
  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',

### Geogrid ###
  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 INPUTEDIT} ***
Info

สำหรับการตั้งค่า geog_data_path ในบรรทัดที่ 17 ดู Geography data --- for WPS geogrid.exe

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 2.2 Check domains (Optional, require NCL6.2 or later)

...

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 INPUTEDIT} **

Example WPS script

Code Block
languagebash
#!/bin/bash

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

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

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

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

...

2.4 Submit WPS job

สามารถ Submit job ได้โดยใช้คำสั่ง sbatch แล้วติดตามด้วยคำสั่ง sacct หรือ squeue -u USERNAME (ใช้เวลาประมาณ 1 นาที เมื่อได้รัน)

Code Block
languagebash
sbatch submitWPS.sh

...

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

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

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

...

languagetext

...

พร้อมระบุ Dynamics/Physics schemes ที่ต้องการใช้งาน

Panel
panelIconId1f4d8
panelIcon:blue_book:
panelIconText📘
bgColor#DEEBFF

See also: WRF Namelist.input and Duplicate ./test/em_real

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

Code Block
languagetext
# Edit namelist.input 
# in ./WRF/test/em_real or your duplicated em_real folder
# as follows while leave the others unchanged

### Time_control ###
  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,   0905,
  end_day                             = 0619,   0619,
  end_hour                            = 0012,   0012,
  frames_per_outfile                  = 6, 6,

### Domains ###
  time_step                           = 90180,
  time_step_fract_nume_we                 = 0,  time_step_fract_den             = 120,   = 1121,
 max_dom e_sn                                = 2150,    151, 
  e_wevert                                = 12050,     12150,
 e_sn dx                                  = 15036000,
  dy  151,  e_vert                              = 3436000,
  grid_id  34,  dzstretch_s                         = 1.1,     2,
  p_top_requestedparent_id                           = 50000,  num_metgrid_levels   1,
  i_parent_start            = 34,
 num_metgrid_soil_levels             = 41,  dx   43,
  j_parent_start                      = 1,     = 3600053,

dy### Physics ###
  physics_suite                       = 'tropical'

### Bdy_control ###
= 36000,
 grid_id specified                             = 1.true.,  .false.,
  2,nested   parent_id                           = 0.false.,     1,
 i_parent_start                      = 1,.true.,

3.2 Link met_em* from WPS

ทำการลิ้งหรือคัดลอกไฟล์ที่เตรียมจาก WPS มายังโฟลเดอร์ em_real

Code Block
ln -s Path_to_WPS/met_em* .   # Path to WPS folder containing met_em files *** {USER EDIT} *** 
        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

3.2 WRF job submission script

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

...

Link ./WPS/met_em* to ./WRF/test/em_real/ or your duplicated em_real folder 

3.3 WRF job submission script

ในการรัน WRF model จะต้องรัน real.exe ก่อน wrf.exe

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

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

Example WRF script

Code Block
#!/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 WRF_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

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

3.4 Submit WRF job

สามารถ Submit job ได้โดยใช้คำสั่ง sbatch แล้วติดตามการทำงานด้วยการอ่านไฟล์ rsl.out.xxxx หรือใช้คำสั่ง sacct และ squeue -u USERNAME ตามปกติ (ใช้เวลาประมาณ 5-10 นาที เมื่อได้รัน)

Code Block
languagebash
sbatch submitWRF.sh
tail -F rsl.out.0000        # (Optional) see the progress

RETURN: WRF model

...

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