Share: Script Shell Otomatisasi Uji Skema WRF


Dalam WRF, segala option untuk parameterisasi bisa dipilih dengan mengatur nilai pada namelist.input. Sebelum beranjak lebih jauh lagi, kita harus tahu dulu apa itu parameterisasi. Parameterisasi adalah asumsi-asumsi yang kita anut untuk menyederhanakan perhitungan dalam proses perhitungan numerik dalam hal ini pemodelan atmosfer yang dilakukan oleh WRF.

Parameterisasi sangat mempengaruhi keakuratan keluaran model karena memang yang dibuatkan asumsi dalam parameterisasi itu benar-benar core process terjadinya cuaca seperti asumsi proses konveksi dan mikro fisis.

Dari beberapa parameterisasi, yang sering di utak atik khususnya di WRF adalah parameterisasi mikro fisis (mp_physics) dan cumulus (cu_physics). Utak atik parameterisasi disini dalam rangka ingin mengetahui parameterisasi mana yang paling cocok di suatu domain, biasanya dengan mengukur ke akuratan dari prediksi curah hujannya. Itu berarti kita mencoba semua kombinasi yang kira-kira bagus untuk parameterisasi mikro fisis dan cumulus tadi ke sebuah domain. Ini artinya butuh running berkali-kali untuk pekerjaan sederhana ini, sangat merepotkan. Masalahnya bukan cuma kita harus melakukan pekerjaan yang sama berkali-kali tapi menunggu dengan alasan yang sama berkali-kali juga harus kita lalui diantara jeda pekerjaan ini.

Well, worry not berkat kesaktian script shell pekerjaan dan penungguan ini hanya akan kita rasakan sekali :)) . Ini sebenarnya karena ada request sebelumnya ke saya tentang script ini, saya buatkanlah 2 script untuk otomatisasi uji skema ini. Dua script? Yup, 1 script otomatisasi running dan 1nya lagi sebagai wrapping running otomatis tadi. Berikut scriptnya untuk script utamanya, simpan dengan nama ujiskema.sh

dan untuk wrapping nya, simpan dengan nama wrapujiskema.sh .
jika tidak kelihatan bisa di download di sini untuk script utamanya dan di sini untuk script wrappingnya.

Ada 2 script ini, yang dijalankan yang mana? Tentu saja jalankan yang script wrappingnya. Berikut lebih detilnya:

How to use this

Jadi sebelum menggunakan script ini, asumsinya pengguna sudah selesai menjalankan WPS dan sudah me-link semua file met_em ke direktori wrf. Selain itu, dengan menggunakan script ini, asumsinya adalah domain yang digunakan ada 3, jadi ada 2x nesting. Seandainya jumlah domainnya berbeda, kalau sudah memahami cara kerja dari script ini, sebenarnya mengeditnya untuk bisa menyesuaikan jumlah domain yang digunakan atau mau uji parameterisasi apapun itu sangat mudah.

Replace semua script pada script utama dari baris 14 sampai 126 dengan namelist.input yang digunakan. Replace semua di baris itu kecuali baris 68 dan 76, biarkan seperti script semula. Kenapa dibiarkan? Karena script ini tujuannya adalah ingin otomatisasi option pada baris tersebut. Kita ingin mengotomatisasi parameterisasi cumulus dan mikro fisis.

Sekarang beranjak ke script wrappingnya. Hapus semua script tersebut kecuali baris paling atas (ini bagian pengenal agar OS tahu bahwa file ini adalah file script bash). Sebelum mengganti script yang ini dengan kebutuhan kita, kita harus tahu dulu cara kerja dari script utama kita. Jadi script utama kita mengambil 3 input, yaitu: option skema mikrofisis, option skema cumulus untuk domain 1 dan 2, option skema cumulus untuk domain 3.

Sehingga untuk menjalankan WRF dengan skema mikro fisis option 1, cumulus option 2 dengan domain 3nya tanpa parameterisasi cumulus, maka perintahnya adalah

./ujiskema.sh 1 2 0

Akan tetapi pada kasus ingin menguji skema, kita perlu merunning perintah ini berkali-kali, dan itulah fungsi wrapping. Jadi, semua perintah untuk merunning uji skema kombinasi skema cumulus dan mikrofisis yang kita inginkan menggunakan script utama ini, taruh semua perintahnya di script wrapping ini. itulah kenapa pada script wrapping contoh di atas isinya hanya perintah menjalankan program ujiskema.sh .

Pada contoh pada script wrapping peraga di atas, kombinasi yang ingin di uji adalah mikrofisis skema nomor 1, 2, 3, 5, dan 6 dan skema cumulus 1, 2, dan 5 dengan domain 3nya mengikuti option cumulus untuk domain 1 dan 2 dan tanpa parameterisasi cumulus.

Setelah selesai mengedit script utama dan wrappingnya, saatnya menjalankan scriptnya dengan perintah

./wrapujiskema.sh

Tunggu sampai selesai maka akan muncul banyak folder sebanyak kombinasi skema yang ingin kita running. Nama folder tersebut sudah self explanatory, ketika muncul akan langsung tahu ini merujuk kemana, Setiap wrfout hasil running WRF dengan suatu kombinasi skema dipindahkan ke folder yang sesuai dengan namanya. Apa nama foldernya biarlah menjadi kejutan bagi yang merunning script ini :)) .

Sekian tutorial penggunaan script bash sederhana ini.

Komentar