Versions Compared

Key

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

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

...

ทำการล้างโมดูลที่โหลดไว้ก่อนหน้าทั้งหมด แล้วโหลดโมดูลที่ 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

...

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

Code Block
languagebash
git clone https://github.com/wrf-model/WPS      # Version 4.40 at the time

...

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

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

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

...

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

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

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

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

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

...

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

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

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

Code Block
languagebash
nano configure.wps
# Change  DM_FC = mpif90  to  DM_FC = mpiifort
# Change  DM_CC = mpicc   to  DM_CC = mpiicc   

...

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

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

...

  • ใช้คำสั่ง 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