Novomodelo Documentation
Multi-stage stochastic hydrothermal dispatch with SDDP — the method and the software in one place.
Novomodelo is an open-source solver for multi-stage stochastic hydrothermal dispatch: it trains an operating policy with Stochastic Dual Dynamic Programming (SDDP) and simulates it, from the command line or from Python. This site documents the method and the software together, from the mathematics and worked examples to installing Novomodelo, running studies and reading their results.
Where to start
Section titled “Where to start” Run studies Scaffold, validate and run a first study from the command line.
Coming from other software? Convert an existing case to Novomodelo's input format and compare the results.
Study SDDP The algorithm chapters: forward and backward passes, cuts, bounds and stopping rules.
Work in Python Run a study and read its results from Python.
Theory
Section titled “Theory” Introduction The SDDP framework in one page, the notation, and how to read this site.
System Modelling The power system's elements and the stage linear programme Novomodelo solves.
Stochastic Modelling The inflow model and how scenarios are generated.
The SDDP Algorithm Passes, cuts, bounds, risk measures, stopping rules and determinism.
Coupling & Boundary Conditions Horizon modes, the post-study boundary and discounting.
Worked Examples Single- and four-reservoir systems small enough to trace by hand.
Running Novomodelo
Section titled “Running Novomodelo” Running Studies Run a study end to end and check its results.
Configuration The study configuration file and its settings.
Policy Management Warm start, resume and simulation-only runs from a saved policy, and boundary cuts.
Convergence & Diagnostics Read the convergence record and the simulation results.
Performance Accelerators The performance settings to tune and what to read back from a run.
HPC & Cluster Deployment Run the MPI build on a cluster.
Reference
Section titled “Reference” CLI Reference Every subcommand and flag of the command-line program.
JSON Schemas The schemas of the case input files.
Error Codes Error kinds, their messages and exit codes.
Generic Constraints User-defined linear constraints on a case.
Glossary The terms used across this site.
Bibliography The works the methodology cites.