Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

การติดตั้งโปรแกรมหลักของ Weather Research and Forecasting (WRF) มีขั้นตอนดังนี้

Note

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

Table of Contents
minLevel1
maxLevel7
stylecircle

1. Load required modules

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

Code Block
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
Info

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

2. Download WRF source code

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

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

For older version, check the WRF stable branches on the GitHub repository and its official website.

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

3. Set environment variables

ทำการตั้งค่า Environment variables โดยใช้คำสั่งและมีรายละเอียดดังนี้

Code Block
export WRF_EM_CORE=1    # Explicitly select ARW core developed by NCAR 
export WRF_NMM_CORE=0   # Not NMM core
export WRF_DA_CORE=0    # Not WRFDA
export WRF_CHEM=0       # Not WRF-Chem

export NETCDF=${EBROOTNETCDFMINFORTRAN:-${EBROOTNETCDF}} # Required
export HDF5=${EBROOTHDF5}                                # To enable HDF5 (Recommend)
export JASPERINC=$EBROOTJASPER/include                   # For GRIB2 IO (Recommend)
export JASPERLIB=$EBROOTJASPER/lib                       # For GRIB2 IO (Recommend)
export WRFIO_NCD_LARGE_FILE_SUPPORT=1                    # Enable large file support (Recommend)

4. Enable GRIB2 IO (Optional, but recommend)

Note

Must set JASPERINC and JASPERLIB in Step 3

  • เข้าไปยังโฟลเดอร์ WRF ด้วยคำสั่ง cd

  • แก้ไขไฟล์ Config.pl ในโฟลเดอร์ arch ด้วย Editor เช่น nano

  • ทำการเปลี่ยนบรรทัด $I_really_want_to_output_grib2_from_WRF จาก "FALSE" ให้เป็น "TRUE"

Code Block
languagebash
cd ./WRF
nano ./arch/Config.pl
# Change $I_really_want_to_output_grib2_from_WRF = "FALSE" ; 
#   to   $I_really_want_to_output_grib2_from_WRF = "TRUE" ;
Expand
titleUsing nano editor
  1. Press Ctrl + W # To search

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

  3. Change $I_really_want_to_output_grib2_from_WRF = "FALSE" ;
    to $I_really_want_to_output_grib2_from_WRF = "TRUE" ;

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

  5. Press Ctrl + X # Exit nano

5. Set configure file

5.1 Run ./configure

  • ใช้คำสั่ง ./configure ขณะอยู่ในโฟลเดอร์ WRF

  • พิมพ์เลข 20 แล้วกด Enter เพื่อเลือกการคำนวณขนานแบบ Distributed memory (dmpar) ด้วย INTEL (ifort/icc): Xeon (SNB with AVX mods)

  • พิมพ์เลข 1, 2 หรือ 3 แล้วกด Enter เพื่อเลือกระบบ Nesting โดย

    • 1 (Basic/Static) จะกำหนดให้ตำแหน่งของ Nested/Child domains ไม่สามารถเคลื่อนที่ได้

    • 2 (Present moves) จะสามารถใช้ชุดคำสั่งกำหนดการเคลื่อนที่ของ Nested/Child domains ได้

    • 3 (Vortex following) จะปรับตำแหน่ง Nested/Child domains ตามจุดศูนย์กลางพายุซึ่งคำนวณจาก Mean sea level pressure และลมระดับพื้นผิว (เหมาะสำหรับพายุที่ก่อตัวขึ้นชัดเจนแล้วเท่านั้น)

  • ตรวจสอบ Options

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

Code Block
./configure
# Type 20, then press Enter <-- (dmpar) INTEL (ifort/icc): Xeon (SNB with AVX mods))
# Type 1, then press Enter  <-- Basic nesting

5.2 Edit configure.wrf

  • แก้ไขไฟล์ configure.wrf ในโฟลเดอร์ WRF ด้วย Editor เช่น nano

  • ทำการเปลี่ยนจาก DM_FC = mpif90 -f90=$(SFC) เป็น DM_FC = mpiifort -f90=$(SFC)

  • ทำการเปลี่ยนจาก DM_CC = mpicc -cc=$(SCC) เป็น DM_CC = mpiicc -cc=$(SCC)

Code Block
nano configure.wrf
# Change  DM_FC = mpif90 -f90=$(SFC)  to  DM_FC = mpiifort -f90=$(SFC)
# Change  DM_CC = mpicc  -cc=$(SCC)   to  DM_CC = mpiicc   -cc=$(SCC)
Expand
titleUsing nano editor
  1. Press Ctrl + W # To search

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

  3. In line DM_FC , change mpif90 to mpiifort

  4. In line DM_CC, change mpicc to mpiicc

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

  6. Press Ctrl + X # Exit nano

5. Compile WRF

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

Code Block
./compile em_real >& compile.wrf.log

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

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

  2. มายังโฟลเดอร์ WRF

  3. ใช้คำสั่ง tail -F compile.wrf.log

6. Check

ใช้คำสั่ง ls -ls ./main/*.exe เพื่อตรวจหา wrf.exe, real.exe, ndown.exe และ tc.exe

Code Block
ls -ls ./main/*.exe             
# Check if wrf.exe, real.exe, ndown.exe and tc.exe are present