Skip to main content

🌦️ hybmkg-pycast

hybmkg-pycast is a hybrid machine learning and deep learning framework for climate and weather forecasting. It is designed to integrate multiple forecasting approaches — from classical statistical models to modern deep learning architectures — and support research and operational applications at BMKG (Meteorological, Climatological, and Geophysical Agency of Indonesia).

🚀 Key Features

Comprehensive Forecasting Models

Statistical: ARIMA, SARIMA, ANFIS, Wavelet-ARIMA, Wavelet-ANFIS, etc.

Machine Learning: Random Forest, XGBoost, LightGBM, SVR, KNN, MLP using multi-stacked approach.

Deep Learning: RNN, LSTM, GRU, CNN, Transformer, and hybrid approaches using multi-stacked approach.

Flexible Data Input

Supports both NetCDF and CSV formats for climate and environmental datasets.

Hybrid Framework

Combine traditional time series models with machine learning and deep learning methods for improved forecast accuracy.

Visualization and Evaluation

Built-in utilities for plotting time series, model diagnostics, and forecast verification (correlation, RMSE, R²).

Project-Oriented Directory Structure

hybmkg_pycast/

├── config/ # JSON configuration files

├── data/ # Input data (CSV, NetCDF)

├── model/ # Model scripts (statistical, ML, DL)

├── plots/ # Generated plots (PNG)

├── results/ # Output results (CSV, trained models)

├── run_all.ipynb

├── hybmkg_pycast.yaml # Conda environment specification

🧩 Installation

You can install the package using pip:

pip install hybmkg-pycast

Or from source:

git clone https://github.com/yourusername/hybmkg_pycast.git

cd hybmkg_pycast

pip install .

If you prefer Conda, use the provided environment file:

conda env create -f hybmkg_pycast.yaml

conda activate hybmkg_pycast

📊 Applications

Seasonal and sub-seasonal climate forecasting

ENSO (El Niño–Southern Oscillation) prediction

Rainfall variability and extreme events analysis

Climate change impact studies

👥 Authors and Acknowledgment

Developed by researchers at BMKG to support data-driven climate prediction and research collaboration.

📄 License

This project is licensed under the MIT License.

Metadata

Release files for hybmkg-pycast 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hybmkg-pycast 0.1.5
File Size Uploaded
hybmkg_pycast-0.1.5.tar.gz 236.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hybmkg-pycast 0.1.5
File Interpreter ABI Platform
hybmkg_pycast-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 477.4 kB

Release files / hybmkg_pycast-0.1.5.tar.gz

Download URL hybmkg_pycast-0.1.5.tar.gz
Size 236.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8d0ee684e79baede53f317225cd1632a3bb1c01bdfa411fb5a2610129e415efa
BLAKE2b-256 checksum
How to use checksums
baf8f5c4d81609ec79f3dfc0b2e302a20da4e1dda11b8b6d44f146105f076444
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release files / hybmkg_pycast-0.1.5-py3-none-any.whl

Download URL hybmkg_pycast-0.1.5-py3-none-any.whl
Size 240.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a660b86747999740ea8ea14900aaa3d8e7e8d636d7c4128325080076053a93e
BLAKE2b-256 checksum
How to use checksums
9dcccb43e6c65e22088170a27f73bdd68f170c598c5ed3648e1f493db16c0624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page