NSTDA Supercomputer Center
การติดตั้งโปรแกรม WRF-Chem มีการขั้นตอนในการติดตั้งตามลำดับ เริ่มจาก การติดตั้ง netCDF-Fortran ซึ่งเป็น toolchains ของ WRF จากนั้นเป็นขั้นตอนติดตั้ง WRF-Chem ,WPS และตัวอย่าง script สำหรับ submit job เข้าใช้งานระบบ TARA
1. Build netCDF-Fortran/4.5.2-iimpi-2019b โดยการใช้โปรแกรม Easybuild
1.1 Download โปรแกรม netCDF-Fortran 4.5.2 โดยใช้คำสั่ง
wget https://raw.githubusercontent.com/easybuilders/easybuild-easyconfigs/develop/easybuild/easyconfigs/n/netCDF-Fortran/netCDF-Fortran-4.5.2-iimpi-2019b.eb
1.2 ทำการติดตั้ง netCDF-Fortran 4.5.2 ด้วยใช้โปรแกรม Easybuild โดยใช้คำสั่ง
module load EasyBuild
eb -r netCDF-Fortran-4.5.2-iimpi-2019b.eb
เมื่อทำการติดตั้งเสร็จจะขึ้นดังนี้
== COMPLETED: Installation ended successfully (took 2 min 5 sec)
== Results of the build can be found in the log file(s) /tarafs/data/home/tarauser/.local/easybuild/software/netCDF-Fortran/4.5.2-iimpi-2019b/easybuild/easybuild-netCDF-Fortran-4.5.2-20210407.100126.log
== Build succeeded for 2 out of 2
== Temporary log file(s) /tmp/eb-L3jRIQ/easybuild-yfSspF.log* have been removed.
== Temporary directory /tmp/eb-L3jRIQ has been removed.
2. ติดตั้ง WRF, WRF-Chem และ WPS
2.1 Download โปรแกรม WRF, WRF-Chem และ WPS โดยใช้คำสั่ง
wget https://www2.mmm.ucar.edu/wrf/src/WRFV3.8.1.TAR.gz
wget https://www2.mmm.ucar.edu/wrf/src/WRFV3-Chem-3.8.1.TAR.gz
wget https://www2.mmm.ucar.edu/wrf/src/WPSV3.8.1.TAR.gz
2.2 ทำการแตกไฟล์ WRF, WRF-Chem และ WPS
tar zxvf WRFV3-Chem-3.8.1.TAR.gz
tar zxvf WRFV3.8.1.TAR.gz
tar zxvf WPSV3.8.1.TAR.gz
จะได้โฟลเดอร์มาจำนวน 3 โฟลเดอร์ ดังนี้
ls -l
total 42185
drwxr-xr-x 3 tarauer tarausers 16384 Aug 12 2016 chem
drwxr-xr-x 16 tarauser tarausers 4096 Aug 12 2016 WRFV3
drwxr-xr-x 7 tsuwan tarausers 4096 Aug 12 2016 WPS
2.3 ทำการย้ายโฟลเดอร์ chem เข้าไปในโฟลเดอร์ WRFV3
mv chem WRFV3
2.4 ทำการเรียกใช้งานโปรแกรม netCDF-Fortran และ export ค่า เพื่อเตรียมสำหรับติดตั้ง WRF
module purge
mu
ml netCDF-Fortran/4.5.2-iimpi-2019b
ml libpng/1.6.37-GCCcore-8.3.0
ml JasPer/1.900.1-intel-2019b
export NETCDF=${EBROOTNETCDFMINFORTRAN:-${EBROOTNETCDF}}
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
export WRF_EM_CORE=1
export WRF_NMM_CORE=0
export WRF_CHEM=1
export JASPERINC=$EBROOTJASPER/include
export JASPERLIB=$EBROOTJASPER/lib
2.5 เข้าไปที่โฟลเดอร์ WRFV3 และ รันไฟล์ configure
กรณีมีความต้องการใช้งาน grib2 ใน WRF ให้ดำเนินการแก้ Config ตามข้างล่างก่อนรัน ./configure
cd WRFV3
vi arch/Config_new.pl
$I_really_want_to_output_grib2_from_WRF = "FALSE" ;
เป็น
$I_really_want_to_output_grib2_from_WRF = "TRUE" ;
หากไม่ต้องการใช้งาน grib2 ให้ทำการรัน configure ได้เลย
./configure
**หมายเหตุ เมื่อขึ้นหน้าที่ให้เลือก Option ของโปรแกรม WRF ให้ทำการเลือก 20 [Enter] , (dmpar) INTEL (ifort/icc): Xeon (SNB with AVX mods)
และ 1 [Enter] , 1=basic
ถ้าเสร็จเรียบร้อย จะได้ไฟล์ชื่อว่า configure.wrf
ls -al
-rw-r--r-- 1 tarauser tarausers 21222 Apr 7 10:55 configure.wrf
2.6 เข้าไปแก้ไขค่าในไฟล์ configure.wrf
vi configure.wrf
ทำการหา Parameter ที่มีชื่อว่า DM_FC และ DM_CC และปรับตั้งค่า ดังนี้
DM_FC = mpiifort -f90=$(SFC)
DM_CC = mpiicc -cc=$(SCC) -DMPI2_SUPPORT
2.7 เมื่อทำการปรับตั้งค่าเสร็จเรียบร้อย ทำการติดตั้งโปรแกรม WRF โดยใช้คำสั่ง
./compile em_real >& log.compile
2.8 เข้าไปที่โฟลเดอร์ WPS และทำการ export ค่า เพื่อเตรียมสำหรับติดตั้ง WPS
cd WPS
export WRF_DIR = ../WRFV3
2.9 รันไฟล์ clean และ configure
./clean
./configure
**หมายเหตุ เมื่อขึ้นหน้าที่ให้เลือก Option ของโปรแกรม WPS ให้ทำการเลือก 19 [Enter] , ( Linux x86_64, Intel compiler (dmpar))
ถ้าเสร็จเรียบร้อย จะได้ไฟล์ชื่อว่า configure.wps
ls -al
-rw-r--r-- 1 tarauser tarausers 21222 Apr 7 11:00 configure.wps
2.10 เข้าไปแก้ไขค่าในไฟล์ configure.wps
vi configure.wps
ทำการหา Parameter ที่มีชื่อว่า DM_FC และ DM_CC และปรับตั้งค่า ดังนี้
DM_FC = mpiifort -f90=ifort
DM_CC = mpiicc -cc=icc -DMPI2_SUPPORT
2.11 เมื่อทำการปรับตั้งค่าเสร็จเรียบร้อย ทำการติดตั้งโปรแกรม WPS โดยใช้คำสั่ง
./compile >& log.compile
**หมายเหตุ หากทำการติดตั้งโปรแกรมเสร็จสิ้นในโฟลเดอร์ WPS จะมีค่าขึ้นตามข้างล่างนี้
geogrid.exe -> geogrid/src/geogrid.exe
ungrib.exe -> ungrib/src/ungrib.exe
metgrid.exe -> metgrid/src/metgrid.exe
3. ตัวอย่าง script สำหรับ submit job เข้าใช้งานระบบ TARA
3.1 ทำการสร้าง script สำหรับ submit job เข้าระบบ TARA โดยใช้คำสั่ง
**หมายเหตุ script ที่สร้างต้องสร้างไว้ที่ path /WRFV3/test/em_real
cd /WRFV3/test/em_real
vi submit.sh
3.2 ระบุรายละเอียดตามตัวอย่างด้านล่าง โดยสามารถปรับเปลี่ยนได้ตามการใช้งาน (ดูรายละเอียดเพิ่มเติมได้ที่ การสั่งรัน Job ใน SLURM โดยใช้ script )
#!/bin/bash
#SBATCH -p compute
#SBATCH -N 2 --ntasks-per-node=40
#SBATCH -t 02:00:00
#SBATCH -J WRF_test
#SBATCH -A
module purge
mu
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
export JASPERINC=$EBROOTJASPER/include
export JASPERLIB=$EBROOTJASPER/lib
ulimit -s unlimited # ต้องมีคำสั่งนี้ใน script ไม่เช่นนั้นจะรัน WRF Error
srun ./real.exe # Run your program or executable code
srun ./wrf.exe
3.3 เมื่อเตรียม script (submit.sh) สำหรับรันงานและตรวจสอบ input files เสร็จเรียบร้อย ทำการ submit job เข้าระบบ โดยใช้คำสั่ง
sbatch submit.sh
ศูนย์ทรัพยากรคอมพิวเตอร์เพื่อการคำนวณขั้นสูง (NSTDA Supercomputer Center:
ThaiSC) เป็นหนึ่งในหน่วยงาน National S&T Infrastructure ของ สวทช. เพื่อสร้างโครง
สร้างพื้นฐานสนับสนุนการพัฒนาด้าน
วิทยาศาสตร์ เทคโนโลยีและนวัตกรรมที่
สำคัญของประเทศ โดยศูนย์ทรัพยากรคอมพิวเตอร์เพื่อการคำนวณขั้นสูงมุ่งเน้นการให้
บริการระบบคอมพิวเตอร์สมรรถนะสูง
(High Performance Computing: HPC) แก่
งานวิจัยด้านวิทยาศาสตร์เพื่อการคำนวณ
(Computational Science)
ที่อยู่: ทีม ThaiSC, ห้อง INC2A 301
144 อาคารกลุ่มนวัตกรรม 2 (INC2)
อุทยานวิทยาศาสตร์ประเทศไทย
ถนนพหลโยธิน ตำบลคลองหนึ่ง
อำเภอคลองหลวง จังหวัดปทุมธานี
12120
โทร: 0-2564-6900
อีเมล์: thaisc@nstda.or.th