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’re excited to introduce SAInt Release 3.9, packed with new features and expanded modelling capabilities! Take a moment to explore these exciting updates and see what’s new. A summary is provided in the table below. Please note that some changes may affect your existing models.
The latest major release of SAInt includes substantial additions to the production cost capabilities and reserve products, enabling full detail and precise security constrained unit commitment and economic dispatch modeling of interconnection systems for market clearing purposes. Power flow functionality has been greatly improved with a comprehensive switch shunt control implementation, and a host of new convergence tools and settings. Combined with broad improvements across the software including an improved plugin ecosystem and a new node explorer, Version 3.9 further defines SAInt as the definitive solution for integrated planning.
-
Market Optimizations
In alignment with real markets, commitment status (cycling or must-run) of generators is now directly specified, with dedicated ramp-rates for start-ups and separate cold, warm, and hot time-dependent start-up costs. Reserve service modeling has been greatly expanded to include up and down, spinning and regulation type participation, including minimum values that allow for optional commitment behavior into reserve product provisions. Additionally, a non-spinning reserve product now allows de-committed units with rapid turn on capabilities to be available for reserve provision as well for modeling fast-start generating units.
-
Network Modeling A primary addition to the AC power flow domain is the expansion of switched shunt modeling capabilities, including multi-level discrete and continuous behaviors. Remote node control has also been added to shunt devices, as well as wind, solar, and battery generation assets. A highly customizable AC power flow warm start functionality has been added, allowing users to configure initial conditions with external data, internal SAInt solutions, or initial voltage angles from an automatic DC power flow execution. Fully decoupled iteration limits and solver switching tolerances for voltage control mode, shunt switching, transformer taps, light loading steps, and participation switching have also been added.
-
Plugin Ecosystem The plugin ecosystem continues to grow, now boasting a seamless installation process that places dedicated plugin icons in the Tool bar for easy execution. The suite of plugin offerings now includes the innovative Representative Timestep Selector, a Resource Adequacy tool that supports probabilistic transmission outages, a complete update of the Contingency Analyzer, major additions to Dot Raw to SAInt, and a Translation Validator dedicated to comparisons of external data sets with SAInt models. Reporting design of all plugins has been unified, establishing consistency for easy cross domain analysis. Additionally, plugin security has improved with a signed security check of all encoord authored plugins.
-
Integrated Planning Improvements Version 3.9 introduces a DC power flow module that can be used for screening contingencies to align monitored/contingency pairs in system balance production cost modeling or seeding flat start AC power flow scenarios with initial voltage angles. The Integrated Planner now has key API endpoints for automated process execution, and support for moving between these new DC power flow, and unbalanced AC power flow scenario types. Combined with a brand-new Node Explorer with navigation tracking and cross scenario type representation, the integrated planning capabilities of SAInt are more powerful than ever.
Seasoned SAInt Users Please Note - InService is now an Event Property
The ON, OFF, and ONOFF events have been removed as of SAInt v3.9. Now, InService is a Default Event Value property called InServiceDef and it can be changed for different scenarios using an InService event. A key benefit of this improvement is allowing easy object service control with profiles. The boolean nature of the InService property remains, however, and users can use integer values of "0" for "False" and "1" for "True" which also supports using a Profile for such an Event.
See this forum post for more detailed information.
Release Notes for SAInt 3.9.11.8:
-
Revision Changes
-
Fixed an issue where scenario event value expressions that reference an earlier time step, such as (etime-edt), did not use the current scenario time and returned stale values.
-
Fixed an issue where the API function
addEEVTrejected valid numeric values for scenario events on objects whose parameter uses a unit, such as the ASVC MinReq event. These events can now be created through the API. -
Fixed an issue where an MBR added through the API was named MBR_0 instead of retaining its assigned name.
-
Fixed an issue where adding an MBR for the DEFAULT contingency through the API did not create the object.
-
Improved the speed of API calls (for example, from plugins and scripts) when the CodeMeter dongle is shared over a LAN, by removing a license check on every call. A dongle shared over a LAN can still be somewhat slower than a local one.
-
Fixed an issue where memory usage kept growing across consecutive API simulations, which could cause larger runs to run out of memory. Undo/redo history is now recorded only in the SAInt GUI.
-
Updated the CodeMeter Runtime bundled with the SAInt installer to version 9.10.8166.500, which fixes two high-severity security vulnerabilities. The installer now installs it automatically when CodeMeter is missing or older, and shows a progress window while it runs. Computers that act as CodeMeter license servers need the same update.
-
Fixed an issue where the SAInt installation did not include the third-party notices PDF. The notices are now installed as third-party-notices.pdf, replacing the previous .txt file.
-
Fixed an issue where EPS objects lacked
PREFandQREFscenario event options.PREFDEFandQREFDEFnow appear under Event properties instead of Input properties. -
Fixed an issue where the Integrated Planner rejected scenario names longer than 30 characters. It now only requires a non-empty name that contains valid characters.
-
Added the API function
getContainerOBJ, which returns pointers to the objects contained in a network, subnetwork, zone, or group. Results can be filtered by object type and name, so API users do not need to query each object type separately. -
Added read-only
FromAliasandToAliasproperties to branches (for example EBRs) andNodeAliasto externals (for example EXTs) in electric, gas and thermal networks. They show the alias of the connected node and are available in tables and the property editor. -
Fixed an issue where scenario event value expressions with units containing a slash, such as [MMBTU/h], failed silently. This stopped integrated power and gas workflows at the first gas time step. Evaluation errors are now logged as warnings.
-
Changed the code signing of the SAInt installer, DLLs, and executables from the Sectigo certificate to Microsoft Artifact Signing. Files are still signed as "encoord GmbH", but the certificate issuer is now Microsoft, so organizations that allow software by certificate may need to update their rules.
-
Updated plugin verification so plugins signed with encoord’s Microsoft Artifact Signing certificate are shown as verified. Plugins signed with the previous Sectigo certificate remain verified for now.
-
Changed the default of the ASVC property
MinReqPriceDeffrom +Inf to 10,000, so newly created ASVCs and networks without a stored value now use 10,000 per ASVC unit. Review networks that relied on the previous default. -
Fixed an issue where default file paths of optional plugin file fields were not shown in the form but were still submitted. Existing default files now appear in the form. File fields that are empty or point to a missing file are no longer passed to the plugin, and file fields without validation rules now also require an existing file.
-
Added the missing Contingency Element (CTGE) entry to the exported extended lexicon.
-
Added the API functions addContainer, which creates an empty electric, thermal, or gas subnetwork, zone, or group, and addNetObjectToContainer, which adds one existing object to a container. Subnetworks and zones can only be created and changed while no scenario is loaded; groups can be filled while a scenario is loaded. When adding many objects, call the begin and end batch update functions (for example,
beginEBatchUpdateandendEBatchUpdate) to defer container refreshes. -
Fixed an issue where creating a SteadyACPF scenario from a QuasiDynamicACPF scenario in Integrated Planner could leave SAInt unresponsive for a long time (about an hour for a large 8760-hour scenario).
-
Fixed an issue where edits to FGEN fuel coefficients
FC0,FC1, andFC2could not be applied from the FGEN table. The correct fuel-rate unit is now kept while editing. -
Fixed an issue where Node Explorer did not refresh after objects were added to or deleted from the displayed node. The view now reflects those changes without switching to another node and back.
-
Fixed an issue where opening another network while a scenario was loaded in the Node Explorer could leave the Node Explorer showing a red X and unusable until SAInt was restarted.
-
Fixed an issue where ending an API batch update (
endEBatchUpdate) deleted existing empty groups, subnetworks, or zones. Empty containers are now kept, including after branch deletion. -
Fixed an issue where discrete switched shunts using sloped voltage control (
SlopedHardLimit/SlopedSoftLimit) could be counted as making one more switch than permitted after the change to actual participation. The configured maximum number of switched-shunt iterations is now respected in that mode. -
Added support for negative shunt
GSET(DEF)values, which are no longer rejected or ignored when importing networks and scenario events and can now be modeled in ACPF. SAInt logs a warning when a negative value is imported and during scenario execution. In QuasiDynamic scenarios, the warning is logged only at the first time step when a negative shunt value is detected. -
Fixed an issue where external objects (such as generators and EPS devices) at a node with no in-service branch were left out of the ACPF solution, and all reported zero power. These nodes are now included, so the externals follow their
PSETvalues, and the EPS device, with a participation factor, balances the area. -
Fixed an issue where CTG and MBR objects in MAP files were all assigned the same number. Each object now receives a sequential number.
-
Fixed an issue where a scenario created by transferring from PCM to UACPF through the Integrated Planner could fail during the UACPF solve because the in-service status of objects was evaluated for the wrong time step. In-service status is now evaluated per time step.
-
Fixed an issue where an ACPF simulation could stop with an out-of-memory error while looking for the remote side of a voltage-controlling transformer. The search now terminates correctly, and a message is logged if the remote node has no connection to the transformer.
-
Fixed an issue where PCM could report the hot-start price as StartUpCostRate for a generator’s first startup in the horizon when no initial off-state is known, even though the commitment decision used its cold-start price (StartUpPrice). The reported startup cost now matches the price used for that decision.
-
Fixed an issue where PCM reported zero state of charge for a storage unit activated by an
InService= True event whileInServiceDefwas False. State of charge now follows the storage’s charging and discharging, and is also reported (held at its last value) while the storage is out of service. -
Improved switched-shunt commitment under sloped voltage control: only one discrete shunt per controlled node is now committed per iteration, so several shunts regulating the same node no longer all switch at once and a shunt is less likely to stay off despite voltage below its setpoint and deadband. This can require more iterations; increase MaxSwitchedShuntStepIterations if the limit is reached.
-
Fixed an issue where an ACPF scenario could fail with an exception when a node with
InServiceDef= False and noInServiceevent was connected to in-service branches or transformers. Such scenarios now execute normally. -
Improved the switch to actual participation in ACPF: discrete switched shunts already committed under sloped voltage control now keep their committed position instead of being reopened. This avoids changes to the reactive-power solution right after the switch.
-
Fixed an issue where SteadyACPF could fail with an "Empty equation(s)" or "variable cannot be null" error when in-service transformers or lines were connected to a node with
InServiceDef= False. Such nodes now remain part of the power flow so their in-service branches can carry power, while the externals at the node are switched off. -
Fixed an issue where the TapSwitches count could include the initial tap settings of fixed TapSet transformers. The count now reflects tap changes made during voltage regulation rather than those initial settings.
-
Fixed an issue where ENO.Q directly added reactive power from generators and demands despite their different sign conventions. ENO.Q now reports net reactive power using the generator convention (generated minus demand), with positive values indicating net injection.
-
Fixed an issue where out-of-service gas nodes (with all connected pipes out of service) were reported as the network’s minimum or maximum pressure. They are now excluded from the network pressure results. Results of out-of-service pipes (for example, flow, pressure, temperature, and linepack) are now reported as NaN, and such pipes are shown in black in the map legend.
-
Fixed an issue where DC power flow simulations (including QuasiDynamicDCPF) wrote a linear equation system (.les) file for every time step, even when WriteLESFile was set to False. Files are now only written when WriteLESFile is True.
-
Fixed an issue where an “All QG are fixed” error stopped SteadyACPF simulations that contain an isolated region without voltage control. Such regions are now reported with a warning and treated as de-energized, with zero voltage and power results, and the disconnected demand logged. They are re-energized automatically when generation or voltage control becomes available again.
-
Fixed an issue where ACPF with SlopedHardLimit could fail with a singular-matrix exception when reactive power demand exceeded the available capacity. If all voltage controllers in an island reach their reactive power limits, the island is now reported as de-energized with a warning listing the disconnected demand, and other islands continue to solve.
-
Fixed an issue where switching a generator off or on through scenario events could prevent another generator at the same node from controlling voltage and reactive power. Voltage control groups are now rebuilt from the in-service status of the connected objects.
-
Fixed an issue where setting
MaxTransformerTapIterationsto 0 reset voltage-regulating transformers to the neutral tap position (TAP= 0). With tap iterations disabled, all transformers now keep their prescribed tap:TAPSETDEForTAPREFDEF, with the warm start set toREFDEF. -
Fixed an issue in UACPF where shunts connected phase-to-phase (Delta, AB, BC or CA) applied three times their specified susceptance
B, which overstated their reactive power and raised the voltage.Bis now treated as the total across the connected phases for all shunt connection types. -
Fixed two bugs identified by the static code analysis tool. NSEG now validates its 2..6 range, and importing a variable that refers to a missing constraint now reports an error.
-
Added the ParameterObject Python wrapper (parameter_object.py) to the SAInt installation, in the Documents folder, so that API scripts can import it.
-
Release Notes for SAInt 3.9.11.3:
-
Market Modeling
-
Unit commitment
-
Added CommitStatus property and event for FGEN objects to specify commitment status (
MustRunorCycling) over scenarios. -
Added time-dependent startup prices and ramp-up constraints for generators, categorized as Hot, Warm, and Cold based on time since last operation.
-
Added a new
StartRampRateproperty for Fuel Generators (FGENs) to model their start-up ramp rate in MW/min.
-
-
Reserves
-
Added a new boolean property
EnforceUnitCommitmentto ASVC objects that when set to True will enforce decision variables for ASVCX contributions. This value defaults to False. -
Added a
MinValproperty to ASVCX objects to enforce a minimum reserve contribution, along with a binarySTATUSvariable indicating if the ASVCX is contributing at or above this minimum. This supports theEnforceUnitCommitmentproperty for ASVC. -
Added "NonSpinning" ancillary service type allowing generators that are off but available to provide non-spinning reserves to represent fast-start generating units providing reserves.
-
Added "Regulation" ancillary service type along with corresponding
RMINandRMAXproperties to generators to define a viable output range for regulation reserve contribution.
-
-
-
AC Power Flow Improvements
-
Warm Start
-
Improved SteadyACPF scenario performance with multiple warm start options that allow initializing simulations from known power flow solutions, including external sources, previous ACPF runs, or DCPF initial conditions.
-
Added new reference properties to electric nodes, externals, and transformers to support populating AC power flow results from external tools for comparison and warm-start simulations.
-
-
Equipment Coverage
-
Added
RemoteNodeNameandRemoteNodeproperties for WIND, PV, and ESTR objects for remote node voltage regulation when used withVMSETevents. -
Improved switched shunt modeling by adding discrete and continuous control modes, remote voltage control, block switching order enforcement, and control status events, enhancing flexibility and accuracy in shunt device simulations.
-
-
Enhanced Transparency
-
Added the ability to view and export the last computed iteration results when an ACPF simulation is paused, allowing users to warm start simulations from saved, intermediary results.
-
Added a
WriteLESscenario parameter option allowing users to generate linear equation system files (*.les) for each iteration. -
Extensively increased logging of simulations, including SlopeFactor, Q enlargement, Transformer Tap changes, Shunt Switches, and Light Loading value increases for each ACPF solver.
-
Decoupled iteration limits for control mode, Transformer Taps, and Shunt switching.
-
Added independent residual tolerances for all key solver iteration processes.
-
Added two new output properties showing active and reactive power loading percentages for various generator externals.
-
-
-
Plugins
-
Plugin installation is now simpler with a one-step install process and installed plugins appearing as icons in the Tools ribbon. Users can switch between multiple plugins without reinstalling them, run multiple plugins at the same time, and uninstall plugins directly from the Settings menu.
-
Added a security check to verify that plugin executables are signed by encoord before they run. If a plugin is unsigned, users receive a warning and can decide whether to proceed, improving transparency, trust, and safety.
-
-
Integrated Planner
-
Added support for UACPF and DCPF scenario types with the Integrated Planner, including both Steady and QuasiDynamic types for each.
-
Added new API endpoint to run the Integrated Planner with a preset .tran file.
-
-
Node Explorer
-
Added an independent Node Explorer window, improving performance and usability for large models.
-
Added Back, Forward, and Recent Locations buttons to the Node Explorer to help users navigate through complex networks.
-
-
InService Scenario Property
-
Improved the InService property by converting it to an event-driven property allowing users to programmatically change operational statuses between scenarios.
-
-
Other Additions
-
Introduced the Outage Transfer Distribution Factor (OTDF) with a new
otdffunction alongside existingisfandlodffunctions, enabling users to analyze network impacts during outages more effectively. -
Improved "Filter Scenario Events" to open custom event tables containing events related only to the selected objects, enhancing event editing and analysis.
-
Added API endpoints to create new networks from scratch with initial nodes and branches, enabling programmatic network building.
-
Improved the public API by removing redundant scenario-property methods and renaming cryptic property names to human-readable ones while preserving backward compatibility.
-
Reintroduced SteadyDCPF and QuasiDynamicDCPF scenario types with GUI and API support.
-
Added support for the InService property in the Branch Map Legend.
-
Added visually pleasing default icons for all SAInt file extensions including *.plugin and *.tran.
-
-
Minor Improvements and Bug Fixes
-
Simulation performance, solver behavior, and numerical accuracy
-
Improved simulation efficiency by compiling scenario event value expressions to reduce execution time increases caused by mathematical operations in event values.
-
Fixed an issue where the solver failed on isolated shunt objects.
-
Fixed an issue where increasing the phase shift (
PHISET) on a transformer incorrectly impacted the convergence trajectory and per unit voltages, causing large voltage deviations. -
Fixed an issue where
TimeStepLookAheadwas incorrectly used as the denominator in shadow price calculations. -
Fixed an issue where enabling
IncludeLossescaused the system balance solve to hang indefinitely. -
Fixed incorrect residual reporting for ISO areas and
Qlimitviolation checks, providing users with accurate diagnostic information. -
Fixed an issue where slope factor reduction was not applied in voltage setting equations when
MaxControlIterationswas zero. -
Fixed an issue where
PSHDWvalues for monitored branch objects were incorrectly reported as 0 instead of NaN or the expected congestion value when usingUSESYSTEMBALANCE. -
Fixed an issue where EVAR objects on branches did not function correctly with
USESYSTEMBALANCE. -
Fixed an issue where branch penalties were incorrectly reported for unmonitored branches under
USESYSTEMBALANCE. -
Fixed an issue where zero impedance lines were not handled correctly in the system balance formulation.
-
Fixed an access violation error during DCUCOPF simulation by updating disposal logic.
-
Fixed an issue where the Time Horizon input was limited to 60 days when creating a new DCUCOPF scenario.
-
Fixed an issue where flow unserved (
QNS) was incorrectly calculated for demands not in service. -
Fixed an issue where the left-hand side (
SUMLHS) of constraints involving binary variables always returned zero. -
Fixed an issue where scenario solutions with end times not aligned to scenario end times failed to load.
-
Fixed handling of invalid regulation bands so that generators with empty or out-of-limit bands contribute zero to ASVC regulation.
-
Optimized the time insert operation to speed up simulation initialization.
-
Fixed an exception caused by a singular matrix during dynamic gas simulation runs.
-
Fixed the
StartCostRateproperty for FGEN objects so it correctly reports startup costs at the first timestep. -
Fixed numerical errors in the loss component of LMP to improve accuracy.
-
-
Scenario configuration, events, profiles, and Integrated Planner workflows
-
Improved the default chart start and end times when creating scenarios via the API to match those created via the GUI.
-
Fixed an exception caused by participation factor clean-up with the Integrated Planner running incorrectly by adding a null check.
-
Fixed inconsistent behavior where some profiles were not assigned to all events in the Integrated Planner.
-
Fixed an issue where importing multiple event files ended with all events in the scenario selected instead of only the newly imported ones.
-
Fixed an issue where the
PSHDWEderived property was not saved or queryable in solved scenarios. -
Updated default
ChartStartTimeto be one timestep afterStartTime, preventing confusion from zero-value initial steps and aligning with most user scenarios. -
Fixed the calculation of the
PSHDWEderived property in the development environment to ensure it is saved and queryable in solved scenarios. -
Fixed the calculation of emission properties for containers so that
CO2,NOx, and SO2 rates are aggregated from FuelGenerators instead of Fuel objects. -
Fixed an issue where importing exported profiles and events with duplicate events caused different results.
-
Fixed an issue where sorting the "Value" column in Scenario Events was alphabetical instead of numerical when empty or text cells were present.
-
Added State output property back to ASVCX objects to report their status in PCM optimal solutions, restoring visibility of ASVCX operational state.
-
Added
QNSandTNSproperties for container objects like networks, zones, and groups. -
Fixed an issue where the "TimeModified" field in the Scenario Dialog did not refresh after saving changes.
-
Fixed an issue where the Parameter drop-down list was empty when multi-editing events of the same type.
-
Fixed an issue where ON events on FGENs were not mapped to
MustRunevents. -
Fixed an issue with grouping by the "Parameter" column in the event table.
-
Fixed an issue where filtering rows by columns like Parameter and Profile was not working in the event table.
-
Fixed an issue where including events and associated profiles from another scenario did not work.
-
Fixed an issue where newly created scenarios were not shown in bold in the Project Explorer.
-
Fixed missing profile icons in the Model Explorer when opening scenarios with profiles.
-
Fixed an issue preventing activation of the "Count" option in the Event Table summary row for certain fields.
-
Renamed the Scenario property from
IniStatetoInitialStatefor clarity and consistency. -
Corrected
ChartStartTimein scenarios created with Integrated Planner so it is one hour ahead of StartTime.
-
-
Import, export, compatibility, and API behavior
-
Fixed an issue where SAInt did not show warnings or errors when zone names differed between the EZN and ENO sheets during import.
-
Added support for POCO version 3.8 to load and save networks generated from version 3.8.16.6 and earlier.
-
Fixed an issue where exporting tables from groups, zones, or subs included all objects of the type instead of only those in the container, ensuring exports reflect the filtered selection accurately.
-
Improved the warning mechanism during import to reduce excessive log messages by summarizing default value usage, making logs clearer and less overwhelming.
-
Fixed an issue where pathplot did not support float values in the plot range declaration.
-
Updated API calls to use the new https://developer.nlr.gov/ domain to ensure uninterrupted access to NREL data providers and avoid service disruption.
-
Fixed an issue where importing profiles did not log errors for profiles declared without data or data without declaration.
-
Fixed an issue where importing an open Excel template caused SAInt to hang.
-
Fixed a Telerik license issue that caused "writeESOL()"" to export empty Excel files with exceptions.
-
Fixed a typo in the API example and aligned the property name from
TimeLimittoSolverTimeLimitto match the GUI. -
Improved the API so that "runESIMNoSol" no longer creates condition files, reducing file IO and preserving warm start files.
-
Fixed import behavior to allow negative line resistance (
RRDEF) values without clipping to zero and added warnings in import logs when negative resistances are detected. -
Updated validation to allow "NaN" as a valid value for RatedS and
RatedVproperties, enabling users to enter valid data without errors.
-
-
GUI stability, responsiveness, and table/filter usability
-
Fixed an issue where changing selected filter items in tables caused the GUI to freeze, improving stability when filtering data.
-
Fixed an issue where adding multiple objects opened an individual editor for each, causing slow performance.
-
Fixed an issue where re-configuring filters while objects were selected caused SAInt to freeze, enabling smoother multi-edit workflows.
-
Updated context menu text from "Scenario Event" to "Add Scenario Event" to reduce user confusion and clarify that a new event is being created.
-
Fixed a performance issue where deleting many branches took excessively long.
-
Fixed an issue where very long object names caused windows to become excessively large and hinder navigation.
-
Fixed an issue where the "Source CRS Selector" window took more than 10 seconds to open due to coordinate conversion library changes.
-
Added context menu options to open custom tables showing only monitored branches (MBR) or ASVCX objects related to a specific contingency or ASVC, improving data accessibility in large models.
-
Fixed an issue where filtering log entries by time using "EqualTo" or "GreaterThan" did not work and cleared the filter input.
-
Fixed an issue where hovering over the Map View window automatically brought it in front and moved chart windows to the background.
-
Added validation messages to inform users when numeric inputs are outside the valid range and reset to default.
-
Optimized node table lookup to prevent SAInt from freezing for minutes when opening node tables for specific zones, improving responsiveness.
-
-
Model Explorer, object management, contingencies, and hub system objects
-
Fixed an issue causing missing coupling object icons in the Model Explorer when loading a hub system.
-
Fixed an exception preventing creation of coupling objects in the Hub System and corrected Model Explorer display issues. Users can now create hub system coupling objects without errors and see all children correctly.
-
Fixed an exception thrown when deleting a branch that is a monitored branch (MBR) in a contingency (CTG).
-
Fixed an issue where deleting branches did not update or remove related CTG and MBR objects.
-
-
Logging, diagnostics, error messages, and user-facing text
-
Fixed an issue where the log window reported simulation completion well before the user was notified, preventing confusion and errors from premature actions during large PCM simulations.
-
Fixed missing exception window for combined simulations so users now receive proper exception messages when any contributing scenario fails.
-
Fixed exception messages to include network and scenario names when loading fails, providing clearer context for troubleshooting.
-
Improved the style and presentation of third party notices for better clarity and compliance.
-
Fixed some typos in error log messages.
-
Fixed an issue where MAP files were not printed during infeasible scenario runs, ensuring users receive complete diagnostic files (*.map, *.lp, *.ilp) for troubleshooting.
-
Removed irrelevant internal Gurobi license log messages during PCM scenario execution to provide users with cleaner, more informative logs and reduce confusion.
-
-
Plugins, report viewer, licensing, setup, and external dependencies
-
Changed the tool name from "HTML Viewer" to "Report Viewer" to better reflect its purpose and improve user understanding.
-
Fixed SAInt crash when plugin execution is denied access by handling the failure gracefully and providing helpful error information.
-
Removed dependency between Plugin Process and Report Files Viewer windows so users can minimize or close each independently, improving window control.
-
Added support for running multiple plugins simultaneously, allowing users to continue using SAInt while long-running plugins execute in parallel.
-
Updated setup to include the latest Codemeter 9.0 runtime installer, allowing users to upgrade seamlessly and benefit from new features and fixes.
-
-
-
Renamed Properties:
Object Type Old Name New Name ASVC
MinValMinReqASVC
MinValPriceMinReqPriceESCE
TimeHRZTimeHorizonESCE
dtTimeStepESCE
PrfStartTimeGlobalProfileStartTimeESCE
epsResidualToleranceESCE
kmaxMaxResidualIterationsESCE
kmaxcnstrMaxControlIterationsESCE
TimeLimitSolverTimeLimitESCE
RelMipGapRelativeMipGapESCE
AbsMipGapAbsoluteMipGapESCE
TimeLATimeLookAheadESCE
dtLATimeStepLookAheadESCE
dumpLPWriteLPFileESCE
AverageFlowPrfAverageFlowProfilesESCE
IniStateInitialState
You can download SAInt 3.9 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