SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
rainfallseriesmodel.h File Reference

Data model for the Rainfall Visualization dialog. More...

#include <QDateTime>
#include <QObject>
#include <QPointF>
#include <QString>
#include <QVector>
Include dependency graph for rainfallseriesmodel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmmvis::plot::RainGageRainfall
 One rain gage's metadata + resolved rainfall series. More...
 
struct  openswmmvis::plot::RainGageStats
 Per-gage summary statistics (computed from the resolved series). More...
 
class  openswmmvis::plot::RainfallSeriesModel
 

Namespaces

namespace  openswmmvis
 
namespace  openswmmvis::plot
 

Detailed Description

Data model for the Rainfall Visualization dialog.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later

Assembles every rain gage's RESOLVED rainfall series from the engine — source-agnostic: inline [TIMESERIES] gages, standard SWMM rain files (STAN_PRCP) and multi-column CSV/TSF files all come back through swmm_gage_get_rainfall_series, which returns exactly the values the runtime applies (rain-type transform, units factor and scale factor already folded in — the plot cannot drift from the run).

Engine-linked but widget-free, so the pure series/stats math is unit-testable without a QApplication.

Notes carried from the engine contract (openswmm_gages.h):

  • times are absolute SWMM DateTimes (days since 1899-12-30);
  • values are rainfall INTENSITY in the project's rain units per hour;
  • each entry applies from its own time until the recording interval elapses or the next entry begins, whichever comes first; zero between;
  • FILE-gage series are windowed to the simulation window ±1 day;
  • a FILE gage whose file failed to load reports count 0;
  • swmm_gage_reload_rain_files must run after gage/source/date edits (editable engine states only) before re-reading.