การติดตั้งโปรแกรมหลักของ 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 ปัจจุบัน
git clone https://github.com/wrf-model/WRF # Version 4.40 at the time
For older version, check the WRF stable branches on the GitHub repository and its official website.
สามารถย้ายตำแหน่งโฟลเดอร์ 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 (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)
Must set JASPERINC and JASPERLIB in Step 3
เข้าไปยังโฟลเดอร์ WRF ด้วยคำสั่ง cd
แก้ไขไฟล์ Config.pl ในโฟลเดอร์ arch ด้วย Text editor เช่น nano, vi
ทำการเปลี่ยนบรรทัด $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/Compiler flags ที่แสดง
(ใช้คำสั่ง ./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 (mostly)
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)
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)
6. Compile WRF
เริ่มทำการติดตั้ง WRF โดยบันทึกการแจ้งต่างๆลงในไฟล์ compile.wrf.log ด้วย (ใช้เวลาประมาณ 1 ชั่วโมงบน TARA front-end)
./compile em_real 2>&1 | tee compile.wrf.log
7. Check
ใช้คำสั่ง ls -ls ./main/*.exe เพื่อตรวจหา ndown.exe, real.exe, tc.exe และ wrf.exe
ls -ls ./main/*.exe # Check if ndown.exe, real.exe, tc.exe and wrf.exe are present
NEXT: WPS and Duplicate ./test/em_real
Contact Us
ThaiSC support service : thaisc-support@nstda.or.th