immitating t-route to help teach myself rust the code in here isn't very correct or good
A Rust implementation of network flow routing using the Muskingum-Cunge method.
src/
├── main.rs # Main entry point
├── config.rs # Configuration structures
├── network.rs # Network topology and database operations
├── state.rs # Network state management
├── routing.rs # Core routing logic
├── mc_kernel.rs # Muskingum-Cunge kernel (existing)
└── io/ # I/O operations
├── mod.rs # Module declarations
├── csv.rs # CSV reading/writing
├── netcdf.rs # NetCDF output
└── results.rs # Simulation results storage
- hdf5
- netcdf
- sqlite3
sudo apt install -y libhdf5-dev libnetcdf-dev libsqlit3-dev# Build in release mode for optimal performance
cargo build --release
# Run the simulation
cargo run --release- Parallel loading of external flow CSV files
- Serial routing computation (due to dependencies)
- Efficient topological sorting for correct processing order
- Command-line argument parsing
- Configuration file support
- Additional output formats
- Performance profiling and optimization
- Unit tests for each module