Tuesday, April 22, 2014

Meteo #8 - Cara Menjalankan Model WRF-EMS (Part 1 - Set Your Timezone)

Pada tulisan sebelumnya, saya telah berbagi cara melakukan instalasi model WRF-EMS di Linux via VMware Player. Kali ini saya akan mencoba memaparkan bagaimana cara menjalankan makhluk yg bernama WRF-EMS ini.

Langkah pertama yang saya lakukan sebelum menjalankan model adalah melakukan konfigurasi zona waktu

Konfigurasi zona waktu ini sebenarnya tidak mutlak harus dilakukan, karena model masih bisa berjalan tanpanya. Namun, pemahaman tentang zona waktu ini akan sangat membantu pada saat kita akan melakukan konfigurasi lanjut ketika menjalankan model, terutama yang berhubungan dengan waktu awal dan berapa lama prediksi yang akan dilakukan.

Secara default, WRF-EMS akan melakukan prediksi dengan waktu awal (initial time) terbaru, dengan lama prediksi (boundary condition) 24 jam, menggunakan time cycle pada 00,06,12 dan 18 UTC (ingat, zona waktunya UTC). WRF-EMS akan mengakses data sesuai dengan waktu pada sistem PC anda, dan di sinilah masalah biasanya muncul. Umumnya pada saat instalasi linux, pengguna lebih banyak memperhatikan jam daripada zona waktu itu sendiri. Akibatnya, tidak jarang, zona waktu tersebut tidak sesuai dengan lokasi si pengguna. Hal ini akan berujung pada 'kebingungan' pada saat menentukan waktu awal dan akhir prediksi.

Misalnya, lokasi anda ada di Papua dan waktu setempat sekarang jam 02:00 pagi, tapi zona waktu anda menggunakan WIB (GMT+7), bukan WIT (GMT+9). Dengan kondisi ini, WRF-EMS akan menganggap sekarang jam 19 UTC, bukan 17 UTC. Karena WRF-EMS akan mengakses data terbaru (pada 00,06,12 atau 18 UTC) dan saat ini (menurut si model) adalah jam 19 UTC, maka model akan mengunduh data terbaru yg telah diproses dari server (GFS misalnya), yaitu data pada jam 18 UTC. Tentunya data 18 UTC tersebut tidak akan pernah bisa diunduh, karena waktu saat ini sebenarnya adalah jam 17 UTC. 

Jadi, konfigurasi zona waktu sebelum melakukan eksekusi model sangatlah penting, terutama apabila anda akan menjalankan model secara real-time.

Untuk melihat zona waktu yang digunakan sistem, disarankan melalui terminal, bukan GUI. Buka terminal, lalu ketikkan perintah date pada shell. Misalnya anda saat ini berada di Jakarta, waktu setempat menunjukkan pukul 18:49, dan perintah tadi menghasilkan : 

Tue Apr 22 18:49:58 WIB 2014
maka, anda tidak perlu melakukan konfigurasi zona waktu lagi, karena model akan menganggap saat ini adalah pukul 11:49 UTC. Pada kasus lain misalnya, hasil yang ditunjukkan adalah :

Tue Apr 22 18:49:58 PDT 2014

Ini menunjukkan bahwa zona waktu anda adalah PDT (Pacific Daylight Time), dan model akan mengganggap saat ini adalah pukul 18:49 UTC. Anda harus melakukan konfigurasi zona waktu ulang, karena waktu yang sebenarnya saat ini adalah 11:49 UTC, bukan 18:49 UTC.

Untuk melakukan konfigurasi ulang zona waktu lakukan hal berikut :
  1. Buka terminal dan ketikkan : ls /usr/share/zoneinfo/Asia
  2. Pastikan lokasi anda terwakili oleh file nama kota yang ada dalam direktori tersebut. Misalnya anda di Bandung (GMT+7), maka pastikan Jakarta atau Bangkok (keduanya mewakili zona waktu GMT+7) ada ada dalam direktori.
    Jakarta ada di sana nggak ?
  3. Hubungkan (link) file informasi zona waktu dari lokasi tadi dengan file localtime di direktori /etc/localtime dengan perintah : ln -sf /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
  4. Jalankan kembali perintah date. Bila tidak ada kesalahan, maka zona waktu anda seharusnya akan berubah menjadi WIB.

Bila zona waktu sudah benar, maka langkah berikutnya adalah mempersiapkan data model untuk eksekusi (initial time, boundary condition, cycles dll) pada tulisan selanjutnya :-)

Tuesday, April 15, 2014

Meteo #7 - Cara Instalasi Model Prediksi Cuaca WRF-EMS di Linux via VMware Player

WRF (the Weather Research and Forecasting) adalah salah satu model numerik yang paling populer digunakan untuk prediksi cuaca (NWP) dalam skala meso (~5km sampai ratusan km), baik untuk kepentingan operasional maupun penelitian. Penggunaan model NWP untuk keperluan operasional maupun riset umumnya menjadi momok, khususnya bagi pengguna/user dengan pengetahuan komputasi pas-pasan. Salah satu permasalahan yang paling sering dialami pengguna adalah kesalahan pada saat instalasi model ybs. Umumnya model NWP dibuat dengan menggunakan bahasa pemrograman seperti Fortran, C atau Perl, dan membutuhkan library khusus pada sistem operasi (OS) agar model tersebut dapat bekerja dengan baik. Tidak jarang, berbagai kesalahan/error terjadi pada saat kompilasi dan instalasi model pada OS. Untuk OS sendiri, yang umumnya digunakan adalah OS berbasis UNIX, seperti Linux atau Sun Solaris. Sehingga, untuk bisa melakukan instalasi NWP, pengguna umumnya harus memiliki pengetahuan tentang Linux dan bahasa pemrograman yang digunakan pada model tersebut.

WRF-Environmental Modeling System (WRF-EMS) adalah model berbasis WRF yang dikembangkan oleh NOAA/NWS Science and Training Resource Center (STRC). WRF-EMS merupakan model NWP yang lengkap, full-physics dan mendukung core WRF yang dikembangkan NCAR (Advance Research WRF a.k.a ARW) maupun NCEP (Non-hydrostatic Mesoscale Model a.k.a NMM).

So ... tulisan tentang instalasi WRF-EMS via VMware Player saya buat karena :
  • Bila dibandingkan dengan WRF biasa, proses instalasi, konfigurasi dan eksekusi pada WRF-EMS sangat sangat sangat disederhanakan untuk mendorong penggunaan NWP untuk kepentingan riset. Begitu sederhananya, sehingga pengguna dengan pengetahuan dasar UNIX pun masih bisa melakukan instalasi/konfigurasi model ini dengan mudah.
  • Dokumentasi penggunaan WRF-EMS sangat komprehensif dan mudah diikuti. Thanks to Dr. Robert Rozumalski ... You're a genius !!!
  • VMware player (atau VirtualBox) merupakan salah satu cara paling mudah untuk melakukan instalasi UNIX/Linux via Windows tanpa harus pusing atau khawatir terjadi kesalahan partisi yg umumnya ditakuti oleh pengguna Linux tingkat dasar.
  • VMware player memungkinkan pengguna untuk menjalankan Linux (dan model) secara portable dan mobile. Anda bahkan bisa melakukan eksekusi model di mobil atau di atas tempat tidur anda.
  • Umur saya makin tua, dan saya mulai jadi pelupa. Tulisan ini dibuat sebagai bahan contekan kalo saya sewaktu-waktu lupa. "WRF-EMS will provide more hair on your head and less on your back, and that's a good thing !!"

Tulisan ini juga saya tujukan untuk sharing dengan pembaca/pengguna yang :
  • ... ingin melakukan studi/riset dengan model NWP, tanpa harus berpusing ria dengan proses instalasi /konfigurasi yang rumit.
  • ... memiliki pengetahuan yang cukup tentang ilmu meteorologi.
  • ... memiliki pengetahuan dasar tentang model NWP.
  • ... memiliki pengetahuan dan kemampuan dasar menggunakan UNIX/Linux.
  • ... memiliki pengetahuan dasar pemrograman.

Bila anda membutuhkan referensi tambahan tentang NWP atau yang lainnya, silakan akses :
  • Untuk NWP : http://en.wikipedia.org/wiki/Numerical_weather_prediction
  • Untuk model WRF : http://www.wrf-model.org/index.php
  • Untuk model WRF-EMS : http://strc.comet.ucar.edu/software/newrems/
  • Untuk Linux : http://en.wikipedia.org/wiki/Linux
  • Untuk VMWare Player : http://en.wikipedia.org/wiki/Vmware_player
Sebelum melakukan instalasi model, diharapkan anda mempersiapkan beberapa hal berikut :
  1. IBM PC atau yang kompatibel, baik tipe desktop atau laptop/notebook, dengan spesifikasi minimal : Intel Core2Duo/Dual Core, RAM 2 GB, dan harddisk dengan sisa space minimal 40GB. Anda bisa menggunakan Mac/Apple, tapi saya tidak bisa menjamin karena saya belum pernah melakukan instalasi model/Linux dengan Mac/Apple.
  2. OS minimal Windows Vista/7. Saya belum pernah melakukan instalasi dengan XP atau 8. Tentu saja anda bisa juga mencobanya.
  3. Koneksi internet yang cukup cepat. Tidak disarankan menggunakan modem.
  4. Salah satu distribusi Linux. Saya menggunakan CentOS yang bisa diunduh di www.centos.org. Anda juga bisa menggunakan distro lain seperti Mint, Ubuntu atau Fedora. Unduhlah file ISO image dari Linux yang anda inginkan, dan simpan di harddisk. Umumnya file ISO berukuran 700mb (CD) atau 4.7 GB (DVD) .. and that's why I told you not using modem for internet connection ...
  5. VMware Player yang bisa di unduh secara gratis di https://my.vmware.com/web/vmware/downloads. Saya menggunakan VMware Player versi 4.0.
  6. Melakukan registrasi untuk memperoleh script instalasi WRF-EMS di http://strc.comet.ucar.edu/software/newrems/
Sebagai langkah awal, lakukan instalasi Linux via VMware Player :
  • Lakukan instalasi VMware Player di Windows (bila anda sudah memilikinya, silakan lanjut ke langkah berikutnya).
  • Jalankan VMware Player, dan pilih Create a New Virtual Machine. Pada jendela New Virtual Machine Wizard, pilihlah instalasi dari file image/ISO. Pilihlah (browse) file ISO dari Linux yang sebelumnya sudah anda unduh dan simpan di harddisk, lalu klik Next.
  • Isilah informasi pengguna/root Linux, mulai dari nama lengkap, username dan passwordnya, lalu klik Next.
  • Isilah informasi virtual machine (VM) yang ingin anda buat. Nama VM ini nantinya akan ditampilkan pada daftar VM di VMware player. Pilih juga lokasi tempat VM ini disimpan (VM akan diperlakukan sebagai file di Windows). Lanjutkan dengan Next.
  • Tentukan ukuran file VM yang akan disimpan di harddisk. Sebagai catatan, umumnya instalasi Linux secara default membutuhkan minimal 15-20GB, sementara WRF-EMS membutuhkan minimal 16GB. Jadi untuk amannya, setidaknya siapkan ruang harddisk minimal 40 GB. Untuk meningkatkan performa, simpanlah VM sebagai file tunggal dengan memilih Store virtual disk as a single file. Lanjutkan dengan Next.
Perhatikan ukuran harddisk anda. 
  • VM siap dibuat. Perhatikan setting VM yang akan dibuat, terutama ukuran harddisk dan RAM. Bila anda ingin melakukan pengaturan tambahan untuk RAM atau lainnya, pilih Customize Hardware. Disarankan anda menggunakan RAM minimal 1 GB (1024 MB) untuk VM. Anda bisa mengabaikan setting lain (misal floppy dll). Bila sudah selesai, klik Finish.
Dua pilihan : Setting tambahan atau ... Selesai 
Perhatikan ukuran RAM PC anda sebelum menentukan RAM untuk Linux di VM. 
  • Pilih dan jalankan VM pada daftar VMware Player, klik Play virtual machine atau klik dua kali nama VM pada daftar. Tunggulah sampai Linux selesai terinstall. Bila ada beberapa opsi/pertanyaan pada saat instalasi, pilihlah jawaban berdasarkan sistem atau common sense anda. Misal : bila diminta memasukkan jenis keyboard, pilihlah US-English atau yg sesuai dengan jenis keyboard yg anda miliki.

Tunggu sampai proses instalasi selesai ...
  • Bila proses instalasi Linux selesai, dan login screen tampak, SELAMAT !! Anda berhasil melakukan instalasi Linux via VMware Player. Silakan login sesuai dengan username dan password yang sudah anda tentukan sebelumnya.
Selamat ! Linux is installed !!
  • Anda bisa memperlakukan Linux pada VM seperti halnya Linux normal. Misalnya anda telah selesai, anda bisa melakukan shutdown pada Linux dan otomatis VM akan dimatikan. Bila anda ingin menggunakan Linux kembali, jalankan kembali VMware Player dan pilihlah VM Linux yang telah anda install sebelumnya.

OK, setelah instalasi Linux rampung, kita masuk ke hidangan utama, yaitu instalasi model WRF-EMS. Seperti yang telah disebutkan sebelumnya, anda perlu melakukan registrasi untuk memperoleh script instalasi WRF-EMS, kecuali anda melakukan instalasi WRF-EMS via DVD atau lokal (dan dua cara terakhir tersebut tidak akan saya jelaskan pada tulisan ini). 


Setelah melakukan registrasi, tunggulah sampai ada email balasan yang menyertakan script instalasi WRF-EMS. Bila belum ada email balasan (terutama bila anda registrasi pada saat weekend), BERSABARLAH. Tidak perlu menulis email tambahan untuk meminta/mengingatkan script instalasi WRF-EMS. Perlu diingat, si pembuat model juga harus melakukan aktivitas sehari-hari (baca : bekerja) sambil terus mengembangkan model ini. Thus, please be kind and patient.

Setelah anda menerima email balasan lakukan langkah-langkah berikut untuk melakukan instalasi WRF-EMS pada Linux via VMware Player :
  • Buka email dan unduh script ems_install.pl, lalu simpanlah pada USB-flash atau media lainnya.
Buka email dan unduh script ems_install.pl
  • Jalankan VMware Player dan Linux yang telah anda install sebelumnya. Lalu login seperti biasa.
  • Pastikan anda bisa mengakses internet via Linux di VMware. Bila anda telah terkoneksi dengan internet di Windows sebelum menjalankan VMware, maka seharusnya Linux di VMware juga akan terhubung dengan internet secara otomatis. Bila belum bisa terhubung ke internet, periksa koneksi pada PC dan LAN/wireless anda. 
  • Salin/Simpan script ems_install.pl dari flashdisk ke salah satu direktori Linux, misal : /home/ardhi/Download. Anda juga bisa langsung membuka email dan mengunduh script tersebut via browser yang ada di Linux.
  • Buka Terminal dan pastikan anda menggunakan shell bash, csh atau tcsh, dengan mengetikkan perintah berikut : echo $SHELL. Perlu diingat, hingga tulisan ini dibuat, WRF-EMS hanya bisa diinstall dengan ketiga shell di atas.
Bila anda menggunakan shell bash ...
  • Masuk ke direktori tempat anda menyimpan script ems_install.pl, dan jalankan script tersebut pada Terminal dengan mengetikkan perintah berikut : ems_install.pl --install atau perl ems_install.pl --install. Perintah ini akan menginstall WRF-EMS versi terbaru ke Linux. Anda juga bisa menentukan versi yang diinstall, misalnya : ems_install.pl --install 3.4.1.14.15
  • Anda akan diminta memberikan informasi tentang lokasi tempat WRF-EMS akan diinstall. Saya misalnya, menginstall WRF-EMS pada direktori /usr. Anda bebas menggunakan direktori lain, misalnya : /home/badu/wrf. Bila direktori ini belum ada, buatlah dengan perintah mkdir di Linux.
  • Anda akan diminta menjawab beberapa pertanyaan mengenai sistem PC anda. Pertanyaan-pertanyaan ini mudah, dan saya yakin anda bisa menjawabnya. Setelah itu, script akan mengunduh file-file yang dibutuhkan untuk instalasi. Silakan duduk santai dan tunggu sampai proses instalasi selesai. Seberapa cepat proses ini selesai, sepenuhnya bergantung pada koneksi internet yang anda gunakan. Untuk mengisi waktu, anda bisa membaca dokumentasi WRF-EMS di http://strc.comet.ucar.edu/software/newrems/.
  • Setelah proses instalasi selesai, perhatikan pesan yang ditampilkan di terminal. Bila ada library yang tidak ditemukan pada Linux, installer akan menginformasikannya.
Selama library yang hilang tidak kritikal ... anda masih bisa menjalankan WRF-EMS
  • Periksa environment variable WRF-EMS sesuai shell yang anda gunakan. Untuk shell bash misalnya, bukalah file : /home/<nama user anda>/.bashrc dengan gedit atau vi, lalu pastikan baris berikut terdapat dalam file tersebut : if [ -f /<direktori instalasi WRF-EMS>/etc/EMS.profile ] ; then. /<direktori instalasi WRF-EMS>/etc/EMS.profile fi. Bila tidak ada, edit file tersebut seperti gambar di bawah, dan simpan. Hal ini penting, agar sistem bisa mengakses WRF-EMS dari direktori mana pun.
Penting !! Pastikan WRF-EMS terdapat pada path environment variable.
  • Logout dari Linux, lalu login kembali dengan username dan password anda.
  • Buka kembali Terminal. Lalu jalankan perintah berikut pada shell : cd $EMS. Bila WRF-EMS telah terinstall dengan benar, anda akan diarahkan ke direktori tempat model terinstall. Lalu jalankan perintah berikut : ls $EMS_STRC, dan anda akan melihat isi direktori strc dari WRF_EMS. Terakhir, jalankan tool sysinfo untuk melihat informasi sistem anda. Bingung ? Perhatikan gambar di bawah :
Banzai !!!
  • Bila tampilan terminal anda seperti gambar di atas, SELAMAT !! Anda telah berhasil menginstall WRF-EMS pada Linux. Bila ketiga perintah pada langkah sebelumnya gagal (tidak menghasilkan gambar di atas), coba anda restart Linux, dan ulangi langkah sebelumnya.
Seperti yang anda lihat, instalasi WRF-EMS di Linux via VMware Player, sangat mudah. Tidak perlu konfigurasi atau kompilasi program yang rumit. Yang dibutuhkan hanya kesabaran dan ketelitian anda (serta koneksi internet yg kencang :-P) dalam proses instalasinya. Pada tulisan berikutnya, saya akan berbagi cara konfigurasi WRF-EMS untuk melakukan prediksi cuaca, dengan perintah-perintah 'sakti' seperti ems_prep, ems_run dan ems_post.

Untuk petunjuk menjalankan model WRF-EMS via VMware player, silakan baca posting selanjutnya : Cara Menjalankan WRF-EMS (Part 1)

Update (14 Dec 2014) :

Beberapa pengguna sempat mengalami masalah ketika pertama kali menjalankan WRF-EMS di Linux dengan pesan kesalahan berikut :

gempak@CentOS-60-64-minimal-> ems_domain.pl --locdom domain Can't locate Time/HiRes.pm in @INC (@INC contains: /home/gempak/wrfems/strc/ems_util /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/gempak/wrfems/strc/ems_util/ems_utils.pm line 1401.
BEGIN failed--compilation aborted at /home/gempak/wrfems/strc/ems_util/ems_utils.pm line 1401.
Compilation failed in require at ems_domain.pl line 169.
BEGIN failed--compilation aborted at ems_domain.pl line 169.


Masalah ini terjadi karena modul Time::HiRes dari Perl belum terinstall di sistem Linux. Modul ini dibutuhkan oleh WRF-EMS untuk menjalankan beberapa fungsi waktu resolusi tinggi pada saat simulasi. Untuk mengatasi masalah ini, anda bisa melakukan instalasi modul Time::Hires tersebut, baik secara online maupun offline, dengan perintah :

yum install perl-Time-HiRes

Good luck and welcome to modeling nirvana !