Python

EASY PROGRAMMING FOR TIDAL DATA

Pasang – surut ialah fenomena naik dan turunnya permukaan air sebab benda-benda langit (matahari dan bulan). Fenomena ini sudah banyak dikaji serta disajikan dalam bermacam wujud, salah satunya dalah berbentuk grafik harmonik pergantian elevasi massa air setiap waktunya untuk mengetahui tipe pasang surut pada daerah tersebut (pasut harian ganda/ tunggal/ campuran). Hal ini mungkin dilakukan dengan metode plotting pergantian muka air setiap jam selama kurun waktu minimal 15 hari.

Penyajian grafik pasang surut umumnya dilakukan memakai aplikasi spreadsheet dengan mudah. Namun nyatanya terdapat metode yang lebih mudah ialah dengan memakai bahasa pemrograman python. Lalu bagimana sih cara menampilkanya dengan python? Penampilan ataupun pembuatan grafik pasang surut dengan memanfaatkan python mempunyai kelebihan ialah kemudahan untuk pengaksesan serta pemasangannya pada program ataupun aplikasi lain. Hal itu dikarenakan python yang bersifat open source, selain itu akan lebih mudah untuk pembuatan grafik secara masal dan banyak.

Modul utama yang dipakai dalam proses plot grafik pasang surut secara sederhana adalah dengan memanfaatkan library pandas, numpy, python io, dan matplotlib, serta modul-modul didalamnya untuk melakukan customisasi terhadap grafik yang ingin kita buat. Berikut merupakan langkah-langkah pembuatan grafik pasang surut menggunakan python:
1. Buka software atau laman pengolahan code 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 dan pandas, numpy, dan python io.
3. Upload file yang akan dilakukan visualisasi grafik elevasinya dengan memilih menu “Telusuri”. Gunakan modul google.colab.files apabila menggunkan Google Colaboratory. File yang di-upload telah disusun sedemikian rupa.


Susunan Excel :

Buat variabel baru (dataframe) yang mendefinisikan pembacaan file excel yang kita buat menggunakan modul pd.read_excel(io.BytesIO(uploaded[“Nama File.xls‟])). Untuk selanjutnya, dataframe kita ubah dalam bentuk array. Tambahkkan perintah untuk menampilkan array pada kolom elevasi. Pada grafik kita juga akan menampilkan muka air rerata, tertinggi, dan terendah. Selanjutnya kita akan melakukan plot untuk grafiknya. Adapun codingannya:
dataframe = pd.read_excel(io.BytesIO(data[‘Nama File.xls’]))
elevation = np.array(dataframe[‘ELEVASI’])
LLWL1 = elevation.min()
MSL1 = elevation.mean()
HHWL1 = elevation.max()
K=np.zeros_like(elevation)
MSL = K+MSL1
LLWL= K+LLWL1
HHWL= K+HHWL1
x = dataframe[“WAKTU PENGAMATAN”]
y = dataframe[“ELEVASI”]
fig = plt.figure(dpi=120,)
ax1 = fig.add_subplot()
ax1.set_xlabel(‘Waktu Pengamatan’)
ax1.set_ylabel(‘Elevasi’)
ax1.set_title(“Nama Grafik”)
ax1.plot(x, y, label = ‘Elevasi’)
ax1.plot(x, MSL, label = ‘MSL’)
ax1.plot(x, HHWL, label = ‘HWS’)
ax1.plot(x, LLWL, label = ‘LWS’)
ax1.legend(loc=’best’)
fig.autofmt_xdate()
fig.show()

Untuk penjelasan lebih lengkapnya dapat dilihat di youtube kami ya!
Sekian dari AlgoInfo kali ini, semoga bermanfaat ya Sobat Algos!
Algomarine, Algorithm for Marine Solutions!

Sumber:
https://ocefpaf.github.io/python4oceanographers/blog/2014/07/07/pytides/

EASY PROGRAMMING FOR TIDAL DATA Read More »

BUAT DIAGRAM T-S MUDAH DENGAN PYTHON

Hello Sobat Algos !! Gimana kabar kuliahnya? Semoga lancar dan tetap semangat ya.

Kali ini kita bakal membahas salah satu library yang ada di Python nih yaitu Diagram T-S.
Seperti yang kita ketahui penyajian data parameter oseanografi sangat beragam jenis nya salah satunya disajikan dalam bentuk diagram berupa Diagram T-S. Diagram T-S adalah grafik yang menunjukkan hubungan antara suhu dan salinitas seperti yang diamati bersama pada, misalnya, kedalaman yang ditentukan dalam kolom air. Variabel utama yang dibutuhkan untuk mengolah data Diagram T-S adalah tentunya temperature dan salinitas. Nilai temperature dan salinitas nantinya akan tergantung kepada nilai kedalaman.
Karakteristik suatu perairan ditentukan dengan memplot data suhu dan salinitas terhadap kedalaman.Hubungan salinitas dan suhu dipresentasikan ke dalam Diagram T-S. Di laut kombinasi TS tertentu lebih disukai yang mengarah pada prosedur identifikasi melalui definisi jenis air dan massa air dan distribusi mereka.
Diagram temperatur-salinitas (T-S) perairan penting untuk difahami karena bermanfaat untuk mengetahui sumber massa air perairan setempat. Oleh karena itu perlu pemahaman yang baik mengenai dinamika diagram T-S di setiap perairanKarakteristik diagram T-S khususnya ditentukan olehperubahan pola horisontal dalam tiga lapisan, yaitu air hangat di lapisan atas, air pertengahan, dan air dingin di laut bagian dalam.

Terus ada yang bertanya-tanya apa kegunaan dari diagram T-S ini,
Kegunaannya antara lain:
1. Dapat digunakan untuk mengecek apakah data suhu dan salinitas yang diambil di lapangan dapat di percaya atau tidak.
2. Dapat digunakan untuk mengidentifikaasi massa air dan menentukan proses pencampuran
3. Dapat digunakan untuk melihat kestabilan kolom air
4. Dapat digunakan untuk melacak gerakan massa air dengan cara membandingkan beberapa diagram T-S suatu perairan

Sebelum mengolah variabel dari Diagram T-S men ggunakan Python, terlebih dahulu data suhu/temperature dan salinitas dimasukkan kedalam excel.

Berikut ini langkah-langkah sederhana dalam menggunakan library Diagram T-S dalam python:

1. Buka software atau laman pengolahan code python kalian. Kalian dapat menggunakan software seperti VSCode Studio atau laman seperti Google Colaboratory dan Jupiter Notebook.

2. Lakukan instalasi library GSW (Gibbs Seawater) pada halaman kerja dan tunggu proses install selesai.
Coding=
pip install gsw

3. Lakukan import data file excel
Coding=
from google.colab import files
uploaded = files.upload()

4. Lakukan import library pendukung penulisan script lain seperti numpy, pandas, matplotlib, IO dan GSW. Import juga “MaxNLocator” dari library matplotlib.ticker yang telah di install. Kemudian masukan script dengan menggunakan fungsi def yang berguna untuk menyimpan Diagram T-S dengan menggunakan variabel yang sudah diupload di file.
Coding=
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import io
import gsw as gsw
from matplotlib.ticker import MaxNLocator
def TSdiagram(*file):
df=pd.read_excel(io.BytesIO(uploaded[‘Stasiun 1.xlsx’]))
df
ts=df[[‘Temperature’, ‘Salinity’]]
df1=ts.sort_values(‘Temperature’,ascending=True)
mint=np.min(df[‘Temperature’])
maxt=np.max(df[‘Temperature’])
mins=np.min(df[‘Salinity’])
maxs=np.max(df[‘Salinity’])
tempL = np.linspace(mint-0.7,maxt+0.3)
salL = np.linspace(mins-0.7,maxs+0.3)
Tg, Sg = np.meshgrid(tempL,salL)
sigma_theta = gsw.sigma0(Sg, Tg)
cnt = np.linspace(sigma_theta.min(), sigma_theta.max(),200)
fig,ax=plt.subplots(figsize=(10,10))
cs=ax.contour(Sg, Tg, sigma_theta, colors=’grey’, zorder=1)
cl=plt.clabel(cs,fontsize=10,inline=False,fmt=’%.1f’)
sc=plt.scatter(df[‘Salinity’],df[‘Temperature’],s=10)
cb=plt.colorbar(sc)
ax.set_xlabel(‘Salinity [$‰$]’)
ax.set_ylabel(‘Temperature[$^\circ$C]’)
cb.set_label(‘Density[Kg/m$^{-3}$]’)
ax.set_title(‘Temperature and salinity (T-S) Diagram’,fontsize=20, fontweight=’bold’)
ax.xaxis.set_major_locator(MaxNLocator(nbins=20))
ax.yaxis.set_major_locator(MaxNLocator(nbins=40))
ax.tick_params(direction=’out’)
cb.ax.tick_params(direction=’out’)
plt.tight_layout()
plt.savefig(‘ts_diagram.png’,format=’png’,dpi=900,transparent=False)
plt.show()
return ‘ts_diagram.png’

5. Kemudian jalankan coding kalian dan atur sesuai dengan keperluan kalian. Kalian dapat menambahkan Judul, mengatur label data, dan lain-lain. Batasnya adalah imajinasi kalian.
Hasill Diagram T-S yang ditampilkan bakal seperti ini:

Buat lebih jelasnya, simak juga tutorial pembuatannya melalui youtube kami:

Semoga Bermanfaat

Sumber:
https://hafezahmad.medium.com/making-temperature-salinity-diagrams-called-the-t-s-diagram-with-python-and-r-programming-5deec6378a29

BUAT DIAGRAM T-S MUDAH DENGAN PYTHON Read More »

BUAT WINDROSE MUDAH DENGAN PYTHON

Hello Sobat Algos !!, Gimana kabarnya sekarang? Tak terasa udah mau kuliah lagi aja nih. Kali ini kita bakal ngulik-ulik salah satu library yang ada di phyton nih yaitu windrose.
Seperti yang kita tau penyajian data metorologi sangat beragam jenis nya salah satunya disajikan dalam grafik berupa mawar angin (windrose). Mawar angin atau cakra angin adalah sebuah metode penggambaran informasi mengenai kecepatan dan arah angin pada suatu lokasi tertentu.
Nah untuk kelebihan dari penyajian data angin menggunakan windrose sendiri ini, kita dapat dengan mudah untuk membaca dan menentukan arah angin dominan dan besarnya kecepatan angin yang behembus pada wilayah tersebut.
Kenapa kita dapat membacanya dengan mudah karena windrose ini disajikan dalam dalam format melingkar dengan skema frekuensi angin yang berhembus dari arah tertentu dengan keterangan derajat arah pada luar lingkaran windrose dan kecepatan angin yang disajikan dalam bentuk juring lingkaran yang besar dan warnanya disesuaikan dengan kecepatan angin yang berhembus.
Windrose sendiri memerlukan data kecepatan dan arah angin agar dapat memplotkanya dalam grafik windrose. Pada library windrose dalam python yang akan kita gunakan ini, kita harus terlebih dahulu menerjemahkan variabel “ws” sebagai nilai kecepatan angin dan variabel “wd” sebagai nilai dari arah angin. Nilai ws dan wd ini dapat kita dapatkan dengan interpretasi/kalkulasi dari data angin permukaan air laut 10m yang dapat diakses secara gratis di penyedia data satelit contohnya Copernicus (https://cds.climate.copernicus.eu/) dari satelit ERA5 dan data dari NetCDF, serta penyedia data lain.


Berikut ini langkah-langkah sederhana dalam menggunakan library windrose dalam phyton:
1. Buka software atau laman pengolahan code python kalian. Kalian dapat menggunakan software seperti VSCode Studio atau laman seperti Google Colaboratory dan Jupiter Notebook.
2. Lakukan instalasi library windrose pada halaman kerja dan tunggu proses install selesai.
Coding=
pip install windrose

3. Pada Ln berikutnya terjemahkan nilai dari variabel ws dan wd, serta jangan lupa masukan library pendukung lain seperti mathplotlib, nummpy, dan lain-lain. Import juga “WindroseAxes” dari library windrose yang telah di install.
Coding=
from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np
ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
4. Kemudian masukan perintah untuk pembuatan plotnya menggunkan WindroseAxes yang telah di import dan buat sesuai dengan kemauan kalian pada bar dan legenda dari windrose tersebut.
Coding=
ax = WindroseAxes.from_ax()
ax.bar(wd, ws, normed=True, opening=0.8, edgecolor=’white’)
ax.set_legend()
plt.title (“Windrose Area X”)
5. Kemudian jalankan coding kalian dan atur sesuai dengan keperluan kalian. Kalian dapat menambahkan Judul, mengatur label data, dan lain-lain. Batasnya adalah imajinasi kalian.

Hasill windrose yang ditampilkan bakal seperti ini:


Full Coding=
pip install windrose
from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np
ws = np.random.random(500) * 6
wd = np.random.random(500) * 360
ax = WindroseAxes.from_ax()
ax.bar(wd, ws, normed=True, opening=0.8, edgecolor=’white’)
ax.set_legend()
plt.title (“Windrose Area X”)

Buat lebih jelasnya, simak juga tutorial pembuatannya melalui youtube kami: https://www.youtube.com/watch?v=H_znDopq5yM&t=182s

Semoga Bermanfaat

Sumber:

https://pypi.org/project/windrose/1.4/

BUAT WINDROSE MUDAH DENGAN PYTHON Read More »

Artikel Python 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Feugiat nisl pretium fusce id velit. Eget dolor morbi non arcu risus. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Venenatis cras sed felis eget velit aliquet sagittis id. Lacus sed turpis tincidunt id. Cursus turpis massa tincidunt dui ut ornare lectus sit amet. Et tortor consequat id porta nibh. Neque vitae tempus quam pellentesque nec nam aliquam sem et. Sit amet porttitor eget dolor morbi non arcu. Dignissim diam quis enim lobortis scelerisque fermentum dui faucibus. Faucibus et molestie ac feugiat sed. Sit amet consectetur adipiscing elit ut aliquam purus. Sagittis eu volutpat odio facilisis. Urna nec tincidunt praesent semper feugiat nibh sed. Consectetur adipiscing elit duis tristique sollicitudin nibh. Aliquam purus sit amet luctus venenatis. Cursus vitae congue mauris rhoncus aenean vel elit scelerisque. Morbi blandit cursus risus at ultrices mi tempus imperdiet. Purus non enim praesent elementum. In ante metus dictum at tempor commodo. Cursus mattis molestie a iaculis at. Accumsan tortor posuere ac ut consequat semper. Ornare quam viverra orci sagittis eu volutpat odio facilisis. Eget nunc scelerisque viverra mauris in. Eu facilisis sed odio morbi quis commodo. Mi ipsum faucibus vitae aliquet nec ullamcorper sit amet. Pulvinar pellentesque habitant morbi tristique senectus et. Tempor id eu nisl nunc mi ipsum faucibus. Massa vitae tortor condimentum lacinia. Nibh cras pulvinar mattis nunc sed. Sed libero enim sed faucibus turpis. Congue eu consequat ac felis donec et. Elementum tempus egestas sed sed risus. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Quisque sagittis purus sit amet volutpat. Nam libero justo laoreet sit amet cursus sit. Ornare arcu dui vivamus arcu felis bibendum. Feugiat sed lectus vestibulum mattis. Elit pellentesque habitant morbi tristique senectus et. Tristique risus nec feugiat in.

Artikel Python 2 Read More »

Artikel Python 1

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Feugiat nisl pretium fusce id velit. Eget dolor morbi non arcu risus. Aliquam ut porttitor leo a diam sollicitudin tempor id eu. Scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Venenatis cras sed felis eget velit aliquet sagittis id. Lacus sed turpis tincidunt id. Cursus turpis massa tincidunt dui ut ornare lectus sit amet. Et tortor consequat id porta nibh. Neque vitae tempus quam pellentesque nec nam aliquam sem et. Sit amet porttitor eget dolor morbi non arcu. Dignissim diam quis enim lobortis scelerisque fermentum dui faucibus.

Faucibus et molestie ac feugiat sed. Sit amet consectetur adipiscing elit ut aliquam purus. Sagittis eu volutpat odio facilisis. Urna nec tincidunt praesent semper feugiat nibh sed. Consectetur adipiscing elit duis tristique sollicitudin nibh. Aliquam purus sit amet luctus venenatis. Cursus vitae congue mauris rhoncus aenean vel elit scelerisque. Morbi blandit cursus risus at ultrices mi tempus imperdiet. Purus non enim praesent elementum. In ante metus dictum at tempor commodo. Cursus mattis molestie a iaculis at. Accumsan tortor posuere ac ut consequat semper. Ornare quam viverra orci sagittis eu volutpat odio facilisis. Eget nunc scelerisque viverra mauris in. Eu facilisis sed odio morbi quis commodo. Mi ipsum faucibus vitae aliquet nec ullamcorper sit amet. Pulvinar pellentesque habitant morbi tristique senectus et.

Tempor id eu nisl nunc mi ipsum faucibus. Massa vitae tortor condimentum lacinia. Nibh cras pulvinar mattis nunc sed. Sed libero enim sed faucibus turpis. Congue eu consequat ac felis donec et. Elementum tempus egestas sed sed risus. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Quisque sagittis purus sit amet volutpat. Nam libero justo laoreet sit amet cursus sit. Ornare arcu dui vivamus arcu felis bibendum. Feugiat sed lectus vestibulum mattis. Elit pellentesque habitant morbi tristique senectus et. Tristique risus nec feugiat in.

Artikel Python 1 Read More »