การติดตั้งโปรแกรมหลักของ Weather Research and Forecasting (WRF) มีขั้นตอนดังนี้
ต้องใช้หน้าต่างเดียวกันเท่านั้น (ไม่เช่นนั้นต้องทำขั้นตอน 1 และ 3 ใหม่ทุกรอบ)
1. Load required modules
ทำการล้างโมดูลที่โหลดไว้ก่อนหน้าทั้งหมด แล้วโหลดโมดูลที่ WRF จำเป็นต้องใช้ โดยใช้คำสั่ง
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
These dependencies should be compiled using the same set of compilers.
2. Download WRF source code
ดาวน์โหลด WRF เวอร์ชั่นล่าสุดจาก GitHub มายัง Directory ปัจจุบัน
git clone https://github.com/wrf-model/WRF # Version 4.40 at the time
สามารถย้ายตำแหน่งโฟลเดอร์ WRF นี้ ด้วยคำสั่ง mv
3. Set environment variables
ทำการตั้งค่า Environment variables โดยใช้คำสั่งและมีรายละเอียดดังนี้
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)
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"
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" ;
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 ใหม่)
./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)
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)
5. Compile WRF
ทำการติดตั้ง WRF โดยบันทึกการแจ้งต่างๆลงในไฟล์ compile.wrf.log (อาจจะใช้เวลาถึง 1-2 ชั่วโมง)
./compile em_real >& compile.wrf.log
สามารถติดตามการแจ้งระหว่าง Compile โดย
เข้าระบบ TARA อีกหน้าต่างหนึ่ง (ไม่ต้องทำขั้นตอน 1 หรือ 3 ใหม่)
มายังโฟลเดอร์ WRF
ใช้คำสั่ง tail -F compile.wrf.log
6. Check
ใช้คำสั่ง ls -ls ./main/*.exe เพื่อตรวจหา wrf.exe, real.exe, ndown.exe และ tc.exe
ls -ls ./main/*.exe # Check if wrf.exe, real.exe, ndown.exe and tc.exe are present