Tutorial pengolahan data dengan GNU Octave

oleh Noersomadi

Pengolahan dasar data integrated water vapor (iwv) menggunakan GNU Octave free software.
GNU Octave adalah bahasa pemrograman saintifik untuk analisis data, penanganan matriks multi-dimensi hingga visualisasi 2D/3D.
GNU Octave dapat diinstal pada sistem operasi GNU/Linux, Microsoft Windows, macOS dan BSD.

Untuk mengolah data iwv diperlukan Octave netcdf package.
Instalasi GNU Octave untuk versi Windows OS pada umumnya sudah termasuk package dasar termasuk netcdf.
Aktifkan netcdf package dengan mengetik pada Command Window

>> pkg load netcdf

Ketik pkg list untuk melihat daftar package yang terinstal di Octave. Tanda * menunjukkan bahwa package tersebut sudah aktif.


Ketik ncdisp nama_file_iwv pada Command Window untuk melihat deskripsi file netCDF.
Perintah ncdisp berfungsi sama dengan ncdump pada sistem UNIX atau Linux.
Contoh berikut ini memerlihatkan deskripsi Global Attributes, Dimensions dan Variables file iwv_2021.001_above2km_v2023.nc

Silakan unduh file data iwv disini

Hasil ncdisp iwv_2021.001_above2km_v2023.nc terlihat seperti berikut ini.
Informasi Date pada Global Attributes menunjukkan waktu (tanggal) data yaitu 1 Januari 2021.
Terdapat variabel iwvgrid berdimensi 145x25 dan merupakan fungsi lat dan lon


Tampilan ncdump file netCDF pada Linux yang menunjukkan dimensions, variables dan global attributes



Buatlah skrip program Octave misal dengan nama membuat_kontur_iwv.m pada Octave Text Editor.
Simpan file tersebut pada direktori yang sama dengan file netCDF.


close all
clear
clc

namafile = 'iwv_2021.001_above2km_v2023.nc';
iwv = ncread(namafile,'iwvgrid');
iwv = iwv'; % transpose matriks iwv
xdim = ncread(namafile,'lon');
ydim = ncread(namafile,'lat');

figure;
[c,h] = contourf(xdim,ydim,iwv);
axis image
colormap(jet)
colorbar


Klik 'Save File and Run' atau tekan tombol F5 pada keyboard.
Hasil program akan menunjukkan gambar seperti berikut ini.

GNU Octave secara default tidak menyiapkan data garis pantai (coast line).
Untuk menambahkan gambar garis pantai wilayah benua atau kepulauan pada kontur dapat menggunakan data
yang diunduh dari Global Self-consistent, Hierarchical, High-resolution Geography Database (GSHHG)

Pada contoh dibawah ini, data shoreline atau coastline telah disiapkan dalam bentuk Octave *.mat
binary file dengan nama coastmodif.mat yang memunculkan variable lonmodif dan latmodif

Pengaturan tambahan lainnya seperti menghilangkan garis kontur warna hitam pada batas tiap warna,
penempatan legenda warna, penambahan judul legenda dapat dilihat pada skrip lengkap berikut ini.


close all
clear
clc

load coastmodif.mat

namafile = 'iwv_2021.001_above2km_v2023.nc';
iwv = ncread(namafile,'iwvgrid');
iwv = iwv'; % transpose matriks iwv
xdim = ncread(namafile,'lon');
ydim = ncread(namafile,'lat');

figure;
[c,h] = contourf(xdim,ydim,iwv);
set(h,'linestyle','none')
hold on
plot(lonmodif,latmodif,'color',[0.5 0.5 0.5])
axis image
axis([0 360 -30 30])
colormap(jet)
hc=colorbar
set(get(hc,'title'),'string','kg/m^2')

Program tersebut akan menampilkan data iwv secara keseluruhan (iwv global).



Jika menghendaki untuk membatasi hanya sekitar wilayah Indonesia, maka dapat dilakukan pengaturan pembatasan axis.
Ubah batasan sumbu-x dengan axis([60 180 -30 30])



Pengaturan seperti judul gambar dan lainnya, dapat dipelajari disini.








GNSS for Atmospheric Observations and Tracking Climate Change
(GATOTKACA)