Excerpt | ||||
---|---|---|---|---|
| ||||
ตัวอย่างการใช้งาน WRF เบื้องต้น |
...
สามารถคัดลอกข้อมูล Global model output สำหรับตัวอย่างนี้ ได้โดยใช้คำสั่ง
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
./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 | ||
---|---|---|
| ||
# 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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
#!/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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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