Skip to content

Add production-ready DART market module - #24

Merged
swang22 merged 5 commits into
HOPE-Model-Project:mainfrom
aglooney:dart_develop
Aug 18, 2026
Merged

Add production-ready DART market module#24
swang22 merged 5 commits into
HOPE-Model-Project:mainfrom
aglooney:dart_develop

Conversation

@aglooney

@aglooney aglooney commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a lightweight, self-contained DART module for hourly day-ahead SCUC and rolling real-time SCED
  • implement lossless nodal PTDF dispatch, generator N-1 corrective redispatch, reserves, chronological storage, and DA/RT settlements
  • enforce physical storage modes, terminal-SOC support, quick-start availability and minimum-down rules, solver-quality reporting, settlement validation, and security model-size safeguards
  • integrate the module into HOPE documentation, exports, tests, and Julia 1.9/latest CI coverage

Why

HOPE did not previously include a day-ahead/real-time market operations layer. This adds the V1 operational workflow described by the HOPE SCUC/SCED formulation while keeping the implementation in one readable source file and using in-memory Julia inputs rather than another case-file schema.

User and developer impact

Users can construct typed generator, storage, network, forecast, and state inputs; solve standalone SCUC or SCED models; run a rolling DA/RT simulation; and calculate two-settlement accounting. Results include fixed-integer nodal prices, reserve awards, contingency outcomes, solver status and gap metadata, and fully funded settlement residuals.

The supported V1 envelope is explicit generator N-1 security with a configurable fail-fast model-size safeguard. Reserve awards settle pay-as-bid; reserve-requirement duals remain informational.

Validation

  • DART suite: 85/85 assertions passed on Julia 1.9 and Julia 1.12
  • full post-merge suite on both Julia versions: 434 assertions passed, 0 failed; two upstream PCM test setups error locally because they hard-code the unsupported clp solver on Apple Silicon
  • full pre-merge suite: 401/401 tests passed on Julia 1.9 and Julia 1.12
  • 24-hour, 12-generator N-1 regression passed
  • documentation build passed
  • programmatic ModelCases example passed on Julia 1.9 and Julia 1.12
  • relevant pre-commit hooks passed after reconciling with current main
  • no CSV files are included

A companion programmatic example is committed separately on the ModelCases repository's dart_develop branch.

@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@swang22

swang22 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts in this pull request

@swang22
swang22 marked this pull request as ready for review August 18, 2026 00:06
@swang22
swang22 merged commit fb8df11 into HOPE-Model-Project:main Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants