Getting all the branches in an area by just the area number?
Is there any way to get all the branches in an area inclduing from bus # and to bus# by just using the area number?
First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!
Is there any way to get all the branches in an area inclduing from bus # and to bus# by just using the area number?
Yes, there is. Define a subsystem from the area(s) and use the subsystem data retrieval APIs. Something like the untested code below. This could potentially be cleaned up a bunch, but similar code has worked well enough for me in the past.
MySubsystem = 1 ## Arbitrary subsystem number, 0 through 11 are allowed I think?
MyAreas = [1,2,3,4]
ierr = psspy.bsysinit(MySubsystem)
ierr = psspy.bsysadd(MySubsystem, numarea=len(MyAreas), areas=MyAreas)
ierr, ckts = psspy.abrnchar(sid=MySubsystem, string='ID')
ierr, FromNum = psspy.abrnint(sid=MySubsystem, string='FROMNUMBER')
ierr, ToNum = psspy.abrnint(sid=MySubsystem, string='TONUMBER')
## PSSE returns a "list of lists" for each of the subsystem data retrieval functions
## We need to pull out the first element of each to make it easier to work with:
ckts = ckts[0]
FromNum = FromNum[0]
ToNum = ToNum[0]
BranchList = []
for i in range(len(ckts)):
BranchList.append([ckts[i], FromNum[i], ToNum[i]])
Yeah, sth like that I think. Though I seem to remember that the abrn functions sometimes return the second element ("chts", "FromNum", "ToNum") as a list inside a list. Either them or some other subsystem retrival functions do that.
I think you're right about that. I've edited my answer accordingly.
Asked: May 14 '19
Seen: 4,334 times
Last updated: May 16 '19
Where can I put the Branch ID?
psspy can't run with another case without any exception
How do you output the load of the bus and store it as a variable
How to use Python do such a simulation on PSSE?
Total Active Power Transmitted to a Bus
"insufficient access rights. FDNSD264 (FDNS_CLOS/CLSPTI)" error in PSSE
Load data retrieval from load flow data
Should I use brnmsc('PCTMVA') or brnmsc('PCTRTA') ?
How to add dynamic data to an existing dynamic data in PSSE through Python?