Tutorial pengolahan data dengan Python

Pengolahan dasar data integrated water vapor (iwv) menggunakan Python free software.

Untuk mengolah data iwv diperlukan Python Library berikut ini :
netCDF4 : (untuk membaca file netCDF)
Basemap : (untuk mengakses peta dasar atau garis pantai)
numpy : (untuk mengolah data berbentuk array)
pylab : (untuk visualsasi)


Silakan unduh file data iwv disini

Buatlah skrip python dengan ekstensi *.py sebagai berikut


#membaca dan memvisualisasikan data iwv
#input : data iwv dalam format file netcdf
#output : visualisasi spasial seluruh data dan wilayah indonesia
#created by : Edy Maryadi, S.T., M.T.

import netCDF4
from mpl_toolkits.basemap import Basemap
import numpy as np
import pylab
namafile="iwv_2021.001_above2km_v2023.nc"

#membaca data iwv dan mengambil setiap variabel
dataset=netCDF4.Dataset(namafile)
lat=dataset.variables['lat'][:].data
lon=dataset.variables["lon"][:].data
iwvgrid=dataset.variables["iwvgrid"][:].data
tanggalData=dataset.Date

#membuat peta dasar untuk dunia
mDunia=Basemap (projection="cyl",urcrnrlat=max(lat),urcrnrlon=max(lon),llcrnrlat=min(lat),llcrnrlon=min(lon))
xDunia,yDunia=np.meshgrid(lon,lat)
xDunia,yDunia=mDunia(xDunia,yDunia)

#plot data untuk dunia
mDunia.drawcoastlines()
mDunia.drawparallels(np.linspace(min(lat),max(lat),4),labels=[True,False,False,False])
mDunia.drawmeridians(np.linspace(min(lon),max(lon),10),labels=[False,False,False,True])
mDunia.contourf(xDunia,yDunia,iwvgrid,cmap="jet")
pylab.colorbar(location="bottom",pad=0.08,shrink=0.5)
pylab.title("Integral Water Vapor (IWP) Dunia\n "+tanggalData,pad=30,fontsize=20)
#filter lat lon untuk daerah indonesia
latInd=lat[(lat>=-30) & (lat<=30)]
lonInd=lon[(lon>=60)&(lon<=210)]
indxLatInd=np.where((lat>=-30) & (lat<=30))[0]
indxLonInd=np.where((lon>=60)&(lon<=210))[0]

#membuat peta dasar untuk Indonesia
mInd=Basemap (projection="cyl",urcrnrlat=max(latInd),urcrnrlon=max(lonInd),llcrnrlat=min(latInd),llcrnrlon=min(lonInd),resolution="h")
xInd,yInd=np.meshgrid(lonInd,latInd)
xInd,yInd=mInd(xInd,yInd)

mInd.drawcoastlines()
mInd.drawparallels(np.linspace(min(latInd),max(latInd),5),labels=[True,False,False,False])
mInd.drawmeridians(np.linspace(min(lonInd),max(lonInd),10),labels=[False,False,False,True])
mInd.contourf(xInd,yInd,iwvgrid[min(indxLatInd):max(indxLatInd)+1,min(indxLonInd):max(indxLonInd)+1],cmap="jet")
pylab.colorbar(location="bottom",pad=0.08,shrink=0.5)
pylab.title("Integral Water Vapor (IWP) Indonesia\n "+tanggalData,pad=30,fontsize=20)


Hasil program tersebut untuk pengolahan dan visualisasi adalah seperti berikut ini








GNSS for Atmospheric Observations and Tracking Climate Change
(GATOTKACA)