API Reference#

Complete API documentation for the SDOM package.

Core Modules#

Main Functions#

The most commonly used functions are:

load_data([input_data_dir])

Load all required SDOM input datasets from CSV files in the specified directory.

initialize_model(data[, n_hours, ...])

Initializes and configures a Pyomo optimization model for the SDOM framework.

run_solver(model, solver_config_dict[, ...])

Solve the optimization model and return structured results.

export_results(results, case[, output_dir])

Export optimization results to CSV files.

get_default_solver_config_dict([...])

Generate a default solver configuration dictionary with standard SDOM settings.

configure_logging([level, log_file])

Configure the logging system with colored console output and optional file logging.

OptimizationResults(termination_condition, ...)

Data class containing all optimization results from SDOM.

ParametricStudy(base_data, solver_config[, ...])

Run a multi-dimensional parametric sensitivity study in parallel.

Package Structure#

sdom/
├── __init__.py              # Package exports
├── config_sdom.py           # Logging configuration
├── constants.py             # Constants and mappings
├── optimization_main.py     # Model initialization and solving
├── results.py               # Results data structures
├── io_manager.py            # Data I/O operations
├── initializations.py       # Sets and parameters initialization
├── parametric/              # Parametric & sensitivity analysis
│   ├── __init__.py          # Public surface (ParametricStudy, sweep types)
│   ├── sweeps.py            # ScalarSweep, StorageFactorSweep, TsSweep
│   ├── mutations.py         # Data mutation helpers + TS_KEY_TO_COLUMN
│   ├── worker.py            # Multiprocessing worker (_run_single_case)
│   └── study.py             # ParametricStudy orchestrator
├── common/
│   └── utilities.py         # Helper utilities
└── models/
    ├── models_utils.py      # Model building utilities
    ├── formulations_system.py
    ├── formulations_vre.py
    ├── formulations_storage.py
    ├── formulations_thermal.py
    ├── formulations_hydro.py
    └── formulations_imports_exports.py