Semua produk GSMaP di HESLab (NOW, NRT, NRT gauged, Standard, dan Standard gauged) disediakan dalam berkas NetCDF dengan struktur yang sama. Halaman ini menjelaskan isi berkas tersebut, beberapa hal yang sering menimbulkan kesalahan, dan contoh cara membacanya dengan Python.
Isi berkas
Setiap berkas berisi satu bulan data hujan per jam untuk wilayah Indonesia dan sekitarnya.
| Variabel | Dimensi | Satuan | Keterangan |
|---|---|---|---|
precipitation |
(time, lat, lon) | mm/jam | laju hujan dalam satu jam |
time |
time | jam sejak 1970-01-01 00:00 | UTC, menandai awal jam pengamatan |
lat |
lat | derajat lintang | dari utara ke selatan (15,05 → −15,05), langkah 0,1° |
lon |
lon | derajat bujur | dari barat ke timur (90,05 → 150,05), langkah 0,1° |
Satu berkas untuk bulan 31 hari berukuran 744 × 302 × 601 sel (jam × lintang × bujur). Nilai koordinat adalah titik tengah sel grid 0,1°.
Nama berkas mengikuti pola gsmap_<produk>_<YYYYMM>.nc, satu berkas per
bulan UTC, disimpan di folder per tahun:
| Produk | Contoh nama berkas | Folder |
|---|---|---|
| NOW | gsmap_now_202601.nc |
NOW/NC/2026/ |
| NRT v8 | gsmap_nrt_v8_nga_202601.nc |
NRT/V8/NGA/NC/2026/ |
| NRT v8 gauged | gsmap_nrt_v8_ga_202601.nc |
NRT/V8/GA/NC/2026/ |
| Standard v8 | gsmap_std_v8_nga_202601.nc |
STD/V8/NGA/NC/2026/ |
| Standard v8 gauged | gsmap_std_v8_ga_202601.nc |
STD/V8/GA/NC/2026/ |
nga berarti tanpa koreksi penakar hujan, ga dengan koreksi. Versi lain
mengganti v8 dan V8, misalnya gsmap_std_v6_ga_200003.nc di
STD/V6/GA/NC/2000/.
Hal yang perlu diperhatikan
- Waktu dalam UTC, menandai awal jam. Nilai berstempel 00:00 UTC adalah hujan selama 00:00–01:00 UTC, yaitu 07:00–08:00 WIB. Sebelum menjumlahkan hujan harian dengan jendela waktu setempat (misalnya pukul 07:00 sampai 07:00 WIB esok harinya), geser waktunya lebih dulu. Untuk WITA tambahkan 8 jam, untuk WIT 9 jam.
- Lintang menurun. Baris pertama adalah wilayah paling utara; ini memang urutan data sumber JAXA, bukan kesalahan. Kode yang mengira lintang naik akan menghasilkan peta terbalik tanpa pesan galat. Selalu ambil sumbu dari berkas, jangan dibuat sendiri.
- Nilai nol tidak selalu berarti tidak hujan. Data JAXA menandai "tidak ada pengamatan" dengan nilai negatif; saat pengolahan nilai ini diubah menjadi 0. Jadi 0 bisa berarti tidak hujan atau tidak ada data.
- Jam yang hilang tidak diisi. Bila suatu jam tidak tersedia dari JAXA, jam itu tidak ada di sumbu waktu. Akibatnya "24 nilai terakhir" belum tentu sama dengan "24 jam terakhir". Periksa kelengkapan sebelum menjumlahkan, misalnya dengan menghitung jumlah jam per hari.
- Koordinat sedikit tidak bulat. Nilai
latdanlondisimpan sebagai float32, sehingga langkahnya tidak tepat 0,1 (misalnya 0,099991). Gunakan pencarian sel terdekat (method="nearest"), bukan pencocokan nilai persis.
Contoh membaca data dengan Python
Contoh berikut memakai pustaka xarray. Ganti nama berkas dengan berkas
yang Anda unduh.
import numpy as np
import xarray as xr
ds = xr.open_dataset("gsmap_nrt_v8_nga_202601.nc")
hujan = ds["precipitation"] # mm/jam, waktu UTC
# Deret waktu di satu titik (Jakarta), sel terdekat
titik = hujan.sel(lat=-6.2, lon=106.8, method="nearest")
# Ubah ke WIB, lalu jumlahkan per hari kalender WIB
titik_wib = titik.assign_coords(time=titik["time"] + np.timedelta64(7, "h"))
harian = titik_wib.resample(time="1D").sum()
jumlah_jam = titik_wib.resample(time="1D").count() # 24 = lengkap
print(harian.to_series().head())
print(jumlah_jam[jumlah_jam < 24]) # hari yang tidak lengkap
Untuk curah hujan rata-rata suatu wilayah (misalnya satu kabupaten atau DAS), potong grid dengan batas wilayahnya lalu hitung rata-rata sel di dalamnya. Untuk ekstraksi per wilayah dan visualisasi tanpa menulis kode, gunakan gsmap-explorer (lihat bagian Sitasi & Pengolahan Data di bawah).
Produk yang memakai format ini
Belum yakin produk mana yang cocok? Baca Memilih produk GSMaP yang tepat.