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