Ask Your Question

If there are islands, can I get a list of the islanded buses using psspy?

asked 2022-09-22 15:37:45 -0500

bikiran1991 gravatar image

I know about psspy.tree(), but it only returns the number of buses in the swingless island. I want a list of the islanded buses. Is there a way to automate this?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2022-09-23 02:40:53 -0500

perolofl gravatar image

updated 2022-09-23 02:49:32 -0500

The easiest is to use API treedat, which returns a lot of information in a dictionary. The following will return a list with a sublist with bus numbers in every found island.

treeobj = psspy.treedat(999)
islandbuses = treeobj['island_busnum']

For eaxemple, with three islands the list may look like this:

[[101], [102], [201, 202, 203, 204, 205, 206, 211]]

This can be merged into one single list with:

islandbuslist = [j for i in islandbuses for j in i]

Now the list is:

[101, 102, 201, 202, 203, 204, 205, 206, 211]

Everything in a single line:

islandbuslist = [j for i in psspy.treedat(999)['island_busnum'] for j in i]
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Question Tools

1 follower


Asked: 2022-09-22 15:37:45 -0500

Seen: 536 times

Last updated: Sep 23 '22