About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

Import Data File NetCDF di Python dengan Library NetCDF4

Format file NetCDF dikembangkan dan dikelola oleh Unidata yang merupakan bagian dari University Corporation for Atmospheric Research (UCAR) Community Programs (UCP). Dalam penggunaannya, file NetCDF seringkali digunakan sebagai dataset di bidang geoscience. Di dalam file inilah terdapat data keadaan dari beberapa titik lokasi di bumi. Misalnya rata-rata suhu dari beberapa titik lokasi (berdasarkan koordinat latitude dan longitude) dalam rentang waktu tertentu.

Untuk keperluan datascience di bidang geoscience, tentu saja diperlukan cara untuk mengekstrak data yang ada di dalam file NetCDF (berekstensi *.nc) tersebut. Pada tutorial ini, saya akan mencoba menjelaskan bagaimana mengimport dan mengekstrak data file NetCDF dengan menggunakan Python.

Sebenarnya ada beberapa tools baik offline maupun online untuk mengekstrak data file NetCDF namun berdasarkan penelusuran saya, rata-rata mereka berbayar, misalnya MyGeodata.cloud. Namun, syukurlah ternyata di dalam Python kita dapat melakukan hal ini dengan mudah dan gratis dalam menggunakan library nya.

Untuk bisa mengimport dan mengekstrak data file NetCDF di Python, kita membutuhkan library netCDF4. Perintah untuk menginstall-nya adalah:

pip install netcdf4

Namun, agar bisa menginstall netCDF4 khususnya di OS Windows terlebih dahulu diperlukan Microsoft Visual C++ versi 14.0 yang bisa diunduh di https://visualstudio.microsoft.com/visual-cpp-build-tools/. Untuk instalasi Microsoft Visual C++ versi 14.0 ini diperlukan space sekitar 4 Gb di komputer (minimal).

Setelah library netCDF4 berhasil diinstall, kita bisa gunakan untuk mengimport dan mengekstrak data file NetCDF. Seperti pada contoh berikut ini.

Misalkan kita akan mengimport file dengan nama ‘2010.nc’, maka perintahnya:

# import library netCDF4
import netCDF4
# import modul untuk mengambil dataset dari file NetCDF
from netCDF4 import Dataset
# proses import file ke dalam dataset, simpan ke 'data'
data = Dataset('2010.nc')

Apabila isi dari variabel ‘data’ hasil import ditampilkan, maka akan muncul tampilan informasi dari dataset sebagai berikut:

<class 'netCDF4._netCDF4.Dataset'>
root group (NETCDF4 data model, file format HDF5):
    title: APHRO_MA V1808 daily temperature with 0.25deg grids
    dimensions(sizes): lon(360), lat(280), time(365)
    variables(dimensions): float64 lon(lon), float64 lat(lat), float64 time(time), float32 tave(time,lat,lon), float32 rstn(time,lat,lon)
    groups: 

Informasi di atas menunjukkan karakteristik dari dataset, seperti dimensinya (ukuran data) dan variabel apa saja di dalam dataset.

Selanjutnya, misalkan kita ingin mendapatkan variabel apa saja di dalam dataset, perintah yang diberikan di Python adalah:

data.variables.keys()
# outputnya -> dict_keys(['lon', 'lat', 'time', 'tave', 'rstn'])

Setelah kita mengetahui variabel apa saja di dalam dataset, kemudian misalkan kita akan mengekstrak data longitudenya (‘lon’), perintah yang diberikan adalah:

# ambil data longitude -> variabel 'lon'
long = data.variables['lon'][:]
print(long)

Perintah di atas akan menghasilkan array seperti pada tampilan berikut ini.

Data longitude

Dengan cara yang sama seperti di atas, kita bisa mengekstrak pula untuk data-data yang ada di variabel lainnya dari dataset.

Mudah bukan prosesnya? Semoga artikel ini bisa bermanfaat.

NB: Sebagai tambahan informasi, selain menggunakan library NetCDF4, cara alternatif di Python untuk mengimport dan mengekstrak data NetCDF juga bisa menggunakan library xarray.

Saya seorang dosen dan peneliti di Universitas Sebelas Maret. Bidang penelitian saya tentang: adaptive learning, datascience, dan computer aided learning. Selain itu saya juga seorang blogger, serta penulis buku tentang pemrograman, dan matematika.

Leave a Reply