What’s New in Version 24
PowerWorld Simulator Version 24 contains a number of major new features and hundreds of smaller enhancements to improve the performance and convenience of the package. The following is a list of some of the most noticeable changes in Simulator Version 24, which builds on PowerWorld Corporation’s dedication to creating powerful, easy-to-use analysis software.
- New SimAuto functions for getting data out of Simulator are highly recommended
- GetParamsRectTyped function brings back results are a specified type (float, integer, string) instead of bringing all results back as string
- GetParamsTypedCols function brings back results specified by type and allows different types to be assigned for each field
- Transient Stability
- Ability to specify a Power Flow Contingency associated with a TSContingency. This result of the power flow contingency becomes the initial condition for the transient stability run. This allows you to setup multiple TSContingency events that have different initial conditions determines by the PowerFlowContingency
- Continued expansion of new dynamic models as well as ability to read and write more dynamic models
- New Distributed Computing add-on for the QV Curve tool
- Support for defining FixedNumBus designations and using them
- Used when reading RAW version 34 and 35 files with substation sections
- Ability to Save Merged FixedNumBus Case
- Support for defining oneline diagrams with Bus display objects that act as a FixedNumBus.
- Support for loading other files using FixedNumBus integers as identifiers from AUX files, CON files, MON files
- Added ability to define a Region which contains polygons of RegionGeoPoint objects. Simulator can then automatically populate a Region with all the bus objects that are contained inside the Region based on whether the latitude/longitude coordinate of the bus is inside the polygon defined by the RegionGeoPoints. Summary information and oneline can the be created with this Region information.
- More Support for reading time-varying weather information and assigning this to the time-step simulation tools
- New Connections Tools to go with existing connections tools
- Find Radial Bus Paths connection tool is new
- Set Bus Field From Closest Bus connection tool is new
- Existing tools are very useful and you are encouraged to revisit these
- Find Circulating MW and Mvar flows can help you find conflicting transformer tap settings
- Find Parallel AC Branches can help with identifying parallel transformers with conflicting tap orientation
What follows is a more detailed list of the changes in Simulator Version 24.
- Auxiliary Files, Display Auxiliary Files, and Script Commands
- For syntax and usage details, please refer to the latest Auxiliary File Format PDF, available at:
https://www.powerworld.com/knowledge-base/auxiliary-file-format-10 - Added more support for using special & and @ syntax to specify a particular object and field as a value in script commands. See https://www.powerworld.com/knowledge-base/auxiliary-file-format-10 for details
- Added ability to specify a ColorBackgroundAlternating for case information displays. This will show alternating rows with a slightly different color.
- Added ability to use Device filters in UseAnotherFilter conditions for Advanced Filters
- With the Auxiliary File Export Format Description there is an option to build a format description for the complete case and various categories of objects can be user selected. A new selection for “Contingency Combination” is now available that will include Contingency Primary definitions and solution options with the format description.
- With the Auxiliary File Export Format Description there is an option to build a format description for the complete case and various categories of objects can be user selected. A new selection for “Scheduled Actions” is now available.
- Added built-in AUX Export Format Description for Geomatically Induced Current. This is found under the Create Format for Complete Case button.
- Modified all script commands that have a parameter “filtername” to specify an advanced filter or device filter. These parameters can now also use a special string with the syntax “MW >= 50” to do a single condition filter without actually needing to create a named filter. The syntax is Variablename Comparison Value1 Value2. Examples are: “NomkV between 220 550”, “MW >= 50”
- The following script commands were added:
- SetBusFieldFromClosest() will set a bus field equal to another bus’ values that is closest to the bus. This was first added to help users assign buses that do not belong to a substation equal to the substation closest to the bus. To do this the command would be SetBusFieldFromClosest(SubNumber, “Sub Number IsBlank”, “SubNumber IsBlank”, All, Z);
- TIMESTEPSaveInputCSV()
- CreateLineDeriveExisting() which creates a branch with the same RXGB values but scaled up/down related to line lengths
- TSAutoSavePlots which will mimic the option to save plots to file that can be configured ahead of time with plots. This will allow you to create plots programmatically from existing results.
- TimeStepLoadPWWRange
- TimeStepAppendPWWRange
- TimeStepSavePWWRange
- GICReadFilePSLF, GICReadFilePTI, GICWriteFilePSLF, and GICWriteFilePTI
- ApplyScheduledActionsAt
- GICSetupTimeVaryingSeries
- FaultAutoInsert
- RevertScheduledActionsAt
- InterfacesCalculatePostCTGMWFlows
- Added CTGWriteAuxUsingOptions script command. This uses the CTGWriteAux_Options object to specify which contingency related information should be stored in the aux file and how objects should be identified.
- BranchMVALimitReorder
- CustomFieldDescriptionModify(ObjectType, CustomType, Location, FieldString, HeaderString, IncludeInDiff);
- CustomFieldDescriptionAppend(objecttype, CustomType, FieldString, HeaderString, IncludeInDiff); This command behaves the same as calling ModifyCustomFieldDescription with a negative Location. This creates a new CustomFieldDescription by incrementing the CustomMaxOfType.
- TIMESTEPDeleteAll
- TIMESTEPLoadPWW
- TIMESTEPAppendPWW
- TIMESTEPSavePWW
- InterfaceAddElementsFromContingency(interface name, contingency name). It creates interfaces elements from valid contingency actions and adds them to the named contingency. If the interface does not exist, it will be created.
- TSPlotSeriesAdd(“PlotName”, SubPlotNum, AxisGroupNum, ObjectType, FieldType, “Filter”, “Attributes”); (use to create plot series programatically)
- InterfaceFlattenFilter(filtername);
- EnumerateDDLOnelines
- TSJoinActiveCTGs
- Added CTGConvertToPrimaryCTG(filter, KeepOriginal, “Prefix”, “Suffix”) script command that converts regular/secondary contingencies to primary contingencies.
- FindRadialBusPaths(IgnoreStatus, TreatParallelAsNotRadial, BusOrSuperBus);
- TSAutoSavePlots([PlotNames], [ContingencyNames], FileType, theWidth, theHeight, theFontScalar, IncludeCaseName, IncludeCategory);
- SaveMergedFixedNumBusCase(“filename”, FileType);
- The following script commands were modified:
- Added more filtering options for InterfaceCreate script command to include SELECTED, AREAZONE, device filters and filters as a single filter condition
- Modified the TSSavePTI, TSSaveGE, and TSSaveBPA script commands to use special keywords: @DATETIME, @DATE, @TIME, @BUILDDATE, @VERSION, @CASENAME, @CASEFILENAME, and @CASEFILEPATH for the file names.
- When using SaveCase() script command if the filename variable omits a file extension, the Simulator will automatically add the appropriate file extension
- Added new option with CTG_Options called “Save unlinked contingency and remedial action element objects in auxiliary files” that will enable saving unlinked action objects when saving aux files outside of the Save button on the contingency analysis dialog or the CTGWriteResultsAndOptions script command. When using the Save button on the contingency dialog the option on the resulting dialog will be used for saving unlinked objects or not. The script command also has its own input parameter to indicate this.
- Added three new parameters to the CTGWriteResultsAndOptions script command: Opt20 = Save Primary Contingency Options for Combo Analysis, Opt21 = Save Primary Contingencies for Combo Analysis, and Opt22 = Save CTG Combo Results. All of these parameters are NO by default and NO when used with the CTGWriteAllOptions script command.
- Added the optional parameter PreferenceFilter to the commands InterfaceRemoveDuplicates(PreferenceFilter) and InjectionGroupRemoveDuplicates(PreferenceFilter);
- When specifying values for field in the SetData() script commmand, we will now look for special strings @CASENAME, @CASEFILEPATH, and @CASEFILENAME special strings. The particular user request was to add the ability to set the folder to which to store Transient stability hard-drive results to.
- Modified the a script command to have an additional optional parameter SetSensitivitiesAtOutOfServiceToClosest(“FilterName”, BranchDistMeas);
- Modified the CalculateShiftFactors() in the same way. It now has parameters as follows with the BranchDistMeas a new optional paramter. CalculateShiftFactors([flow element], direction, [transactor], LinearMethod, SetOutOfServiceBuses, filter, AbortOnError, BranchDistMeas)
- Added SetSelected field to DoFacilityAnalysis script command. This is an optional parameter that is NO by default. DoFacilityAnalysis(“filename”, SetSelectedField). When set to YES the Selected field for branches that are part of the minimum cut will be set to YES. Prior to running the script command the Selected field should be set to desired values for all branches. The script command only sets the Selected field for branches in the minimum cut to YES and does not reset other branches.
- Added NewBusName parameter at end of TapTransmissionLine script command to specify the name of the new bus created at the tap point.
- Added fields with the TLR_Options object to specify whether Breakers and Load Break Disconnects should be used to close disconnected buses that contain generators or loads so that shift factors can be calculated at these devices. These options were only available on the user interface dialog, but can now be changed using script commands and AUX files too.
- There is a new optional parameter at the end of the Move() script command called AbortOnError. It will default to YES in which case if the Move command can not be done the auxiliary script will be aborted. By setting it to NO you can tell the script keep running even if an error occurs.
- For syntax and usage details, please refer to the latest Auxiliary File Format PDF, available at:
- Available Transfer Capability
- Ratings/Load Multiple ATC Scenarios now include specifying load by InjectionGroup
- Added a field to Direction object called ATCValidation which is a string indicating if any errors occurred while processing multiple-Direction ATC
- Added Latitude and Longitude fields for Direction object to show coordinates for the Seller and Buyer
- Added “Use Options for Heatmap from FERC Order 2023” option with ATC analysis. This will set the ATC options necessary for producing the Transfer Limiter results based on the FERC Order 2023 heatmap requirements.
- Added new fields to a TransferLimit object which show results in a manner that forces a positive OTDF Sensitivity and a positive Limit Used. This added fields are under a folder “Positive” in the list of available fields. The variable names are Pos_ValuePreTrans, Pos_PercentPreTrans, Pos_Object, Pos_ObjectDesc, Pos_Limit, and Pos_Sensitivity.
- Added more options for auto inserting multiple directions for ATC and PTDF analysis. Options are now available to insert from Area, Zone, Injection Group, and Bus source objects to a specified sink object of type Area, Zone, Injection Group, or Slack. The source objects can be filtered using standard filtering methods.
- Added bus field ATC Min Trans MW to provide a field for creating heatmap contours for multiple direction ATC with buses as the source. This field will look through the list of Transfer Directions and if a transfer exists with the Seller object set equal to a Bus, then this bus field will return the minimum TransferLimiter TransLim MW for that bus’ transfer direction.
- Bus View Onelines
- Forward and backward mouse buttons now work for moving backward and forward in bus views and substation views.
- Modified Bus View Onelines to allow a Consolidated SuperBus , Consolidated FixedNumBus, and Consolidated SubNet view
- Case Information Display
- Added definition of generic ObjectGroups that provide a mechanism to show summary information on groups of objects, such as generation MW or load MW summations. Also can be used as Device Filters.
- Added ability to show summary information on generation and load summations for objects that are contained by Supplemental Data Objects
- Changed the Color Scheme for selecting multiple cells to make it easier to read the text that remains
- Changed how toolbars and selection highlighting works when using Dark Color schemes in case information dipslays to make text easier to read.
- Added DataCheckExemption objects. These pair an Object with a particular DataCheckName and signify that this object will never meet the DataCheck because it is exempt. The user may specify a Reason why the object is exempt.
- Changed the entries in the Explore Pane of the Model Explorer. Aggregations folder was getting too long, so a subfolder for lesser-used Aggregations was added under Aggregations\Other Aggregations. Also added the folder for Conditions, Filters and Expressions.
- Added a new entry under Aggregations to show a Case Summary which shows an object representing the entire case and summary summation fields. This has been available for more than 15 years but users needed to add a User-Defined Case Information display to see them.
- For Branch object case information displays added a special filtering user-interface to allow the user to select with check boxes which types of BranchDeviceType are shown.
- For Bus object case information displays added a special filter user-interface to allow the user to select to see all buses, Only FixedNumBus or Only SuperBus.
- When sorting on Case Information Displays now if the present view of the display is not near the top of bottom of the list of objects, Simulator will now automatically navigate to the presently selected object in the table after completing the sort.
- When Ctrl-Clicking on a column header to sort a column Simulator will now “maintain selected row in view”. When using the Advanced Sort dialog there is now an option that says “Maintain Selected Row in View”
- On case information displays, the option to SetAllValuesTo so for numeric fields the user can scale and/or shift all the values.
- Adding additional geography fields to areas and zones, including min/max latitude/longitude values.
- Added ability to use Device filters in UseAnotherFilter conditions for Advanced Filters
- When right-clicking in a case information display showing Gen, Shunt, LineShunt, Branch and Load objects there is now a special option under the Save As submenu for Save As “TS models AUX format (only model of selected records”. This will save any stability models associated with the objects selected in the case information display.
- In Case Information Displays the Plot Columns now allows just a subset of the rows to be plotted. If the user selects one row then all rows are plotted (as before); the new functionality is if more than one row is sleected then just those rows are plotted. The Column Plot dialog now also allows the plotted rows to be changed, with a button to easily select all.
- Case Info Column Metrics dialog now has a page making it easy to get a histogram plot of the data.
- Changed the MouseWheel up and down behavior on Case Information Displays to better match what is done in spreadsheet software tools. If CTRL key is down we will zoom in and out (same as CTRL + Up/Down arrow keys) If SHIFT key is donw we will move the selected cell up/down (this was the old default) Otherwise we will scroll the viewed window up or down by 1 row.
- When using the local pop up menu to Copy/Send to Clipboard or Spreadsheet (MS Excel, Open Office), there is now an option to always include the key field column, even if it is not currently being displayed as part of the case information display. This option is stored with the registry, and not stored with the PWB case.
- When adding new columns to a Case Information Display from Fields Pane or the Display/Column Options dialog, we now have internal defaults for the decimal places to show for some fields. In the past the Fields Pane would always add field with 3 decimals and the dialog would always add decimals based on the presently selected column in the dialog. It will now always use 3 decimal places unless there is a hard-coded different number specified by PowerWorld staff. For now this hard-coded list is small and consists of: Latitude, Longitude, and Per Unit volt field: 6 decimals and Various MW, Mvar, and MVA fields: 2 decimals. This is cosmetic as it only impacts the default value when adding fields in the user interface. The user can and always has been able to customize them. This was primarily done to ensure the Latitude/Longitude fields always had 6 decimals by default as the prior default of 3 decimals was not precise enough.
- New Fields for Objects
- Added a generator MW range percentage used (MWRangePercent). This calculates the percentage of the entire range, namely: MWRangePercent = (MW – MinMW) / (MaxMW – MinMW). This ensures that negative MinMW values actually expand the range instead of being ignored like with the traditional MWPercent field.
- Added 4 more new generator fields the folder for “Mvar Output\Capability Curve Range\” named CapCurveMvarMinAtMWMin, CapCurveMvarMinAtMWMax, CapCurveMvarMaxAtMWMin, CapCurveMvarMaxAtMWMax
- Some additional generator fields for showing the retirements and inservice dates, and the EIA860 identifiers.
- For PartPoint object type changed the column header “Initial Value” to “AutoCalc Method” because this more accurately reflects how this field is used. “Initial Value” will continue to work as a legacy column header for pasting information from Excel or loading a CSV
- Added field for Bus, Area, Zone, and Substation for showing MWRangePercent field
- Added Bus fields for GenMvarMaxOnline, GenMvarMinOnline, GenMWMaxOnline, and GenMWMinOnline
- Added support for Custom String Expressions to PartPoint objects
- Connections Tools
- Under the Connections drop-down on the Tools Ribbon Tab, added the option Find Radial Bus Paths. This looks for groups of buses connected in a radial network and presents them as a list of buses and branches that are in this grouping. Groups are identified by the final bus in the Radial Path. Options exist about whether to traverse open branches, how to treat parallel branches, and whether to search by Bus or SuperBus.
- Under the Connection drop-down on the Tools Ribbon Tab, add the option Set Bus Field From Closest Bus
- Added option to use branch Normal Status when determining Breaker Isolated Groupings as a standalone or as part of auto inserting contingencies
- Contingency Analysis
- Modified the All Violations portion of the Results Tab of the Contingency Analysis dialog. There are now separate Tabs for showing All, Branch, Bus, Interface, BusPair, Island, and Other. This will automatically restrict the list ViolationCTG objects to those that are violations of particular object types. This will also allow different columns to be shown for violations of different object types.
- Added a new field with CTGOutageIntertie field with an InjectionGroup object. During the AC contingency solutions that if all generators, loads, and shunts become opened by the various contingency actions then the solution will automatically open the Branch or Interface object specified as the CTGOutageIntertie for the InjectionGroup.
- Added a new field to TSContingency object named AUXElementErrors. This field is a comma-delimited list of any error strings that gets populated when you load an AUX file. After loading the AUX file is is then just a comma-delimited string the user can edit with notes about fixing the TSContingency definition.
- Modified the Contingency analysis action for OPEN Bus so that if the bus specified has Number = FixedNumBus, then the contingency action will open all AC branches connected to any bus that connects between the FixedNumBus and a different FixedNumBus.
- When saving options from the Save button on the Contingency Analysis dialog there are now options to Save Primary Contingencies for Combo Analysis, Save Primary Contingency Options for Combo Analysis, and Save CTG Combo Results.
- Added new field “Reference Percent” for contingency limit violations (ViolationCTG object). This calculates (Reference State Value)/Limit*100.
- Added ability to show more fields with LimitViol and ViolationCTG (All Violation) objects. New fields were numbers of Areas, Zones, BA, and Substation.
- Difference Case
- Added OPFFastStart field for a generator to be part of the Difference Case Tool
- Distributed Computing
- Greatly sped up retrieving large amounts of results back from Distributed ATC simulations
- Added the Distributed QV curve calculation
- File Formats
- Continued support for reading and writing case data formats
- Modified code when reading an EPC or RAW file for catching when a transformer is almost certainly a phase shifter even though the user has not designated it as a phase shifter. We were using the fact that TapMin and TapMax where greater than 2.0 per unit to indicate it must be a phase shifter. When a transformer is off control however, a user may not be careful how those are set. Added some more checks to make sure we are getting this assumption correct. Also, simulator will now write log messages saying “Info: Transformer *** looks like a phase shifter. It is set as Type=Phase and AutoControl=NO”
- Completed support for reading and writing the PSSE *.raw 34 and 35 formats that write substation sections.
- Added support for reading more parts of the PSSE *.con files. In particular actions to SET, CHANGE, ALTER, MODIFY, INCREASE, RAISE, DECREASE, or REDUCE values for Shunt, Load, Machine/Unit objects
- Added support for reading *.con files that have an ID specified with the SWSHUNT object.
- Modified to allow opening multiple files when choose to load files from the Contingency Analysis load button and from the Load Contingency Data under the RAS + CTG Case Info dropdown on the Tools Ribbon tab. Previously you could only open one file at a time.
- Both GMD data files, and GMD data in an EPC file can now filtered using the Area/Zone filters.
- When loading *.otg files to create either Contingency or TSContingency definitions, modified to read the Category and the Skip flag from the OTG format.
- Modified writing to PTI *.CON contingency files so that the full name of the contingency is written out regardless of the length of the string. Various versions of CON files have had 8, 12, 32, etc… character restrictions. It will now be up to the user to truncate names appropriately for the version of PTI they are using.
- When writing the end of some section in a RAW file we were writing a ‘ 0’ (space before the 0). This was causing a problem in other 3rd party software tools, so we have removed the space as it was not necessary.
- Added the use of the RAW file option to keep duplicates with new ID’s to the Loads section of reading the RAW file.
- Modified read of correction table records. Now if we read a tap/scale pair of 0,0 we stop reading the rest of that record, and move on to the next one. Any points read up to the 0,0 will be kept and added to that correction table. Also modified that if the tap or scaling factor are not valid numbers, we also abort and keep only the valid points read up to the errant value.
- Added new Sim_Environment_Options field called UnlinkedElementsSaveForce. This option is stored with the PWB case and when set to YES it overrides the windows registry option called UnlinkedElementsSave. This can be set to YES to always store unlinked elements of Contingency, Interface, and InjectionGroup objects when saving a particular case as a PWB file.
- Modified reading *.otg and *.otgd files so that delimiters between fields can be either a comma OR white space (spaces, tabs, etc…). Newer OTGD files are space delimited and older ones were a mix of both spaces and commas. Changes were made to Simulator in 2023 to support reading the newer OTGD format, but older OTGD files must be read as well. This change was made to allow any of these to function.
- hdbexport Areva CSV files
- When reading the hdbexport netmom CSV file, we now read the ND.ELIGIBLE field: if it is FALSE, then we set the respective Simulator’s Bus field Monitor = NO.
- Added ability to load Areva hdbexport Dynamic Line Ratings (DLR) records. These convert DYNELE, SEG, SEGWST, RATING, and WST records into analogous structures of XYCurve, XYCurveX, XYCurvePoint, and WeatherStation objects in Simulator. This then creates weather-dependent limits in Simulator. Also added a new Sim_Environment_Options_Value option called HDBExportTempUnits which can be set to either Fahrenheit or Celsius. This determines the assumed units of temperature provided in the RATING and WST records in the CSV file.
- Added ability to read the TEID field for the records ST, ND, LD, CP, UN, SVS, LN, ZBR, XF, PS, CB, INTRFC, AUX. This field represents the “Transmission Equipment ID”. We will read the field and create an object label with the syntax “TEID_12345” where the value 12345 is what is populated in the TEID field in the CSV file.
- Added a new object called HDB_BRLIMS_RateSet which allows you to specify where BRLIMS ratings read are placed into the model. These decisions are made based on the fields: BRLIMS.ID field and LNLIMA.BRLIMS. The HDB_BRLIMS_RateSet object specifies a SearchString which is used to match the BRLIMS string ID. If a match is found then the HDB_BRLIMS_RateSet object specifies to either push limits into the DEF, GHI, JKL, or MNO RateSets. We would expect that only one HDB_BRLIMS_RateSet would have a SearchString that matches, but if multiple do, then the one with the lowest Order field will be used.
- When reading the hdbexport CSV file, addded support for having user-specified labels for 3WXFormer object records based on the primary winding XF record.
- Added 2 new options to Sim_Environment_Options called HDBExportCTGLREDEF and HDBExportCTGLRAS. These options are used when reading an hdbexport CSV file with CTGL records. There are flags on CTGL records for CTGL.REDEF : indicates that the record was dynamically created in the EMS by the REDEF process which is enabled by the CTG.ENREDEF flag and CTGL.RAS: indicates that the record was dynamically created in the EMS by the RAS process. The 2 new options can be set to either “Ignore” or “OPEN”. Ignore indicates that the CTGL record will be ignored. OPEN indicates that the CTGL record will create a ContingencyElement that is an OPEN action.
- Modified reading of hdbexport *.CVS file for Contingency Information. If the CTG.ENREDEF=T, then CTGL records which refer to a TYPE=CB will only be read as an OPENCBS (“open with breakers”) action if the CTGL.CBF=T is set. CTGL records refering to a CB record need this special permission to model a “CB failure”.
- Added error checking when loading the Areva hdbexport CSV for a case. If records such as UN, LD, CP, LN, ZBR, XF, NDPAIR, or DCCNV reference another ND record but it is an index higher than the largest ND record index then appropriate warning messages are written to the log indicating a problem in the file. If this is the ND record at which the device is connected we will ignore the device. If this is the ND record for a regulated bus, we will use the terminal bus of the device as the regulated bus. These are error in the CSV however and the user should fix these problem in the CSV export (probably by redoing the hdbexport process in the EMS). These fixed in PowerWorld Simulator however will at least allow us to load the file and see what is wrong in the CSV export.
- General
- Added a new option under the Tools Ribbon Tab, under the Other Tools dropdown to Anonymize Names in Case which does exactly that.
- Added more information stored at the beginning of a PWB file so that summary information can be seen the General File Browser for (1) number of substations and buses with valid lat/lon values and (2) number of stability models and (3) number of power flow weather models.
- Geography
- Added ability to specify a Route which is a sequence geographic RoutePoint objects that store a latitude/longitude sequence. A Branch object in Simulator can then be assigned to a Route.
- Added ability to define a Region which contains polygons of RegionGeoPoint objects. Simulator can then automatically populate a Region with all the bus objects that are contained inside the Region based on whether the latitude/longitude coordinate of the bus is inside the polygon defined by the RegionGeoPoints. Summary information and oneline can the be created with this Region information.
- Every object that has a geographic location (or can estimate one from the underlying objects), now has available fields named RefDistanceMile and RefDistancekm which shows the distance of an object from a user-specified reference point. The reference point can be set on a dialog available from the right-click menu of a case information display under the Geographic Data View submenu. This can be used with objects such as a generator or load which obtain their geographic location from either the bus or substation object, or from more abstract objects such as a RemedialAction or Interface that obtain their geographic location from the average value of objects that they contain.
- The ac and dc line dialogs now have buttons on their geography papers to open the external maps; this is the same as what buses and substations already had.
- GIC
- Added support for integration for GICHarm tool from EPRI
- In Time Step simulation allow the state to be stored when doing just a GIC solution; also fixed bud with Time Step Playback dialog when there are either no playback values or the dialog is closed while playing results.
- Added ability to manage multiple GIC efield events.
- Oneline Diagrams
- Added generator display object rotor shapes to include a Battery and
- Memo Text Background objects have features to treat the contents of the Memo as an AUX file. Users can then click on the oneline object to “Load Memo Text as AUX file”. Also words to “Load Memo Text as AXD file”.
- Modified drawing of a SwitchedShunt objects on Discrete control to show a stair-step line through them to indicate control is on. Control Modes Continuous and SVC have always shown a diagonal line indicating control.
- Cleaned up the right-click local menus for Bus, Branch and Substation objects because they had become very long. There are now sub menus for (1) Insert Connected Buses, (2) Auto Insert/Edit Oneline , (3) Format and various other changes.
- Modified right-click local menus on most display objects to show identifying information about the linked object at the top of the drop-down list.
- The ImageDialog now has the ability to automatically update the image when one clicks on the crop/size/position fields. The functionality is fast on simple onelines, but it needs to be optional since on a complex oneline it might be too slow.
- Added support for PNG images on oneline diagrams
- Added ability from the Oneline Options to quickly change the fill color of the base objects (with the filled states an example). The button to do the change is right below the background color field and is called the “Most Common Base Object Color”
- In various places when right-clicking on a oneline diagram or on the Geography tab of the Bus and Substation dialogs there are ways to “Open Google Maps”. This feature has been extended to offer a drop down to Open Google Maps, Bing Maps, or Open Infrastructure Maps. These are the websites: https://www.google.com/maps, https://www.bing.com/maps, https://openinframap.org/
- Modified oneline diagrams so that when pressing Ctrl+G while the mouse cursor is hovering above a oneline diagram, then a string is copied to the Windows Clipboard of the format “Latitude, Longitude” with 7 decimal places for the coordinates.
- When loading a KML file, users have encountered ill-formed KML files that have omitted commonly used namespaces. PowerWorld will now look for errors related to 3 commonly used namespace definitions and automatically include them when reading a KML file if those namespaces are used but not declared. These namespaces are as follows.: xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”; xmlns:gx=”http://www.google.com/kml/ext/2.2″; xmlns:kml=”http://www.opengis.net/kml/2.2″
- Added support for images now having a fixed aspect ratio. When this option is true, when they are resized by the diagonal handles the width and height change proportionally. The image dialog also now shows the rotation angle.
- Added oneline option to scale the size of all the gen/load/shunt object Circuit Breakers symbols.
- Added the ability to select an angle from which pie chart/gauge styles start filling pie charts and the direction in which they fill.
- Adding new option for OpenOneline script command. The fullscreen parameter can now have 3 values (yes, no, and max). When max is used the oneline is maximized after opening
- Optimal Power Flow
- Changed the maximum LP iteration default limit from 9999 to 50000. The default was too small for large cases.
- Powerflow Solution
- When EvalSolutionIsland = YES, a solution only terminates if ALL viable islands in the case fail to converge. Added a new option EvalSolutionIslandRequireLargest that when set to YES also requires that the island with the largest number of buses in it must converge.
- In older versions of Simulator, when switching to Edit Mode, all system states are destroyed. This includes the Last Successful Solution State, State Before Failed Solution Attempt, Contingency/ATC/PV References, User State, and Named States. This patch modifies this behavior so that the “User State” and “Named States” are no longer destroyed when switching to Edit Mode. This allows you to continue using the User and Named States even after switching to Edit Mode and deleting or adding objects. These states will not be “solved states” after you have made deletions or additions in Edit Mode, but they still can be useful states.
- Improved how bus voltages are estimated when particular types of topology changes are made. In particular, when deleting objects that affect topology (Bus, Branch, Gen, and Load), it was important to update the connected bus topology so that buses that are then in disconnected islands are marked as such. Then if new branches are added to reconnect these buses, the reconnected buses need new voltages estimates based on the new connections before a power flow solution is attempted. This greatly improved power flow performance under these situations
- Modified the Generator Mvar Limit checking algorithm when (NOT using Check Immediately) AND (Using Check Backoff Immediately). For very low generator terminal voltages are see we will still force minimum Mvar limits to be checked and for very high terminal voltage we will force maximum Mvar limits to be checked.
- Improved power flow convergence when a branch is being closed and at the same time another branch in parallel is being opened. The angle-smoothing pre-solution processing was not working effectively in that situation
- Improved coordination of parallel tap transformers to catch more situations where they are parallel to prevent poor solutions
- PV QV Curves
- QV Curves can utilize QV Distributed Computing features.
- Scheduled Actions
- Added a read-only Log field to Scheduled Action objects to display any issues that arise when the action is applied.
- Update PowerWorld Outage CSV to allow for unmapped actions with unknown device types
- Added TimeProfile to Scheduled Action Groups, which can be Continuous or Daily (Continuous groups are active continuously between the StartTime and EndTime), (Daily groups are active every day from the day of StartTime to the day of EndTime, between the time of StartTime and the time of EndTime)
- Added “Apply Only Filtered Actions” to the Scheduled Actions Options tab; if enabled, the Advanced Filter settings on the Scheduled Actions grid will determine which Actions are actually applied to the case.
- Added “Fit Window To Schedules” button to automatically set the Start and End times in the Scheduled Action Dialog to fit the currently configured Schedules.
- Added buttons to the Scheduled Actions dialog to Revert/Restore outages at the ViewTime, added Current Action Status field to Scheduled Action objects showing the action’s own Current Status (separately from the governing Group Current Status)
- Added log messages when the Outage system state is stored/restored
- Changed Scheduled Action Group case info display to include a sub-grid with the Actions associated with the selected Group.
- Sensitivity Analysis
- Modified the LikelyLowSolution field for a Bus so that it only returns YES if a bus meets all the following (1) dV/dQ < 0, (2) Not connected to any branch with a negative (excluding 3-winding transformer windings), and (3) Has at least one closed generator, load, or shunt. Criteria #3 was added to eliminate falsely flagged buses in some situations. A bus must have some load, gen, or shunt in order for those injections to push the local system to voltage collapse.
- SimAuto
- SimAuto instances now run at Below Normal priority level to allow all cores on a machine to be used without danger of locking up the user interface.
- Added support for single-condition filter strings in SimAuto commands
- Modified the SimAuto command called RunScriptCommand2 so that the error string can include information such as “23 objects not found” while reading objects from the data section of an auxiliary file.
- Simulator COM automation (i.e., SimAuto) distributed process threads are now assigned in a manner that prevents them from being power throttled by the Windows layer. This issue affected newer Intel CPUs that have p/e-cores technology, in which background Simulator distributed processes would get assigned to e-cores (that have lower processing speed). This did not change the quality of results from Simulator, but some users running distributed tools (like Transient Stability, ATC) would have noticed a significant increase in processing duration, because p-cores (that have higher processing speed) were inadvertently not being used. This issue only affected those users using distributed tools from a primary SimAuto instance (from VBA, Python, Matlab, etc), and not those using a primary graphical Simulator instance. It has been remedied.
- Modified the GetParametersMultipleElement functions in SimAuto so that when in DiffCaseMode = Change, we will only return objects that have input parameters which have at least one non-key field that has changed.
- Time Step Simulation
- Added features throughout for supporting more use of time-varying weather data
- Transient Stability
- Ability to specify a Power Flow Contingency associated with a TSContingency. This result of the power flow contingency becomes the initial condition for the transient stability run. This allows you to setup multiple TSContingency events that have different initial conditions determines by the PowerFlowContingency
- Modified all the case information tables for showing transient stability dynamic models so that any display/columns options modifications are maintained and remembered. Previously on these tables any modifications would be forgotten as soon as you moved away from that table. They now persist in Simulator and also are saved to the PWB file format.
- Added new fields for TSContingency named ResultFileName and ResultDirectory
- Added a new column for a TSContingency object called ResultDirectoryUsed which shows the directory to which results for this contingency will be saved. If ResultDirectory field is blank then it will show the global stability option folder, otherwise it will show ResultDirectory
- Improved Algebraic Network Boundary equation solutions at the time of fault or fault clearing for the REGC_B, REGC_C, REGFM_A1 and DER_A machine models.
- Modified the dialog that opens to show TSContingency objects with the multiple transient plot settings so it can be open while interacting with other dialogs. The dialog however will remain on top of the main transient stability dialog.
- Added ability to see stability results on the Generator Dialog boxes. Shows Results from RAM, but only results related to the generator for that dialog.
- Added new option for Transient Stability under Options\Power System Model\Common which allows the user to specify two new options called MOD_IslandNewCountBus and MOD_IslandNewCountGen. During a transient stability dynamic simulation, any newly created island must have at least that many buses and that many online generators to continue simulating. If a NEW island is small, then it will be numerically ignored and no longer simulated.
- Added new fields to Area and Zone transient stability result storage to show the total Gen MW loss for the area or zone. This can be caused by tripping generation or by the generation becoming separated in a dead island.
- Added a new feature to the TSGetResults() script command. When parsing the portion of that script command looking for specific Object | Field pairs or Plot Names, you may now also specify the syntax “ObjectName FilterName | FieldName”. For this syntax anything after the first space and before the | character is considered a FilterName. The FilterName can be All indicating that all objects of the type ObjectName are used, or it can use the syntax available for defining a FilterName in all the other script commands. Examples would include “Bus All | TSFrequency” : exports Frequency for all buses, or “Bus NomkV > 300 | TSFrequency” : exports frequency for all buses with a Nominal kV above 300
- Updated Stability saving two bus equivalents to also store the substation to provide access to geographic information. Saving two bus equivalents for all generators and buses also now supports the use of area/zone filters.
- Added the ability to open the BusView from the Solution Details tab in Transient Stability. It will open the BusView of the first Mismatch Bus (Mismatch Bus 1).
- Customer had reported a long duration of Simulator window not responding, at the end of a distributed transient stability run. This was because contents of the AUX file produced during a transient contingency were ALL being loaded back into memory of the primary Simulator program. The amount of time for this can be significant, and this operation has now been threaded to allow results to be loaded back into memory as the results are returned from the distributed processes.
- Added new script command TSPlotSeriesAdd(“PlotName”, SubPlotNum, AxisGroupNum, ObjectType, FieldType, “Filter”, “Attributes”); (use to create plot series programatically)
- Added new right-click option on the TSContingency Case Information Display to “Join Active Contingencies”. This allows you to join two lists of TSContingency objects with a specified time delay in seconds. The options on the dialog that appears when choose this are the same as those for the new Script command TSJoinActiveCTGs(TimeDelay,DeleteExisting,JoinWithSelf,FileName,FirstCtg);
- Continue to add support for reading and write both DYD and DYR file formats as we find new models in those formats which match PowerWorld’s models
- Transient Contingency Element Changes
- Added the ability for a TSContingencyElement action to ChangeBy, Set, or Ramp the Pref, QVrefFrom, and QVrefTo of a VSCDCLine stability model as part of a contingency event. This allows the user to change the MW setpoint of a VSCDCLine as part of a simulation.
- Modified the PlayInGen stability model to respond to the TSContingencyElement action for changing or setting the “rotor angle” of a generator so that it sets/changes the internal phase angle state of the PlayInGen. This can be used to simulate an instantaneous phase angle change in the system as described in NERC PRC-029-1
- Added TSContingencyElement action for changing QVRef or Pref on a Bus controller object
- Added a new Stability Generator event that allows an event to set the playin voltage magnitude and speed values. The event is valid for the Gen, Set Values to or Change Values Type. Set the Action Type to PlayIn Voltage Mag, Speed.
- Added new transient stability TSContingencyElement actions for DC Lines. SET/CHANGEBY/RAMP actions for Vref/Iref/Pref with values specified in kV, Amps, MW or as a percentage of the initial condition value.SET Vref 505 kV // Set Vref to 505 kV (DC voltage reference)CHANGEBY Iref -100 Amps // change Iref by -100 AmpsRAMP Pref 1200 MW 10 // ramp Pref up to 1200 MW over 10 seconds
- The following models were added:
- PAUXSS1A
- REEC_E
- REGFM_A1 grid-forming converter model (it can accept inputs from Plant controllers such as REPC_A)
- REGC_D
- REGFM_B1 model for modeling a Virtual Synchronous Machine grid forming machine model.
- Added and Over-frequency and Over-voltage relay similar to the under-frequency and under-voltage relay TLIN1. The name of the relay is TLIN1O.
- The following models were modified:
- Added other fields Efdmax and Efdmin for exciter models EEST1A, ESST1A_GE and ST1C, which show the dynamic limits [(Vt * Vrmax – Kc * Ifd), (Vt * Vrmin)] on the output signal
- Transient Stability model WT1P_B is now translated to/from USRMDL WT12A1U_B when writing/reading a DYR file
- Transient Stability model WT2G is now translated to WT2G1 when writing a DYR file. This translation is exact only when Ra=0 in the original WT2G model.
- When writing out a DYR file, added ability to translation from the models (WT2G + WT2E) to (WT2G1 + WT2E1)
- Modified the INDMOT1P model to include new parameter Bpgas and Tpgas the add an additional term to the Mechanical Torque Equation equal to Bpgas*Speed/(1+s*Tpgas).
- Added ability to read the cmp_mo1ph model as a load component. Model is the same as a MOTORC model.
- Signal E_FE for exciter AC8C is now available for plotting in the transient stability plot designer
- Added the Efe value to be shown in the Other Fields for Exciter AC7C
- Modified the PVD1 machine model so that it will respond to TSContingencyElement actions which change the generator “Governor” or “Exciter” setpoints. The Pref in PVD1 will be treats as the governor setpoint and the Qref will be treated as the exciter setpoints. The PVD1 model itself should be used as a stand-alone model only however without an actual governor or exciter defined. This allows TSContingencyElement to change the MW and Mvar output of a generator with a PVD1 machine model.
- Completed full implementation of current-dependent resistance and reactance for a Series Capacitor Metal Oxide Varistor (SCMOV) device. Previously SCMOV functioned but it either completely bypassed the device or operated in normal mode
- Added ability to read/write HYG3 model from DYR files
- For exciter model IEEET2, VE is now available as a signal in the “Exciter Other” folder in transient stability plot designer.
- Added more descriptive information for transient events related to tripping of portions of the composite model induction model. The message will now make clear why the motor is tripping. The percentage and MW tripped will still show up as before.
- User Interface Dialogs
- Added a Limits tab to the Bus dialogs to show Bus-Specific Limits and Limit Monitoring Options
- Choosing on the Window Ribbon Tab to “Reset to Defaults” now also resets the size and location of the Message Log dialog.
- Refined the user interface for the Connections, Find Parallel Branches dialog. This is particularly helpful for finding parallel transformers with conflicting tap orientation
- Enhanced the File Browser to return all file dates: created and last modified
- The Island Dialog now shows the DC tielines. DCLines also can now show the rectified and inverter bus island numbers.
- Added ability to show area fields on the SuperArea dialog case information display showing the list of areas inside the SuperArea.
- Modified General File Browswer to open more file types (pptx, docx, xlsx, csv, and several image/movie foramats); it also now indicates why it can’t open a file type.
- Added “Set Selected Field for Branches” checkbox on the Facility Analysis (Minimum Cut) dialog. When this is checked the Selected field for branches that are part of the minimum cut will be set to YES. Prior to finding the minimum cut the Selected field should be set to desired values for all branches. Only the Selected field for branches in the minimum cut will be set to YES and other branches will not be reset.
- In the General File Browser there is now 1) support for loading axd files and 2) an option to view the contents of the aux and axd files without loading them; with this option they are viewed in the computer’s default text editor (what is associated with the *.txt files).
- Modified generator dialogs so that cubic cost function can not be entered which are non-convex functions between the MWMin and MWMax range of the generator. If specified that way the cost model will be changed to None and the cost function ignored for this generator.
- When showing a transient stability plot, if the there were already plots open and the form that contained the plots was minimized then the newly created plot would be added to the minimized form and it was difficult for the user to realize the plot had been generated. Now when generating a plot we force the existing form showing plots to become un-minimized to you can see the plot immediately.
- Weather
- Added XYCurveX objects for providing the X value lookup for an XYCurve directly with the curve instead of passing the value from another object. This was added to support the structure needed when reading Areva hdbexport Dynamic Line Ratings (DLR) records.