Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
464 commits
Select commit Hold shift + click to select a range
d3fb529
Fix LID exfiltration bug and calibrate benchmark test tolerances
wiesnerfriedman May 8, 2026
4a8c7e8
Revert local macOS build workarounds from CMakeLists
wiesnerfriedman May 8, 2026
0a62efd
Add Flash-X CashKarp45 SIR reference generator and populate reference…
wiesnerfriedman May 8, 2026
cc3a15c
CLA agreement
cbuahin May 8, 2026
9dd8801
Remove machine-specific SIR reference generator from repo
wiesnerfriedman May 9, 2026
ee43fac
Fix provenance.yaml to match actual reference.csv and test horizon
wiesnerfriedman May 9, 2026
1e50929
Fix definition.md to match actual reference.csv and test horizon
wiesnerfriedman May 9, 2026
783b9be
Merge branch 'swmm6_rel' into pr/thread-safety
cbuahin May 9, 2026
9434485
Fix stale comments, mid-file includes, and LID barrel clogging
wiesnerfriedman May 9, 2026
59dbec1
Delete docs/thread_safety_verification.md
wiesnerfriedman May 9, 2026
9066ce5
Merge pull request #63 from wiesnerfriedman/pr/thread-safety
cbuahin May 9, 2026
bd79088
Update licensing; python build fix
cbuahin May 10, 2026
275fecc
Fixing python unit tests
cbuahin May 10, 2026
1c0827f
Fixing python unit tests
cbuahin May 10, 2026
d242494
Fixing python build
cbuahin May 10, 2026
0d6d894
python api
cbuahin May 11, 2026
e260aa8
python api
cbuahin May 11, 2026
99f4cee
Fix Repair wheel error on windows
cbuahin May 11, 2026
d1786b5
Fix Repair wheel error on windows
cbuahin May 11, 2026
8407f7d
Fix Repair wheel error on windows
cbuahin May 11, 2026
2399be3
Add Windows wheel-repair helper script
cbuahin May 11, 2026
9878e2d
Fixing badges
cbuahin May 11, 2026
511b2a0
Add exponential temperature-dependent RDII initial abstraction model
cbuahin May 13, 2026
a7aef62
Expanding node api
cbuahin May 13, 2026
28059fe
Refining readme for brevity and linking to CLA; logo
cbuahin May 13, 2026
9851131
Add Batch 2 manufactured benchmarks and analytical tests
wiesnerfriedman May 15, 2026
bc07ecd
Fix kinwave provenance.yaml mass_balance_rel 0.001 → 0.05
wiesnerfriedman May 17, 2026
805199a
Fix test_routing.cpp KWSolverTransient header comment: 0.1% → 5%
wiesnerfriedman May 17, 2026
fcb3a5c
Fix dynwave provenance.yaml: reconcile generated_by to RK4
wiesnerfriedman May 17, 2026
32f2bbe
Guard RMS divisor against single-row CSV in trajectory benchmarks
wiesnerfriedman May 17, 2026
d963b38
Fix stale source path in kinwave provenance.yaml
wiesnerfriedman May 17, 2026
f1b55bc
Add dw-ritter-drybed-strip benchmark and diagnostic regression test
wiesnerfriedman May 17, 2026
5847c71
Add C ↔ Python ↔ MCP parity matrix tooling
cbuahin May 22, 2026
37fa6eb
Sync _solver.pyi with events/steady-state/step-callback impls
cbuahin May 22, 2026
ad997f3
Phase 1: parity matcher hardening + warning_callback / set_xsect tests
cbuahin May 22, 2026
85d31a7
Phase 1: WIP integration + warning_callback + Links.set_xsect
cbuahin May 22, 2026
783ed1a
Phase 2.1: parity matcher MCP-side fuzzy match + tables hint
cbuahin May 22, 2026
47a865f
Work in progress
cbuahin May 22, 2026
1767737
Phase 2.4: parity matcher controls domain hint + matrix refresh
cbuahin May 22, 2026
f3ede02
Phase 2.3: parity matcher infrastructure domain hint + matrix refresh
cbuahin May 22, 2026
38f058d
Phase 2.5: parity matcher overrides for output reader subsumption
cbuahin May 22, 2026
da432cc
Phase 2.5 follow-up: parity overrides for output_*_results tools
cbuahin May 22, 2026
5451d5c
Use CONFIG mode for HDF5 find_package so vcpkg installs resolve
cbuahin May 22, 2026
7574281
Phase 2.6: parity matcher nodes domain hint + 24 nodes overrides
cbuahin May 22, 2026
495645b
Phase 2.7+2.8: parity matcher links/subcatchments hints + 47 overrides
cbuahin May 23, 2026
23ff403
Phase 2 wave 2: matcher hints + 116 overrides covering 7 domain sweeps
cbuahin May 23, 2026
c2ce736
Alpha 1 stop
cbuahin May 23, 2026
527ec4b
Merge pull request #54 from HydroCouple/swmm6_rel
cbuahin May 23, 2026
49b602c
Add gtest dependency:
cbuahin May 23, 2026
8ffb6a1
Add gtest dependency:
cbuahin May 23, 2026
c08d90c
Disable building all tests by default
cbuahin May 23, 2026
198ca65
Fixing regression tests
cbuahin May 23, 2026
c8b957a
Fixing doxygen reference to logo
cbuahin May 23, 2026
beadbb9
Trigger regression tests on PR
cbuahin May 23, 2026
2d2bc4b
Add regression testing example inp
cbuahin May 23, 2026
54fe917
Fixing regression testing failure
cbuahin May 23, 2026
396cce1
Fixing build and packaging
cbuahin May 23, 2026
a786683
Cleaning up build
cbuahin May 23, 2026
d16bd67
Codeql; security and ossf scorecard badges
cbuahin May 23, 2026
b68fba3
Fix getAbsolutePath buffer-size handling for sstrncpy contract
cbuahin May 23, 2026
821a823
Debugging unit testing errors
cbuahin May 23, 2026
0daaf10
ci: add gdb backtrace step for Linux unit-test segfaults
cbuahin May 23, 2026
553ec21
Enable C extensions for legacy engine target to expose realpath()
cbuahin May 23, 2026
1e9e191
Promote -Wimplicit-function-declaration to error in all presets
cbuahin May 23, 2026
795e4f8
Standardize FP policy across presets; de-dup flag lists
cbuahin May 23, 2026
2f4d0a0
Merge pull request #70 from HydroCouple/swmm6_rel
cbuahin May 23, 2026
36293a6
Change scorecard workflow branch from develop to main
cbuahin May 23, 2026
19dd3df
Bump version from 6.0.0.dev1 to 6.0.0a1
cbuahin May 23, 2026
d1df7aa
Work in progress
cbuahin May 24, 2026
576e6df
Building wheels and packaging dependencies
cbuahin May 24, 2026
d64e817
Packaging and bundling dependencies
cbuahin May 24, 2026
dec538d
Packaging and bundling dependencies
cbuahin May 24, 2026
068ade3
Add Windows system-DLL excludes + cibuildwheel fixes (libomp target, …
cbuahin May 24, 2026
8ef3501
Fix Windows DLL bundling + repair-wheel-command, bump version
cbuahin May 24, 2026
ff8aa3f
Merge branch 'develop' into swmm6_rel
cbuahin May 24, 2026
9c3f9d4
Fix PRE_EXCLUDE_REGEXES never being applied in BundleRuntimeDeps
cbuahin May 24, 2026
450e8a6
Bundle vcpkg runtime DLLs (SUNDIALS, HDF5) into Windows cpack package
cbuahin May 24, 2026
694264b
Expanding api for ui
cbuahin May 25, 2026
18b046d
Adding missing unit test files
cbuahin May 25, 2026
43a952f
Move pattern-name template helper out of extern "C" block
cbuahin May 25, 2026
e6956eb
TagsTest: scope ifstream before fs::remove to fix Windows file lock
cbuahin May 25, 2026
d4239c4
Tests: close Windows fs::remove landmine in report_section + add miss…
cbuahin May 25, 2026
e424e47
Finalizing configuration
cbuahin May 25, 2026
904cd48
Update api for GUI
cbuahin May 25, 2026
05ad62a
Expanding API to support GUI development
cbuahin May 26, 2026
102d379
Forward declaration fix
cbuahin May 26, 2026
043fe90
Geopackage public import fix
cbuahin May 26, 2026
f51eb9a
Ensuring unit test pass
cbuahin May 26, 2026
b9a483d
vcpkg: promote sqlite3[rtree] to top-level dependency
cbuahin May 26, 2026
646c845
Fix build errors of wheels on windwos
cbuahin May 26, 2026
29d6eff
Fixing geopackage linking in python wheel
cbuahin May 26, 2026
0e352c6
Fixing geopackage linking in python wheel
cbuahin May 26, 2026
2ea280d
Trigger github actions Fixing geopackage linking in python wheel
cbuahin May 26, 2026
bcc13fa
Merge pull request #72 from HydroCouple/swmm6_rel
cbuahin May 26, 2026
e6804b8
Trigger github actions Fixing geopackage linking in python wheel
cbuahin May 26, 2026
8af9fd3
Trigger github actions Fixing geopackage linking in python wheel
cbuahin May 26, 2026
332a4c4
Trigger github actions Fixing geopackage linking in python wheel; che…
cbuahin May 26, 2026
eaff7dc
Work in progress; fixing python wheel builds
cbuahin May 26, 2026
35c438d
Fixing geopackage unit test failures
cbuahin May 26, 2026
925e032
Reduce flake risk in test_two_engines_run_concurrently
cbuahin May 26, 2026
fa562d2
Add standalone GeoPackage C-API verification harness
cbuahin May 26, 2026
97d283c
Use min-of-paired-ratios statistic for concurrent-sim test
cbuahin May 26, 2026
a7899d0
Skip profiling unit test
cbuahin May 26, 2026
74ef6e2
Merge pull request #73 from HydroCouple/swmm6_rel
cbuahin May 27, 2026
d608edb
Addressing #74
cbuahin May 28, 2026
1e19526
docs: fix RST definition-list term wrapping in infrastructure.rst
cbuahin May 28, 2026
d8db311
fix(controls): include <cstdint> in Controls.hpp
cbuahin May 28, 2026
917f16e
fix(python): correct Cython errors blocking wheel builds
cbuahin May 28, 2026
df7d369
Fix mypy failure issues
cbuahin May 28, 2026
9957dc9
fix(mypy): drop unused type-ignore comment in test_surface.py
cbuahin May 28, 2026
2ebdce8
Initial plan
Copilot May 28, 2026
81c5386
fix(cython): cdef s, e in _output_reader series methods
cbuahin May 28, 2026
4b5800f
fix(build): isolate Cython cwd so stdlib datetime isn't shadowed
cbuahin May 28, 2026
b0cdd62
fix(transect): issue Error 227 when channel Manning's n is zero (lega…
Copilot May 28, 2026
2c12c51
chore: merge remote branch history (stale workflow changes superseded…
Copilot May 28, 2026
861d903
Merge pull request #77 from HydroCouple/copilot/fix-zero-roughness-check
cbuahin May 28, 2026
aba6844
feat(legacy): add swmm_NODE_OUTFLOW to getNodeValue API
Copilot May 28, 2026
862168c
feat(python): expose NODE_OUTFLOW in legacy and refactored bindings w…
Copilot May 28, 2026
58c2f82
Merge pull request #85 from HydroCouple/copilot/swmm6-rel-support-out…
cbuahin May 28, 2026
e791d7e
feat(gage): add rainfall scaling factor with co-gage support
cbuahin May 29, 2026
3ab67ce
Added python bindings for rain gage addressing issue #46
cbuahin May 29, 2026
3654727
Reduce aggressive openmp usage
cbuahin May 29, 2026
4612b3d
xsect: port per-element cross-section geometry to legacy parity
cbuahin Jun 2, 2026
2d95c1d
xsect: batch SoA parity with legacy + Phase-3 performance
cbuahin Jun 3, 2026
8487df2
xsect: collapse cross-section setup onto a single source of truth
cbuahin Jun 3, 2026
4a374d5
xsect: add STREET cross-section support + raw-geom round-trip
cbuahin Jun 3, 2026
14e3793
xsect: register cross-section + STREET tests in CMake
cbuahin Jun 3, 2026
1788fe8
feat(python): close C-API↔binding gaps; 690-fn 100% surface
cbuahin Jun 3, 2026
dde2da2
fix(engine): builder-API parity for programmatic build→run→write
cbuahin Jun 3, 2026
633e6fb
Fix runoff hydrology parity with legacy for file-based rain gages
cbuahin Jun 3, 2026
76ecd07
Extraneous cleanup
cbuahin Jun 3, 2026
347ea00
Pin RDII exponential-IA model to the reference IAModel implementation
cbuahin Jun 10, 2026
4917d8b
fix(routing): legacy bit-parity for structures, outfalls, and USE HOT…
cbuahin Jun 10, 2026
49824a4
perf(routing): bit-parity-preserving optimization pass + phase-timing…
cbuahin Jun 10, 2026
3ea7635
Adding unit tests
cbuahin Jun 10, 2026
dbaf121
Merge branch 'develop' into swmm6_rel
cbuahin Jun 10, 2026
70b6565
Add subcatchment PET prescription plan doc and cross-engine parity tests
cbuahin Jun 10, 2026
bb2d484
Unit tests
cbuahin Jun 10, 2026
79f8855
Fix cross-platform unit test failures
cbuahin Jun 11, 2026
072e6c9
Fix engine error codes: parse errors no longer reported as 'Out of me…
cbuahin Jun 11, 2026
4b5022f
Remove CLI phase-timing and debug-trace instrumentation
cbuahin Jun 11, 2026
82ce4ed
Runtime forcing: verified rows 1-12 baseline (Phases 1-3)
cbuahin Jun 12, 2026
86fd96a
Runtime forcing §3: legacy quality-source tests + pollutant-index bin…
cbuahin Jun 12, 2026
d244b5b
Phase 4 wave B1: runtime time-pattern factors (P6) + street sweeping …
cbuahin Jun 12, 2026
e061db0
Phase 4 wave B2: runtime buildup/washoff function coefficients (P2)
cbuahin Jun 12, 2026
8524d1f
Phase 4 wave B3: infiltration parameters (P1) — documented pre-start-…
cbuahin Jun 12, 2026
b242aee
Phase 4 wave B4: pollutant kinetics (P5)
cbuahin Jun 12, 2026
7788f91
Phase 4 wave B5: runtime external-inflow / DWF baselines & scale (P7/P8)
cbuahin Jun 12, 2026
72e4384
Phase 4 wave B6: runtime treatment-expression edits (P3) in both engines
cbuahin Jun 12, 2026
ae4ef06
Phase 4 wave B7: LID layer parameters (P11) - real setters, split con…
cbuahin Jun 13, 2026
c41d4a4
Phase 4 wave B8: aquifer parameters (P10) - new setter in both engines
cbuahin Jun 13, 2026
09b59dd
Phase 4 wave B9: adjustment arrays (P9) - record skip decision
cbuahin Jun 13, 2026
1a75fce
feat(2d/gpu): portable Kokkos GPU surface solver + HIP/SYCL plugins
cbuahin Jun 14, 2026
3d6083a
2D GPU plugin default-on + openswmm-gpu-omp companion wheel
cbuahin Jun 14, 2026
1b5281a
2D outfall coupling: expose outfall_out via C/Python API + fix tests
cbuahin Jun 14, 2026
69a5389
Merge origin/swmm6_rel into analytical_tests_batch_3
Copilot Jun 14, 2026
bbdaf8b
Merge pull request #69 from HydroCouple/analytical_tests_batch_3
cbuahin Jun 14, 2026
90fb64a
Commit extraenous files
cbuahin Jun 14, 2026
6bd1548
Fix Kokkos/OpenMP/SUNDIALS dependency build across CI platforms
cbuahin Jun 14, 2026
f95ee21
Remove redundant type: ignore in openswmm/__init__.py
cbuahin Jun 14, 2026
06c36c7
Track examples/2d_complete_example.inp used by 2D Python tests
cbuahin Jun 14, 2026
4f68c0a
Work in progress; configuring fixes
cbuahin Jun 14, 2026
ed4c81e
engine: complete .pyi type stubs (11 members) + C-API<->MCP gap review
cbuahin Jun 14, 2026
68f8e94
build: enable OpenMP across all CI platforms
cbuahin Jun 15, 2026
0f48bdb
docs: remove polyfill injection and pin newer doxygen in CI
cbuahin Jun 15, 2026
be3f98f
Updating docs
cbuahin Jun 15, 2026
d80bfb0
ci: capture real diagnostics on unit-test/build failures
cbuahin Jun 15, 2026
32db528
ci(docs): fix Doxygen download URL — release tags use underscores
cbuahin Jun 15, 2026
70719ad
fix(xsect): guard non-finite input in lookup/getAofY (x64 segfault)
cbuahin Jun 15, 2026
64a3d44
fix(vcpkg): build Kokkos static on Windows
cbuahin Jun 15, 2026
69c2ce5
ci(windows): use Ninja Multi-Config + MSVC env instead of pinned VS g…
cbuahin Jun 15, 2026
87fa923
Parallelize serial 2D surface solver with native OpenMP
cbuahin Jun 16, 2026
3bab492
ci(wheels): make vcpkg setup idempotent across manylinux/musllinux
cbuahin Jun 16, 2026
eb326b5
2D surface solver: volume-state + stiffness/conservation/ABI fixes
cbuahin Jun 17, 2026
a1af04a
2D: warn on vertical-datum mismatch between a coupled node and the mesh
cbuahin Jun 17, 2026
59e05c8
2D GPU: align Kokkos surface solver with the serial volume-state form…
cbuahin Jun 17, 2026
0cff712
2D: add the always-compiled analytic surface Jacobian source
cbuahin Jun 17, 2026
a4d993e
2D: wire hypre BoomerAMG for serial + all Kokkos GPU backends (cuda/h…
cbuahin Jun 17, 2026
11e4113
cmake: recreate OpenMP::OpenMP_CXX on reconfigure of an existing buil…
cbuahin Jun 17, 2026
81f2b3e
legacy: install generated legacy_version.h for installed-engine consu…
cbuahin Jun 17, 2026
2f595e3
Enable hypre BoomerAMG (PRECONDITIONER=AMG) by default
cbuahin Jun 19, 2026
45fa01d
Add subcatchment editor C API: infiltration model, aquifer/groundwate…
cbuahin Jun 19, 2026
056df68
Add 2D mesh attribute setters for interactive editing
cbuahin Jun 19, 2026
3b37bed
Allow 2D mesh editing in OPENED (uninitialized) state
cbuahin Jun 19, 2026
bc8940c
Relational node refactor Phase 1: shadow node-subtype side-tables
cbuahin Jun 20, 2026
f055149
Relational node refactor Phase 2 (incr. 1): outfall compute reads the…
cbuahin Jun 20, 2026
e24f506
Relational node refactor Phase 2 (incr. 2): divider compute reads the…
cbuahin Jun 20, 2026
f702304
Relational node refactor Phase 3.1a: storage geometry accessor + sign…
cbuahin Jun 20, 2026
bdb157c
tests: RESOURCE_LOCK the site_drainage_model.out fixture sharers
cbuahin Jun 20, 2026
c312f8c
Relational node refactor Phase 3.1b: hot-loop storage readers → side-…
cbuahin Jun 20, 2026
7b98eff
Relational node refactor Phase 3.2: outfall body reads static BC fiel…
cbuahin Jun 20, 2026
85f6742
Relational node refactor Phase 3.0 + 3.3(storage): freshness machiner…
cbuahin Jun 20, 2026
25c8f4a
Relational node refactor Phase 3.3 (outfall/divider): C-API getters →…
cbuahin Jun 20, 2026
9e37142
Relational node refactor Phase 3 (cold storage config): cold reads → …
cbuahin Jun 20, 2026
4d68e7a
Relational node refactor Phase 3 (exfil geometry): ExfilSolver::init …
cbuahin Jun 20, 2026
feac4ce
Checkpoint in-flight 2D/IO stream edits parked in Phase-4 target files
cbuahin Jun 20, 2026
aab0bc1
Relational node refactor Phase 4 (cutover): side-tables are the sole …
cbuahin Jun 21, 2026
c268af1
Relational node refactor Phase 5: normalize GeoPackage node schema + …
cbuahin Jun 21, 2026
71ae12a
Relational link refactor Phase 6 (WIP, Stage A.1): LinkSubtypes side-…
cbuahin Jun 21, 2026
366d214
Phase 6 (WIP): resume plan for the remaining link cutover
cbuahin Jun 21, 2026
07da482
Phase 6 (WIP): line-precise continuation handoff (multi-agent audit s…
cbuahin Jun 21, 2026
b9f5e96
Phase 6 (WIP, Stage A.2 + A.3 edit-API): repoint link subtype READS t…
cbuahin Jun 21, 2026
903b652
Phase 6 (WIP, Stage A.3 rest): dual-write parse/resolve link writers;…
cbuahin Jun 21, 2026
e60b3b3
Phase 6 (WIP, Stage B): move mutable per-step conduit state + pump_cu…
cbuahin Jun 21, 2026
c241d57
Phase 6 (WIP, Stage C): source link IO (.inp + GeoPackage) from the s…
cbuahin Jun 21, 2026
92ecf21
Phase 6 (WIP, Stage D part 1): remove the init-time build() mirror — …
cbuahin Jun 21, 2026
9b25ee6
Phase 6 (WIP, Stage D part 2): delete the wide LinkData subtype array…
cbuahin Jun 22, 2026
f9d5810
Phase 6: mark cutover complete in progress doc (Stage D.2 = 9b25ee65)
cbuahin Jun 22, 2026
cb03a41
ci(docs): deploy Pages on push to swmm6_rel and develop
cbuahin Jun 22, 2026
6a99133
Phase 7: normalize on-disk GeoPackage link schema (relational child t…
cbuahin Jun 22, 2026
455f67a
docs(phase7): GeoPackage link-schema normalization progress + gate re…
cbuahin Jun 22, 2026
f1b1a80
docs(phase7): regenerate ERD/.drawio/.sql for normalized link schema
cbuahin Jun 22, 2026
f752fb4
test(engine): add gage-attributes + benchmark-corpus unit tests refer…
cbuahin Jun 22, 2026
4b5a652
Add climatology configuration get/set API (C + Python)
cbuahin Jun 22, 2026
b3d048b
test(engine): register test_climate_api in CMake
cbuahin Jun 22, 2026
525939f
fix(geopackage): round-trip snow elevation and longitude correction
cbuahin Jun 22, 2026
61c3702
build(macos): add required macos_unexported_symbols.txt for engine dylib
cbuahin Jun 22, 2026
d4fbfc2
Add climate-file temperature-units (temp_units) config round-trip
cbuahin Jun 22, 2026
2059e11
Work in progress
cbuahin Jun 22, 2026
250c9dd
fix(2d): free buried outfall from phantom dry-film tailwater
cbuahin Jun 22, 2026
9631ef2
fix(parity): make subcatchment runoff bit-identical to legacy
cbuahin Jun 23, 2026
365e17f
fix(parity): match legacy dwflow momentum operand order (+ 2D junctio…
cbuahin Jun 23, 2026
200ddcd
fix(parity): metric input lengths divide by UCF (legacy), + Froude pe…
cbuahin Jun 23, 2026
0596f86
fix(parity): extend metric input divide to area/flow/rain conversions
cbuahin Jun 23, 2026
02d280f
fix(parity): compute conduit evap/seepage loss per Picard iteration (…
cbuahin Jun 23, 2026
db1afa3
fix(parity): dry-link dqdh divides by length (complete the momentum /…
cbuahin Jun 23, 2026
8e234cd
fix(2d): restore consistent junction coupling (two-regime + coupled_n…
cbuahin Jun 23, 2026
fe9b859
test(engine): add editor round-trip API tests
cbuahin Jun 23, 2026
4d33f8f
feat(python): GeoPackage model export from Solver
cbuahin Jun 23, 2026
f42bfcd
feat(2d): capped-pipe junction coupling (gated orifice, no spill belo…
cbuahin Jun 24, 2026
f422b7e
feat(2d): tie capped-pipe coupling gate to the crown, free sur_depth …
cbuahin Jun 24, 2026
8403a2a
fix(2d): bound the extractive 1D->2D coupling spill by the node flood…
cbuahin Jun 24, 2026
8d1e9ff
build(cuda): add Windows CUDA GPU plugin build support (Kokkos + nvcc)
cbuahinhazen Jun 24, 2026
cefdf13
fix(cuda): use Kokkos_ENABLE_COMPILE_AS_CMAKE_LANGUAGE=ON for Windows…
cbuahinhazen Jun 24, 2026
40083ed
Merge branch 'swmm6_rel' of https://github.com/HydroCouple/openswmm.e…
cbuahinhazen Jun 24, 2026
0aab330
fix(cuda): hardcode ADA89 fallback arch when OPENSWMM_KOKKOS_CUDA_ARC…
cbuahinhazen Jun 24, 2026
f0d4ac5
fix(cuda): add /Zc:preprocessor for CUDA 13.x CCCL MSVC compatibility
cbuahinhazen Jun 24, 2026
d5b604a
fix(cuda): also set VCPKG_C_FLAGS with /Zc:preprocessor
cbuahinhazen Jun 24, 2026
854821e
fix(cuda): pass /Zc:preprocessor via CMAKE_CUDA_FLAGS for nvcc host
cbuahinhazen Jun 24, 2026
8eed894
fix(cuda): pass CUDAToolkit_ROOT to sundials for KokkosConfig.cmake
cbuahinhazen Jun 24, 2026
87b4c92
refactor(engine): remove debug/diagnostic scaffolding
cbuahin Jun 25, 2026
fa32c63
ci: build Kokkos plugin + link hypre/AMG explicitly, with verify gate
cbuahin Jun 25, 2026
c2b9468
docs: bind GEOPACKAGE_PLUGIN_ID in _solver stub so Sphinx build impor…
cbuahin Jun 26, 2026
3bf7b55
fix(engine): correct DPS slot test fixtures + unbreak Windows hypre b…
cbuahin Jun 26, 2026
13c9da6
Work in progress cleaning up files
cbuahin Jun 26, 2026
c184206
test(engine): fix DPS slot fixtures — set xsect_r_full to stop surcha…
cbuahin Jun 26, 2026
0888aac
fix(2d/gpu): unbreak Windows Kokkos-OpenMP plugin build
cbuahin Jun 26, 2026
79fd3d6
fix(2d): restore backend-selection log line for test_engine_2d_omp_de…
cbuahin Jun 26, 2026
164d749
fix(build): link HYPRE into openswmm_engine_internal for MSVC unit tests
cbuahin Jun 26, 2026
db4ec05
Merge remote-tracking branch 'origin/swmm6_rel' into fix/issue-1-junc…
wiesnerfriedman Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
37 changes: 37 additions & 0 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: openswmm.engine CodeQL config

# security-extended adds higher-precision security queries beyond the
# default suite without pulling in the style/quality noise from
# security-and-quality. Adjust here if signal-to-noise needs tuning.
queries:
- uses: security-extended

paths-ignore:
# ── EPA SWMM 5.x legacy tree ──────────────────────────────────────────
# The legacy C solver, output reader, and CLI must remain byte-for-byte
# identical to the upstream EPA reference to preserve the regression
# baseline (see src/legacy/engine/CMakeLists.txt). CodeQL findings here
# cannot be acted on, so we exclude the whole tree to keep the alert
# list focused on the new C++20 engine and Python bindings.
- src/legacy/**

# ── Generated / build outputs ─────────────────────────────────────────
- build*/**
- cmake-build*/**
- python/build/**
- "**/_export.h"
- "**/legacy_version.h"
- "**/version.h"

# ── Test data and golden files (not code) ─────────────────────────────
- tests/regression/data/**
- tests/regression_testing/results/**
- tests/unit/**/data/**

# ── Vendored third-party (if ever checked in) ─────────────────────────
- vcpkg/**
- vcpkg_installed/**

# ── Non-code ──────────────────────────────────────────────────────────
- docs/**
- paper/**
95 changes: 0 additions & 95 deletions .github/workflows/build-and-test.yml

This file was deleted.

108 changes: 108 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: CodeQL

on:
push:
branches: [main] # drop develop — covered by PR
paths: ['src/**', 'include/**', 'python/**', 'CMakeLists.txt', 'vcpkg.json']
pull_request:
branches: [main]
paths: ['src/**', 'include/**', 'python/**', 'CMakeLists.txt', 'vcpkg.json']
schedule: [{ cron: "0 6 * * 1" }]
workflow_dispatch:

env:
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
timeout-minutes: 60
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
include:
# C/C++ requires a real compile so CodeQL can hook every translation unit.
- language: c-cpp
build-mode: manual
# Python is scanned from source — no build needed.
- language: python
build-mode: none

steps:
- name: Checkout repository
uses: actions/checkout@v5

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql/codeql-config.yml

# ── C/C++ build pipeline (mirrors unit_testing.yml) ────────────────
- name: Checkout vcpkg
if: matrix.language == 'c-cpp'
uses: actions/checkout@v5
with:
repository: microsoft/vcpkg
ref: 2025.02.14
path: vcpkg

- name: Install Ninja
if: matrix.language == 'c-cpp'
run: sudo apt-get update && sudo apt-get install -y ninja-build

- name: Bootstrap vcpkg
if: matrix.language == 'c-cpp'
working-directory: ${{ env.VCPKG_ROOT }}
run: |
./bootstrap-vcpkg.sh
chmod +x vcpkg

- name: Export GitHub Actions cache variables
if: matrix.language == 'c-cpp'
uses: actions/github-script@v8
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');

- name: Cache vcpkg downloads (source tarballs)
if: matrix.language == 'c-cpp'
uses: actions/cache@v4
with:
path: ${{ env.VCPKG_ROOT }}/downloads
key: vcpkg-downloads-codeql-${{ hashFiles('vcpkg.json') }}
restore-keys: |
vcpkg-downloads-codeql-
vcpkg-downloads-Linux-x64-linux-

# Tests are off by default — CodeQL needs the engine libs compiled,
# not the test exes, so we skip them to keep the analysis window tight.
- name: Configure
if: matrix.language == 'c-cpp'
run: >
cmake
--preset=Linux-debug
-B build-codeql
-DOPENSWMM_BUILD_TESTS=OFF
-DOPENSWMM_BUILD_UNIT_TESTS=OFF
-DOPENSWMM_BUILD_REGRESSION_TESTS=OFF
-DOPENSWMM_BUILD_BENCHMARKS=OFF
-DOPENSWMM_BUILD_PYTHON=OFF

- name: Build
if: matrix.language == 'c-cpp'
run: cmake --build build-codeql --config Debug

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{ matrix.language }}"
Loading
Loading