Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt
hiddentrue
nameCompiling WPS

วิธีการติดตั้ง WRF Preprocessing system

...

Note

ต้องใช้หน้าต่างเดียวกันเท่านั้น (ไม่เช่นนั้นต้องทำขั้นตอน 1 และ 3 ใหม่ทุกรอบ)

Table of Contents

...

1. Load required modules

ทำการล้างโมดูลที่โหลดไว้ก่อนหน้าทั้งหมด แล้วโหลดโมดูลที่ WPS จำเป็นต้องใช้ โดยใช้คำสั่ง

Code Block
languagebash
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          # (MUST) JasPer version <2.0
Info

These dependencies should be compiled with the same set of compilers.

2. Download WPS source code

ดาวน์โหลด WPS เวอร์ชั่นล่าสุดจาก GitHub มายัง Directory ปัจจุบัน

...

สามารถย้ายตำแหน่งโฟลเดอร์ WPS นี้ ด้วยคำสั่ง mv

3. Set environment variables

ทำการตั้งค่า Environment variables ดังแสดงด้านล่าง (User ต้องตั้งค่า Path ไปยังโฟลเดอร์ WRF ลงในตัวแปร WRF_DIR)

Code Block
languagebash
export WRF_DIR=../WRF     # Path to WRF folder *** {USER EDIT} *** 

export NETCDF=${EBROOTNETCDFMINFORTRAN:-${EBROOTNETCDF}} # Required
export JASPERINC=$EBROOTJASPER/include                   # For GRIB2 IO (RecommendOptional)
export JASPERLIB=$EBROOTJASPER/lib                       # For GRIB2 IO (RecommendOptional)
### Common mistake :: insert spaces before or after =
Info

สามารถดู Path ของโฟลเดอร์ WRF ได้โดยเข้าไปในโฟลเดอร์ WRF แล้วใช้คำสั่ง pwd

4. Set configure file

4.1 Run ./configure

  • เข้าไปในโฟลเดอร์ WPS ด้วยคำสั่ง cd ./WPS

  • ใช้คำสั่ง ./configure

  • พิมพ์เลข 19 แล้วกด Enter เพื่อเลือกการคำนวณขนานแบบ Distributed memory (dmpar) ด้วย Intel compiler บนระบบปฏิบัติการ Linux x86_64

  • (ใช้คำสั่ง ./clean -a ก่อน ถ้าหากต้องเริ่ม configure ใหม่)

Code Block
languagebash
cd ./WPS
./configure
# Type 19, then press Enter <-- Linux x86_64, Intel compiler (dmpar)

4.2 Edit configure.wps

  • แก้ไขไฟล์ configure.wps ในโฟลเดอร์ WPS ด้วย Text editor เช่น nano, vi

  • ทำการเปลี่ยนจาก DM_FC = mpif90 เป็น DM_FC = mpiifort

  • ทำการเปลี่ยนจาก DM_CC = mpicc เป็น DM_CC = mpiicc

  • (สำหรับ WRF ที่ลงด้วย sm+dm option ให้เพิ่ม -liomp5 -lpthread ให้กับ WRF_LIB ด้วย)

Code Block
languagebash
nano configure.wps
# Change  DM_FC = mpif90  to  DM_FC = mpiifort
# Change  DM_CC = mpicc   to  DM_CC = mpiicc  
# (If WRF was compiled with sm+dm option, also append -liomp5 -lpthread to WRF_LIB)
Expand
titleFor nano editor
  1. Press Ctrl + W # To search

  2. Type “mpif90“, then press Enter # Search using keyword “mpif90“

  3. For the DM_FC , change mpif90 to mpiifort

  4. For the DM_CC, change mpicc to mpiicc

  5. Press Ctrl + O, then press Enter # Save file

  6. Press Ctrl + X # Exit nano

5. Compile WPS

เริ่มทำการติดตั้ง WPS โดยบันทึกการแจ้งต่างๆลงในไฟล์ compile.wps.log แทน (ใช้เวลาประมาณ 5 นาทีบน TARA front-end)

Code Block
languagebash
./compile >2>& compile.wps.log

สามารถติดตามการแจ้งระหว่างทำการติดตั้งโดย

...

เข้าระบบ TARA อีกหน้าต่างหนึ่ง (ไม่ต้องทำขั้นตอน 1 หรือ 3 ใหม่)

...

มายังโฟลเดอร์ WPS

...

1 | tee compile.wps.log

6. Check

  • ใช้คำสั่ง ls -ls ./*.exe เพื่อตรวจหา geogrid.exe, metgrid.exe และ ungrib.exe

  • ใช้คำสั่ง ls -ls ./util/*.exe เพื่อตรวจหา avg_tsfc.exe, calc_ecmwf_p.exe, g1print.exe, g2print.exe, height_ukmo.exe, int2nc.exe, mod_levs.exe และ rd_intermediate.exe

  • ใช้คำสั่ง ls -ls ./util/*.ncl เพื่อตรวจหา gfs.ncl, plotfmt.ncl, plotfmt_nc.ncl และ plotgrids.ncl

Code Block
languagebash
ls -ls ./*.exe             
# Check if geogrid.exe, metgrid.exe and ungrib.exe are present

ls -ls ./util/*.exe             
# Check if avg_tsfc.exe, calc_ecmwf_p.exe, g1print.exe, g2print.exe, 
# height_ukmo.exe, int2nc.exe, mod_levs.exe and rd_intermediate.exe are present

ls -ls ./util/*.ncl
# Check if gfs.ncl, plotfmt.ncl, plotfmt_nc.ncl and plotgrids.ncl are present

NEXT: Geography data --- for WPS geogrid.exe

...

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