PyPrecip is a Python toolkit for precipitation nowcasting and forecasting.
It provides tools to download, process, and model precipitation data using AI-driven pipelines.
🧪 Currently supports station-based precipitation (radar support coming soon).
- 📥 Data downloaders (coming soon)
- 🧹 Preprocessing and feature‑engineering pipelines
- 🧠 Baseline and advanced AI models for nowcasting
- 📈 Forecasting models (planned)
- 🧪 Evaluation metrics, visualization, and interactive tools
If you’re new, please read Help for Novice Users.md first.
Then open a terminal (Command Prompt or PowerShell) in your project root (where pyproject.toml is) and run:
pip install -e .cd PyPrecip/tests
pytest test_cli_organize.py::test_organize_tr_cmd
pytest test_cli_create_training.py::test_create_training_cmd
pytest test_cli_train_cum_evnt.py::test_train_cum_evnt_cmdNote:
When using-c file/to/yaml, make sure the specified YAML configuration file exists and is up‑to‑date for that command.
Organize mixed precipitation data (e.g., from the Turkish State Meteorological Service) into the standard PyPrecip format:
pyprecip organize-tr -c examples/configs/organizer_tr_example.yamlGenerate event‑based training inputs from the organized data:
pyprecip create-training -c examples/configs/create_training_example.yamlLaunch the interactive visualization tool to build or adjust a YAML config before running the command above:
pyprecip config-builder-4-create-training -i D:/PROJECTS/PyPrecip/examples/outputs/organizedTrain a convolutional model optimized for event‑based input (architecture config in YAML):
pyprecip train-cum-evnt -c examples/configs/train_cum_evnt_example.yamlOpen the visualizer to explore target (y) data and fine‑tune class ranges homogeneously.
Once intervals are updated, you can reuse the new YAML configuration from this tool when running train-cum-evnt.
pyprecip training-data-visualizer -c D:/PROJECTS/PyPrecip/examples/configs/train_cum_evnt_example.yamlUse the interactive visualizer to explore your trained AI model, review performance metrics, and understand its behavior.
pyprecip trained-aimodel-visualizer -c D:/PROJECTS/PyPrecip/examples/configs/train_cum_evnt_example.yaml This command loads the trained model, its recorded training history, and the test dataset defined in the configuration file.
The Dash-based web interface provides an intuitive environment to analyze model performance.
Within the visualizer, you can:
- Review key performance metrics (
ACC,RMSE,RSE,POD,FAR,CSI) calculated on test data. - Inspect training and validation accuracy/loss curves to assess learning stability.
- Examine confusion matrices (counts and percentage, test data) to evaluate prediction accuracy across rainfall categories.
- Explore the prediction probability explorer (test data) to visualize confidence levels and identify common misclassification patterns.
- All CLI commands support the
-cflag for YAML‑based configs. - Interactive tools enable dynamic inspection + editing of parameters.
- Radar‑based datasets and forecasting models are in active development.
This research code is distributed under a Research‑Only License.
See the license badge or accompanying documentation for details.