Welcome to SAInt Docs

1. What is SAInt?

The Scenario Analysis Interface for Energy Systems (SAInt) is a software platform designed to model integrated energy networks and markets. SAInt allows modeling energy markets, electricity networks, gas networks, coupled electric and gas networks, and thermal networks.

2. Components of SAInt Docs

A key component of SAInt is its continuously expanding documentation ecosystem. The user is guided in the learning process of energy systems model development with an in-depth description of SAInt functionalities and practical and concise how-to guides. Tutorials and learning more cases further support the user in realizing detailed studies and answering cutting-edge questions. SAInt documentation takes advantage of the more modern web publishing frameworks to create a dynamic and modern experience aimed to answer your modeling questions quickly and efficiently.

The documentation ecosystem of SAInt is built around four main components.

Component What’s Inside What You Get

Installation Guide

Description of how to request, install and manage SAInt

Instructions on registering, downloading and installing SAInt, activating and managing licenses, and troubleshooting common problems.

Technical Specifications

Description of SAInt and services

An overview of SAInt’s architecture, model and scenario structures, customer support and services, and software installation and management.

Reference

Description of the software components

Shows all the information there is to know about SAInt: capabilities, settings, dependencies, etc.

How-To Guides

Step-by-step instructions

Instructions on completing common tasks and solving common problems.

Tutorials

Learning by doing

Guides in the creation and execution of a project. Shows real examples of applications using the software.

Learn More

Discussions on particular topics

Explains and discusses particular topics. It broaden the knowledge and dives into the mathematical equations.

pySAInt Manual

Manual for the data management tool pySAInt

Describes how to use the core functionalities of pySAInt and how to perform Capacity Expansion Model (CEM) operations using pySAInt.

3. What’s New

We are proud to present SAInt release 3.8, which introduces new features and expands existing modeling capabilities. Please take some time to get acquainted with such exciting new changes. You can find a summary in the table below. Some of the changes may have an impact on your models.

The new features and additions in SAInt 3.8 are singularly focused at bolstering the integrated electric generation and transmission planning capabilities of the tool. The integrated planner greatly increases the flexibility and ease of moving between production cost modeling and AC power flow scenarios. The system balance formulation unlocks locational marginal price component breakdowns, market modeling for large nodal systems, and most importantly the security constrained unit-commitment economic dispatch capability. Power flow additions include remote node voltage control and switched shunts, plus a light loading algorithmic functionality and other helpful solver additions. Combined with an array of performance improvements across network and scenario loading, modifying, and executing, SAInt is now the electric system planner’s one stop shop for meaningful and effective generation and transmission integrated planning activities.

  1. Integrated Planning

    The newly introduced Integrated Planner allows users to effectively transfer outputs and inputs between different electric scenarios and types. Generating an ACPF snapshot including unit commitment and ancillary service contributions from a production cost model run is now as simple as a single button click. The Integrated Planner is fully customizable, boasting selective transfer options, scaler modifications, and optional time-window downscaling.

    • Generation Dispatch, Commitment, and Ancillary Services - rapidly check the AC power flow response of economically optimized dispatch, commitment, and ancillary service contributions of continental power systems.

    • Distributed Energy Resource Behavior - fleet responses of distributed energy resources to bulk power system and local feeder constraints can be co-optimized and then seamlessly checked for voltage behavior in unbalanced AC power flow simulations.

    • Time Period Down Selection - users can now easily down select time segments of larger production cost model time windows maintaining full system configuration.

    • Day Ahead to Hourly Unit Commitment - day ahead generator commitment optimizations can be easily fixed for hour ahead or real time optimizations, including optimal generator loss contingency responses.

  2. Market Optimizations

    Production cost modeling users can now select a system balance formulation, providing a locational marginal price breakdown of the loss, congestion, and loss components.

    • Security Constrained Unit-Commitment Economic Dispatch - SAInt now fully supports the inclusion of network contingencies using the new Contingency and Monitored Branch objects.

    • Detailed PCM Objective Breakdown - expanded PCM logging to provide detailed breakdowns of VOM costs, penalty costs, and other objective components for improved transparency and analysis.

  3. Network Modeling

    SAInt 3.8 boasts numerous additions to the network modeling capabilities and solver features in the DC and AC power flow domains. Also generally helpful is the newly introduced network change tracking tool.

    • Sensitivity Factor Queries - users can now access injection shift factors and line outage distribution factors for enhanced analysis and diagnostics.

    • Remote Node Voltage Control - remote-node voltage regulation in (U)ACPF, allowing generators and transformers to regulate voltage at a specified remote node with proper handling when multiple generators share the same target.

    • Voltage-Controlled Shunt Support - single-level support for voltage-controlled shunt devices with new associated control properties and a simple deadband-based control logic.

    • Light-Loading Solver Algorithm - a method added to improve the convergence of large ACPF models from flat start conditions.

  4. Plugin Ecosystem

    The plugin system has been streamlined with more user-friendly input forms, clear logging, and a new HTML viewer for displaying plugin reports. Additionally, numerous endpoints for creating and modifying network objects, saving networks and scenarios, managing scenario events and profiles, and retrieving pointers to key objects for programmatic workflows have been added. The release of SAInt 3.8 is also joined by a host of new plugins and major updates to existing plugins.

    • Dot Raw to SAInt - major improvements have been made to this core translation tool, which can now execute a full translation of the MMWG and WECC eastern and western interconnection models, respectively.

    • Nodal to Zonal - users can now convert a full transmission detail model into a zonal representation, with intertie capacities and impedances calculated with network reduction techniques.

    • Dot Raw Updater - a new plugin that will generate updated dot raw files from an ACPF .enet and .esce pair for analysis in other tools.

A detailed list of changes and new features is provided here:

  • Integrated Planning

    • Integrated Planner Tool - a new tool that transfers both scenario events and simulation results from existing scenarios into new ones. It supports selective transfer options, optional time-window downscaling, and enables faster iterative scenario creation using previous results as inputs.

    • New API Endpoints - endpoints for creating and modifying network objects, saving networks and scenarios, managing scenario events and profiles, and retrieving pointers to key objects for programmatic workflows.

  • Network Modeling

    • Voltage-Controlled Shunt Support - support for voltage-controlled shunt devices with new control properties (ControlMode, Deadband, VoltageMagnitudeSetpoint, Step). Shunts can now switch on or off based on a voltage setpoint using a simple deadband-based control logic.

    • Remote Voltage Regulation - remote-node voltage regulation in (U)ACPF, allowing generators to regulate voltage at a specified remote node with proper handling when multiple generators share the same target.

    • Sensitivity Factor Queries - enabled querying of ISF and LODF sensitivity factors directly from the Command Window for enhanced analysis and diagnostics.

  • Market Modeling

    • System Power Balance Formulation - system-level power balance for DCUCOPF, enabling LMP breakdown into energy, congestion, and loss components, with optional modeling of active power losses.

    • Detailed PCM Objective Breakdown - expanded PCM logging to provide detailed breakdowns of VOM costs, penalty costs, and other objective components for improved transparency and analysis.

  • Performance

    • Faster Loading for Large Networks and Scenarios - optimized network loading for systems with 150K+ elements, significantly reducing startup and preprocessing time. Improved the large scenario loading times.

    • Upgrade to Gurobi 13 - SAInt now ships with Gurobi 13 to benefit from solver performance and stability improvements.

  • Other Additions

    • Added save/copy image functions for the node bar.

    • Standardized color palettes across legends, charts, and graphs.

    • Replaced Bing Maps with Azure Maps.

    • Added “%” support when exporting input files (e.g., ENO.%.P).

    • Added a change-tracking table to log edits to network objects, with user annotations supported.

    • Added a ReferenceNode property to the Zone object to enable switching between nodal and zonal representations and integrated planning workflows.

    • Added the KLU solver option to improve ACPF performance on networks with sparse topologies.

    • Updated existing weather data providers and introduced additional providers.

    • Added a limit on transformer tap adjustments in ACPF and UACPF to help the solver converge more reliably in complex networks.

    • Improved detection of connectivity issues involving externals, avoiding the need for the up-phase subnetwork approach.

    • Changed the default transformer tap step from 5% to 0.625%.

    • Added automated guidance for resolving ACPF pivot errors by suggesting parameter adjustments or disabling problematic devices.

    • Enabled querying of total active, reactive, and apparent power across branch groups to support zone-level power flow assessment.

    • Added validation for MaxIterationSteps and MaxConstraintSteps to prevent zero or unreasonably low values that caused simulation failures.

    • Added separate limits for transformer tap iterations and Q/V control iterations in ACPF/UACPF through new fields MaxControlIterations and MaxTransformerTapIterations.

    • Enabled the PSETDEF property for EPS objects in DCUCOPF to support controlled injection or consumption modeling.

    • Updated the default ASVCX MaxVal to infinity to align with standard “least invasive” control conventions.

    • Added new API methods to set MaxControlIterations for (U)ACPF/Gas scenarios and MaxTransformerTapIterations for (U)ACPF scenarios.

    • Enhanced failure reporting in quasi-dynamic simulations by highlighting solver failures and logging non-convergent time steps.

  • General Improvements

    • The issue of a failure occurring during polygon shapefile import is resolved.

    • The issue of an incorrect export behavior for Excel tables when columns were hidden is resolved.

    • Resolved corruption in PDF exports when the table width exceeded the page width.

    • The issue of string-type properties not imported when their values were left empty in the input file is resolved.

    • Fixed cells showing +Inf switching to 0 when clicked.

    • Added missing units for emission-per-energy (EMNRG).

    • The issue where tables updated during simulation animation always reset to the first row at each time step is addressed.

    • Fixed an issue where clearing a search in the Project Explorer caused all tree nodes to expand. The Project Explorer now returns to its normal collapsed/expanded state instead of opening every tree node.

    • Fixed an issue in Map Display Settings where the “From Value” and “To Value” fields incorrectly showed 0 instead of ∞ when the “Size Values” option was enabled.

    • Invalid event file imports now show an in-app warning instead of opening an external text editor.

    • Fixed chart zooming issues causing unintended horizontal shifts.

    • Fixed an issue where using negative values in the time() command incorrectly reset or shifted the simulation time instead of decreasing it; negative inputs now reduce the time as intended.

    • Fixed an issue where newly created ESTR objects displayed their default storage capacity (MaxCap) in joules instead of MWh; the default unit is now correctly shown in MWh.

    • Fixed an issue where importing transformer tap parameters (TAPN, TAPMIN, TAPMAX) from Excel templates incorrectly altered their values.

    • Fixed silent handling of negative ESTR.PDMAXDEF values: the solver no longer clips them to 0 but now validates the input and either issues a clear warning with documented interpretation or stops the run with an explicit error.

    • Improved the “Remove Redundant Vertices” tool by disabling it during active scenarios, refining the simplification algorithm for consistent results in both Cartesian and Geographic views, and preserving important vertices to maintain accurate branch shapes.

    • Fixed an issue where gas simulations failed with an exception when the initial state was set to NONE.

    • Fixed an issue where joining a newly added node to an existing node did not work correctly.

    • Fixed issues where scenario time updates made in the Property Editor were not reflected in the Scenario dialog.

    • Simplified default logging for runESIM in DCUCOPF to speed up batch runs by suppressing Gurobi console output; full solver logs can be enabled with showSIMLOG(True) in the API.

    • Fixed an issue where the context menu for the hub network could not be opened when other networks were deselected in the Layers window.

    • Optimized parameter import for bulk reassignment of externals to nodes, eliminating UI freezes and significantly reducing processing time for large batches in nodal↔zonal workflows.

    • Fixed an issue where the Command Window could not run table expressions for enum-type properties, such as FGEN.%.State.

    • Fixed an issue where scenario loading froze when the time horizon was not a factor of the time window or when the time step exceeded the horizon; added validations to prevent these cases.

    • Fixed a missing confirmation dialog when closing a project with unsaved changes in the hub network; users are now prompted to save or discard changes.

    • Fixed an issue where the Model Explorer filter required users to manually clear the previous entry before pasting a new value.

    • Fixed incorrect display of H₂ molar percentage in branch and path plots by correctly accounting for flow direction, preventing false upstream concentrations.

    • Upgraded CodeMeter runtime to 8.40.x.

    • Corrected a misleading error message during solar profile generation: when system capacity (PMAXDEF) is infinite, the message now correctly references PMAXDEF instead of SystemCapacityAC, guiding users to specify a finite PMAXDEF.

    • Fixed a SAInt API issue where creating a new scenario while another scenario was already open affected simulation results; the previous scenario is now cleared correctly when a new one is created via the API.

    • Fixed an issue that prevented creating QSET/VMSET events for ACPF scenarios.

    • Fixed an issue where, after connecting two existing nodes in different zones, the ToNode was incorrectly moved to the FromNode’s zone; both nodes now remain in their original zones.

    • Disallowed negative MaxCapDef values for storage objects.

    • Fixed inconsistent infeasibility behavior for LP solves in PCM.

    • Improved feedback when an optimization run fails due to infeasibility detected by Gurobi; the log now points to the location of the .ilp file generated by Gurobi for inspection and debugging.

    • Fixed reporting of PSHDW results in PCM for certain objects when the optimization timestep length was different from 1 hour.

    • Fixed an issue where PHSTR could exceed the PGMAXDEF limit when ASVCX was active, allowing P + Val to violate the maximum constraint.

    • Fixed the EDEM constraint equation that caused infeasible ACOPF simulations.

    • Fixed an issue where EDEM PMIN constraints remained active after OFF events, leading to unreported consumption and over-dispatch; constraints are now correctly deactivated.

    • Fixed an issue to include average bound constraints in the model so that the bound is respected separately in the horizon and look-ahead periods, even when the moving horizon overwrites look-ahead results.

    • Fixed an issue where voltage regulators failed to restore tap positions after reaching their limits, resulting in sustained over-voltages instead of returning to the expected setpoint once system conditions recovered.

    • Addressed instability in solver behavior during small Q-value changes by improving PV/PQ switching logic to prevent divergence and oscillatory residuals.

    • Fixed an issue where QuasiDynamicACPF scenarios could fail when transformers used Voltage Control mode, even though equivalent steady-state cases solved successfully; behavior is now consistent across both modes.

    • Enhanced troubleshooting for “pivot not found” exceptions in the SparseLU solver by reporting the specific variables and equations causing the issue.

    • Fixed an issue in CEM scenarios where setting an object’s InService property to false caused an exception.

    • Fixed an exception that occurred when PMAX was above PMAXDEF for FGEN objects with FCC enabled.

    • Fixed an issue preventing PSET events for ESTR objects; users can now define and import PSET events for storage, ensuring consistent behavior with other External objects and allowing distinction between controllable and non-controllable storage.

    • Fixed an issue related to the LLS property; it is now correctly accessible for all electric branches (not only AC branches), enabling proper retrieval through EBR.%.LLS queries and visualization in Map Display Settings.

    • Fixed an issue so that PFSET is now available as a selectable scenario event property for electric prosumers (EPS), allowing modeling of time-varying active power compensation factors.

    • Fixed an issue related to ACPF/LI-derived properties, which were showing unexpected results when an object was off; these derived values are now handled correctly for out-of-service objects.

You can download SAInt 3.8 from the the community Forum download page here!

4. How to Search Titles and Text

To search titles and text in SAInt Docs, type the words in the top-right search box. The section titles containing any of those word are found at first, then the search is performed on the text. By default, the search only applies to the current component. Uncheck the box in this component, to enable searching on all the components. Use any of these five advanced searching techniques to customize your search:

(1) Any word will be reduced to its stem. For example, to search "objects" is the same as to search "object".

(2) To find sections whose titles contain "network", type:

title:network

(3) To perform a logical AND search, like "foo AND bar", prefix both words with +:

+foo +bar

This can also be combined with the second technique:

+title:network +gas

(4) Similarly, to exclude a word, prefix it with -:

+foo bar -baz

(5) The wildcard (*) is supported. For example, to search any word with an "oo"-ending:

*oo