Compile WRF
การติดตั้งโปรแกรมหลักของ 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 # (MUST) JasPer version <2.0
These dependencies should be compiled with the same set of compilers.
2. Download WRF source code
ดาวน์โหลด WRF เวอร์ชั่นล่าสุดจาก GitHub มายัง Directory ปัจจุบัน
wget https://github.com/wrf-model/WRF/releases/download/v4.4/v4.4.tar.gz
tar xzf v4.4.tar.gz
ln -s WRFV4.4/ WRF
rm v4.4.tar.gz
For older version, check the WRF stable branches on the GitHub repository and its official website.
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 (Optional)
export JASPERINC=$EBROOTJASPER/include # For GRIB2 IO (Optional)
export JASPERLIB=$EBROOTJASPER/lib # For GRIB2 IO (Optional)
export WRFIO_NCD_LARGE_FILE_SUPPORT=1 # Enable large file support (Optional)
### Common mistake :: insert spaces before or after =
4. Enable GRIB2 IO (Optional)
แก้ไขไฟล์ Config.pl ในโฟลเดอร์ ./WRF/arch ด้วย Text editor เช่น nano, vi
ทำการเปลี่ยนบรรทัด $I_really_want_to_output_grib2_from_WRF จาก "FALSE" ให้เป็น "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/Compiler flags ที่แสดง
(ใช้คำสั่ง ./clean -a ก่อน ถ้าหากต้องเริ่ม configure ใหม่)
5.2 Edit configure.wrf
แก้ไขไฟล์ configure.wrf ในโฟลเดอร์ WRF ด้วย Text editor เช่น nano, vi
ทำการเปลี่ยนจาก DM_FC = mpif90 -f90=$(SFC) เป็น DM_FC = mpiifort -f90=$(SFC)
ทำการเปลี่ยนจาก DM_CC = mpicc -cc=$(SCC) เป็น DM_CC = mpiicc -cc=$(SCC)
6. Compile WRF
เริ่มทำการติดตั้ง WRF โดยบันทึกการแจ้งต่างๆลงในไฟล์ compile.wrf.log ด้วย (ใช้เวลาประมาณ 1 ชั่วโมงบน TARA front-end)
7. Check
ใช้คำสั่ง ls -ls ./main/*.exe เพื่อตรวจหา ndown.exe, real.exe, tc.exe และ wrf.exe
NEXT: WPS and Duplicate ./test/em_real
Contact Us
ThaiSC support service : thaisc-support@nstda.or.th