Senin, 06 Januari 2020

Cara Plot dan Ekstrak Data GSMaP

Data GSMaP yang sudah didownload masih dalam format *.dat.gz, contoh file tanggal 01 Januari 2020 :  gsmap_nrt.20200101.0.1d.daily.00Z-23Z.dat.gz. Untuk itu file tersebut perlu diekstrak terlebih dahulu dengan menggunakan unzip sehingga nama filenya menjadi gsmap_nrt.20200101.0.1d.daily.00Z-23Z.dat.

Untuk plotting data diatas, dibutuhkan file deskriptor yang lazim juga disebut dengan kontrol file sehingga ekstensinya adalah *.ctl sebagai berikut :

DSET ^gsmap_nrt.%y4%m2%d2.0.1d.daily.00Z-23Z.dat
TITLE GSMaP_NRT 0.1deg Daily (00:00Z-23:59Z)
UNDEF -999.9
OPTIONS YREV LITTLE_ENDIAN TEMPLATE
XDEF   3600 LINEAR  0.05 0.1
YDEF   1200  LINEAR -59.95 0.1
zdef 1 levels 1013
tdef 365 linear 00:00z1jan2020 1dy
VARS 1
precip          0 99 daily averaged precip(mm/hr)
ENDVARS


untuk penjelasan dari tiap item dalam file deskriptor (*.ctl) diatas dapat dibaca : disini
 

Copy semua baris file *.ctl diatas dan Paste di Notepad, kemudian simpan dengan nama gsmap.ctl pada folder yang sama dengan folder penyimpanan data. 

Selanjutnya copy dan paste baris perintah GrADS berikut ke notepad dan beri nama filenya dengan nama plotgsmap.gs :

'reinit'

tanggal = 01 Januari 2020
'open PATH/gsmapctl.ctl'
'set t 1'
'set lon 95 141'
'set lat -15 15'
'set mpdset hires'
'set csmooth on'
'set gxout shaded'
'set clevs 0 5 20 50 100 150'
'd precip*24'
'cbarn'
'draw title Distribusi Curah Hujan GSMaP 01 Januari 2020'
'printim
PATH/01/01Januari2020.png white'

'set gxout print'
'set prnopts %6.2f 1 1'

write('
PATH/'tanggal'.txt', 'X    Y    LON    LAT    Precip')

'q dims'
xline=sublin(result,2)   ;* 2nd line
yline=sublin(result,3)   ;* 3rd line
xmax=subwrd(xline,13)    ;*13th word on xline
ymax=subwrd(yline,13)    ;*13th word on yline

say 'X grid-points: 'xmax
say 'Y grid-points: 'ymax
y=570.5
ymax=595.5
while(y<=ymax)

  x=1006.5
  xmax=1045.5
  while(x<=xmax)

    'set x 'x
    'set y 'y
    'd precip*24'

*    NOTE: It may be useful to test this to find out where the data is contained with in the result
*    It just so happens that in this case, the data is the 1st word of the 2nd line, this is not always true

     precip=sublin(result,2)
     precip=subwrd(precip,1)

*    Get Lat/Lon Data

     'q dims'
     lons=sublin(result,2)
     lats=sublin(result,3)
     lon=subwrd(lons,6)
     lat=subwrd(lats,6)

*    Save data to file
*    Note the "append", so to add to the file instead of overwriting it

     write('
PATH/'tanggal'.txt', x'    'y'    'lon'    'lat'    'precip,append)

     x=x+1
   endwhile
  y=y+1
endwhile 


####
Keterangan : PATH adalah alamat folder target penyimpanan file data dan file .ctl serta file .gs yang dibatasi oleh garis miring.


untuk menjalankan script GrADS diatas, masuk dulu ke aplikasi GrADS dengan klik dua kali pada icon GrADS. Maka akan tampil sebagai berikut :

Tekan ENTER maka akan tampil 

selanjutnya pada GrADS prompt, ketik run PATH/plotgsmap.gs maka akan tampil plot curah hujan tanggal 01 Januari 2020 wilayah Indonesia sekaligus menyimpan data tiap grid dalam format .txt kedalam folder target.  

Anda bisa juga melakukan plotting GSMaP yang telah tersimpan dalam format .txt dengan menggunakan aplikasi ArcGIS... https://arifmarufi.blogspot.com/2020/01/cara-plot-data-curah-hujan-harian-gsmap.html