What’s New in Version 21
The following is a list of many of the most noticeable changes in Simulator Version 21, which builds on PowerWorld Corporation’s dedication to creating powerful, easy-to-use analysis software. Version 21 contains a number of major new features and hundreds of smaller enhancements to improve the performance and convenience of the package.
Installation and Simulator Executable
- 64-bit version of the software is the only version available
Auxiliary Files and Display Auxiliary Files
- Aux File Browser allows quick access to auxiliary files contained in directories specified by the user
- When loading a complete case in the auxiliary file format, only certain script commands that create or edit data or commands that do not directly affect data, such as log file manipulation, are allowed
- Show Container Object Create option for Message Log. There are several ObjectTypes that are contained inside other ObjectTypes. For instance a ModelFilterCondition is contained by a ModelFilter. For many of these ObjectTypes it is convenient when loading an AUX file, to create the container object if it does not already exist, so Simulator automatically does this. However, it was not clear this was occurring to the user, so red warning messages have been added to the log to alert the user this is occurring when using this option. Examples of this include the following listed by “ContainerType”\”subtype”
- Filter\Condition
- ModelCondition\ModelConditionCondition
- ModelFilter\ModelFilterCondition
- Interface\InterfaceElement
- Contingency\ContingencyElement
- CTGElementBlock\CTGElementBlockElement
- RemedialAction\RemedialActionElement
- InjectionGroup\PartPoint
- TSContingency\TSContingencyElement
- TSPlayIn\TSPlayInSignal
- TSPlayIn\TSPlayInInfo
- An interface element will meet the area/zone filter if its interface meets the area/zone filter. Previously, an interface element would meet the area/zone filter if its individual device met the area/zone filter. This could cause situations that could re-define an interface if interface elements are missing when this information was loaded from an aux file. It makes more sense to keep all of the interface elements as long as at least one of the elements meets the area/zone filter. An interface will meet the area/zone filter if at least one of its elements meets the area/zone filter. This is the way that area/zone filtering has always worked for interfaces.
- Added ability for Data Maintainer objects to work as a filter on case information displays in a manner similar to Area/Zone/Owner filters. There is a now a global option that indicates if Data Maintainers should be used as a filter, and if this is set then their is a Filter field on each Data Maintainer.
Added the ability to use @MODELFIELD syntax for the following options:- Transient_Options: ExpDirectory
- PVCurve_Options: PVCOutFile, PVCQVOptionsFile, PVCStoreStatesWhere
- QVCurve_Options: QVOutputDir
- CTG_Options: CTGPostSolAuxFile, PostPostAuxFile, CTGResultStorageFile:1
- Sim_Environment_Options: SEOSpecifiedAUXFile:0, SEOSpecifiedAUXFile:1, SEOSpecifiedAUXFile:2
- MessLog_Options: LogAutoFileName
- Remove FilterPre from the list of required fields for a Filter object. Assume a value of NO if not present.
- Added concise variable names for DynamicFormatting objects
- Added option Use Defined Names in Variable Name Locations to the Case Information Display options. This will display certain fields that are able to be named (CustomFloat, CustomInteger, CustomString, CustomExpression, CustomExpressionStr, DataCheck, DataCheckAggr, and CalcField) to be shown with the name replacing the location number when the fields are shown as their variable names. As an example, CustomFloat:1 will appear as CustomFloat:The name I gave this float.
- Added ability to compare DateTime values to fields in Advanced Filter conditions
- Added a new field on an InterfaceElement object called “NearBus”. This field will be processed to specify the near end for an element that references a Branch, MSLine, or DCLine. Normally using an AUX file by specifying bus numbers or bus name_kV strings, the NearBus is part of the Element field as the first bus listed is the NearBus. When creating an AUX file using labels however, then the Element Syntax is only “Branch ‘My label'” which does not indicate a NearBus. The assumption when using labels is that the NearBus is always the FromBus as specified in the network model for the Branch, MSLine, or DCLine. To add more flexibility, a new optional field NearBus has been added. When shown in Simulator this field will show the number, Name_kV, or the primary label of the NearBus, but when data is entered in this field it is processed as follows.
- When reading WECC RAS AUX formats written by old versions of PSLF, some incorrect syntax has been appearing in the file with the objecttype SECDD and TRAN appearing incorrectly. Changes were made to the parsing so that if the string SECDD or TRAN appears in a location where BRANCH would be expected, we reinterpret the syntax as showing BRANCH instead. These AUX files really should still be fixed by the user, but PowerWorld will read them regardless. When writing back out an AUX file from Simulator the correct syntax using BRANCH will be used. For the ModelCondition object this impacts reading the Object and FilterObjectType fields. For the ContingencyElement and RemedialActionElement this impacts reading of the Object and ObjectAction fields, as well as reading the CTGElement SUBDATA sections.
- When creating a new Case Comment through script or aux file, a blank User and Time can be specified. This will default to the current user and time.
Auxiliary File SCRIPT and SimAuto
- New Script Commands and SimAuto Functions
- Added a new script command DiffFlowWriteCompleteModel() which will perform the save done of the Present Topological Differences from Base Case dialog when choose to “Save To > Complete Model”. The new script command has the format DiffFlowWriteCompleteModel(“filename”, AppendFile, SaveAdded, SaveRemoved, SaveBoth, KeyFields, “ExportFormat”, UseAreaZone, UseDataMain, AssumeBaseMeet)
- Added new script command DiffFlowShowPresentAndBase(How); Use this to set the parameter “Show Present|Base in Difference and Change modes”.
- Added script commands DiffFlowWriteNewEPC and DiffFlowWriteBothEPC which have identical parameters as DiffFlowWriteRemovedEPC, but they write out any determined by the Difference Case Tool to either be NEW objects or objects in BOTH the base case and present case.
- Added new script commands which will save transient stability dynamic models to 4 file formats. This commands have a parameter to specify the filename and then a second optional parameter called “DiffCaseModfiedOnly”. When omitted, the second parameter is assumed to be NO. Set to YES and it will only save models that are either new or models which have had a parameter modified as compared to the difference case tool base case. TSSaveBPA(“FileName”, DiffCaseModifiedOnly); TSSaveGE(“FileName”, DiffCaseModifiedOnly); TSSavePTI(“FileName”, DiffCaseModifiedOnly); TSWriteModels(“FileName”, DiffCaseModifiedOnly);
- Added new script command TSClearAllModels; which will delete all transient stability dynamic models from the case.
- Added new script command: InterfaceCreate( NewName, DeleteExisting, FilterType, FilterName)
- Added ClearSmallIslands script command to identify the largest island, and de-energize all others.
- Added script command VerifyDistributedComputersAvailable which allows distributed computer status to be verified via script action.
- Added the ability to delete named system states, both through the GUI and with a new script command DeleteState which takes the same parameters as RestoreState. If the name All is provided for the named state to delete, all named states will be cleared.
- Added script command GICLoad3DEField
- Added script command PanAndZoomToObject
- Added script command ScheduledActionSetReference
- Changes to Existing Script Commands and SimAuto Functions
- Made a commonly used feature much more memory efficient. The feature to Send To Excel by either right-clicking on the case information display, or when using the related SCRIPT command, could cause Simulator to run out of memory when used on extremely large data sets.
- Added three additional optional parameters to the end of SendToExcel: ClearExisting: Optional with default = YES. Set to NO to indicate that the existing worksheet should not be cleared before pasting in the information being sent; RowShift: Optional with default = 0. Set to a positive integer to indicate a shift downwards by a number of rows; ColShift: Optional with default = 0. Set to a positive integer to indicate a shift rightward by a number of columns
- Added new optional parameter to ZeroOutMismatches script command. Specify ZeroOutMisatches(Load); to indicate that fake loads should be created to zero out the mismatches. The default behavior is that ShuntG and ShuntB will be changed. Added right-click option to the mismatch table to do the same.
- The SaveJacobian script command will now allow DC to be specified for the JacForm parameter. This will save the B’ matrix for the dc power flow.
- Added new optional parameter to CalculateLODFAdvanced, IncludeIslandingCTG. The default is YES to retain original functionality. This behaves in the same manner as the new option on the dialog.
- Modified the OpenCase scripts command for EPC files to have an extra parameter (MSDummyBus). The options are FROM, MAX or the range (ex. 99960-99975, 99980). Example script command would be
- OpenCase(“filename”, GE, [MAINTAIN,2.0,YES,”99960-99975, 99990-99994″]);
- OpenCase(“filename”, GE, [MAINTAIN,2.0,YES,FROM]);
- OpenCase(“filename”, GE, [MAINTAIN,2.0,YES,MAX]);
- Adding script support for named system states. StoreState now takes an optional “StateName” parameter, and RestoreState has an optional second parameter for the State Name to be restored (which is ignored if the first parameter is not USER).
- Streamlined the operation of three script commands to improve performance speed — MergeLineTerminals, MergeBuses, and Delete
- Made a fix so that OPENNETEMS file types can be loaded using the OpenCase script command.
- When writing files from Auxiliary Script commands, we will now keep retrying to write them pause for a moment if the file being written to is in use by another program and thus locked, and then attempt to write the file again. This will be attempted 100 times with a 0.1 second delay between each attempt.
- Added parameter Script to OpenOneline script command that will specify a script command to be executed on the newly opened oneline
- When loading or saving a file through a script command, a special PROMPT syntax can be used to prompt the user for the file through a dialog. An additional parameter can be included with this syntax to specify the initial directory in which the dialog will open. The format of the this command is now < PROMPT ‘Caption’ ‘FileTypes’ ‘InitialDirectory’>. Clicking Cancel on the file selection dialog will cancel the command and skip any remaining commands in the auxiliary file.
- The & syntax can be used to reference a Model String Expression to specify the value of a field in a script command
Aux Export Format Description
- On the Auxiliary File Export Format Description dialog, when choosing to Create Format for Complete Case and choosing “Complete Model”, the dialog that appears allows you to choose which parts of the model to export. There is now a new check box on this dialog that allows you to specify for the Network Model portion to “(Split commonly changed fields)”. Checking this new box will split up fields for some objects into 2 data sections: a section with fields that normally do not change and a second section with fields that commonly do change. This mimics what occurs when exporting data from the Present Topological Differences from Base Case tool.
- Modified the Auxiliary File Export Format Description dialog so that you can manually drag the fields listed to change the order in which they appear. Also modified so that a selected list of entries can be deleted by hitting the Delete key on the keyboard (after selecting using mouse clicks in combination of Ctrl or Shift keys).
Available Transfer Capability (ATC)
- Added the contingency option to Iterate on Action Status to the ATC dialog. This option has always been used with linear ATC calculations, but it had previously only been found on the contingency dialog. When both dialogs are open at the same time, clicking on this option on either dialog will change the option on the other dialog.
- Added more fields as valid fields to be used when using the option to Iterate on Action Status with linear contingency analysis. These fields include: Branch Max MVA, 3-winding transformer Status of primary, secondary, and tertiary windings, All Branch MVA Limits, and All Branch Amp Limits.
- When using option to Create Contingent Interface For Selection, support has been added for generator open and load open contingencies
- Added two new Iteratively Found values when using the (IL) then Full CTG Solution method and iterating on an individual limiter: FULL_CTG_SELLER_LOST and FULL_CTG_BUYER_LOST. These indicate that either the Seller or Buyer has been completely disconnected when the contingency is implemented. The transfer limit that is reported is the total amount that could be ramped before the contingency caused the loss of either the Seller or Buyer.
Bus View and Substation View Onelines
- When using the Bus View option to “Show Serial Buses” on a Full Topology Mode, Simulator previously would bias a series of branches to show the non-switching devices most prominently. This was so that Transmission Lines, Transformers, Series Caps/Reactors, and such would appear larger and more prominent. If such a device was not in the series of buses then the first device was always shown. This has been modified so that within a series of switching devices we also bias to show either Breakers or Load Break Disconnects as the prominent device. This makes the breakers and load break disconnects appear more prominently than the plain disconnect switches.
- Modified the Bus View fields shown for Multi-terminal DC lines and VSC DC Lines so that they are linked to the object using the generic Model Field display object. Previously they were just background text fields and thus the MW, Mvar and MVA shown were calculated only when the bus view was redrawn at a bus. As a result as the system state changed and the bus view was open the fields for these DC devices were not changing. With this change they will now change matching the expected behavior of all the other fields on the bus view.
- On the Bus View, added ability to bring up the dialog for VSC DC Line or a Multi-terminal DC line when right-clicking on the background lines that are drawn to represent them.
Case Information Displays
- Added new expression functions for converting floats representing a date time into strings and also converting strings formatted as date/times into floating point numbers. These function all follow similar syntax as used in Excel functions of the same name.
(1) Text(floatvalue, “formatstring”) –> returns a string with the floating point number converted to a data time string using the formatting specified in the format string.
(2) DateValue(“datetimestring”) –> returns a floating point number representing only the integer part for the date/time floating point
(3) TimeValue(“datetimestring”) –> returns a floating point number representing only the fractional part for the date/time floating point
(4) DateTimeValue(“datetimestring”) –> returns a floating point number representing the date/time floating point
See the PowerWorld help documentation for more information on the format string. Search “Formatting String” in the help. - Cleaned up the Owner filtering for objects. When using the find dialog on a table if the object found was not presently visible on the case information display because Area/Zone filters were not met, Simulator would automatically change the area/zone filtering to make the object visible. This has now also been done for Owner filtering and the new Data Maintainer filtering.
- Added ability for Data Maintainer objects to work as a filter on case information displays in a manner similar to Area/Zone/Owner filters. There is a now a global option that indicates if Data Maintainers should be used as a filter, and if this is set then their is a Filter field on each Data Maintainer.
- The list of secondary filter classes available for objects has continued to grow to provide flexibility. However this has made the Filter drop-down menu on the case information toolbar extremely long as a result. We have organized this drop down menu so that object types are grouped by type such as “Network”, “Aggregations”, etc… Secondary filter classes that are in the same grouping will continue to appear directly under the filter submenu, but those in a different grouping have been moved inside an additional sub menu.
- In Version 20 we added the Quick Filter drop-down directly on the Filter toolbar. As part of doing this we changed the caption of the button for opening the quick filter dialog to “Dialog”. This also changed the caption of the button under the Filter drop-down the the Case Information Toolbar to “Dialog” which caused confusion. We have changed the caption under the Filter drop-down back to “Quick Filter…” to be consistent with previous versions.
- When dynamic formatting was defined for a bus object’s case information displays, it was always inherited by the area, zone, and substation objects. These objects would automatically apply the formatting if any bus in the aggregation met the conditions of the dynamic formatting. Previously this inheritance could not be prevented which was reported as a problem by some users. This inheritance has been removed as it is easy enough to define dynamic formatting for area, zone, or substation objects using advanced filtering that applies to a bus object type now.
- On the Multi-Terminal DC Line and Two-Terminal DC line case information displays, add the ability to right-click on a selection of devices and choose “Remove Device and Converter to Equivalent Loads”. This will add in new load objects which replace the MW and Mvar injections coming from these devices and then delete the DC system device.
- Modified how CalculatedField objects work in the user interface dialog when they are very simple and refer to another Advanced Filter by reference.
- Added an explicit field for the Island records for Number. This show the internally assigned Number of each island shown in the user interface. This number is automatically recalculated every time the topology of the system is evaluated. This number matches the number shown on various other tables such as Bus, Gen, etc. which show the island in which a device is contained.
- When specifying variables in the Custom Expression dialog, there are now variable type choices of Field, Model Field, Model Expression, and Model String Expression. Model Expressions and Model String Expressions are special entries in an attempt to support older functionality of the dialog when only Model Expressions were available. Specifying Model Fields and Model String Expression as a variable type will not be supported in previous patch releases in Simulator and will become unlinked Model Expressions when loaded into earlier patch releases.
- Custom Expressions can now reference any model field. Previously only Model Expressions could be accessed in addition to fields for the particular expression object type.
- Added concise variable names for Superbus and Subnet objects
- Added a new field to a DataMaintainer called AllowEdit. Setting this field to NO will mean that for objects that are maintained by this DataMaintainer, case information display editing will not be allowed nor will modifying an fields of those objects using AUX files or script commands.
- Added several Short-Cut keyboard keys for use on case information displays
- Ctrl + Q = Quick Filter Dialog,
- Shift + Alt + A = Save Auxiliary File for Selected Records All Columns,
- Ctrl + Shift + A = Save Auxiliary File for Selected Records Selected Columns, and
- Ctrl + Alt + A = Save Auxiliary File for All Records All Columns
- Added Case Info Customization for MW Transactions case information display. This will allow the same customizations such as the fields that are shown and the applied Quick filter to be stored when the display is closed and then used as set when the display is open again.
- Made BusPair and VSCDCLine objects available for use in Model Expressions.
- Added Solution Detail field with PWCaseInformation object that indicates whether or not the last power flow solution was successful.
- Added % of Amp Limit (Max), % of Amp Limit at From Bus, and % of Amp Limit at To Bus fields to show the flow based on the presently selected limit set with the Limit Monitoring Settings.
- There are two new folders with Branch fields: Limit Monitoring\Amp Limits Percent and Limit Monitoring\MVA Limits Percent. These contain fields showing flow as a percent of the respective limits for all limits that are available.
- Added new field for a Bus IsAreaSlack. This field returns YES if a bus has been designated as an area slack bus and NO otherwise.
- Made the field Selected available for the ModelFilter object.
- Modified to make an Interface Name and Number fields which can be entered in the case information display and via an AUX file.
- Added a new field Lockout to a Branch in Simulator. When this is YES you can not open or close the branch. This is intended for operator training uses of the software.
- Added support for secondary filtering for Case Information object using Bus, Generator, Load, Switched Shunt, or Branch advanced filters.
- Added support for Calculated Fields with Case Information object. This will allow calculations on all objects in a case. Buses, Generators, Loads, Switched Shunts, and Branch calculated fields are available for the Case Information object.
- Added new fields to Case Information object: Max Branch %, Max Branch % Branch, Max Voltage, Max Voltage Bus, Min Voltage, Min Voltage Bus, Max Mvar Mismatch, Max Mvar Mismatch Bus, Max MW Mismatch, and Max MW Mismatch Bus.
Contingency Analysis
- Modified saving contingency analysis settings using DataMaintainers so that they make use of the new “Filter” field for a DataMaintainer instead of using the Selected Field. This is more consistent anyway.
- Added support for several new VSCDCLine contingency actions that mimic the features available with the two-terminal DC line:
- OPEN,
- CLOSE 20 MW,
- SETTO 40 %,
- SETTO 20 MW,
- CHANGEBY -60 %,
- CHANGEBY -30 MW, and SETTO 5 OHMS
- Updated the column headings and descriptions of several CTG_Options fields so that when these options are shown in the CTG_Options_Value tables in a case information display more descriptive headings and descriptions are shown. This effects 3 options related to Island Limit Monitoring and 3 options related to storing contingency results to the hard drive.
- While the contingency dialog was open, when loading an AUX file from somewhere other than the Load button on that dialog, the various edit boxes and check boxes on the contingency dialog the show the contingency options would not always update. This has been fixed so that regardless of how the AUX file is loaded the edit boxes and check boxes will update immediately.
- OPENCBS and CLOSECBS contingency actions that are not able to identify breakers will now open or close the device meant to be acted upon by breakers. This will allow the same contingency definitions to be used in full topology cases containing all breakers and hybrid or planning models that do not contain breakers for all devices.
- The ContingencyElement field WhoAmi Description shows a pretty version of the contingency element description. Various options allow that descriptions format to be changed to show various file format versions of the element description instead. If the element was unlinked however, the file format versions would just show a blank indicating that the unlinked objects wouldn’t be written to file by default. This has been changed so that now we just show the normal unlinked information prepended with the word “Unlinked”. It’s still clear to the user that the element is unlinked.
- Added more fields as valid fields to be used when using the option to Iterate on Action Status with linear contingency analysis. These fields include: Branch Max MVA, 3-winding transformer Status of primary, secondary, and tertiary windings, All Branch MVA Limits, and All Branch Amp Limits.
- Added Arming Criteria to the list of dependencies for Remedial Actions and Remedial Action Elements.
- Added a two new buttons to the Tools Ribbon tab under RAS + CTG Case Info>Contingency Reference>Set As Reference and RAS + CTG Case Info>Contingency Reference>Restore Reference
- Modified the way that Contingency Violations (ViolationCTG) for an island choose the bus used as the identifier for the island. Previously, we would always take the slack bus of the island to identify it. Now we will instead choose the bus from the island that is the first in the list of buses sorted alphabetically by the name of the bus. This will help make the choice of the bus more consistent because sometimes the slack bus would change for the same set of buses depending on the state of the system (generator hitting Mvar limit for instance).
- Added the wind control mode and wind control mode power factor for generators to the system state so that this can be changed during contingencies and then restored to what it was in the base case.
- When reporting contingency analysis violations related to islands, if an island is split into pieces then whichever island has the original slack bus is considered the “old island” and all others are considered “new”. The island reporting then only reports “new” islands. This however meant that if the original slack bus island had only a few buses and the other pieces have 1000s, then the piece with 1000s would still be reported as the “new” solved island. This has been modified so that if an island is split into 2 or more pieces, then whatever island piece has the largest amount of Load MW is not considered a “new island” while all others are considered “new”.
- On the local menu of the Contingencies case information display there is a new option under Insert Special called Merge Contingencies That Result in Identical Breaker Actions. This will examine existing contingencies that contain either an Open With Breakers or Close With Breakers actions and determine the breakers that will actually operate. If another contingency with Open With Breakers or Close With Breakers actions exists that would cause the same breakers to operate, both contingencies will be merged into a single contingency.
- When auto inserting contingencies and using the Open Breakers action, a new option has been added called Prevent Identical Breaker Actions. Based on the current topology, this will determine the breakers that will operate for a given contingency. If another contingency is found that will cause the same breakers to operate, the actions from both contingencies will be merged so that only a single contingency is inserted.
- On the contingency analysis dialog, using the Other > Restore Reference option will put a message in the Status box on the dialog, “Reference State Restored”, that better indicates the system state currently in memory.
- Added an option with contingency voltage screening called Max Iterations that will allow the maximum number of inner power flow loop iterations to be specified. The default is 2, which was the hardcoded value prior to this option being added.
- Added an option with contingency voltage screening called Store Voltage Violations that will allow limit violations to be stored from the voltage screening. The default is to not store limit violations during the voltage screening because the estimate of voltages at this point might not be very realistic because they are determined without a full power flow solution.
- When using the option to Join Active Contingencies and creating a large number of contingencies the creation of the contingencies could be very slow. Made some changes to speed up the creation of the contingencies but showing them in the GUI is still slow.
- When monitoring custom monitors with contingency analysis and using a percentage change, if the original value is 0 do not report anything.
- For Remedial Actions and Remedial Action Elements, unlinked Arming Criteria will be retained when setting the Arming Criteria from an auxiliary file. If setting the Arming Criteria by directly editing the field in a case information display, a prompt will ask if unlinked criteria should be retained.
- For Contingency Elements, unlinked Model Criteria will be retained when setting the Model Criteria from an auxiliary file. If setting the Model Criteria by directly editing the field in a case information display, a prompt will ask if unlinked criteria should be retained.
- Added fields with contingency elements to show the Nom kV of the buses associated with the element without looking into injection groups and interfaces and Nom kV (recurse) that will show the voltages including looking into injection groups and interfaces.
- Added Normal Rating No Action field with a contingency that will allow base case (reference state) violations to be recorded in the same format (LimitViol and ViolationCTG objects) as contingency violations. Violations will only be recorded if the contingency has no elements defined. Violations will be determined using the Normal Rating Set specified with the Limit Monitoring Settings.
- Violation CTG Injection Sensitivities can be calculated for violated elements for each contingency.
Difference Case
- Added the GE Long ID field for loads
- In the Present Topological Differences from base case tool, the removed objects did not support the case information display filtering by owner, but only display filtering by Area/Zone. This has been modified to also support Owner filtering.
- Added the Area/Zone/Owner filter menu/case info toolbar option to the Removed object tables in the Topological Differences from Base Case dialog. The functionality to filter these tables by area/zone filters had just recently been added so there had previously been no reason to care about them from these tables.
- Modified the Base Case Topological Comparisons dialog so that user may use Data Maintainer filters to specify which objects to write out to a file.
- Added ability for the list of Removed Substations in the Present Topological Differences from Base Case tool to properly use the Area/Zone/Owner filters.
- Added Case Info Customizations for all case information displays used with the Difference Case tool dialog.
- Added a button to remove field customizations for all of the difference grids on the topological differences dialog.
- When showing some values in difference flows we show the Present Value followed by a | character followed by the Base Value such as ” 103.45| 206.45″. Depending on how wide the column is on the display however the text may have the portion of the string with the | character truncated. If the user can not see the | character it makes is confusing as to whether the value has changed or not. To avoid this confusion, we will now show the background color of cells shown in difference flows that contain a | character with a slightly different background color to indicate the value has changed.
- Modified the Present Topological Differences from Base Case tool so that when choose to Save the differences of the Complete Model to an AUX file, the user may now define an AUX Export Format Description object indicating which objects and field lists to use for the export. This appears on the confirmation dialog for exporting the AUX file with the differences. The format will determine the objects that are saved for NEW, BOTH, and REMOVED types of objects. The format will determine the fields for NEW and BOTH types of objects, but any required fields will also be included with NEW objects.
- Added support for branch fields RegBus and RegBusNumUsed
- Added support for generator fields CTGPreventAGC, CTGPartFact, CTGMaxResp, CTGMaxRespPerc, and Online
- Added a new object called DiffChangeTolerance which allows you to specify the tolerance used during the Change mode to determine if a floating point number has changed enough to be considered different. The default for all fields is a change of more than 0.0001% (6 significant digits), although defaults for Bus Voltage and Angle as well as Bus/Substation Latitude/Longitude are included that require slightly more precision.
- Added many new fields related to Transient Stability input to the Difference Case tool. This includes the following fields for respective objects
- Gen: TSMachine, TSExciter, TSGovernor, TSStabilizer, and TSOther
- Load: TSDistEquivMVABase, TSDistGenMVABase, TSDistEquiv, TSDistGen, TSDistEquivMVABaseUsed, TSDistGenMVABaseUsed, TSDistEquivUsed, TSAlgebraic, TSDynamic, and TSRelay
- Shunt: TSModelName
- Branch: TSRelayName
- Bus: TSDistEquivMVABase, TSDistGenMVABase, TSDistEquiv, and TSDistGen
- Area: TSDistEquivMVABase, TSDistGenMVABase, TSDistEquiv, and TSDistGen
- Zone: TSDistEquivMVABase, TSDistGenMVABase, TSDistEquiv, and TSDistGen
- Owner: TSDistEquivMVABase, TSDistGenMVABase, TSDistEquiv, and TSDistGen
- Modified the Present Topological Differences From Base Case dialog so that there is a new check box called For summary table statistics, show counts using Area/Zone/Owner/DataMaintainer filtering. This box is not checked when the dialog is first opened, but if you check this box, then the summary statistical counts will be based on objects that meet the Area/Zone/Owner/DataMaintainer filtering in the case.
- Added features to the Present Topological Differences tool to write out EPC files for Both and New objects lists. Previously you could only do this for the Removed objects.
- Added ability to use the Difference Case tool to save ONLY the changes in transient stability models to either an AUX, DYD, DYR, or SWI file.
- Diff Modified field added with all transient stability models to indicate if a model parameter, Device Status, Criteria, or the reference to another object have changed between the Present and Base case. This field will be blank if a model exists in the Present case that was not in the Base case.
- When in the Difference Case Mode of either Change or Difference, all case information displays showing transient stability models will only show stability models that have been modified (Diff Modified = YES or blank)
Fault Analysis
- Added faulted bus nominal voltage to the multiple fault results table
- Added a log message for FaultAna when the user selects a pre-fault profile of Solved Power Flow, but the power flow solution fails before applying the fault. An abort message is added to the log, and the attempted fault calculation is cleared.
File Formats
- EPC
- When loading an EPC file, if a generator is set to cont_mode = 3, but the power factor given is 0.0, then this is impossible data (would result in infinite Mvar output). In this situation, Simulator will now change the cont_mode to 1 which is equivalent to setting AVR = NO in Simulator. A warning will also be written to the message log.
- When loading an EPC file, if a generator is set to cont_mode = 2, but the power factor given is 0.0, then this is inconsistent data. In this situation, Simulator will now set pf = 0.01 and write a warning to the message log.
- Removed the log message when reading an EPC about bypassed branches that had a positive X value. This is perfectly fine for a bypassed series reactor, so the log message was causing confusion.
- When reading the EPC generator cont_mode for the voltage control mode, the integer values -2, 2, and 3 indicating types of either constant power factor or boundary power factor control. These were added several years ago originally for wind turbine generators and when first introduced it was reliable to assume that these always indicating a wind turbine. At the time, the turbine type field was not reliably populated so PowerWorld automatically changed the unit type when these values were seen. This is no longer appropriate so we no longer populate the unit type based on these values.
- When writing out to the EPC file, any UnitType values for nuclear steam generators NB, NG, NH, and NP will be written as turbine type 1 indicating a steam turbine. Previously these were written as 99 indicating other. Customers pointed out that steam was an appropriate mapping.
- When reading an EPC file, if any generator turbine type integers are read which are not specified in the WECC Data Preparation Manual, then a warning message will be written to the log indicating that this integer value is being interpreted as “OT (Other)”
- When reading an EPC file, added the translation of new EPC turbine type integers to the UnitCode as spelled out in recent updates to the WECC Data Preparation Manual.
- 3 –> XC (Cross Compound Steam),
- 19 –> BT (Turbines Used in a Binary Cycle, including those used for geothermal applications),
- 25 –> WS (Wind Turbine, Offshore),
- 29 –> CT (Combined Cycle Combustion Turbine Part),
- 42 –> BA (Energy Storage, Battery),
- 43 –> FW (Energy Storage, Flywheel),
- 44 –> ES (Energy Storage, Other),
- 46 –> CE (Compressed Air Storage),
- 47 –> CP (Energy Storage, Concentrated Solar Power),
- 51 –> HA (Hydrokinetic, Axial Flow Turbine),
- 52 –> HB (Hydrokinetic, Wave Buoy),
- 53 –> HK (Hydrokinetic, Other)
- 54 –> PS (Hydro Pumped Storage)
- Modified the options for numbering dummy buses of multi-section lines when loading an EPC file. The options can now be to the dummy bus from the FROM bus (as before), from the Max number of bus available or from a range.
- Updated the options dialog when saving an EPC file with options to better explain how the generator base load flag is being written.
- Modified writing out line shunts for EPC format so that line shunts that are part of an MS line determine which end of the MS line terminal the shunt is closest to, and fixes the shunt ID to correspond to the correct end of the MS line when writing it to the EPC format.
- When reading an EPC file with a generator set to cont_mode = 2 (boundary power factor control in Simulator’s options), but the power factor is zero (pf=0), previously we were just setting the power factor to 0.01 instead resulting in a very large Mvar range. It is not clear what we should do with this bad input data, so we are modifying to instead just read this as cont_mode=1 (fix Mvar or AVR = 0).
- Added the ability to read the clzone from the EPC file and create LoadModelGroup objects from this designation.
- Added the ability to read from a DYD file the “_cmp_der_a” model and then reference it from a cmpldwg or cmpldw2 dynamic model assigned to a load. It creates in Simualtor a DGDER_A model assigned to the corresponding load record.
- RAW
- Can now read version 34 files for planning models. Working on support for full topology models.
- Fixed another issue with multi-terminal dc line names when writing to a RAW file. When the name is blank the number of the MTDC will be written instead. In this instance, the name was not being enclosed in single quotes, but his has now been fixed.
- When loading in a PTI RAW files that have been exported from other software such as an EMS system, we have found exported voltages around three-winding transformer can be highly suspicious resulting in very large initial mismatches. This occurs when one or more terminals of a three-winding transformer is radial and not connected to anything that is online. In these situations the star bus and the radial terminal can have per unit voltage magnitudes and angles in the RAW file that are not consistent with the rest of the RAW file. This has been fixed by detecting these situations and assigning a more reasonable voltage and angle for these buses based on the impedances and voltages around them.
- When reading a RAW file, PowerWorld parses the comments at the end of object records to create a label for the object. We look for the a string inside brackets [], while skipping over spaces, forward slashes and astericks. This has been modified to also skip over comma characters when looking for the special brackets.
- Modified to write out the line length field to a RAW file out to 2 decimal places instead of 1.
- Modified how comments at the end of RAW file records are parsed to more loosely assign labels if the comments contains label inside brackets
- When loading a RAW file, the Mvar ouptut is estimated for FACTS which are converted into Continuous Switched Shunt objects in Simulator. This is because the RAW file does not specify the present operating point. To estimate this, the Mvar mismatch at the terminal of the FACTS is used. This has been modified so it sums up the Mvar at buses connected by low impedance branches to the FACTs terminal as well. Mvar are then shared by all FACTS that are connected to the same group of buses connected by low impedance branches.
- When reading in a RAW file, the shunt-connected FACTs devices are now translated to a SwitchedShunt with “ShuntMode=SVC” and “SVC=SVSMO3”. In addition when writing back out to a RAW file these SwitchedShunt objects are written to the FACTS device section as well. Previously these FACTs models were read in as “ShuntMode=Continuous”
- Modified reading the RAW file bus records so the ONLY required entries now are number and name. If omitted the NomVolt, IDE, Area, Zone, and Owner will now all default to 1. For version 24 – 30, G and B will be 0.0.
- SEQ
- When loading a *.seq file, the connection codes 4 and 14 represent a configuration where there is no series path in the zero-sequence network and there is no ground path in the zero-sequence network. PowerWorld was reading this in and setting the winding configuration to Wye-Wye which is a valid assumption, however it is equally valid to set the winding configuration to Delta-Delta. Both of the configuration result in no series path and no ground path. Customer were expecting this to be Delta-Delta and reported that other software reads this code in as Delta-Delta. This patch is modifying reading the *.seq file so that the codes of 4 and 14 are read in as a configuration of Delta-Delta.
- hdbexport CSV
- Added message to the log when reading these files and the option to translate the DC system into multi-terminal DC systems is set to Always or Prompt and no DCLN records exist in the file. DC lines cannot be created if DCLN records do no exist.
- When reading an hdbexport CSV file and performing a translation of the DC system into PowerWorld Simulator’s data structures, Simulator will now search for generation (UN records) inside the DC system and translate those generators directly to the AC system terminal bus that is kept after performing the translation. This helps translate some VSC DC lines that are being modeled approximately in the hdbexport file by customers who add a synchronous condenser (UN record) inside the DC system.
- When loading an Areva hdbexport CSV file, Simulator reads the BS record fields MMINJMW and MMINJMR and places those as GShunt and BShunt values at one of the Simulator Bus records. The Simulator Bus records correspond to the ND records in the hdbexport CSV file. These mismatches represent the mismatch from the optimal state estimation solution. Previously Simulator would arbitrarily assign the BShunt and GShunt values to the Bus with the lowest bus number. This has been changed now with the goal of keeping these injections connected to the system as much as possible even as devices are opened and closed from this base model. To achieve this, Simulator has a preference that the mismatch be assigned to a bus that has the highest number of in-service branches and DC devices dconnected to it. As a tie-breaker after that device count, the preference is for the following type of devices (in order) to be connected to the bus:
(1)DC, VSC, Multiterminal DC, (2)Series Caps, (3)Transformers, (4)Lines, (5)ZBR, (6)Breaker, (7)Load Break Disconnect, (8)Fuse, (9)Ground Disconnect.
Overriding all these preferences however, Simulator will also discourage buses connected to
(1)Switched Shunts, (2)Generators or (3)Loads
The goal here is to not assign the MW/Mvar mismatch to a bus that could be commonly taken out of service when isolating another device in the system. - When reading the RAS file for the Areva EMS system, added the ability to read a MWS field from the IPIN record to indicate that the MW field should be used but evaluated in the reference state for contingency analysis.
- When loading an Areva hdbexport file, the Bus.MMINJMW and Bus.MMINJMR are assigned to PowerWorld’s bus records as the BShunt and GShunt impedance values. This was conflicting with PowerWorld’s expected structure for a three-winding transformer however when there was a BShunt/GShunt assigned to the star bus of a three-winding transformer. All would be fine inside Simulator, however when you then saved to an AUX file, and then tried to read that AUX file back in it could cause trouble. The 3WXFormer records would not permit the creation of three-winding transformers if the star bus was an existing bus which had any devices attached. The BShunt and GShunt were enough of a device for us to not permit this. We have fixed this by now so that we allow you to create the three-winding record but then take the BShunt and GShunt and move that impedance out to the terminals of the three-winding transformer
- OTG Contingency
- Modified reading of the OTG contingency text file format so that the header row for a Contingency can contain a second string such as “#B2_26” which will be ignored and then the third string kept and read as the contingency description. Previously anything after the first # character was completely ignored.
- When reading the OTG file format for contingencies, the header row for each contingency was expected to contain 2 strings. The second string however is only read as the “memo”, so if it’s missing we can just assume it’s blank. The parser has been modified so that if it’s missing we still read the file, where as previously it would cause the reading to fail.
- When reading the *.otg file format for contingencies, added ability to look for the keyword DEFAULT at the top of the file. If this is found then all lines are skipped until the keyword END is found. This is an indication of options in other software tools which PowerWorld does not parse, but adding this code at least properly skips this information and reads the remainder of the file.
- Modified the reading of the OTG Contingency Format. Recent versions of this format have changed the file syntax. PowerWorld Simulator will automatically figure out which format the file is and read it appropriately.
- WECC Switch File
- Updated reading in of the WECC Switch File Format. Now accepts * and # at the beginning of a line as comments. If TITLE record is not found inside *.swt file, then the file name is used as the Transient Contingency Name. Change start time of contingencies to -1 second, so that it is consistent with the Switch File Format to have a 60 seconds of flat start.
- ASPEN RAT
- Relay models can be created from this format
- OSI OpenNet
- When reading the OpenNet EMS csv file,s, added code to read transformer tap settings off of XFORMER records.
- GCAP
- When writing out a GCAP file, now write all the capability curve points instead of only the first 10. Newer versions of this file support up to 20 points now. Messages are written the message log indicating if more than 10 points are being written however.
- UTCE
- When reading the UCTE file, set all generator to AGC = YES.
- Greatly sped up the time for reading a UCTE file in.
- PTI CON
- Added ability to write out two additional Contingency action types to a PTI CON file
1. BLOCK TWOTERMDC ‘name’ // Opens the DC line
2. SET TWOTERMDC ‘name’ to 12.34 MW
3. SET TWOTERMDC ‘name’ to 12.34 Amps - Added translation of the VSC DC Line OPEN contingency actions to a BLOCK VSCDC in the *.con file.
- Added ability to write out two additional Contingency action types to a PTI CON file
- Comtrade
- Added ability to save results shown in the Results from RAM case information displays for transient stability directly to this format
- KML
- Updated the parser to parse PJM lines. This required fixing some things not handled when parsing the lines for coordinates. The PJM files have x,y,z coordinates instead of just x,y. The files do no contain identifiers that can be linked with the case, but at least unlinked lines are now read in.
- PSLF DRW
- This file type is now supported for opening oneline diagrams
General
- NumTrue logic added along with the number of conditions that must be true for the logic to be true. This is available with Advanced Filters, Model Conditions, and Model Filters.
- Optimized the closing of a power system case for cases that included a very large number of of model conditions, model filters, model expression, and/or contingencies. The case will now close much more quickly.
- Model String Expressions can now reference other Model String Expressions.
- Added the ability in an interface to include a Generator OPEN or a Load OPEN element. This has been integrated in the calculation of the AC Power Flow Solution, Linearized DC Power Flow Solution, the PTDF calculation, and the sensitivities and flows needed to perform an OPF solution.
- Added a new column for generators to translate the generator UnitType field into the integer turbine type documented in the WECC Data Preparation Manual.
- Added a new generator field UnitType choice of “XC (Cross Compound Steam)”. When reading an EPC file this will be set if the turbine type = 3.
- Added ability to save named system states.
- Modified the caption of the Single Solution button to say Solve Power Flow instead.
- Added Memory field to Distributed Computer object, so the amount of physical memory installed on the specified machine can be displayed along with the number of cores.
- Added item to “Other Tools” menu to allow the user to clear islands prior to solving. This feature will open all generators in the case which do not belong to the island which has the largest number of buses.
Geographic Data View
- Added Geographic Data View arrow objects for showing vectors.
- Added pseudo-geographic mosaic display option with Geographic Data Views
GIC Analysis
- Adding ability to show GIC results in time step simulation.
- GIC Hotspot can now be modeled as a rectangle (as compared to a square earlier)
- GIC geographic earth resistivity regions now have an additional field called HotSpotScalar, in addition to the Scalar. This is to model the supplemental event beta_s, as per NERC documents
- Added option to choose between HotSpotScalar vs. Scalar for points inside a hotspot.
- Added GICGeographicRegionScalarCustom:1 for substations, which overrides looking up the region’s hotspot scalar. Similar to GICGeographicRegionScalarCustom:0
- Added support for the TPL-007.1 geomagnetic scaling function
- Clarified GIC miles vs. km field values, particularly with aux files.
- Added GIC field to show minimum ohms/phase on line for calculation of induced voltage.
- Implemented giving precedence to user entered earth region.
- DC Lines, Multi-terminal DC lines, and VSC DC Lines included in the calculations
Integrated Topology Processing
- When using the close with breakers algorithm on a branch, breakers will be closed even if the branch is only open at one end. The branch is energized, but the goal should be to have it closed completely. Previously, no breakers would be closed if the branch was considered energized. Now if the branch has Derived Status <> Closed we will search for breakers to close. This is done anywhere that the close with breakers algorithm is used.
- When looking for breakers to open to disconnect devices or close to connect devices, breakers that were connected strictly in series with a switched shunt were excluded. This effectively looks for switched shunts that are connected radially to the system. This was to prevent switched shunts from being connected/disconnected incorrectly if they were connected to a tap point on a line. If a switched shunt itself was to be connected/disconnected the breakers in series with that shunt would still be switched. Changes have been made to how this works:
(1) This check is now done for generators and loads in addition to switched shunts.
(2) There are options that allow disconnects that are normally closed to be closed when closing breakers to energize a device or disconnects that are normally open to be opened when opening breakers to disconnect a device. These disconnects are now checked and if they are in series with shunt devices that are not the specific device to be closed they will not switch. - Made a change that should help prevent numerical stability problems with full topology cases with generators on AVR that are connected to breakers that have not been consolidated.
- When using the options to Use Topology Processing and Close Breakers to Energize Switched Shunts, breakers will be opened to isolate shunts at 0 Mvar output when the power flow is solved
Limit Monitoring
- Added storage in the Window Registry for the user interface options on the Limit Monitoring Dialog. Previously the following was maintained during a session of PowerWorld Simulator, but after you closed Simulator and reopened it, it was not retained. The options include
1. The check box status of “Only show the primary bus for each superbus”
2. The choice under the “Elements to Show”
3. Which tab you are on the dialog
Oneline Diagrams
- Adding the ability to be able to open Areva path overview onelines.
- Delta Per Mouse Click value can now be specified for generator Cost Multiplier field
- Added a new field to a Branch object called the BranchCloseAngleThreshold. Specifying a non-zero value for this field will impact how oneline diagrams behave for this branch. When clicking on the circuit breaker objects on a oneline diagram that represent the status of a particular branch, if the branch is presently OPEN and the angle difference across the branch is greater than the threshold specified, then the oneline diagram will not permit you to close in this branch. This was added to help users perform operating training simulations.
- Added color map for showing integer values.
- Oneline Link object can specify a left-click option and up to two right-click options
- Oneline menu accessed by right clicking in the background of a oneline has option to Open oneline script command dialog that will allow script commands to be performed on the oneline
- Adding the ability to pan to display objects via the Areva “find” command when loading in a oneline via a oneline link.
- Adding the ability to open Areva substation onelines from the right click menu on string grid displays. Also can search for onelines in the Oneline Viewer.
- Adding the ability to open Areva substation onelines from MTDC bus, converter and line lists; three-winding transformers; interface elements; substations; superbuses; subnets and scheduled actions lists.
- Modified the oneline hints for branch objects to identify the BranchDeviceType in the Object Identifier string shown when popping up oneline hints.
- Added a new GIS option to move bus and substation oneline display objects so that they match the latitude/longitude stored with the underlying bus and substation data object information.
- New marker objects are now added to a ‘Marker’ layer by default.
- Added option on the right-click menu for bus display objects to Open Connected AC Branches if a bus has Status = Connected. If the bus has Status = Disconnected the option will be Close Connected AC Branches. When closing branches only branches where the other terminal bus is connected will be closed. If there are any dc lines connected to the bus, their status will remain the same regardless of which option is being used.
- Added hotkey ‘R’ to Oneline diagrams to toggle the orientation of selected buses, gens, loads, and shunts.
- A new dialog will prompt the user when pasting objects to a oneline diagram (if they have chosen to copy objects and records). The prompt will ask the user if they would like to create new objects or link to existing objects, which is the previous behavior. Creating new objects will create new objects, including buses, which was not done before. Previously the bus oneline object would still link to the existing bus in the model (“link to existing”). With the new option, a new bus will be created and the oneline object will be linked to the new bus.
- Added options to create new topology sections – both the oneline and case will be modified
Optimal Power Flow
- Added check boxes to the OPF tab of the Area dialog for specify whether to Enforce Branch Limits, Enforce Bus Angles, Enforce Interface Limits, Allow DC Line Control, or Include Marginal Losses.
- Updated column headers for OPFSolutionSummary object type.
Power Flow Solution
- Voltage Droop Control allows specification of renewable plant Q-V characteristic at the point of interconnection
- Voltage Setpoint Tolerance allows generator voltage control closer to reality
- Sped up routine related to calculating island information. This speed up will be especially noticeable in full topology cases when validating the case, solving the power flow, and deconsolidation because during these processes information about the state of the islands is stored for the power flow solution.
- When on island based AGC control and an island does not have any controllable generators, the message in the log will now indicate which island by showing the number of the island slack bus.
- When using the option to Check Generator Mvar Limits Immediately, generators are allowed to hit limits only for the first two voltage control loop iterations. After that they will only be allowed to back off limits. Limits will only be enforced if the Mvar output goes outside of a Mvar limit PLUS a deadband of 10% of the total Mvar Range.
PV and QV Curve
- Added a new field to a load for ScaleMvar. This field defaults to YES. Set to NO to prevent changing the Mvar of this load when shifting power using an injection group (such as in ATC, PVQV, and System Scaling tools)
- Choosing to archive system states to file will now work when using the Reverse Transfer option with the PV tool and a scenario requires a reverse transfer in order to solve. The states that are stored behave a little differently than when doing the normal forward transfer. Keep in mind that only the contingencies that failed during the 0 transfer will be studied using a reverse transfer.
(1) When choosing to “save only the base case for each critical contingency” the base case state will be saved at any reverse transfer level at which a contingency solved. This is different than how the states are saved during the forward transfer because then the base case state will only be saved at the critical transfer level, i.e. the highest transfer level at which a contingency will solve.
(2) When choosing to “save all states” both the base case state and the contingency state will be saved at any reverse transfer level at which a contingency solved. This is the same as how the states are saved during the forward transfer. - Added Maximum Transfer as a critical reason with PV results. This can only appear with the base case scenario. This will appear if the Stop when transfer exceeds transfer level is met. This option would always cause the PV analysis to stop, but there was no indication with the PV results object that this has occurred. A message appears on the dialog, but this couldn’t be determined by just looking at the results.
- Added concise variable names for PVPlotSeries, PVSubPlot, PVPlotVertAxisGroup, and PVPlot objects
- Added ability to specify the Font Size on the plot definition as follows: Vertical Axis Group Labels, SubPlot Horizontal Axis Labels, and SubPlot Legend Labels
- Added ability with the PWPVResultListContainer object to see many of the custom fields for the Contingency object to which these results refer. This includes the Custom Integers, Floats, and Strings, and the Custom Memo.
- On the PV Curve dialog the Present Nominal Shift box shows the transfer that is in the current system state and the caption for the Restore Last Solved State option shows the transfer amount in that state
- Branch and Interface Violations can now be treated as critical scenarios. Violations can also be logged and viewed at each studied transfer level if choosing not to stop the simulation when a violation occurs.
Scheduled Actions
- When closing disconnects that are in series with breakers when using the Use Normal Status option, also close disconnects that are in series with Load Break Disconnects. This makes sense because we are treating breakers and load break disconnects the same when we are identifying breakers to open or close devices.
- Added another check when the Use Normal Status option is in use to return disconnects that are in series with the branch that is being returned to service. If a branch is an Open Breaker action, any disconnects that are in series with it and are normally closed will be closed.
- Added Scheduled Actions tab to dialogs for Gens, Loads, Lines, Switched Shunts, and Interfaces containing a case information display listing the Scheduled Actions that target the selected object. The tab is hidden if there are no Scheduled Actions defined in the case.
- Added options to the Scheduled Action grid local menu allowing the user to isolate or energize the target device with breakers.
Disabled mouse-wheel scrolling over the Scheduled Actions active time window. - We now allow Scheduled Actions with a Mapping Status of Unmapped to be loaded from a CROW file regardless of uniqueness. Note that these non-unique actions will only be accessible in the GUI after loading from a CROW file; they cannot be read in from an AUX file or PWB.
Security Constrained OPF (SCOPF)
- Added a column on the LPVariables grid to show the contingency name that corresponds to the variable. Previously it was possible to have variables with the same ID, making it impossible to uniquely identify a variable.
- Added the contingency name to the ‘Bus Marginal Controls’ header to allow correlation between the controls and ‘LP Basic Variables’
- Added fields (i) Violated Primary-Element Label, and (ii) Violated Secondary-Element Label for SCOPF.
These show the label of the line or interface that is violated.
Sensitivity Calculations
- Added option with Advanced LODF Calculation to Include Contingencies Creating Islands. This option is true by default because that is what we had been doing before adding this option. If a contingency creates a new island, we report the LODF as a very big number to indicate that this value cannot be calculated. This option can be used to exclude these types of contingencies from the results.
Time Step Simulation
- Updated time step summary to show load/gen/shunt results as opposed to input.
- Modified TimeDomainOPF so it sets the GIC time value to be the offset time from the start of the time domain simulation.
Transient Stability
- Transient Stability Options
- New filtering options have been added with the Store to Hard Drive Options that make it possible to be very specific about the information stored
- Transient Stability Solution
- The swing equation for synchronous machines is 0.5/H*[(Pmech – Dw)/(1+w) – Telec]. In the result reporting for Simulator, the the accelerating power was being reported as Pmech – (1+w)*Telec and thus did not include the impact of the damping term D. For the vast majority of model the D term should be zero, however if D is not zero, then we will now report the accelerating power as Pmech – Dw – (1+w)*Telec instead.
- Added the ability to specify the TSDistGenMVABase with a Load, LoadModelGroup, Bus, Owner, Zone or Area. The MVABase then assumed for the Load Distributed Generation model will be the TSDistGenMVABase associated with the object from which the Load is inheriting it’s model. Thus if the Owner object has a Load Distributed Gen model, the Owner object’s TSDistGenMVABase will be used. The exception to this is that any Load object that has a TSDistGenMVABase specified will automatically use that MVABase regardless of where the model is inherited from.
- When counting the number of consecutive algebraic network solutions using the option “Abort after number of failed solution”, Simulator will no longer increment the counter for failed solutions while a fault has been applied in the system.
- Transient Limit Monitor
- Time to Begin Checking options added with individual transient limit monitors. By default the global options that had previously existed will be used.
- Time to Stop Checking options added with individual transient limit monitors. By default there will be no stop in checking. There is no global option for this.
- Limit Logic that allows the logical combination using AND, OR, and NOT of Transient Limit Monitors
- Transient Remedial Actions
- Remedial Actions defined for steady state contingency analysis can be used with transient stability
- Transient Models
- Breaker delays can be specified with branches, generators, loads, and switched shunts. Various rules apply for branch relays to use these breaker delays as part of the relay model. Breaker delays are also used with transient remedial action scheme implementation when opening or closing devices.
- Machine Models
- Modified new DER_A model to add parameter Trf and Vpr
- Added storage of result of the Vmin and Vmax values to the DER_A model
- Modified DER_A model by adding two new parameters Iqh1 and Iql1 as limits on the extra reactive current injection path.
- Modified WT3G, WT4G, REG_A, PVD1 type model that have “reactive current management” that prevent high voltages on voltage source converter machine models. Previously if the initial terminal voltage was above the high voltage limit, we would ignore this limit completely. This has been modified so that instead the high voltage limit is set equal to the initial terminal voltage. Indication that this is occuring will appear in the Validation Warnings.
- Modifications in DER_A model and DGDER_A model to modify the feedback of Pord to the power and reactive power control blocks. This must be the feedback for this model because the fractional tripping means that the terminal power is not an appropriate feedback.
- Also modified how the rrpwr rate limit on the Ip power block works. It will not rate limit based on the absolute value. Thus if Ip >=0 then it will be a rate limit in the positive direction and if Ip <=0 then it will be a rate limit in the negative direction. This way it will always permit the device to quickly move toward zero power, but then limit how quickly it moves away from zero. This is needed in case the DER_A is used to represent a storage device.
- Added a way to modify the REGC_A and REGC_B MW Set Point (Exciter Pref input) from the contingency element when there is only an Exciter REEC_A among similar variations of the REEC model in the generator.
- Modified the REGC_B model to include a Imax current limit and DQFlag. This impacts the network interface equation for higher currents for the REGC_B model and for the DER_A model (and thus DGDER_A as well).
- Exciter
- Added DC1C, DC2C, DC4C
- Added AC1C, AC2C, AC3C, AC4C, AC5C, AC6C, AC7C, AC8C, AC9C, AC10C, AC11C
- Added ST1C, ST2C, ST3C, ST4C, ST5C, ST6C, ST7C, ST8C, ST9C, ST10C
- Added CELIN
- Modified the AC7C exciter model to add a switch SW3. SW3 = 0 then feedback of Efd through the KR block is used (as in the IEEE 421.5 spec) SW3 <> 0 then feedback of Ve through the KR block is used
- Modified the AC7C exciter model to add a switch spdmult. spdmult = 0 means that the output is not multiplied by speed (as in the IEEE 421.5 spec) Spdmult <> 0 mean that the output is multiplied by speed
- Governor
- Added support for the newer Bradley Governor for Chugach (HGBLEM)
- Added model h6e that represents a Hydro Turbine with an American Governor Company Controller.
- Added transient stability validation checks to UCCPSS, UCBGT, and UHRSG
- Added GGOV1DU governor model which is identical to GGOV1 but has up and down deadband limits on the input frequency signal.
- Added TURCZT
- Added BBGOV1
- Stabilizer
- Added PSS2C, PSS3C, PSS4C, PSS4B, PSS5C, PSS6C, PSS7C
- Overexcitation Limiter
- Added OEL1B, OEL2C, OEL3C, OEL5C
- Under Excitation Limiter
- UEL2C, UEL
- Stator Current Limiter
- SCL1C, SCL2C
- Plant Controller
- Made more descriptive validation error messages for REPC_A and REPC_B when the model does not have a measurement branch specified. Unless this model is only controlling voltage, then a branch must be specified at which the Qbranch, Pbranch, and/or Ibranch is measured. If the branch is not specified when it is needed an error message will appear indicating why the measurement is needed.
- Added a new plant controller named REPC_B100 which is the same as REPC_B but instead of allowing 50 generators to be referenced, you can have 100 generators.
REPC_A and REPC_B models would spit out validation errors when they were configured to measure a branch P, Q, or I and no branch was specified on which to perform this measurement. PowerWorld’s hope was that by making this an error which prevented the running of transient stability, this would force the input data to be updated over time, however after a few years it has become clear that this error just confuses folks and the input data has not been updated. We have modified it so that this is now a warning and indicates to the user that all input of IBranch, QBranch, and PBranch will be assumed to be zero until the data is updated. - Added some error messages to the log when loading the REPC_B models which reference either bus numbers that do not exist or generator/shunt objects by ID which do not exist in the case.
- Added a warning message in Validation of transient stability if a REPC_B model exists but has no Control Devices specified
- Added transient stability validation checks on REPC_A and REPC_B about having PMax >= Pmin and Qmax >= Qmin.
- Modified the default parameters for the REPC_B model. Previously Pmin=0; Pmax=2.0; femax=1.0; femin=-1.0.
This made sense for the REPC_A model on which this is based where the output represented the Pref of a single generator. However, for REPC_B, the value Pext represents the DEVIATION of power from the initial starting point and thus using Pmin=0 was inappropriate as a default. Devalut values have been changed to Pmin=-99; Pmax=99.0; femax=99.0; femin=-99.0.
- Load Characteristics
- Fields added to prevent using the models for loads that do not meet specified criteria: Filter Pmin, Filter Qmin, and Filter Vmin
- Load Distribution Equivalent
- XFMinkV field added to indicate the minimum nominal kV at which a distribution equivalent will include the transformer. If set to 0 the global option will be used.
- Load Distributed Generation
- Added support for a new Load Distributed Generation model DGDER_A. This is the same model as the machine model DER_A, however it is instead applied to the Distributed Generation portion of the load record.
- Load Relay
- Added the ability to read and implement the LSDT3A model which uses a separate PickupValue as compared to the Setpoint value.
- Line Relay
- Modified the interpretation of Direct parameter of the LOCTI, TIOCR1, and TIOCRS over-current models. Previously it only had options 0 and 1 below. Option 2 has been added.
0 – means no directional element
1 – means directional element AND Direction will be based upon current leaving the FROM end of the branch
2 – means directional element AND Direction will be based upon current leaving the TO end of the branch
- Modified the interpretation of Direct parameter of the LOCTI, TIOCR1, and TIOCRS over-current models. Previously it only had options 0 and 1 below. Option 2 has been added.
- Generator Relay
- Modified the LHFRT model so that when obtaining the frequency measurement at the bus, if the voltage is below the “Minimum PU voltage for relay frequency measurement”, then the frequency is treated as at nominal
- Added a new generator relay model called GP3 which was developed in the NERC SAMS committee.
- DC Line Model
- Added support to CHVDC2 to use the parameters which attempt to emulate commutation failure.
- Switched Shunt
- Added ABBSVC1
- Added MSS2
- Added MSS1
- Added the check for the Xc value on svsmo1,2 and 3 to give a warning during validation if the value on the transient model is different from the power flow.
- Transient Plots
- Added the requested ability to add the case name into the plot name when in auto save. If the option is checked then the name will have the following format: ContingencyName_PlotName_CaseName.jpg. Otherwise it will be naming the plot as before.
- Modified the Plot Designer portion of the Transient Stability and PV Curve tool dialogs so that list of plots, subplots, and vertical axis groups will show more meaningful captions for Subplots and Vertical Axis Groups. Previously they were identified only by number. Now, Subplots and Vertical Axis Groups will show captions based on the following priority.
1. TitleCaption if specified
2. FooterCaption if specified (applies only to Subplot)
3. If it contains only one plot series, it will show the same header as that plot series
4. If all plot series it contains have the same field then it will show the field
5. If all plot series it contains have the same object then it will show the object identifier
6. If all else fails it will revert back to the number - Added ability to specify the Font Size on the plot definition as follows: Vertical Axis Group Labels, SubPlot Horizontal Axis Labels, SubPlot Legend Labels
- If choosing to Auto-Save an Image File of the Plot and the data is not selected to be stored to either the RAM or hard drive, after the plot file is generated the data will be deleted.
- Transient Results
- Added the ability to filter transient result events table from Object type.
- Added VFE of ESAC8b_PTI into the State Other Fields.
- Added substation field for average ROCOF.
- Added new Branch field for storing results called Minimum Profile Vpu. This field calculates the minimum voltage along the length of the series R and X of a branch. Typically this value is at one of the terminal buses, but it can sometimes end up between the two buses. It is possible for that voltage to approach zero even when both terminals are not zero. This is an indication of the system going out of step. One can monitor this branch field for an indication of the system going out of step.
- Added VFE of ESAC8B_GE into the State Other Fields.
- Added result storage of Area ACE value
- Transient Stability File Format Support
- Added ability to load a OTGD file that represent transient stability contingencies.
- When reading a REEC_B record from a DYD file we expect to see 30 input parameters after the colon. This record does not support the mva=12.34 syntax as other records sometimes do, however sometimes we see DYD records which start with the mva=12.34 syntax followed by 29 parameters. In this situation it is reasonable to assume that this first parameter should have instead just been 12.34. We have added special processing of the REEC_B record to support this with a warning message written to the log to indicate this has been assumed. Previously we would have just ignored this record completely and reported an error.
- When reading a DYD file, modified parsing of the LSDT2 model to allow as few as 5 input parameters to be specified with all subsequent parameters assumed as 0.
- When reading a DYD file, modified parsing of the EWTGFC model so that the last 7 parameters are optional and if omitted will assume the following values: Xc=0, Kqd-0, Tlpqd=0, Xdq=0, Vermn=-0.1, Vermx=0.1, Vfrz=0.7.
- Added ability to read/write the CHVDC2 model to and from the DYD file.
- Modified reading the TIOCRS record from DYD file so that any paramter after A can be omitted and a value of zero will be assumed for the parameter
- Modified reading of LOCTI record from DYD file so that any parameter after Tm1 can be omitted and a value of zero will be assumed for the parameter
- When reading and writing a DYD file added ability to translate the distrel/zonedef/blindef models into a DistRelay model.
- Added new right-click option under Save As on a case information displays for Generator, Shunt, LineShunt, and Branch objects, as well as any transient stability dynamic model object for one of these 4 objects. The new option says “DYD Format (only models of selected records)” and will store a DYD file snippet for the objects and models selected. Also include support for some Load objects and models as appropriate.
- Added support when reading the REPC_B model from a DYD file so that we interpret 2 character ID strings in the parameter list as the IDs of generators or SVCs appropriatly and also write them out as 2 character IDs. Previously these values were required to be numbers which were rounded to the neared integer. Also added special support when reading these values so that number strings such as 2.0 and 34.0 will be interpreted as the ID string 2 and 34.
- Modified Simulator to read and write CMPLDWG records from and to a DYD file. These are read into Simulator and the final 15 parameters for the DGPV model are striped off and handled separately. The first 4 of these parameters are used to populate the DistMW and DistMvar parameters of the load record in Simulator, but only if the existing load record has zeros for both those values. Then the final 11 parameters are used to create (or modify) a Load Distributed Generation model (DGPV) at the particular load record. When writing out a DYD file, if a CMPLDW model is being written to the DYD, Simulator will check to see if there is an active DGPV Load Distributed Generation model being used by the load. If there is, then the model will be written as a CMPLDWG instead and the appropriate final 15 parameters will be written.
- While loading in a DYR file, GGOV1DU governor user-model is converted to GGOV1, and the last two parameters are ignored.
- When loading in WECC SWT files, the case will be started off with 1.0 second of no disturbance. ALL time values you input will have 60 cycles added to them.
- When reading a DYR file, the USRMDL REPCTAU1 is now mapped to REPCTA1
- Added ability to save transient results shown in the Results from RAM case information displays directly to the Comtrade formats.
- Added the ability to read and write for GE PSLF for up to 4 generators for the TS model CCOMP4.
- When reading a DYR file and finding several USRMDL govenor models that are identical to an existing governor model except for the addition of a deadband, modified to simply read this governor as the existing governor model ignoring the deadband. In Version 21, we will read and translate to new governors, but for now simply convert to a governor without a deadband. This includes the following
GASTWDDU –> GASTWD
HYGOVDU –> HYGOV
IEESGODU –> IEESGO
IEEEG1SDU –> IEEEG1
WPIDHYDU –> WPIDHY - When reading a DYR file and finding a USAC6AU as a USRMDL exciter, modified to translate to the existing ESAC6A. This model is idential to the ESAC6A, except for the implementation of the non-windup limit on the Lead-Lag block of the (1+sTc)/(1+sTb). Simulator Version 21 will include a new AC6A model that implements the lead-lag block non-windup limit using the method described in the IEEE 421.5 standard, but for now in Version 20 we will just translate this model to the existings ESAC6A.
- When reading a DYR file and finding a HYGOV4 as a USRMDL, modified to translate this to the existing HYGOV4 model.
- When reading a DYR file and finding several USRMDL govenor models that are identical to an existing governor model except for the addition of a deadband and Trate, modified to simply read this governor as the existing governor model ignoring the deadband. In Version 21, we will read and translate to new governors that include the deadband and Trate. This includes the following:
GGOV1DU –> GGOV1D
GASTWDDU –> GASTWDD
HYGOVDU –> HYGOVD
IEESGODU –> IEESGOD
IEEEG1SDU –> IEEEG1D
IEEEG1CDU –> IEEEG1D
WPIDHYDU –> WPIDHYD
DEGOV1DU –> DEGOV1D
GAST2ADU –> GAST2AD
GASTDU –> GASTD
HYGOV2DU –> HYGOV2D
IEEEG3DU –> IEEEG3D
PIDGOVDU –> PIDGOVD
TGOV1DU –> TGOV1D
TGOV3DU –> TGOV3D
WESGOVDU –> WESGOVD
- Transient Stability Contingency Definitions
- Added support when auto-inserting transient stability fault definitions to use the new SelfClear feature of a fault.
- Added a flag SELFCLEAR at the end of a TSContingencyElement Action String for a fault. Normally when a fault point is isolated by opening branches in the system, the fault will NOT automatically clear itself and thus if lines are closed back in the fault will remain in place. When specifying SELFCLEAR, then when a fault point becomes isolated it will automatically clear itself at the same moment.
- Transient Stability User Dialogs and Auxiliary File Support
- Modified the Transient Stability tab on Load dialog to always show the “Terminal and State Values” tab so that the user knows it’s available. Previously this tab would be hidden on the load dialog if the transient stability simulation had not been initialized. Now it will always appear, but if the simulation is not initialized then it will show all empty values.
- Added the ability to rename the Device ID from a relay GUI dialog. It will only rename the Device ID if the new Device ID does not exists. If the Device ID already exists then the following message will appear: A Device ID already exists at from/to end (Line Name). Please Modify that particular (Relay Name)relay.
- Added ability to delete all jpgs in the TS contour toolbar subdirectory. This is just a button on the dialog used to specify saving the TS contour images.
- Added ability to right-click on the transient stability event case information display and show the dialog associated with the power system object refered to by this action.
- Added additional concise variable names for transient stability models.
- Added concise variable names for following objecttypes TSPlotSeries, TSSubPlot, TSPlotVertAxisGroup, TSPlot, TSLimitMonitor, and Transient_Options.
- Added fields on a Bus, Area, Zone and Owner object to show the presently assigned Load Distributed Generation model name.
- Added a new Gen object field called TSGovMWCap which returns the MW Base of the active dynamic governor model if available. If either no governer is active or the active governor does not have a MW Base parameter, then this field will appear as blank.
- Modified how the list of available transient stability model types is displayed when choosing to only “Show Models Supported By” a particular software tool. Starting in Version 20 we would also show models that can be translated to that software tool. This patch changes it so it only shows models natively supported in that tool.
- Added a new option to Clear Time Values from RAM for ALL the contingencies. Now there is a drop down menu in the Clear Time Values from RAM button with two options:
-Clear Time Values from RAM for Active Contingency
-Clear Time Values from RAM for ALL Contingencies - When in Difference Case Mode of either “Change” or “Diff”, then all string grids showing transient stability models will only show stability models which have a modified parameter (Modified = YES or blank).
- On the Result from RAM section of the Transient Stability Dialog, modified the “Clear Min/Max Values, Summary, Evenst, and/or Solution Details from RAM” button so that the dialog which appears gives you the option to either clear results for the Active Contingency, or for ALL Contingencies.
User Interface Dialogs
- Added two new buttons under the Restore> dropdown on the Tools ribbon tab called Store User State and Restore User State. These provide button access to same functionality as available in the script commands StoreState; and RestoreState(USER);
- Separating Save and Save To Aux button on the bus, branch, load, gen, shunt, and lineshunt dialogs. Clicking the Save to AUX will now store the fields specified as part of the built-in Network Model Auxiliary File Export Format Description.
- Changed the hints that appear for the MVA Convergence Tolerance and the AGC tolerance to reference the fields that are in the unit of MVA (instead of the old fields which were in units of per unit)
- When using the Save to Aux button on bus, switched shunt, generator, branch, line shunt, and load dialogs save using fields that are the same as default Network Model fields with the Aux Export Description. When saving switched shunts use appropriate fields if the shunt is allowed to be on control, i.e. control mode <> Bus Shunt. When saving transformers save using appropriate transformer control fields.
- Added a button to the Geography tab of the Substation dialog which copies the Lat/Long information to the system clipboard.
Also added this feature to the menu when right-clicking on a substation object on a oneline diagram. - Modified the Model Expression dialog so that the edit boxes that show the information about the variables show more concise text descriptions. They will now show information about what object each variable involves by showing either the primary, secondary, or label identifier depending on the user preference in the Simulator Options under Case Information. In addition they will show a hover hint that gives information on labels, primary, and secondary keys, along with the complete field description for the variable.
- Modified the Generator Information dialog so that if the check-box Use Capability Curve is checked then the Min Mvar and Max Mvar edit boxes can not be edited. This is the same treatment as those fields on the case information displays which do not allow editing of those fields if they are calculated from the capability curves.
- Added the bus label as an informational field on the Renumber Buses dialog.
- Added scrollbars to the Memo that can be entered on object dialogs.