README added by Robert Dickinson via Comet.
Surcharge Detective is a web application for diagnosing EPA SWMM (Storm Water Management Model) model instability. It provides a drag-and-drop interface for loading model output, calculating "system vitals", and identifying continuity errors and surcharge issues that point to instability in a hydraulic run. Analyses can be saved, organized, and shared as reports.
The tool is designed to help modelers quickly locate the sources of instability in stormwater and wastewater models instead of manually combing through report files.
This project is part of the SWMMEnablement collection.
| Area | Description |
|---|---|
client/ |
React + TypeScript frontend with the drag-and-drop analysis interface and report views |
server/ |
Express backend for saving, organizing, and sharing reports |
shared/ |
Types and schema shared between client and server |
script/ |
Utility and analysis scripts |
attached_assets/ |
Supporting reference assets and demo scenarios |
handover.md |
Project handover notes describing features and design |
- Drag-and-drop loading of SWMM model output for analysis
- System vitals calculation and continuity-error detection
- Identification of surcharge and instability indicators
- Save, organize, and share analysis reports
- Documented demo scenarios for getting started
- Frontend: React, TypeScript, Vite, Tailwind CSS, shadcn/ui
- Backend: Node.js, Express
- Database/ORM: Drizzle (see
drizzle.config.ts) - Build Tooling: Vite, PostCSS
# Clone the repository
git clone https://github.com/SWMMEnablement/SurchargeDetective.git
cd SurchargeDetective
# Install dependencies
npm install
# Start the development server
npm run devThen open the local URL printed by Vite in your browser.
# Build for production
npm run buildSee the repository for license details.