Beranda Mengenal hidrokit
Postingan
Batal

Mengenal hidrokit

hidrokit adalah proyek open source paket python yang dapat digunakan untuk membantu proses analisis hidrologi dimulai dari pengolahan data, analisis data, dan visualisasi data.

Saat ini, hidrokit masih dalam tahap aktif pengembangan dan pembelajaran. Akan tetapi, fitur yang tersedia di hidrokit sudah bisa digunakan untuk penggunaan praktis atau akademis.

Laporan Implementasi

Saya telah membuat contoh implementasi hidrokit dalam kasus hidrologi ataupun machine learning. Topik machine learning dikarenakan kebetulan merupakan fokus saya saat menyusun tesis terkait pemodelan curah hujan-limpasan. Untuk laporan yang fokus pada hidrologi bisa melihat pada LI-03.

no laporantanggalversi hidrokitjudullihat (nbviewer)pdf
LI-0411 Februari 20200.3.5Perbandingan Model Variasi Recurrent Neural Networks Pada Kasus Prediksi Debit Alirannbviewerpdf
LI-0316 Januari 20200.3.5Analisis Hidrologi Menggunakan hidrokitnbviewerpdf
LI-0222 Oktober 20190.3.2Prediksi Debit Aliran Menggunakan Long Short-Term Memory (LSTM)nbviewerpdf
LI-0113 Juli 20190.2.0Prediksi Kualitas Air Menggunakan Artificial Neural Networksnbviewerpdf

Daftar ini bisa lihat di situs dokumentasi saya bernama vivaldi atau di academia.edu.

Daftar Fitur hidrokit (0.3.6)

Daftar modul .contrib.taruma

IsuModulVersiKeteranganManual
#106.hk1060.3.5Perhitungan evapotranspirasiGist
#102.hk1020.3.5Upsampling datasetGist
#96.hk960.3.5Pemodelan F.J. MockGist
#98.hk980.3.5Rekap dataset deret waktuGist
#99.hk990.3.5Perhitungan curah hujan dengan metode poligon ThiessenGist
#90.hk900.3.5Kalibrasi Model (NRECA/FJ_MOCK)Gist
#89.hk890.3.5Pemodelan NRECAGist
#87.hk870.3.5Perhitungan debit andalan menggunakan kurva durasi debitGist
#88.hk880.3.5Ambil dataset hujan harian dari excelGist
#84.hk840.3.4Meringkas informasi data hujan jam-jamanGist
#79.hk790.3.3Mengekstrak informasi data jam-jaman dari excelGist
#43.hk430.3.2Mengubah pivot table ke dataframeGist
#53.hk530.3.2Membuat tensor input untuk pemodelan LSTM/RNNGist
#73.hk730.3.2Mengolah berkas dari BMKGGist

Untuk modul/fungsi selain subpaket .contrib bisa dilihat di hidrokit documentation. Dengan catatan bahwa pengembangan dialihkan ke .contrib terlebih dahulu untuk saat ini.

Sejarah hidrokit

Saya memulai proyek hidrokit dengan membuat repository di github pada tanggal 20 Oktober 2018. Pada saat itu, hidrokit hanya muncul sebagai ide dari perjalanan saya belajar python dan data science. Pada tanggal 9 Januari 2019, saya merilis versi 0.1.0. Saya telah mengimplementasikan instalasi menggunakan pip dan perencanaan penggunaan semantic versioning (meski ujung-ujungnya tidak begitu konsisten). Saya juga pada versi 0.1.0, mulai mengajak bagi yang tertarik dengan penggunaan python di bidang hidrologi dengan tulisan ini (tautannya sudah banyak yang tidak aktif lagi). Saat itu, versi tersebut tidak begitu praktis gunakan. Tujuan waktu itu hanya ingin melihat engagement terkait penggunaan python di pekerjaan hidrologi (yang memiliki porsi signifikan dalam pengolahan spreadsheet).

Enam bulan berlalu, saya merilis versi 0.2.0 pada 11 Juli 2019, dan ini merupakan rilis menurut saya layak dipublikasikan atau disebarkan ke banyak orang melalui tulisan ini. Pada rilisnya versi tersebut saya telah membuat situs/website untuk hidrokit, situs untuk kumpulan notebook yang menggunakan python+hidrologi bernama hidrokit notebook. Tujuan membuat situs tersebut dengan harapan meningkatkan engagement, tapi sejauh ini yang berkontribusi hanya saya sendiri 🤣. Pada versi tersebut, saya mulai merekonstruksi struktur paket hidrokit agar lebih konsisten kedepannya. Membagi menjadi 3 subpaket utama yaitu .prep, .viz, dan .analysis. Sejauh ini, hidrokit bisa digunakan untuk melakukan pemodelan ANN sederhana seperti contoh ini.

Setelah versi 0.2.0, saya sadari bahwa untuk membuat suatu software yang layak publish itu cukup merepotkan. Selain harus mengikuti standar yang biasa diterapkan di software developement, saya juga tidak mau melakukan kesalahan seperti breaking changes dari versi 0.1.x ke 0.2.0. Maka dari itu, saya mulai berpikir untuk mencari solusi dimana saya bisa terus bereksperimen dan mengembangkan hidrokit tanpa melakukan perubahan yang merusak versi-versi sebelumnya.

Dan solusi yang saya temukan saat itu, membuat subpaket .contrib untuk melakukan pengembangan mandiri tanpa mempengaruhi paket utama hidrokit. Hal ini, memberi waktu dan ruang untuk saya belajar bagaimana pengembangan paket python dan modul-modul yang dapat membantu proses analisis hidrologi.

Sekitar 3 bulan berlalu, saya merilis versi 0.3.2 pada tanggal 15 Oktober 2019, yang seharusnya versi 0.3.0, tapi karena sayanya melakukan kesalahan dalam mengintegrasikannya dengan zenodo, kekeliruan tersebut terjadi dan saya terpaksa untuk meningkatkan versinya. Yah, bagian dari pengalaman dan pembelajaran lah ya 😁. Pada versi 0.3.2, saya rasanya tidak mempublikasikan dalam bentuk tulisan. Tapi pada versi ini, saya mulai bereksperimen dengan membuat laporan implementasi, yaitu notebook yang berisikan implementasi penggunaan hidrokit dan hidrologi/data science. Bagi yang penasaran laporan implementasi saya bisa lihat di situs vivaldi (proyek dokumentasi implementasi) atau bisa melalui academia.edu.

Dari versi 0.3.2 hingga 0.3.5 saya menambahkan beberapa modul yang menurut saya menarik untuk dicoba dalam workflow analisis hidrologi. Untuk daftar modul yang dikembangkan sampai versi 0.3.5 bisa dilihat di sini. Pada versi 0.3.5 yang saya rilis pada 15 Januari 2020, saya memutuskan untuk membuat proyek hidrokit dalam status hiatus (sempat terpikirkan untuk diarsip). Versi 0.3.5 ini membantu saya dalam beberapa penyelesaian kasus dalam menyelesaikan tesis (meski sejak versi 0.3.2 sudah mulai membantu). Saat itu saya sudah menuliskan kabar buruk tersebut disini . Saat saya bereksperimen dengan hidrokit, terutama hidrokit.timeseries.timestep_table() saya menemukan bug yang kritis, sehingga mau tidak mau saya harus publish bugfix secepatnya. Dan rilislah versi 0.3.6 yang tidak direncanakan pada 13 Juli 2020.

Dan dua tahun berlalu (ditambah isu pandemi), kembali ke masa sekarang, tahun 2022, saya mulai membangkitkan lagi hidrokit. Hal ini karena dukungan dari PT. FIAKO Enjiniring Indonesia (FIAKO Engineering). Dengan dukungan tersebut, saya mulai bisa membuat hidrokit dalam status aktif pengembangan. Dan bulan April 2022 sudah direncanakan untuk merilis versi 0.3.7. Saya juga akan mulai memperkenalkan hidrokit melalui media seperti livestream atau zoom rencananya.

Dengan kerjasama dan dukungan tersebut. bisa jadi, setelah hidrokit ada paket python lainnya lagi untuk bidang sipil lainnya🤞.

Postingan ini dilisensikan di bawah CC BY 4.0 oleh penulis.