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)