Halo Sobat Algos! Kembali lagi di Algoinfo!
Algoinfo kali ini kita akan membahas soal Cara mudah buat bikin peta sebaran parameter dari file NetCDF nih! Sobat Algos udah tau belum apa itu file netCDF?
Nah netCDF (Network Common Data Form) adalah satu set pustaka perangkat lunak dan format data independen mesin yang mendukung pembuatan, akses, dan berbagi data ilmiah berorientasi array. Beranda proyek diselenggarakan oleh program Unidata di University Corporation for Atmospheric Research (UCAR). Mereka juga merupakan sumber utama perangkat lunak netCDF, pengembangan standar, pembaruan, dll. Formatnya adalah standar terbuka. netCDF Classic dan Format Offset 64-bit adalah standar internasional dari Open Geospatial Consortium. Biasanya netCDF itu dipakai untuk menampung data pengamatan satelit dan data model yang secara open-source dapat diakses. Penyedia data yang menggunakan format ini antara lain adalah ECMWF, REMSS, NASA Ocean Color, dan lain sebagainya.
Gimana sih cara ploting datanya ??. Banyak cara yang dapat digunakan untuk melakukan pengolahan data ini baik secara desktop, maupun secara web. Namun beberapa aplikasi tersebut terkadang hanya dapat menampilkan data saja dan belum bisa untuk melakukan pengolahan lebih lanjut, kalaupun ada biasanya berbayar. Cara lain yang dapat digunakan adalah dengan menggunakan pemograman untuk melakukan pengolahan tersebut melalui libary yang disediakan untuk bahasa pemograman spesifik, contohnya dapat digunakan Matlab, IDL, Python, dan lain sebagainya.
Pada bahasa pemograman python sendiri ada beberapa libary yang dapat digunakan untuk membaca data netCDF, salah satunya adalah netCDF4. Untuk membuat file netCDF dari python, cukup memanggil konstruktor Dataset. Ini juga merupakan metode yang digunakan untuk membuka file netCDF yang ada. Jika file terbuka untuk akses tulis (mode=’w’, ‘r+’ atau ‘a’), Kita dapat menulis semua jenis data termasuk dimensi, grup, variabel, dan atribut baru. file netCDF datang dalam lima rasa (NETCDF3_CLASSIC, NETCDF3_64BIT_OFFSET, NETCDF3_64BIT_DATA, NETCDF4_CLASSIC, dan NETCDF4). Pengolahan netCDF menggunakan python sendiri memiliki kelebihan selain dari python sendiri open-source dan banyak sekali IDLE yang dapat digunakan, juga data netCDF yang dibaca dapat diolah secara lebih fleksibel dengan menggunakan libary dasar lain seperti: numpy, mathplotlib, pandas, dan lain-lain.
Nah setelah kita dapat membaca data netCDF ini, kita akan mengubahnya dalam multidimensonal numpy array sehingga mudah untuk melakukan pengolahannya. Kemudian kita akan menggambarkan data tersebut ke dalam bentuk peta menggunakan mathplotlib.pyplot.contourf. Untuk lebih jelasnya simak langkah-langkah berikut ini ya:
1. Buka software atau laman pengolahan code (IDLE) python kalian. Kalian dapat menggunakan software seperti VSCode Studio atau laman seperti Google Colaboratory dan Jupiter Notebook.

2. Install modul-modul yang diperlukan. Kita akan menggunakan modul matplotlib.pyplot, numpy, dan netCDF4.

3. Kerena sekarang kita menggunakan Google Colaboratory maka file netCDF kita terlebih dahulu harus di upload ke IDLE, Sehingga dapat diakses untuk pengolahannya.
![]()
4. Selanjutnya kita gunakan fungsi Dataset dari netCDF4 untuk membaca data netCDF kita

5. Dengan menggunakan fungsi Dataset dalam “ncread” gunakan untuk membaca parameter didalam file netCDF yang kita butuhkan untuk menggambarkannya (parameter utama, longitude, latitude) dan membautnya menjadi bentuk numpy.array

6. Tentukan Interval nilai kontur (level) dengan menggunakan numpy.linspace(awal, akhir, banyak)
7. Gambar peta sebaran dengan menggunakan “contourf” dari Mathplotlib dengan format nilai (x, y, z) pada sepesifik bulan dan kedalaman (z[bulan, kedalaman, lat, lon])
8. Tambahkan pelengkap berupa Colorbar dan sesuaikan sesuai kebutuhan

9. Selesai, Selamat Mencoba!!!

Untuk penjelasan lebih lengkapnya dapat dilihat di youtube kami ya!
Kode Program:
pip install netcdf4
import netCDF4 as nc
import matplotlib.pyplot as plt
import numpy as np
from google.colab import files
ncfile = files.upload()
ncread= nc.Dataset(“global-analysis-forecast-bio-001-028-monthly_1635740980804.nc”)
nitrat = np.array(ncread[‘no3’])
depth = np.array(ncread[‘depth’])
lon = np.array(ncread[‘longitude’])
lat = np.array(ncread[‘latitude’])
level= np.linspace(0,3,21)
peta= plt.contourf(lon, lat, nitrat[3,0,:,:], cmap= ‘jet’, levels=level)
plt.title(“Peta Nitrat Bulan April Kedalaman 0,5 meter”)
plt.colorbar(peta, orientation= ‘horizontal’, label= ‘mmol m-3’)
plt.show()
Sekian dari AlgoInfo kali ini, semoga bermanfaat ya Sobat Algos!
Algomarine, Algorithm for Marine Solutions!
Refernsi lainnya:
https://unidata.github.io/netcdf4-python/
https://www2.atmos.umd.edu/~cmartin/python/examples/netcdf_example1.html
https://kpegion.github.io/Pangeo-at-AOES/examples/read-netcdf.html
