PyStorm is an open-source, modular framework for probabilistic modeling and analysis, designed for engineers, scientists, and researchers working on coastal hazard quantification, stochastic storm simulation, life cycle analysis, and extreme value analysis. It is being devloped a Python-based platform supporting both graphical and script-drive workflows for flexible and computationally efficient execution. Future versions of PyStorm will be modular, extensible, and feature a graphical user interface (GUI) for advanced coastal hazard analysis.
PyStorm/
βββ core/ # Application architecture (menus, main window, managers)
βββ engines/ # Core logic engine modules (headless, reusable)
βββ gui/ # GUI-enabled modules
βββ shared/ # Shared utilities (conversion, plotting, I/O)
βββ style/ # UI themes, QSS styling, scalable fonts
βββ resources/ # Icons, images, and static assets
βββ scripts/ # Script-drive execution (e.g., parse HURDAT2, run simulations)
βββ data/ # Input data, and intermediate data files
βββ output/ # Output files, and results
βββ plots/ # Plots and other figures (e.g., hazard curves, time series)
- β Modular GUI built with PySide6
- β Shared variable management and module interactivity
- β CLI tools for headless batch processing
- β Integration with NOAA HURDAT2 data
- β Built-in converters for storm data (knots β km/h, nmi β km)
- β Plotting of hazard curves, storm paths, and exceedance frequencies
- β Tools for Extreme Value Analysis (EVA), Peaks Over Threshold (POT), Empirical Simulation Technique (EST), and more
- Python 3.9+
- PySide6
- pandas, numpy, matplotlib, scipy, etc.
- Norberto C. Nadal-Caraballo, PhD (Lead Developer)
- Norberto C. Nadal-Troche (UI & UX)