Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

คู่มอื การติดตั้ง WRF Model

บน CentOS Version 7

ของ กลุ่มงานระบบคอมพิวเตอร์และระบบเครือข่าย

ฝ่ายวิจัยและพัฒนา

สถาบันสารสนเทศทรัพยากรน้้าและการเกษตร (องค์การมหาชน)

กลุ่มงานระบบคอมพิวเตอร์และระบบเครือข่าย 18 พฤษภาคม 2560


สารบัญ
1. วัตถุประสงค์..............................................................................................................................................................4
2. ขอบเขต.....................................................................................................................................................................4
3. ค้าจ้ากัดความ............................................................................................................................................................4
4. อุปกรณ์ที่ใช้งาน.........................................................................................................................................................4
5. ขั้นตอนการติดตั้ง......................................................................................................................................................5
5.1. เปิดโปรแกรม ssh client เพื่อติดต่อไป Linux CentOS.................................................................................5
5.2. ติดตั้งโปรแกรม gcc..........................................................................................................................................5
5.3. ติดตั้งโปรแกรม cpp.........................................................................................................................................5
5.4. ติดตั้งโปรแกรม gfortran..................................................................................................................................5
5.5. ติดตั้งโปรแกรมอื่นที่ต้องการ.............................................................................................................................5
5.6. โครงสร้างของระบบ Directory........................................................................................................................5
5.7. ติดตั้ง Library ทีต่ ้องการ..................................................................................................................................6
5.7.1 ติดตั้ง Library netcdf..............................................................................................................................6
5.7.2 ติดตั้ง Library mpich..............................................................................................................................7
5.7.3 ติดตั้ง Library zlib...................................................................................................................................8
5.7.4 ติดตั้ง Library libpng..............................................................................................................................8
5.7.5 ติดตั้ง Library Jasper..............................................................................................................................9
5.7.6 ติดตั้ง Library ncal................................................................................................................................10
5.8. ติดตั้ง WRF.....................................................................................................................................................10
5.8.1 ติดตั้ง WRF.............................................................................................................................................10
5.8.2 ติดตั้ง WPS.............................................................................................................................................11
5.9. สร้าง Geography Data................................................................................................................................13
5.10. สร้าง Real-time Data................................................................................................................................13
5.11. Run WPS and WRFV3..............................................................................................................................13
5.11.1. Running WPS....................................................................................................................................13
5.11.2. Running WRF....................................................................................................................................15
5.11.3. ดูข้อมูลในไฟล์ wrfout........................................................................................................................16
5.11.4. สร้าง pdf จากข้อมูล wrfout..............................................................................................................17
5.12. สรุปการติดตั้ง...............................................................................................................................................18
คู่มือการติดตั้ง WRF Model บน CentOS Version 7

1. วัตถุประสงค์
เพื่อให้เข้าใจการติดตั้ง WRF Model บน CentOS

2. ขอบเขต
การติดตั้ง WRF Model บน CentOS Version 7

3. คำาจำากัดความ
CentOS คือ ปฎิบัติการ Linux
WRF Model ย่อจาก Weather Research Forecast Model เป็นแบบจ้าลองสภาพอากาศสามารถท้านาย สถาพอา
กาศ ทิศทางของอากาศ ได้

4. อุปกรณ์ที่ใช้งาน
4.1. Linux CentOS มีพื้นที่ไม่น้อยกว่า 20G (http://hydro.haii.or.th/tmp/Centos7-mini.ova)
5. ขั้นตอนการติดตั้ง

5.1. เปิดโปรแกรม ssh client เพื่อติดต่อไป Linux CentOS


ssh root@192.168.11.174
* ถ้าคุณใช้ Virtual Box ให้ Configure Port Forwarding ใน Settings→Network ดังนี้

ตอนติดต่อให้ใช้ ssh root@127.0.0.1 -p 2222 แทน

5.2. ติดตั้งโปรแกรม gcc


ให้ install gcc ด้วยค้าสั่ง
yum install gcc

5.3. ติดตั้งโปรแกรม cpp


ให้ install cpp ด้วยค้าสั่ง
yum install cpp gcc-c++

5.4. ติดตั้งโปรแกรม gfortran


ให้ install gfortran ด้วยค้าสั่ง
yum install gcc-gfortran

5.5. ติดตั้งโปรแกรมอื่นที่ต้องการ
ให้ install ด้วยค้าสั่ง
yum install unzip bzip2 time nfs-utils perl tcsh wget m4 mlocate.x86_64 libX11-
devel.x86_64 libXext-devel.x86_64 libXrender-devel.x86_64 fontconfig-devel.x86_64
5.6. โครงสร้างของระบบ Directory
Build_WRF Directory หลัก
|--LIBRARIES Directory เก็บ Library ที่ใช้งาน
|--geos Directory เก็บ Geography Data
|--DATA Directory เก็บ Real-time Data
|--src Directory เก็บ Source Code

5.7. ติดตั้ง Library ที่ต้องการ


Library ที่ต้องการประกอบด้วย
 netcdf
 mpich
 zlib
 libpng
 Jasper

5.7.1 ติดตั้ง Library netcdf


ก้าหนดตัวแปร
export DIR=/root/Build_WRF/LIBRARIES
export CC=gcc
export CXX=g++
export FC=gfortran
export FCFLAGS='-m64'
export F77=gfortran
export FFLAGS='-m64'

ย้ายไปยัง Directory ทีจ่ ะ Complie


mkdir -p /root/Build_WRF/src
cd /root/Build_WRF/src

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/netcdf-4.1.3.tar.gz
# หรือสามารถ Download ได้ที่ ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.3.tar.gz
แตก Source Code และ Compile
tar xzvf netcdf-4.1.3.tar.gz
cd netcdf-4.1.3
./configure --prefix=$DIR/netcdf --disable-dap --disable-netcdf-4 --disable-shared
make -j2
make install

สร้างตัวแปรให้ระบบ

vi ~/.bash_profile
พิมพ์
### netcdf
export PATH=/root/Build_WRF/LIBRARIES/netcdf/bin:$PATH
export NETCDF=/root/Build_WRF/LIBRARIES/netcdf

สั่งให้ตัวแปรท้างาน
source ~/.bash_profile

5.7.2 ติดตั้ง Library mpich


ย้ายไปยัง Directory ทีจ่ ะ Complie
cd /root/Build_WRF/src

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/mpich-3.2.tar.gz
# หรือ wget https://www.mpich.org/static/downloads/3.2/mpich-3.2.tar.gz

แตก Source Code และ Compile


tar -xzvf mpich-3.2.tar.gz
cd mpich-3.2
./configure --prefix=$DIR/mpich
make -j2
make install
สร้างตัวแปรให้ระบบ
vi ~/.bash_profile
พิมพ์
### mpich
export PATH=/root/Build_WRF/LIBRARIES/mpich/bin:$PATH

สั่งให้ตัวแปรท้างาน
source ~/.bash_profile

5.7.3 ติดตั้ง Library zlib


ก้าหนดตัวแปร
export LDFLAGS='-L$DIR/grib2/lib'
export CPPFLAGS='-I$DIR/grib2/include'

ย้ายไปยัง Directory ทีจ่ ะ Complie


cd /root/Build_WRF/src

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/zlib-1.2.8.tar.gz
# หรือ wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz

แตก Source Code และ Compile


tar xzvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=$DIR/grib2
make -j2
make install

5.7.4 ติดตั้ง Library libpng


ย้ายไปยัง Directory ทีจ่ ะ Complie
cd /root/Build_WRF/src

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/libpng-1.6.29.tar.gz
# หรือ wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng16/libpng-1.6.29.tar.gz
แตก Source Code และ Compile
tar xzvf libpng-1.6.29.tar.gz
cd libpng-1.6.29
export LDFLAGS="-L$DIR/grib2/lib"
export CPPFLAGS="-I$DIR/grib2/include"
./configure --prefix=$DIR/grib2
make -j2
make install
สร้างตัวแปรให้ระบบ
vi ~/.bash_profile
พิมพ์
### libpng
export LD_LIBRARY_PATH=/root/Build_WRF/LIBRARIES/grib2/lib:$LD_LIBRARY_PATH

สั่งให้ตัวแปรท้างาน
source ~/.bash_profile

5.7.5 ติดตั้ง Library Jasper


ย้ายไปยัง Directory ทีจ่ ะ Complie
cd /root/Build_WRF/src

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/jasper-1.900.1.zip
# พิมพ์ wget http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-1.900.1.zip

แตก Source Code และ Compile


unzip jasper-1.900.1.zip
cd jasper-1.900.1
./configure --prefix=$DIR/grib2
make -j2
make install
สร้างตัวแปรให้ระบบ
vi ~/.bash_profile
พิมพ์
### jasper
export PATH=/root/Build_WRF/LIBRARIES/grib2/bin:$PATH

สั่งให้ตัวแปรท้างาน
source ~/.bash_profile

5.7.6 ติดตั้ง Library ncal


ย้ายไปยัง Directory ทีจ่ ะ Complie
cd /root/Build_WRF/src

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/ncl_ncarg-6.4.0-CentOS7.3_64bit_gnu485.tar.gz
# หรือ Download ได้ที่ https://www.earthsystemgrid.org/dataset/ncl.640.dap/file.html

แตก File
mkdir -p /root/Build_WRF/LIBRARIES/ncl
cd /root/Build_WRF/LIBRARIES/ncl
tar -xvzf /root/Build_WRF/src/ncl_ncarg-6.4.0-CentOS7.3_64bit_gnu485.tar.gz

สร้างตัวแปรให้ระบบ
vi ~/.bash_profile
พิมพ์
### ncal
export NCARG_ROOT=/root/Build_WRF/LIBRARIES/ncl
export PATH=$NCARG_ROOT/bin:$PATH

สั่งให้ตัวแปรท้างาน
source ~/.bash_profile
5.8. ติดตั้ง WRF
5.8.1 ติดตั้ง WRF
สร้างตัวแปรให้ระบบ
vi ~/.bash_profile
พิมพ์
### WRF
ulimit -s unlimited
export MALLOC_CHECK_=0
export WRF_EM_CORE=1
export WRFIO_NCD_LARGE_FILE_SUPPORT=1

สั่งให้ตัวแปรท้างาน
source ~/.bash_profile

ย้ายไปยัง Directory ทีจ่ ะ Complie


mkdir -p /root/Build_WRF/
cd /root/Build_WRF/

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/WRFV3.9.TAR.gz
# หรือ wget http://www2.mmm.ucar.edu/wrf/src/WRFV3.9.TAR.gz

แตก Source Code และ Configure


tar -xvzf WRFV3.9.TAR.gz
cd WRFV3
./configure

ให้เลือกข้อ 35. (dm+sm) GNU (gfortran/gcc)


Enter selection [1-71] : 35. (dm+sm) GNU (gfortran/gcc)
ให้เลือก 1
Compile for nesting? (1=basic, 2=preset moves, 3=vortex following) [default 1]: 1

ท้าการ Complie
./compile em_real >& log.compile
รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
ls -lah main/*.exe
ถ้าพบไฟล์ real.exe และ wrf.exe แสดงว่าถูกต้องหากไม่พบให้ตรวจสอบ Error ในไฟล์ log.compile

5.8.2 ติดตั้ง WPS


ย้ายไปยัง Directory ทีจ่ ะ Complie
cd /root/Build_WRF/

ให้ Download Source Code มาติดตั้ง


wget http://hydro.haii.or.th/tmp/WRF/WPSV3.9.TAR.gz
# หรือ wget http://www2.mmm.ucar.edu/wrf/src/WPSV3.9.TAR.gz

แตก Source Code


tar -xvzf WPSV3.9.TAR.gz

ก้าหนดตัวแปร
cd WPS
export JASPERLIB=$DIR/grib2/lib
export JASPERINC=$DIR/grib2/include

ท้าการ Configure
./configure

ให้เลือกข้อ 3. Linux x86_64, gfortran (dmpar)


Enter selection [1-40] : 3. Linux x86_64, gfortran (dmpar)

แก้ไขไฟล์ configure.wps
vi configure.wps

DM_FC = mpif90 -f90=gfortran


เป็น
DM_FC = mpif90

แก้ไขไฟล์ configure.wps เพิ่ม -lgomp และแก้ไข DM_FC


WRF_LIB = -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
-L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
-L$(WRF_DIR)/external/io_int -lwrfio_int \
-L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
-L$(NETCDF)/lib -lnetcdff -lnetcdf -lgomp

DM_FC = mpif90

ท้าการ Complie
./compile >& log.compile

รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
ls -lah *.exe
ถ้าพบไฟล์ geogrid.exe metgrid.exe และ ungrib.exe แสดงว่าถูกต้องหากไม่พบให้ตรวจสอบ Error ในไฟล์
log.compile

5.9. สร้าง Geography Data


ย้ายไปยัง Directory ทีจ่ ะติดตั้ง Grography Data
cd /root/Build_WRF

ให้ Download Data จาก


wget http://hydro.haii.or.th/tmp/WRF/geog/geog_complete.tar.bz2
# หรือ wget http://www2.mmm.ucar.edu/wrf/src/wps_files/geog_complete.tar.bz2

แตก Data
tar -xvjf geog_complete.tar.bz2
หรือในที่นี้ให้ mount จากเครื่อง linuxhpc-dev1.haii.or.th เนื้องจาก Data ใหญ่มาก
cd ; mkdir -p /root/Build_WRF/geog ; mount linuxhpc-dev1.haii.or.th:/mnt/data/model-
data/geog_v3.9/ /root/Build_WRF/geog/ ; sleep 5 ; df -hP

5.10. สร้าง Real-time Data


ย้ายไปยัง Directory ทีจ่ ะติดตั้ง Real-time Data
mkdir -p /root/Build_WRF/DATA
cd /root/Build_WRF/DATA

Download Data
wget http://hydro.haii.or.th/tmp/WRF/gfs.t00z.pgrb2.0p50.f000
wget http://hydro.haii.or.th/tmp/WRF/gfs.t00z.pgrb2.0p50.f006
หรือ
wget ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2017051700/gfs.t00z.pgrb2.0p50.f000
wget ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2017051700/gfs.t00z.pgrb2.0p50.f006

5.11. Run WPS and WRFV3


5.11.1. Running WPS
ย้ายไปยัง Directory ทีจ่ ะติดตั้ง WPS
cd /root/Build_WRF/WPS

ให้ Download namelist.wps จาก http://hydro.haii.or.th/tmp/WRF/namelist.wps


rm namelist.wps
wget http://hydro.haii.or.th/tmp/WRF/namelist.wps

แก้ไขไฟล์ namelist.wps ในส่วนของ max_dom, start_date, end_date ตาม Real-time Data ที่ Download
มา และ geog_data_path ตาม Geography Data
vi namelist.wps
&share
wrf_core = 'ARW',
max_dom = 1,
start_date = '2017-05-17_00:00:00','2006-08-16_12:00:00',
end_date = '2017-05-17_06:00:00','2006-08-16_12:00:00',
interval_seconds = 10800
io_form_geogrid = 2,
/

geog_data_path = '/root/Build_WRF/geog/'

สร้าง Geography Data


./geogrid.exe

รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
ls -lah geo_em.d01.nc
ถ้าพบไฟล์ geo_em.d01.nc แสดงว่าถูกต้อง

เชื่อม Real-time Data มาที่ WPS


./link_grib.csh /root/Build_WRF/DATA/gfs.t00z.pgrb2.0p50.f0*

สร้าง Vtable
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable

สร้างไพล์ grib
./ungrib.exe

รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
ls -lah FILE*
ถ้าพบไฟล์ FILE* แสดงว่าถูกต้อง

ส้รางไฟล์ met
./metgrid.exe

รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
ls -lah met_em.*
ถ้าพบไฟล์ met_em.* แสดงว่าถูกต้อง

5.11.2. Running WRF


ย้ายไปยัง Directory ทีจ่ ะติดตั้ง WRF
cd /root/Build_WRF/WRFV3/test/em_real/

เชื่อมไฟล์ met ของ WPS


ln -sf /root/Build_WRF/WPS/met_em* .

ให้ Download namelist.input จาก http://hydro.haii.or.th/tmp/WRF/namelist.input


rm namelist.input
wget http://hydro.haii.or.th/tmp/WRF/namelist.input

แก้ไขไฟล์ namelist.input ในส่วนของ run_hours, start_year, start_month, start_day, start_hour,


end_year, end_month, end_day, end_hour และ num_metgrid_levels
vi namelist.input
&time_control
run_days = 0,
run_hours = 6,
run_minutes = 0,
run_seconds = 0,
start_year = 2017, 2000, 2000,
start_month = 05, 01, 01,
start_day = 17, 24, 24,
start_hour = 00, 12, 12,
start_minute = 00, 00, 00,
start_second = 00, 00, 00,
end_year = 2017, 2000, 2000,
end_month = 05, 01, 01,
end_day = 17, 25, 25,
end_hour = 06, 12, 12,
end_minute = 00, 00, 00,
end_second = 00, 00, 00,
interval_seconds = 10800

&domains
time_step = 150,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
e_we = 74, 112, 94,
e_sn = 61, 97, 91,
e_vert = 30, 30, 30,
p_top_requested = 5000,
num_metgrid_levels = 32,

สร้าง real case


mpirun -np 1 ./real.exe

รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
tail rsl.error.0000
ถ้าพบ real_em: SUCCESS COMPLETE REAL_EM INIT แสดงว่าถูกต้อง
ตรวจสอบผลลัพธ์ด้วย
ls -alh wrfbdy_d01 wrfinput_d01
ถ้าพบไฟล์ wrfbdy_d01 และ wrfinput_d01 แสดงว่าถูกต้อง

สร้าง WRF
mpirun -np 2 ./wrf.exe

รอจนเสร็จ แล้วตรวจสอบด้วยค้าสั่ง
tail rsl.error.0000
ถ้าพบ wrf: SUCCESS COMPLETE WRF แสดงว่าถูกต้อง
ตรวจสอบผลลัพธ์ด้วย
ls -alh wrfout_*
ถ้าพบไฟล์ wrfout_* แสดงว่าถูกต้อง
5.11.3. ดูข้อมูลในไฟล์ wrfout
ncdump -v Times wrfout_d01*
ncdump -v U wrfout_d01*
***ถ้าคุณ mount geog ให้ umount /root/Build_WRF/geog/ ด้วย

5.11.4. สร้าง pdf จากข้อมูล wrfout


ย้ายไปยัง Directory ทีจ่ ะท้างาน
cd /root/Build_WRF/

ให้ Download ncl script มาก่อน


wget http://hydro.haii.or.th/tmp/WRF/wrf_Precip.ncl
# หรือ Download
จาก http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/Examples/PRECIP/wrf_Precip.ht
m

แก้ไข ncl script ส่วนของ a ให้ชี้ไปที่ wrfout ที่ได้มา


vi wrf_Precip.ncl
begin
;
; The WRF ARW input file.
; This needs to have a ".nc" appended, so just do it.
a = addfile("/root/Build_WRF/WRFV3/test/em_real/wrfout_d01_2017-05-17_00:00:00","r")

สร้าง PDF ด้วยค้าสั่ง


ncl wrf_Precip.ncl

จะได้ PDF ชื่อ plt_Precip.pdf

5.12. สรุปการติดตั้ง

You might also like