Menghitung Divergensi dan Curl pada wrfout (Arakawa C-grid)


Kemaren sudah dibahas soal mencari mixing ratio (bisa juga di terapkan untuk variabel lain) pada lapisan-lapisan yang kita inginkan, pretty straightforward. Intinya sekali lagi adalah tentang interpolasi lapisan untuk mencari variabel pada lapisan yang tidak diketahui.

Kali ini, sebagian ilmu itu akan kita gunakan lagi di sini. Divergensi dan curl yang kita hitung ada pada lapisan tertentu and that's your hint. Lantas, apa tantangan dari perhitungan kali ini? Gridnya. Arakawa C-grid ini sudah pernah kita singgung di artikel sebelumnya tentang apa itu C-grid dan bagaimana cara berurusan dengan struktur khasnya. Sebenarnya berkat struktur khas dari grid ini maka perhitungan divergensi menjadi lebih mudah dan akurat. Tapi sayang sekali untuk curl, ini menjadi lebih rumit bahkan butuh cost yaitu, boundary gridnya terpaksa (well, cost yang murah si menurutku) harus di set missing karena tidak bisa di hitung. Pembahasan lebih lengkap akan kita bahas nanti di postingan ini.

Divergensi dan curl (orang meteorologi menyebutnya vortisitas) ini berkaitan erat karena dari informasi ini (ploting diverensi dan vortisitas pada lapisan-lapisan penting) kita bisa mendapatkan gambaran dari keadaan atmosfer. Contoh sederhananya, ketika terjadi pembentukan awan di suatu daerah, bisa di pastikan pada lapisan pembentukan awan tersebut nilai divergensinya negatif (-) karena jika positif (+), artinya udara cenderung menyebar menjauh ke segala arah yang mana ini tidak mendukung pembentukan awan (malah membuat awan punah). Selain itu ini juga merupakan operator dasar yang banyak kita temui dalam sebuah governing equation dan sering 'bergandengan' bersama sodaranya yang lain gradient.

Divergensi



Pengertian non-rigor dari divergensi adalah tentang seberapa besar fluida yang ingin 'keluar' dari titik yang kita tinjau (fluida berekspansi). Pemahaman ini bisa kita tuliskan ke persamaan matematika yaitu


Kita sedang berhadapan dengan grid-grid yang punya nilai diskrit di sini, jadi tentu saja kita harus mengubah bentuk persamaan ini menjadi bentuk persamaan diskritnya yaitu


dimana:
div = divergensi
Δx = jarak antar grid di sumbu x
Δy = jarak antra grid di sumbu y
u = kecepatan angin komponen barat-timur
v = kecepatan angin komponen selatan-utara
i,j,k = koordinat vertikal (z) dan horizontal (x dan y) secara berurutan

dan seperti yang saya katakan sebelumnya, perhitungan divergensi di grid-c ini menjadi lebih mudah dan akurat karena


div di sini dinyatakan pada grid unstaggering, sementara jarak antar grid staggering dan unstaggering adalah 1/2 jarak antar tipe grid (stagger dan unstagger) yang sama. Sehingga 2Δx dan 2Δy itu sama dengan resolusi asli dari output model.

Setelah kita menghitung semua divergensi pada lapisan-lapisan yang di ketahui nilai u dan v-nya, selanjutnya untuk mengetahui nilainya pada lapisan yang dinginkan, kita tinggal melakukan interpolasi yang algoritmanya sama seperti artikel sebelumnya. Semua ide ini telah di curahkan ke sebuah script yang bisa di download di sini. Contoh hasil plotingnya bisa dilihat pada gambar di bawah ini.




Curl


Curl mengukur arah besar suatu rotasi di suatu tempat. Nilai positif (+) dan negatif (-) mempunyai arah gerak rotasi yang berbeda, maka besarnya rotasi adalah |curl| . Persamaan matematikanya adalah


yang kemudian bentuk diskritnya menjadi


Berbeda dengan dengan divergensi, mencari curl pada arakawa C-grid sedikit lebih ribet karena posisi stagger dan unstagger grid ini. Seandainya dimensi yang staggering dari variabel komponen u dan v ini dibalik untuk dimensi horizontalnya, maka curl ini akan menjadi mudah dihitung dan sebaliknya divergensi menjadi sulit.

Dalam perhitungan ini, kita terpaksa harus menginterpolasi semua staggering gridnya menjadi unstaggering lalu kemudian barulah dihitung curlnya sesuai rumus diskrit diatas. Rumus diskrit di atas adalah central difference, sehingga konsekuensinya semua boundary grid tidak bisa dihitung nilai curlnya dan dinyatakan missing. Dengan begini semua curl pada lapisan yang diketahui komponen u dan v-nya telah didapat, kemudian untuk mencari curl pada lapisan yang kita inginkan tinggal menginterpolasinya dengan algoritma sama persis seperti artikel sebelumnya.

Script untuk mewujudkan 'khayalan' kita ini bisa di dapatkan di sini. Beberapa ploting script tersebut dengan data yang sama yang digunakan pada script divergensi sebagai berikut.




Sekian pembahasan kita.

referensi:
http://cola.gmu.edu/grads/gadoc/gradfunchcurl.html,  di akses pada 18 Juni 2017
Climate Modeling for Scientists and Engineers

Komentar