Pembangkitan Data Pembangkitan Data Cuaca

3.2 Tempat dan Waktu Penelitian

Penelitian dilakukan di Lab Meteorologi Terapan. Penelitian berlangsung mulai bulan Januari 2012 sampai Mei 2012. 3.3 Metode Penelitian 3.3.1 Algoritma Pembaca NetCDF Visual Basic 6 Pembaca file NetCDF membutuhkan sebuah Dynamic-Link Library DLL file yang dirancang untuk pembacaan netCDF. Di dalam file ini terdapat banyak fungsi untuk membaca dan menulis data netCDF. Sebuah variabel array yang memiliki dua dimensi longitude dan latitude akan dihasilkan dari pembacaan file NetCDF dengan menggunakan fungsi-fungsi yang berada di dalam file DLL.

3.3.2 Cropping Array

Data curah hujan pada suatu lokasi tertentu bisa didapatkan dengan memasukan koordinat lokasi tersebut sebagai nilai indeks dari variabel array yang dihasil dari pembacaan data netCDF. Variabel array ini berisikan nilai curah hujan lokasi yang diinginkan dengan satuannya adalah mmhari.

3.3.3 Pembangkitan Data Cuaca

Pembangkit data cuaca ini dikembangkan oleh Handoko et al 1994. Pembangkit data cuaca ini memiliki beberpa asumsi yang digunakan. Pertama, input curah hujan harian terjadi pada pagi hinga sore hari sehingga mempengaruhi lama penyinaran. Kedua, suhu minimum memiliki hubungan dengan suhu titik embun rata-rata harian sehingga suhu minimum dapat menentukan titik embun.

3.3.3.1 Pembangkitan Data

Lama Penyinaran Data lama penyinaran didapatkan dari perkalian antara rasio lama penyinaran terhadap panjang hari nN dengan nilai panjang hariN. = × ……………1 sumber: Handoko et al. 1994 Keterangan: n : lama penyinaran jam N : Panjang Hari jam Rasio lama penyinaran terhadap panjang hari nN merupakan fungsi dari curah hujan harian, longitude dan latitude. Gambar 7 Diagram alir pengolahan data = , ∅ , θ Persamaan empiris nN dibuat dari bangkitan data nN oleh persamaan empiris nN Handoko et al 1994. = + ……………2 = − . − . ∅ + . Algoritm a Pem baca Dat a Net CDF Dat a TRM M 3B42 Harian Koordinat Array Curah Hujan Harian Cropping Array Array Lam a penyinaran Array Radiasi Array Suhu M aksim um Array Suhu M inim um Array Suhu Rat aan Array Kelem baban Nisbi Array Curah Hujan Harian Hasil Cropping Pem bangkit Dat a Cuaca = . − . sumber: Handoko et al. 1994 Keterangan: n : Lama penyinaran jam N : Panjang hari jam P : Curah hujan mm ∅ : Lintang o θ : Bujur o Persamaan baru dibangkitkan dengan persamaan di atas yaitu persamaan eksponensial nN. = × ……………3 = − . − . ∅ + . = − . + . × − . × ∅ 3.3.3.2 Pembangkitan Data Radiasi Data yang digunakan untuk menghitung radiasi adalah data lama penyinaran dan data koordinat dari daerah yang diinginkan. Persamaan yang digunakan untuk menghitung radiasi adalah: = + ……………4 sumber: Handoko et al. 1994 Keterangan: Q o : Radiasi surya harian MJm 2 Q A : Radiasi surya di puncak atmosfer MJm 2 a2 : 0.36 nilai rata-rata parameter = − . − . ∅ + . Keterangan: ∅ : Lintang o θ : Bujur o 3.3.3.3 Pembangkitan Data Suhu Data yang digunakan untuk membangkitkan suhu adalah data ketinggian tempat yang didapatkan dari data Digital Elevation Model DEM SRTM, data radiasi dan lama penyinaran. Persamaan yang digunakan untuk membangkitkan suhu minimum dan maksimum musiman adalah: ′ = − . − ………5 ′ = − . − ………6 dimana, = + ∆ + ∆ = . | ∅ | − . = − . | ∅ | ∆ = | ∅ | ∆ = , ∅ , ∅ ≥ sumber: Handoko et al. 1994 Keterangan: T’ max : Suhu maksimum musiman o C T’ min : Suhu minimum musiman o C ∅ : Lintang o Fluktuasi suhu harian dihitung dengan menggunakan persamaan berikut: = ′ + = ′ + dimana, = . − = − . = . + . ∅ − . sumber: Handoko et al. 1994 Keterangan: nN : Perbandingan lama penyinaran dengan panjang hari Q o : Radiasi surya harian MJm 2 θ : Bujur o Suhu rataan harian ditentukan dengan persamaan berikut: = ……………7 Keterangan: T mean : Suhu Rataan T min : Suhu Minimum T max : Suhu maksimum 3.3.3.4 Pembangkitan Data Kelembaban Nisbi Data titik embun perlu diketahui terlebih dahulu sebelum menghitung kelembaban nisbi. Data yang digunakan untuk menghitung titik embun adalah data suhu minimum, koordinat dan ketinggian tempat yang diinginkan. Persamaan yang digunakan untuk menghitung titik embun adalah: = + ……………8 sumber: Handoko et al. 1994 Keterangan: T d : Suhu titik embun o C T min : Suhu minimum = . − . ∅ + . − . = . − . Data yang digunakan untuk menghitung kelembaban nisbi adalah data suhu titik embun dan suhu udara. Persamaan yang digunakan untuk menghitung kelembaban nisbi adalah: = . [ . . ] = . [ . . ] = × ……………9 sumber: Handoko et al. 1994 Keterangan: RH : Kelembaban nisbi T : Suhu Udara T d : Suhu titik embun ea : Tekanan uap aktual ea : Tekanan uap jen IV HASIL DAN PEMBAHASAN 4.1 Program pengekstrak data curah hujan dari data satelit TRMM 3B42 harian NetCDF adalah format file yang memiliki sistem array. File ini memiliki beberapa dimensi. Nilai variabel akan didapatkan dengan memasukan nilai dimensi yang diinginkan. Data TRMM 3B42 harian disimpan dalam format netCDF. netCDF TRMM 3B42 harian memiliki dua dimensi, yaitu longitude dan latitude. Nilai curah hujan akan didapatkan dengan memasukan nilai longitude dan latitude yang diinginkan dengan nama variabel HRF. Kelebihan data netCDF dibandingkan dengan file sequential .txt, .csv yaitu dalam mengambil data yang berada di tengah file. Nilai variabel yang terdapat di tengah file netCDF dapat langsung diambil dengan memasukan nilai dimensinya. Pengambilan nilai variabel yang terdapat di tengah sequential file .txt, .csv harus dengan cara membaca nilai satu per satu dari atas hingga nilai yang diinginkan. Hal ini mengakibatkan proses pengolahan data dengan file format netCDF akan lebih cepat dibandingkan format file sequential .txt, .csv. Kelebihan ini sangat bermanfaat untuk mengambil data 1 pixel dari kumpulan citra TRMM 3B42 harian untuk membuat data curah hujan harian disuatu tempat. Proses ini dapat dilihat pada Gambar8. Gambar 8 Proses pengambilan data 1 pixel dari kumpulan citra 3B42 TRMM harian Tabel 1 Format array data TRMM 3B42 Longitude Latitude HRF mmday 141.5 10.25 23 141.5 10.5 13 141.75 10.25 12 141.75 10.5 … … … … … … Kelebihan lain dari file netCDF adalah lebih efisien dalam menggunakan memori lima kali lipat dibandingkan sequential file .txt, .csv. Berdasarkan hal ini, kita dapat menyimpan data yang sangat banyak dengan memori yang kecil. File netCDF ditata seperti pada Gambar9, supaya program lebih mudah dalam mengakses file netCDF. Pengguna juga akan lebih mudah untuk memeriksa kelengkapan data atau menambahkan data netCDF TRMM 3B42 harian yang baru kedalam program. Gambar 9 Format Penataan Database Data NetCDF TRMM 3B42 harian Pembacaan data netCDF memerlukan beberapa fungsi tambahan dari luar karena Ms. Visual Basic 6 tidak menyediakan fungsi untuk membaca dan menulis data netCDF. Fungsi-fungsi pembacaan dan penulisan data netCDF didapatkan dari file DLL yang dikeluarkan oleh Unidata. Fungsi-fungsi dalam file DLL yang digunakan yaitu nc_open, nc_inq_dimid, nc_inq_dimlen, nc_inq_varid, nc_get_var _double, nc_close. Dalam proses pembacaan data netCDF lihat Gambar10, terdapat dua fungsi yang wajib digunakan untuk melakukan pembacaan data yaitu fungsi membuka nc_open dan fungsi menutup nc_close. Fungsi nc_open digunakan untuk membuka file netCDF dengan input dua nilai variabel string yaitu alamat file dan status pembacaan dan satu variabel output yaitu nomor Id. Dalam program ini, nama file memiliki format tanggal 3B42_daily.year.month .day.6.nc agar mudah dalam membuat alamat file yang diinginkan. Setelah menggunakan fungsi nc_open akan mendapat nomor Id file netCDF yang digunakan dalam proses selanjutnya. Dalam menentukan panjang indeks dari array pada file netCDF, dapat digunakan dua fungsi yaitu nc_inq_dimid dan nc_inq_dimlen. Fungsi nc_inq_dimid digunkan untuk meminta nomor Id suatu indeks array dari file netCDF. Input fungsi ini adalah dua variabel string yaitu nomor Id data netCDF dan nama indeks array longitude atau latitude dan output fungsi ini adalah satu variabel berisi nomor Id indeks array dari file netCDF. Fungsi nc_inq_dimlen digunakan untuk meminta nilai panjang indeks. Input fungsi ini adalah dua variabel string yaitu nomor Id data netCDF dan nomor Id indeks dan output fungsi ini adalah satu variabel berisi nilai panjang array. Variabel array pada file netCDF dapat dipindahkan ke variabel dalam program menggunakan dua fungsi yaitu nc_inq_varid dan nc_get_var_double. Fungsi nc_ inq_varid digunakan untuk meminta Gambar 10 Diagram alir algoritma pembaca netCDF nc_open nc_inq_dimid nc_inq_dimlen nc_inq_varid nc_get_var _double nc_close Redim File Path Write Status NetCDF ID Dimansion Name Dimansion ID Dimansion Lenght Empty MyVarx,y Variable Name Variabel ID Filled MyVarx,y Gambar 11 Contoh Hasil Keluaran Program untuk Unsur Cuaca Curah Hujan global 50 o LU – 50 o LS Tabel 2 Contoh Hasil Keluaran Program untuk Data Curah Hujan titik global 50 o LU – 50 o LS Year Month Day Rain mm 2000 1 1 2000 1 2 9 2000 1 3 2 2000 1 4 34 2000 1 5 3 … … … … … … … … nomor Id dari variabel data pada file netCDF. Input fungsi ini adalah dua variabel string yaitu nomor Id data netCDF dan nama variabel array nama variabel untuk TRMM 3B42 adalah HRF dan output fungsi ini adalah satu variabel berisi nomor Id variabel array. Fungsi nc_get_var_double digunkan untuk memindahkan variabel array data netCDF ke variabel array pada program. Input fungsi ini adalah dua variabel string yaitu nomor Id data netCDF dan nomor Id variabel dan output fungsi ini adalah satu variabel array berisi nilai data dari file netCDF. Output dari program ini adalah data curah hujan global lintang 50 o LU – 50 o LS. Output ini dibagi menjadi dua jenis yaitu data spasial dan time series. Hasil output data spasial dan time series dapat dilihat pada Gambar11 dan Tabel2.

4.2 Sistem pembangkitan data cuaca dengan data masukan data TRMM