Tuesday, June 24, 2014

Gunpla #22 - MG Blitz Gundam Review

Finally, The Blitz, the original black Gundam of Gundam SEED and my fourth master grade kit. Believe it or not, I spent almost one year to finish this guy. I finished building it in August 2013, anyway I was occupied with my job hence I felt too lazy to complete linings and decaling on Blitz. However, I could complete it finally, after I watched Mobile Suit Unicorn eps.7. Let's say, Banshee Gundam on the OVA inspired me to complete the Blitz.


And .. here we got the Blitz. This mobile suit was probably the 'sexiest' of all GAT-X brothers. Piloted by Nicole Almafi of ZAFT, the Blitz was intended to be the stealth master of all mobile suits. Using its Mirage colloid stealth system, this thing could penetrate any enemy bases without any traces detected. Mostly utilized short range weaponry, the Blitz was the complete opposite of its brother unit, Buster, which specialized on long range attacks. 


Back to the kit, I could say, I'm happy with the builds. The color scheme is just perfect. The combination of black, red, yellow, purple and white were great to emphasize the stealth theme of Blitz. And of course, because of it's almost black, I have no any difficulties to the linings. And I have to mention about the eyes of Blitz, the blue eyes looks evil and menacing. I like it. The joints were strong and tight, hence the articulation was also good. You got 'small' gimmicks for the shoulder which depicts the stealth mode of Blitz.  The dry transfer decals were fine, but sadly, the clear stickers were terrible, hence I decide to use mostly on decals than stickers. 


For accessories, you got a very big Trikeros shield, a beam saber (with two beam blades), three lancer darts, and the infamous Gleipnir grappling 'claw'. The weapon set was just unique, while other mobile suits use shield on the left and the main weapons on the right, Blitz utilized the opposite system. Anyway, I honestly could say, I'm not a big fan of the weapons. Seriously, why use lancer darts in battles while you could guns, laser or beam weapons ? If you watched SEED, you will understand what I said when Blitz was destroyed by Strike. Anyway, my favorite thing about the Blitz's weapons was the claw, obviously. It's so cool !


My final thoughts about the Blitz, as well as any other remastered of SEEDs MG kits, this is a very very good kit. The color scheme is nice, the accessories are just cool and the articulation just fine. The most annoying thing was a piece of top chest armor which looks fragile and keeps falling down. But, anyway, Blitz still one of my favorite suits on Gundam SEED.






------------

GAT-X207 Blitz Gundam

Pros :
  • Unique color scheme, especially when you like black mobile suits.
  • Cool weapons system
  • Stiff joints and good articulation
Cons :
  • Some parts look fragile and keep falling down, especially the top chest armor.
  • The peg connector of trikeros cable was quite weak to support the weight of the claw.
  • Lancert darts were not tightly placed under the shields, thus tend to fall whenever on of them was pulled out.

Friday, June 20, 2014

Meteo #10 - Cara Menjalankan Model WRF-EMS (Part 2 - Mastering Your Domains)

Setelah kita sukses melakukan instalasi model dan mengatur zona waktu sistem sesuai dengan waktu yang benar, maka tiba saatnya untuk masuk ke dunia modeling yang sebenarnya.

Pada dasarnya, menjalankan WRF-EMS sangat mudah. Bila diringkas, kurang lebih ada empat langkah utama untuk menjalankan model ini, yaitu :
  1. Membuat domain model
  2. Melakukan persiapan dan inisiasi data model
  3. Menjalankan simulasi model
  4. Memproses data keluaran model
Tentunya, langkah-langkah di atas masih bisa dijabarkan ke dalam langkah/proses yang lebih detil. Tapi intinya, untuk menjalankan model (secara default), keempat langkah di atas sudah lebih dari cukup.

Kita mulai dari langkah pertama, yaitu membuat domain model. Apa sih yang dimaksud dengan domain ?

Singkat cerita, Domain adalah daerah tempat simulasi model dijalankan. Misalnya, anda ingin melakukan prediksi untuk daerah Jawa, maka setidaknya anda harus membuat domain yang mencakup daerah Jawa. Bila anda ingin melakukan prediksi wilayah Riau, ya buatlah domain yang mencakup daerah Riau dan seterusnya. 

Domain yang dibuat dapat berdiri sendiri, misalnya domain 1 untuk Jawa saja atau domain 2 untuk Sumatera saja ... ATAU ... dibuat sebagai bagian domain lain. Misalnya domain 1 untuk seluruh Indonesia, lalu domain 2 mencakup Jawa (bagian dari domain 1), lalu domain 3 mencakup daerah Jabodetabek (bagian dari domain 2). Proses pembagian domain yang satu ke dalam domain lain inilah yang disebut sebagai Nesting. Dalam nesting, umumnya akan ada (minimal) satu domain yang menjadi domain induk (parent) dan satu atau lebih domain anak (child). Dalam contoh sebelumnya, Domain 1 (Indonesia) akan menjadi induk, sedangkan Domain 2 (Jawa) menjadi anaknya. Selanjutnya, Domain 2 ini akan menjadi domain induk dari Domain 3 (Jabodetabek). Untuk jelasnya, perhatikan gambar berikut :


Pada gambar di atas, saya membuat 4 domain untuk simulasi model. Domain 1 mencakup seluruh Indonesia. Lalu ada dua domain anak untuk domain 1, yaitu Domain 2 yang mencakup daerah Jawa dan Domain 3 yang mencakup daerah Riau. Domain 2 sendiri adalah domain induk untuk domain 4 yang mencakup daerah Jawa Barat.

Pertanyaannya sekarang, apa perlunya menggunakan nesting domain ?

Dengan menggunakan nesting, anda bisa menjalankan simulasi model untuk tiap domain secara bersamaan sebagai suatu kesatuan sistem. Artinya, anda hanya satu perlu satu set data yang bisa dipakai bersama-sama oleh tiap domain. Pada contoh di atas, data yang dipakai pada Domain 1 (Indonesia) bisa dipakai untuk daerah Jawa (Domain 2), Riau (Domain 3) ataupun Jawa Barat (Domain 4). Bila nesting tidak digunakan, maka tiap domain akan membutuhkan data untuk masing-masing domain, Domain 2 butuh data untuk daerah Jawa, tidak bisa menggunakan data untuk domain 3 (Riau). Tentunya ini akan sangat memboroskan waktu dan tenaga, apalagi kalau koneksi internet anda amburadul (ingat, data model diunduh dari internet).

Kelebihan lainnya, nesting memungkinkan simulasi pada domain anak dengan resolusi tinggi dengan resource sistem yang lebih sedikit dibandingkan simulasi pada domain tunggal dengan resolusi yang sama. Artinya, dengan spesifikasi sistem (memori/CPU) yang terbatas, kita bisa menjalankan simulasi untuk domain dengan resolusi tinggi. Hal ini bisa dilakukan, karena domain anak hanyalah merupakan bagian kecil dari domain induk.

OK. Lalu bagaimana caranya membuat domain pada WRF-EMS ? 

Pertama, jalankan VMware, lalu jalankan CentOS (atau Linux tempat anda menginstall WRF-EMS) dan loginlah seperti biasa. Setelah login, jalankan terminal, dan ketikkan 'dwiz'. Ini adalah perintah untuk menjalankan Domain Wizard untuk membuat domain model.



Anda akan diberi pilihan untuk membuat domain baru atau membuka domain yang sudah pernah dibuat. Pilihlah 'Create New Domain' untuk membuat domain baru dan klik 'Continue'. Anda akan diminta untuk memasukkan nama dan deskripsi domain. Untuk nama domain, masukkanlah karakter seperti biasa, misalnya indonesia1. Huruf kapital dan spasi tidak berlaku, artinya nama domain hanya berupa 1 kata dalam huruf kecil. Untuk deskripsi domain, silakan masukkan kata/kalimat dengan karakter biasa (bebas) yang mendeskripsikan domain yang dibuat. Bila sudah, klik 'Continue'.


Jendala domain wizard akan terbuka. Anda akan disuguhi peta Bumi pada panel bagian kiri. Geserlah slider vertikal dan horizontal untuk menemukan peta Indonesia.


Langkah berikutnya, arahkan kursor ke peta dan drag untuk membuat domain daerah Indonesia. Perhatikan perubahan pada bagian Projection Options di panel kanan. Untuk Tipe Proyeksi, pilihlah Mercator. Sebagai catatan, WRF memiliki dua core, yaitu ARW dan NMM (baca postingan sebelumnya tentang instalasi WRF-EMS). Bila anda memilih core NMM, anda hanya bisa menggunakan tipe proyeksi Rot Lat Lon. Untuk ARW, anda bisa memilih tipe yang lain. Tulisan ini dibuat untuk core ARW, jadi (untuk sementara) pilihlah Mercator. Bila sudah, klik 'Update Map' pada bagian Actions di panel kiri bawah. Bila anda kurang yakin dengan daerah domain yang dibuat, klik 'Start Over', dan anda akan diminta memilih daerah domain lagi pada peta dan mengulangi langkah sebelumnya.


Begitu anda memilih Update Map, Domain Wizard akan meng-crop peta sesuai dengan daerah domain yang telah anda pilih. Setelah selesai, perhatikan bagian Grid Options di panel kanan, anda bisa melihat dimensi domain yang akan anda buat. Bagian yang paling penting di sini adalah Grid Points Distance (km), yang merupakan resolusi spasial dari domain model yang anda buat. Resolusi spasial ini akan mempengaruhi keakuratan, proses simulasi serta ukuran data keluaran model. Domain Wizard secara otomatis akan memilih resolusi yang sesuai dengan daerah yang anda pilih, termasuk resolusi data Geografis. Perlu diingat, resolusi domain dan resolusi data geografis adalah dua hal yang berbeda. Resolusi domain merupakan jarak antar grid point domain yang akan disimulasikan, sedangkan resolusi data geografis merupakan resolusi data geografis seperti data tutupan lahan, jenis tanah dan lain-lain, sebagai salah satu data masukan model. 



Anda bisa mengatur resolusi domain (Grid points distance) sesuai selera, dan domain wizard akan menyesuaikan daerah domain pada peta dan resolusi data geografis dengan pilihan anda, misalnya, menggunakan grid points 25 km (resolusi 25 km) untuk seluruh wilayah Indonesia. Anda juga bisa memilih resolusi data geografis sesuai selera, misalnya 10 menit (~18.5 km), 5 menit (~9.2 km), 2 menit (~3.7 km), atau 30 detik (~1 km). Yang perlu diperhatikan, semakin tinggi resolusi domain, maka waktu simulasi akan bertambah. Selain itu pilihlah resolusi data geografis yang sesuai dengan resolusi domain anda, misalnya resolusi domain anda 25 km, pilihlah resolusi data geografis 10 menit (~18.5 km), jangan timpang (misalnya 1 menit). Pada contoh ini, saya menggunakan resolusi 50 km pada domain yang saya buat. Tapi semua anda yang menentukan, dengan konsekuensi yang anda tanggung sendiri. You have the power ;-)

Oh iya, untuk data Land-use, anda bisa menggunakan data Modis sebagai alternatif untuk data USGS yang menjadi default model. Bedanya, data Modis menggunakan 20 kategori land-use bila dibandingkan dengan USGS yang menggunakan 24 kategori land-use. Untuk sementara, pakai yang default saja. Untuk data Danau resolusi tinggi (Hi-Def Lakes), tidak perlu dipilih.

Selanjutnya, bila anda ingin membuat nesting untuk domain anak, silakan baca paragraf ini. Bila tidak, silakan lanjut 2 paragraf setelah paragraf ini. Misalnya anda ingin membuat domain untuk daerah Jawa. Pada panel kanan atas, pilih Nests. Pada Nested Domain Properties, pilih Domain 1(ID 1), lalu klik New. Pada bagian Grid Spacing Ration to Parent, anda bisa memilih resolusi domain anak dengan perbandingan 1:3, 1:5 atau 1:7 dari domain induk. Artinya, bila domain induk memiliki resolusi 50 km, maka dengan perbandingan 1:5, domain anak akan memiliki resolusi 10 km. Resolusi data geografis akan disesuaikan berdasarkan resoluis domain. Pada contoh ini, saya menggunakan resolusi 10km (perbandingan 1:5) untuk domain anak (domain 2).


Setelah membuat domain 2, arahkan mouse ke tengah kotak daerah domain 2 (sampai kursor berubah menjadi bentuk tangan) dan drag ke daerah pulau Jawa. Seperti gambar di bawah :


Kembali ke bagian Domain, setelah yakin dengan pilihan anda, klik Next. Bila masih belum yakin dengan pengaturan resolusi, klik Reset Grid. Bila ingin mengulang proses pemilihan domain dari awal, pilih Start Over.

Langkah berikutnya adalah lokalisasi domain (bukan 'lokalisasi' yang lain ya). Caranya mudah, tinggal klik Localize Domain pada domain wizard. 


Lokalisasi domain kurang lebih bertujuan untuk melakukan crop pada data geografis global dari model, sesuai dengan domain yang telah anda buat. Masing-masing domain akan memiliki data geografis masing-masing sesuai dengan resolusi yang telah anda buat. Tunggulah sampai proses lokalisasi (geogrid) ini selesai, sampai tampilan berikut ini muncul :


Ketika proses lokalisasi sukses, maka bisa dikatakan pembuat domain telah berhasil. Anda bisa mengulangi proses (kalau diperlukan), atau melihat data geografis yang telah dilokalisasi tadi dengan melakukan klik pada 'Next'. 

Data geografis yang telah dilokalisasi tadi disimpan ke dalam data dengan format NetCDF. Anda bisa menampilkan data geografis tadi dengan meng-klik View in Panoply (and Google Earth). Anda juga bisa mengklik 'Exit' bila ingin keluar dari domain wizard.



Bila anda berhasil keluar dari domain wizard, maka domain anda telah berhasil dibuat. WRF-EMS akan membuat direktori baru sesuai dengan nama domain anda pada :

/<direktori instalasi WRF-EMS>/runs/<nama domain anda>

Pada kasus saya, direktori untuk domain indonesia1 di atas adalah :

/usr/wrfems/runs/indonesia1/

Bila dilihat isi direktorinya, maka isi direktori tersebut adalah sebagai berikut :


Untuk saat ini, tidak perlu pusing dengan berbagai sub-direktori dan file yang ada pada direktori runs tersebut, karena semuanya akan dijelaskan pada tulisan berikutnya tentang : mempersiapkan/inisiasi data model WRF-EMS :-)


Thursday, June 19, 2014

Meteo #9 - Interpretasi Kode Parameter Variabel Data GRIB2 pada Control File GrADS

GRIB (GRIdded Binary atau General Regularly-distributed Information in Binary form) adalah salah satu format data yang umum digunakan untuk menyimpan data meteorologi historis ataupun prediksi/forecast. Para peneliti yang bergelut dengan dunia NWP umumnya sudah khatam dalam hal interpretasi data GRIB. Celakanya, data GRIB umumnya menjadi momok untuk modeler pemula (seperti saya yang baru 2 bulan lalu masuk ke dunia permodelan), karena format ini masih kalah populer dibandingkan format data lain seperti Plain Binary, NetCDF ataupun HDF. Hingga saat ini, salah satu format GRIB yang biasa digunakan untuk keluaran NWP (misal WRF-EMS) adalah GRIB2. 

Tulisan ini dibuat untuk (sedikit) mengurangi kebingungan kita (baca: penulis) dalam hal interpretasi parameter data GRIB2 yang ada pada file kontrol (CTL) GrADS, tool analisis sejuta umat kita. Pertanyaannya, interpretasi parameter yang bagaimanakah yang membuat bingung ?

Untuk memberi gambaran yang lebih jelas, perhatikan bagian VAR dari file CTL GrADS untuk file plain binary biasa  (dalam hal ini data GSMaP NRT) berikut : 

VARS 1
precip 0 99 hourly averaged rain rate [mm/hr]
ENDVARS

Karena syntaxnya adalah :

VARS <jumlah variabel>
<nama variabel> <jumlah level> <satuan> <deskripsi variabel>
ENDVARS

Maka, bila diartikan dalam 'bahasa manusia' kurang lebih seperti ini : "Data ini memiliki 1 variabel, dengan nama precip, hanya memiliki 1 level, dan tidak memiliki satuan khusus." Deksripsinya (bagian hourly bla bla) silakan baca sendiri lah ya.

Sekarang mari kita bandingkan dengan bagian VAR dari file CTL data GRIB2 yang dihasilkan WRF-EMS :

VARS 149
no4LFTX180_0mb  0,108,18000,0   0,7,11 ** 180-0 mb above ground Best (4 Layer) Lifted Index [K]
ACPCPaccsfc  0,1,0   0,1,10,1 ** surface Convective Precipitation [kg m-2]
ACPCPsfc  0,1,0   0,1,10 ** surface Convective Precipitation [kg m-2]
AGRPLaccsfc  0,1,0   0,1,153,1 ** surface Accumulated Graupel [kg/m^2]
...
...
VVELprs    38,100  0,2,8 ** (1013 1000 975 950 925.. 200 150 100 50 25) Vertical Velocity (Pressure) [Pa/s]
VVMEANl100_100  0,100,100000,40000   0,2,159,0 ** 1000-400 mb Mean Vertical Velocity From 1000 To 400mb [m/s]
VWSH610m   0,103,610   0,2,25 ** 610 m above ground Vertical Speed Sheer [s-1]
WEASDaccsfc  0,1,0   0,1,13,1 ** surface Water Equivalent Of Accumulated Snow Depth [kg m-2]
WEASDsfc  0,1,0   0,1,13 ** surface Water Equivalent Of Accumulated Snow Depth [kg m-2]
WTMPsfc   0,1,0   10,3,0 ** surface Water Temperature [K]
ZRATEsfc   0,1,0   0,1,67 ** surface Freezing Rain Precipitation Rate [kg m-2 s-1]
ZRMAXsfc   0,1,0   0,1,173,2 ** surface Period Maximum Freezing Rainfall Rate [kg/m^2/s]
ENDVARS

Tidak hanya jumlah variabel yang mencapai 3 digit, tapi deksripsi beberapa variabel yang sama seringkali membuat (saya) kebingungan. Satu-satunya petunjuk yang membedakan variabel yang nyaris sama tersebut adalah pada bagian level dan satuan. Masalahnya, format level dan satuan GRIB2 lebih rumit dibandingkan dengan format binary biasa, karena mengandung 3-5 parameter tambahan yang dipisahkan koma.

Setelah mengulik-ngulik dokumentasi GrADS dan format GRIB2, akhirnya pencerahan itu datang juga. Jadi, syntax untuk variabel GRIB2 pada file CTL GrADS bisa dituliskan seperti ini :

VARS
<nama variabel> <NLEVS,LTYPE,LVAL,LVAL2,LTYPE2> <DISC,CAT,NUM,SP,SP2> <deskripsi variabel>
ENDVARS

OK, sekarang penjelasannya :

1. Kode Level
  • NLEVS adalah jumlah level vertikal dari variabel. NLEVS=0 berarti data tersebut hanya memiliki 1 level saja. 
  • LTYPE adalah tipe level dari variabel. Nilainya bergantung pada kode GRIB2 untuk level vertikal. Misalnya : 100, berarti variabel tersebut menggunakan tipe level isobaric dalam satuam Pascal. Untuk daftar kode yang lengkap bagi NLEVS>0 (banyak level) silakan lihat tabel berikut. Untuk NLEVS=0 (hanya 1 level fixed) silakan lihat tabel berikut
  • LVAL adalah nilai level pertama (LTYPE), tidak selalu digunakan. Umumnya digunakan untuk tipe variabel pada lapisan antara dua level. 
  • LVAL2 adalah nilai level kedua, hanya untuk tipe variabel pada lapisan antara dua level. 
  • LTYPE2 adalah tipe dari level kedua (LTYPE2), tidak selalu digunakan, hanya digunakan bila LVAL2 berbeda tipe dengan LVAL1.
Contoh : 

VVELprs    38,100  0,2,8 ** (1013 1000 975 950 925.. 200 150 100 50 25) Vertical Velocity (Pressure) [Pa/s]


Variabel 'VVELprs' memiliki 38 level vertikal dengan tipe isobaric. Contoh lain yg lebih rumit :

no4LFTX180_0mb  0,108,18000,0   0,7,11 ** 180-0 mb above ground Best (4 Layer) Lifted Index [K]

Variabel 'no4LFTX180_0mb' hanya memiliki level fixed (hanya 1 level), dengan tipe berupa perbedaan level tekanan tertentu (kode 108), dengan level pertama 18000 Pascal (180 mb) dan level kedua 0 Pascal.

2. Kode Unit/Satuan dan Proses
  • DISC adalah kode disiplin (ilmu/data) dari variabel atau parameter. Misalnya : 0 untuk meteorologi, 1 untuk hidrologi, 2 untuk permukaan tanah dll. Tabel lengkap bisa dilihat di sini.
  • CAT adalah kategori parameter. Misal : 0 untuk temperatur, 1 untuk kelembaban dll. Tabel lengkap bisa dilihat pada bagian sebelumnya (DISC).
  • NUM adalah nomor parameter. Misal : 4 untuk temperatur maksimum, 5 untuk temperatur minimum dll. Tabel lengkap bisa dilihat pada bagian sebelumnya (DISC).
  • SP adalah proses statistik yang digunakan untuk memperoleh nilai parameter. Umumnya digunakan untuk parameter turunan. Misalnya : 0 untuk rata-rata, 1 untuk akumulasi dll. Tabel lengkap bisa dilihat di sini.
  • SP2 adalah proses spasial yang digunakan untuk memperoleh nilai parameter. Umumnya digunakan untuk data spasial. Misalnya : 1 untuk interpolasi bilinear, 2 untuk interpolasi bicubic dll. Tabel lengkap bisa dilihat di sini.
Contoh :


APCPaccsfc  0,1,0   0,1,8,1 ** surface Total Precipitation [kg m-2]

APCPaccsfc adalah parameter meteorologi, dari kategori kelembaban, dengan tipe presipitasi total, yang diperoleh dari proses akumulasi. Contoh lain :


CURMAXsfc   0,1,0   0,1,156,2 ** surface Maximum Convective Precipitation Rate [kg/m^2/s]

CURMAXsfc adalah parameter meteorologi, dari kategori kelembaban, tipe parameter tertentu, yang diperoleh dari nilai maksimum. 

----

Mungkin ada yg bertanya, kenapa capek-capek menginterpretasi kode variabel kalau penjelasannya sudah ada di deskripsi variabel ? Jawabannya karena deskripsi variabel sifatnya opsional, dan bisa saja ngawur, alias tidak sesuai dengan variabel yang sebenarnya (misal variabel kelembaban dideskripsikan sebagai temperatur, dan GrADS tidak akan memeriksa kebenaran deskripsi data). Jadi pengetahuan tentang kode variabel sangat penting, bila deskripsi data tidak ada atau anda ragu pada deskripsi data yang ada.

Contoh terakhir, kali ini tanpa deskripsi data yg benar :

DVVMAXl100_100  0,100,100000,40000   0,2,221,2 ** bla bla deskripsi semau gue

Bila dibahasa manusiakan :

"Variabel DVVMAXl100_100 memiliki level fixed, tipe isobaric, level pertama pada 100000 Pascal (1000mb), level kedua 40000 Pascal (400mb), dengan disiplin parameter meteorologi, kategori parameter momentum,  tipe parameter nilai maksimum jam-jaman dari kecepatan vertikal downward pada level terendah 400hPa, proses statistik nilai maksimum".

Jadi, walaupun deskripsinya ngawur, kita masih bisa mengetahui jenis dan parameter dari variabel yang benar dari data GRIB2  bila kita mengerti cara membaca kode parameternya.