WRF : inisialisasi WRF menggunakan WPS

Saat membuat postingan ini saya terus berpikir, apakah postingan tentang penjelasan penggunaan WPS saya jelaskan saja dalam 1 postingan atau saya bagi menjadi 3 bagian? Pada akhinya saya memutuskan untuk membuat postingan ini menjadi 1 bagian saja dan membahas habis tentang praktek WPS.

Melanjutkan postingan sebelumnya yang membahas penginstalan WRF, kali ini akan dibahas tentang cara pakainya.
Siklus software WRF ini terbagi 3, yaitu: preprocessing - processing - post procesing. Yang dibahas kali ini adalah bagian preprocessing (WPS). Pada bagian preprocessing sendiri terbagi 3 program yang mempunyai urusan masing-msing, yaitu:
- geogrid.exe
- ungrib.exe
- metgrid.exe
penggambaran hubungan antaran 3 program ini seperti ilustrasi gambar dibawah ini
Jadi, output dari geogrid.exe dan ungrib.exe akan menjadi input untuk metgrid.exe. Bagian ini akan fokus pada geogrid.exe. Pengenalan sedikit tentang geogrid.exe, program ini bertugas untuk menyediakan domain (wilayah) yang akan di gunakan untuk keperluan modeling WRF. Program ini mengambil input dari file geografi khusus yang di rancang untuk geogrid.exe, yang bisa di download disini dan kemudian akan menghasilkan file netCDF (*.nc). Untuk ungrib.exe, inputnya adalah file *.grib atau *.grib2 (*.grb atau *.grb2). Terakhir, metgrid.exe akan melakukan interpolasi dan menggabungkan output dari geogrid.exe dan ungrib.exe.


geogrid.exe

Sedikit perkenalan tentang program ini, geogrid.exe berfungsi untuk menset domain yang dinginkan untuk modeling WRF. Langkah pertama sebelum menjalankan geogrid.exe adalah menset namelist.wps. namelist.wps ini berisi konfigurasi untuk menjalankan WPS. Isinya bisa di download atau dilihat disini. Jadi dalam file ini konfigurasinya terbagi-bagi untuk 3 program besar tadi. Bagian yang harus di perhatikan untuk geogrid.exe adalah &share dan &geogrid saja. Bagian &share sesuai namanya untuk 3 program di WPS dan &geogrid untuk geogrid.exe sendiri.

Pada bagian &share, max_dom menunjuk pada banyaknya domain yang ingin digunakan. start_date dan end_date menunjuk untuk awal dan akhir dari  waktu yang akan di buat modelnya. Ketika menjalankan 3 program utama WPS, jangan pernah mengubah bagian &share ini karena ini merupakan konfigurasi bersama untuk 3 program utama WPS. Sisanya bisa di baca disini.

Defaultnya pada bagian &geogrid, map_proj-nya (view peta) adalah lambert. Untuk keperluan ini map_proj yang kita perlukan adalah mercator karena view dari mercator lebih simpel di bandingkan lambert. Lebih jauh tentang mercator bisa dibaca disini.

Pertanyaan selanjutnya, dengan semua settingan ini bagaimana cara kita mencari dan menetapkan wilayah indonesia untuk domain modeling kita? berdasarkan wikipedia, Indonesia berada pada 6º LU – 11º LS dan 95º BT - 141º BT. untuk itu kita set ref_lat dan ref_lon di tengah-tengah wilayah itu karena 2 variabel ini menetukan titik tengah dari domain kita. ref_lat untuk lintang dan ref_lon untuk bujur.

Kemudian set dy dan dx untuk mengatur jarak antar grid pada sumbu y dan sumbu x berurutan. Setelah setting jarak antar grid lalu set dimensi grid pada sumbu x dan sumbu y (seperti panjang x lebar pada persegi panjang) domain dengan variabel e_we dan e_sn. e_we untuk timur-barat dan e_sn untuk utara-selatan.

Lalu yang terakhir truelat1 yang menentukan garis lintang yang nilainya benar pada proyeksi peta. Ingat, bumi berbentuk bola yang mana ketika di proyeksikan dalam peta yang flat pasti akan ada penyimpangan skala pada proyeksi petanya. Itulah yang perlu di perhatikan, sisanya bisa dilihat disini dan penjelasan tiap variabel disini.

Setelah selesai setting, jalankan geogrid.exe dan limpahkan outputnya ke file log agar ketika ada error bisa di lacak.
./geogrid.exe >& geogrid.log
Tunggu beberapa saat sampai runningnya selesai. Jika runningnya sukses, di geogrid.log akan ada pesan:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!  Successful completion of geogrid.        !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Jika memakai namelist.wps yang ini, file output dari geogrid.exe adalah geo_em.d01.nc.

Untuk memastikan domain yang dipilih tidak salah, buka file outputnya menggunakan ncview. Jika belum terinstall, pada ubuntu 16.04 masukkan perintah
sudo apt update
sudo apt install ncview
emudian buka file output tadi
ncview geo_em.d01.nc
Pada ncview ini kita bisa melihat display parameter-parameter yang terdapat dalam filde netCDF, tapi tujuan kita kali ini hanya untuk memastikan bagaimana view petanya. Untuk melihat view petanya, klik pada 3d var atau 2d var dan pilih variabelnya apapun terserah. Klik pada option yang di lingkari merah seperti pada gambar di bawah ini.

Sebenarnya cara official untuk memastikan dari memastikan domain seperti ini bisa dengan plotgrids_new.ncl, tapi pada saat saya melakukan prakteknya yang terjadi malah error seperti dibawah ini (saya mencopy file dari util/plotgrids_new.ncl terlebih dahulu ke direktori WPS).
ncl util/plotgrids_new.ncl 
Copyright (C) 1995-2015 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.3.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
fatal:MapV41DHInitialize: dynamic memory allocation error:[errno=12]
fatal:MapV41DHInitialize: error initializing map outline records
 ERROR    2 IN MPLNRI/MDLNRI - Can't open the ".names" file
 ERROR    1 IN MPSETR - UNCLEARED PRIOR ERROR
 ERROR    1 IN MAPPOS - UNCLEARED PRIOR ERROR
 ERROR    1 IN MAPSTI - UNCLEARED PRIOR ERROR
 ERROR    1 IN MAPROJ - UNCLEARED PRIOR ERROR
 ERROR    2 IN MAPSET/MDPSET - UNCLEARED PRIOR ERROR
fatal:MapSetTrans: error initializing map: MAPINT - UNCLEARED PRIOR ERROR
warning:["SetValues.c":474]:SetValuesChild never occurred on wps_show_dom_map.PlotManager: Error in mapPlotClass
warning:tmXBBorderOn is not a valid resource in wps_show_dom_map at this time
warning:tmXTBorderOn is not a valid resource in wps_show_dom_map at this time
warning:tmYLBorderOn is not a valid resource in wps_show_dom_map at this time
warning:tmYRBorderOn is not a valid resource in wps_show_dom_map at this time
warning:tiMainString is not a valid resource in wps_show_dom_map at this time
Segmentation fault (core dumped)
Sampai saya meluncurkan postingan ini, saya masih belum mengetahui penyebabnya apa.


ungrib.exe

Program yang ini simply berfungsi untuk meng-ungrib file grib yang bisa di download dari sini yang akan mengahsilkan output spesial seperti FILE:2016-07-12_00 dan FILE:2016-07-12_03. Sebagai contoh, saya mendownload file ini dan ini. Yang perlu di perhatikan pada konfigurasi file namelist.wps disini hanya pada out_format dan prefix. out_format menentukan format output ungrib.exe. Defaultnya WPS dan itu yang kita inginkan. prefix sesuai namanya, menentukan nama depan pada output ungrib.exe. pada bagian &share di namelist.wps, variabel yang vital bagi ungrib adalah start_date, end_date dan interval_seconds (sesuai namanya ini di isi dalam satuan detik). Ketika data yang dimiliki adalah data jam 00.00 dan 03.00 tapi interval_seconds di isi 3600, maka ungrib.exe akan menghasilkan output untuk jam 00.00, 01.00, 02.00, dan 03.00. How? ungrib.exe melakukan interpolasi untuk menghasilkan data itu. Akan tetapi saya lebih menyarankan interval_seconds di atur sesuai dengan jarak jam antar data agar tidak ada interpolasi dan lebih akurat.

Langkah awal adalah me-link Vtable ke direktori WPS. Asumsi sekarang berada di direktori WPS.
pwd
/home/genomexyz/WRF/Build_WRF/WPS
maka untuk me-link bisa dengan cara:
ln -s ungrib/Variable_Tables/Vtable.GFS Vtable
Vtable tersedia dengan banyak jenis sesuai kebutuhan. Karena kebetulan data grib yang dipakai adalah model GFS maka digunakanlah Vtable.GFS.

Langkah selanjutnya, me-link file grib yang telah di download ke direktori WPS. Asumsi file tadi yang telah di download masuk ke direktori /home/genomexyz/closer, kita lihat isi direktorinya.
ls -l /home/genomexyz/closer
-rw-rw-r-- 1 genomexyz genomexyz 62825385 Jul 14 21:26 gfs_4_20160712_0000_000.grb2
-rw-rw-r-- 1 genomexyz genomexyz 69480480 Jul 15 11:59 gfs_4_20160712_0000_003.grb2
Terlihat disitu nama depan dari file yang telah didownload adalah gfs,  maka untuk me-link semua file ini ke direktori WPS menggunakan perintah:
./link_grib.csh /home/genomexyz/closer/gfs*
lalu jalankan ungrib.exe
 ./ungrib.exe >& ungrib.output
Jika sukses, maka pada ungrib.output akan terlihat seperti ini:
2016-07-15 14:20:28.946 --- ****  Done deleting temporary files.
2016-07-15 14:20:28.946 ---  *** Successful completion of program ungrib.exe ***
Jika seadainya error, file log akan sangat membantu untuk mengetahui dimana letak kesalahan yang terjadi, untuk itulah saya selalu melimpahkan output dari program WPS ke sebuah file log.

Output dari program ini yang terlihat adalah
ls -l
drwxr-xr-x 2 genomexyz genomexyz      4096 Apr  8 06:39 arch
-rwxr-xr-x 1 genomexyz genomexyz      1735 Apr 19  2013 clean
-rwxr-xr-x 1 genomexyz genomexyz      4105 Apr 19  2013 compile
-rwxr-xr-x 1 genomexyz genomexyz     11514 Okt  3  2013 configure
-rw-rw-r-- 1 genomexyz genomexyz      3252 Jul 10 21:50 configure.wps
-rw-rw-r-- 1 genomexyz genomexyz 194463544 Jul 15 14:20 FILE:2016-07-12_00
-rw-rw-r-- 1 genomexyz genomexyz 194463544 Jul 15 14:20 FILE:2016-07-12_03
-rw-rw-r-- 1 genomexyz genomexyz  37640492 Jul 15 14:07 geo_em.d01.nc
drwxr-xr-x 4 genomexyz genomexyz      4096 Jul 10 21:58 geogrid
lrwxrwxrwx 1 genomexyz genomexyz        23 Jul 10 21:58 geogrid.exe -> geogrid/src/geogrid.exe
-rw-rw-r-- 1 genomexyz genomexyz     11605 Jul 15 14:07 geogrid.log
lrwxrwxrwx 1 genomexyz genomexyz        51 Jul 15 12:06 GRIBFILE.AAA -> /home/genomexyz/closer/gfs_4_20160712_0000_000.grb2
lrwxrwxrwx 1 genomexyz genomexyz        51 Jul 15 12:06 GRIBFILE.AAB -> /home/genomexyz/closer/gfs_4_20160712_0000_003.grb2
lrwxrwxrwx 1 genomexyz genomexyz        51 Jul 15 12:06 GRIBFILE.AAC -> /home/genomexyz/closer/gfs_4_20160712_0000_006.grb2
-rwxr-xr-x 1 genomexyz genomexyz      1331 Jun 18  2015 link_grib.csh
-rw-rw-r-- 1 genomexyz genomexyz     10053 Jul 10 21:58 log.compile
drwxr-xr-x 3 genomexyz genomexyz      4096 Jul 10 21:58 metgrid
lrwxrwxrwx 1 genomexyz genomexyz        23 Jul 10 21:58 metgrid.exe -> metgrid/src/metgrid.exe
-rw-rw-r-- 1 genomexyz genomexyz     82528 Jul 15 14:20 metgrid.log
-rw-r--r-- 1 genomexyz genomexyz      1410 Jul 15 13:21 namelist.wps
-rw-r--r-- 1 genomexyz genomexyz      2887 Jan 12  2016 namelist.wps.all_options
-rwxr-xr-x 1 genomexyz genomexyz      2079 Jan 12  2016 namelist.wps.fire
-rw-r--r-- 1 genomexyz genomexyz      1810 Jan 12  2016 namelist.wps.global
-rw-r--r-- 1 genomexyz genomexyz       656 Apr  5  2014 namelist.wps.nmm
-rw-r--r-- 1 genomexyz genomexyz      7091 Jul 13 18:42 plotgrids.ncl
-rw-r--r-- 1 genomexyz genomexyz      7541 Jul 13 03:08 plotgrids_new.ncl
-rw-r--r-- 1 genomexyz genomexyz      6346 Apr  8 01:57 README
drwxr-xr-x 4 genomexyz genomexyz      4096 Jul 10 21:58 ungrib
lrwxrwxrwx 1 genomexyz genomexyz        21 Jul 10 21:58 ungrib.exe -> ungrib/src/ungrib.exe
-rw-rw-r-- 1 genomexyz genomexyz    686274 Jul 15 14:20 ungrib.log
-rw-rw-r-- 1 genomexyz genomexyz     49170 Jul 15 14:20 ungrib.output
drwxr-xr-x 3 genomexyz genomexyz      4096 Jul 13 09:24 util
lrwxrwxrwx 1 genomexyz genomexyz        33 Jul 15 11:52 Vtable -> ungrib/Variable_Tables/Vtable.GFS
Yang merupakan outputnya adalah
-rw-rw-r-- 1 genomexyz genomexyz 194463544 Jul 15 14:20 FILE:2016-07-12_00
-rw-rw-r-- 1 genomexyz genomexyz 194463544 Jul 15 14:20 FILE:2016-07-12_03

metgrid.exe

Ini merupakan program terakhir dari WPS berfungsi untuk menggabungkan output dari geogrid.exe dan ungrib.exe dan menginterpolasi datanya. Jika 2 program tadi berjalan mulus, kali ini tentu tidak akan ada masalah.
 ./metgrid.exe >& metgrid.log
dan file outputnya adalah
ls -l
drwxr-xr-x 2 genomexyz genomexyz      4096 Apr  8 06:39 arch
-rwxr-xr-x 1 genomexyz genomexyz      1735 Apr 19  2013 clean
-rwxr-xr-x 1 genomexyz genomexyz      4105 Apr 19  2013 compile
-rwxr-xr-x 1 genomexyz genomexyz     11514 Okt  3  2013 configure
-rw-rw-r-- 1 genomexyz genomexyz      3252 Jul 10 21:50 configure.wps
-rw-rw-r-- 1 genomexyz genomexyz 194463544 Jul 15 14:20 FILE:2016-07-12_00
-rw-rw-r-- 1 genomexyz genomexyz 194463544 Jul 15 14:20 FILE:2016-07-12_03
-rw-rw-r-- 1 genomexyz genomexyz  37640492 Jul 15 14:07 geo_em.d01.nc
drwxr-xr-x 4 genomexyz genomexyz      4096 Jul 10 21:58 geogrid
lrwxrwxrwx 1 genomexyz genomexyz        23 Jul 10 21:58 geogrid.exe -> geogrid/src/geogrid.exe
-rw-rw-r-- 1 genomexyz genomexyz     11605 Jul 15 14:07 geogrid.log
lrwxrwxrwx 1 genomexyz genomexyz        51 Jul 15 12:06 GRIBFILE.AAA -> /home/genomexyz/closer/gfs_4_20160712_0000_000.grb2
lrwxrwxrwx 1 genomexyz genomexyz        51 Jul 15 12:06 GRIBFILE.AAB -> /home/genomexyz/closer/gfs_4_20160712_0000_003.grb2
lrwxrwxrwx 1 genomexyz genomexyz        51 Jul 15 12:06 GRIBFILE.AAC -> /home/genomexyz/closer/gfs_4_20160712_0000_006.grb2
-rwxr-xr-x 1 genomexyz genomexyz      1331 Jun 18  2015 link_grib.csh
-rw-rw-r-- 1 genomexyz genomexyz     10053 Jul 10 21:58 log.compile
-rw-rw-r-- 1 genomexyz genomexyz  70758100 Jul 15 14:20 met_em.d01.2016-07-12_00:00:00.nc
-rw-rw-r-- 1 genomexyz genomexyz  70758100 Jul 15 14:20 met_em.d01.2016-07-12_03:00:00.nc
drwxr-xr-x 3 genomexyz genomexyz      4096 Jul 10 21:58 metgrid
lrwxrwxrwx 1 genomexyz genomexyz        23 Jul 10 21:58 metgrid.exe -> metgrid/src/metgrid.exe
-rw-rw-r-- 1 genomexyz genomexyz     82528 Jul 15 14:20 metgrid.log
-rw-r--r-- 1 genomexyz genomexyz      1410 Jul 15 13:21 namelist.wps
-rw-r--r-- 1 genomexyz genomexyz      2887 Jan 12  2016 namelist.wps.all_options
-rwxr-xr-x 1 genomexyz genomexyz      2079 Jan 12  2016 namelist.wps.fire
-rw-r--r-- 1 genomexyz genomexyz      1810 Jan 12  2016 namelist.wps.global
-rw-r--r-- 1 genomexyz genomexyz       656 Apr  5  2014 namelist.wps.nmm
-rw-r--r-- 1 genomexyz genomexyz      7091 Jul 13 18:42 plotgrids.ncl
-rw-r--r-- 1 genomexyz genomexyz      7541 Jul 13 03:08 plotgrids_new.ncl
-rw-r--r-- 1 genomexyz genomexyz      6346 Apr  8 01:57 README
drwxr-xr-x 4 genomexyz genomexyz      4096 Jul 10 21:58 ungrib
lrwxrwxrwx 1 genomexyz genomexyz        21 Jul 10 21:58 ungrib.exe -> ungrib/src/ungrib.exe
-rw-rw-r-- 1 genomexyz genomexyz    686274 Jul 15 14:20 ungrib.log
-rw-rw-r-- 1 genomexyz genomexyz     49170 Jul 15 14:20 ungrib.output
drwxr-xr-x 3 genomexyz genomexyz      4096 Jul 13 09:24 util
lrwxrwxrwx 1 genomexyz genomexyz        33 Jul 15 11:52 Vtable -> ungrib/Variable_Tables/Vtable.GFS
yaitu :
-rw-rw-r-- 1 genomexyz genomexyz  70758100 Jul 15 14:20 met_em.d01.2016-07-12_00:00:00.nc
-rw-rw-r-- 1 genomexyz genomexyz  70758100 Jul 15 14:20 met_em.d01.2016-07-12_03:00:00.nc
Setelah kita menjalankan 3 program WPS ini maka selesai sudah fase preprocessing. Selanjutnya adalah fase yang sebenarnya (processing) yang tidak akan di bahas disini. 

Sekian running dari fase preprocessing yang menurut pengalaman saya dan sebagai catatan untuk diri saya sendiri, jujur ketika menulis ini saya masih kurang percaya diri karena pengetahuan saya masih minim. Jika ada saran atau kritik silahkan tinggalkan di komentar dan selanjutnya mungkin akan dibahas tentang fase utamanya (processing).

referensi:
http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_V3/users_guide_chap3.htm
http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Basics/
https://en.wikipedia.org/wiki/Mercator_projection
https://www.ncdc.noaa.gov/data-access/model-data/model-datasets/global-forcast-system-gfs
https://ms.wikipedia.org/wiki/Geografi_Indonesia

Komentar