IEEE Electrification Magazine - March 2016 - 29

Once the network and end-user models have been generated, the next step in the cosimulation is to enable communication between the tools, in this case MATPOWER and
GridLAB-D. Bus.py is an abstract software transmission bus
interface that facilitates the cosimulation of tools, e.g.,
customer HEMSs and the distribution feeder. The finegrained modeling of the distribution system in GridLAB-D
makes it an ideal tool to perform smart grid technology
studies at the distribution level. Bus.py leverages the finegrained modeling and interprocess communication of
GridLAB-D to enable a myriad of future-grid scenarios.
The name Bus.py derives from the fact that its purpose is
to emulate a transmission-level bus. To accomplish this goal,
an abstract interface is provided in Python that includes interprocess communication to the distribution simulator GridLAB-D. To facilitate interactive simulation, GridLAB-D currently
provides a Hypertext Transfer Protocol (HTTP) server for interprocess communication. Other implementations provided by
the Bus.py interface are a constant load bus, time-series load
bus, and resistance-based load bus (where a Thévenin equivalent resistance is used in conjunction with Ohm's law to determine the load at a bus). This section focuses on our implementation of our Bus.py interface with GridLAB-D.
The guiding principle of Bus.py is a flexible and easy-to-use
interface to enable the cosimulation of electric power system
tools. Pseudocode that describes the operation of Bus.py with
a generic cosimulator (e.g., microgrid controller, HEMS controller) is presented in Figure 11. Bus.py has four main functions:
load_bus, start_bus, transaction, and stop_bus.
The load_bus function reads from a bus input file all
relevant parameters for Bus.py to be used during the cosimulation process. The input file will specify which type of bus
will be modeled (e.g., a GridLAB-D bus), simulation time information (i.e., start time, stop time, and time step), and any
other relevant parameters for that bus type. The input file
is specified using the JavaScript Object Notation, an easyto-read set of key-value pair strings. Load_bus will
return a Bus object to be used for the cosimulation. Once
a Bus object is loaded and the cosimulator is initialized,
start_bus will commence the bus cosimulation environment. In the case of a GridLAB-D bus, this will initiate
a GridLAB-D simulator process and start its HTTP server
for interprocess communication with the Bus.py interface.
After the cosimulation environment is commenced
with start_bus , the main simulation loop begins.

Transmission Node i

Subfeeder
1

LP0

LP1

Feeder 1

Feeder n

LP: Load Point

Figure 7. Connection of GridLAB-D feeders to the Roy Billinton test system transmission bus.

LV Network

LP
A

TL
RL
TN
A
A
A
TL
RL
TN
B
B
B
TL
RL
TN
C
C
C
Distribution Distribution Residential
Bus
Lines
Loads

DT
A
DT
B
C
DT
C
Step-Down
Point
B

Figure 8. The load points connected to the GridLAB-D feeder model.

Real Power (kW)

control of Distributed Energy resources
in GridLaB-D Using Bus.py

Primary Feeder

6
5
4
3
2
1
0

Reference Limit: 5 kW

0

5

10
15
Time in Hours (t )

20

Figure 9. A subset of load curves for individual houses on the GridLAB-D
feeder.

3,500
3,000
2,500
Power (W)

varying the rate parameter of a Poisson process, we can
determine the usage pattern of individual smart grid technologies that sum to the aggregate house load. An example
household load curve generated from this method is given
in Figure 10. The combined top-down, bottom-up approach
will ensure that hundreds of thousands of individual
smart grid technologies will each operate in a way that
match the desired system load behavior.

2,000
1,500
1,000
500
0
00:00 12:00 00:00 12:00 00:00 12:00
01-June
02-June
03-June
Generated Average
Usage Pattern
Desired Usage Pattern

Figure 10. An example usage pattern generated by the Mt/G/∞ queue
model for a single home. The dashed green line represents the desired
load from the top-down approach. The solid blue line is the generated
usage pattern averaged over 500 samples.

IEEE Electrific ation Magazine / March 2 0 1 6

29


http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py http://www.Bus.py

Table of Contents for the Digital Edition of IEEE Electrification Magazine - March 2016

IEEE Electrification Magazine - March 2016 - Cover1
IEEE Electrification Magazine - March 2016 - Cover2
IEEE Electrification Magazine - March 2016 - 1
IEEE Electrification Magazine - March 2016 - 2
IEEE Electrification Magazine - March 2016 - 3
IEEE Electrification Magazine - March 2016 - 4
IEEE Electrification Magazine - March 2016 - 5
IEEE Electrification Magazine - March 2016 - 6
IEEE Electrification Magazine - March 2016 - 7
IEEE Electrification Magazine - March 2016 - 8
IEEE Electrification Magazine - March 2016 - 9
IEEE Electrification Magazine - March 2016 - 10
IEEE Electrification Magazine - March 2016 - 11
IEEE Electrification Magazine - March 2016 - 12
IEEE Electrification Magazine - March 2016 - 13
IEEE Electrification Magazine - March 2016 - 14
IEEE Electrification Magazine - March 2016 - 15
IEEE Electrification Magazine - March 2016 - 16
IEEE Electrification Magazine - March 2016 - 17
IEEE Electrification Magazine - March 2016 - 18
IEEE Electrification Magazine - March 2016 - 19
IEEE Electrification Magazine - March 2016 - 20
IEEE Electrification Magazine - March 2016 - 21
IEEE Electrification Magazine - March 2016 - 22
IEEE Electrification Magazine - March 2016 - 23
IEEE Electrification Magazine - March 2016 - 24
IEEE Electrification Magazine - March 2016 - 25
IEEE Electrification Magazine - March 2016 - 26
IEEE Electrification Magazine - March 2016 - 27
IEEE Electrification Magazine - March 2016 - 28
IEEE Electrification Magazine - March 2016 - 29
IEEE Electrification Magazine - March 2016 - 30
IEEE Electrification Magazine - March 2016 - 31
IEEE Electrification Magazine - March 2016 - 32
IEEE Electrification Magazine - March 2016 - 33
IEEE Electrification Magazine - March 2016 - 34
IEEE Electrification Magazine - March 2016 - 35
IEEE Electrification Magazine - March 2016 - 36
IEEE Electrification Magazine - March 2016 - 37
IEEE Electrification Magazine - March 2016 - 38
IEEE Electrification Magazine - March 2016 - 39
IEEE Electrification Magazine - March 2016 - 40
IEEE Electrification Magazine - March 2016 - 41
IEEE Electrification Magazine - March 2016 - 42
IEEE Electrification Magazine - March 2016 - 43
IEEE Electrification Magazine - March 2016 - 44
IEEE Electrification Magazine - March 2016 - 45
IEEE Electrification Magazine - March 2016 - 46
IEEE Electrification Magazine - March 2016 - 47
IEEE Electrification Magazine - March 2016 - 48
IEEE Electrification Magazine - March 2016 - 49
IEEE Electrification Magazine - March 2016 - 50
IEEE Electrification Magazine - March 2016 - 51
IEEE Electrification Magazine - March 2016 - 52
IEEE Electrification Magazine - March 2016 - 53
IEEE Electrification Magazine - March 2016 - 54
IEEE Electrification Magazine - March 2016 - 55
IEEE Electrification Magazine - March 2016 - 56
IEEE Electrification Magazine - March 2016 - 57
IEEE Electrification Magazine - March 2016 - 58
IEEE Electrification Magazine - March 2016 - 59
IEEE Electrification Magazine - March 2016 - 60
IEEE Electrification Magazine - March 2016 - 61
IEEE Electrification Magazine - March 2016 - 62
IEEE Electrification Magazine - March 2016 - 63
IEEE Electrification Magazine - March 2016 - 64
IEEE Electrification Magazine - March 2016 - Cover3
IEEE Electrification Magazine - March 2016 - Cover4
https://www.nxtbook.com/nxtbooks/pes/electrification_december2022
https://www.nxtbook.com/nxtbooks/pes/electrification_september2022
https://www.nxtbook.com/nxtbooks/pes/electrification_june2022
https://www.nxtbook.com/nxtbooks/pes/electrification_march2022
https://www.nxtbook.com/nxtbooks/pes/electrification_december2021
https://www.nxtbook.com/nxtbooks/pes/electrification_september2021
https://www.nxtbook.com/nxtbooks/pes/electrification_june2021
https://www.nxtbook.com/nxtbooks/pes/electrification_march2021
https://www.nxtbook.com/nxtbooks/pes/electrification_december2020
https://www.nxtbook.com/nxtbooks/pes/electrification_september2020
https://www.nxtbook.com/nxtbooks/pes/electrification_june2020
https://www.nxtbook.com/nxtbooks/pes/electrification_march2020
https://www.nxtbook.com/nxtbooks/pes/electrification_december2019
https://www.nxtbook.com/nxtbooks/pes/electrification_september2019
https://www.nxtbook.com/nxtbooks/pes/electrification_june2019
https://www.nxtbook.com/nxtbooks/pes/electrification_march2019
https://www.nxtbook.com/nxtbooks/pes/electrification_december2018
https://www.nxtbook.com/nxtbooks/pes/electrification_september2018
https://www.nxtbook.com/nxtbooks/pes/electrification_june2018
https://www.nxtbook.com/nxtbooks/pes/electrification_december2017
https://www.nxtbook.com/nxtbooks/pes/electrification_september2017
https://www.nxtbook.com/nxtbooks/pes/electrification_march2018
https://www.nxtbook.com/nxtbooks/pes/electrification_june2017
https://www.nxtbook.com/nxtbooks/pes/electrification_march2017
https://www.nxtbook.com/nxtbooks/pes/electrification_june2016
https://www.nxtbook.com/nxtbooks/pes/electrification_december2016
https://www.nxtbook.com/nxtbooks/pes/electrification_september2016
https://www.nxtbook.com/nxtbooks/pes/electrification_december2015
https://www.nxtbook.com/nxtbooks/pes/electrification_march2016
https://www.nxtbook.com/nxtbooks/pes/electrification_march2015
https://www.nxtbook.com/nxtbooks/pes/electrification_june2015
https://www.nxtbook.com/nxtbooks/pes/electrification_september2015
https://www.nxtbook.com/nxtbooks/pes/electrification_march2014
https://www.nxtbook.com/nxtbooks/pes/electrification_june2014
https://www.nxtbook.com/nxtbooks/pes/electrification_september2014
https://www.nxtbook.com/nxtbooks/pes/electrification_december2014
https://www.nxtbook.com/nxtbooks/pes/electrification_december2013
https://www.nxtbook.com/nxtbooks/pes/electrification_september2013
https://www.nxtbookmedia.com