Repository navigation
Connor McCary's Notebook
- First week of the semester: introduced to team and discussed team overview and outlook for the semester.
- From the subteam, descriptions I researched some of the technologies we would be using, such as ROS, HELICS, GRIDLAB-D, GitHub.
- I chose to pursue Device-Modeling subteam.
- Second team meeting of the semester: We split into our respective subteams and agreed upon a subteam meeting time of 7:00 PM on Mondays.
- We agreed that our initial goal is to research the problem domain, which basically means to learn as much as possible about substations.
I reviewed this high-level overview of substation operations and technologies.
https://www.nationalgrid.com/stories/energy-explained/what-is-a-substation
Findings: - substations play key part in effectively transmitting electricity
- main role is to convert electricity into different voltages
- contain specialist equipment that step up or step down voltage via transformers
- two common types of substations: transmission substations and distribution substations
- transmission substations are found outside of power generating stations; converts levels received into suitable amounts for transmission
- distribution substations: lower voltages to useable levels for homes and businesses
- Also contains specialist equipment that prevents local network failures or power cuts; caused by overload of current in the network, mechanical failure, or adverse weather
- In our subteam meeting, we divided the tasks for our Kickoff Presentation. This week I spent time putting together the project roadmap which detailed our iterative goals/milestones throughout the semester. Briefly we broke down the next few steps as
- research: current stage we are in; build up conceptual model of substation
- modular development: independently prototype basic structures and functionality of substations via code
- aggregation: combine these components into larger arrangements
- simulation: simulate the co-operation of these components
My research for this week included reviewing OSHA's glossary of substation components:
https://www.osha.gov/etools/electric-power/illustrated-glossary/sub-station
Findings:
- Responsibilities of a substation are to switch generators, equipment, and circuits/lines in and out of a system
- change AC levels or DC to AC and vice versa
- Step-Up Transmission Substation: increase voltage for transmission to distant locations; transmission
- Step-Down Transmission Substation: located at switching points in the electrical grid; source for subtransmission or distribution lines
- Distribution Substation: located near end-users; change transmission or subtransmission voltage to lower levels for use by end-users
My understanding is that we are modeling a transmission substation, but for future semesters, it could be expanded to distribution substations as well.
Note for future reference:
Proper way to update repository
git pull
make
make install
Additionally, remember to run nix develop
I successfully ran the Gridlab-D simulation with ./run_example.sh. For reference, I am using an Intel x86 Mac, while my teammates on different OS had difficulties running the example. In class, we discussed the upcoming IPR1 presentation and the midterm paper.
For research this week, I watched
Identify Equipment in a Substation
which gave me a better mental model and the ability to identify different components and their functionality when actually looking at substations.
In our subteam meeting, we reviewed the rubric for the IPR1 presentation. We compiled a outline document and a slide deck for our presentation. My individual task within the assignment was to put together a slide on how we will be using Gridlab-D to support the co-simulation of the grid.
Findings:
Analysis and Visualization:
- Gridlab-D allows us to visualize our simulated processes and sensor data.
- This allows us to verify the behavior/performance of our model in real time.
Modular Representation:
- In GLD, we can create detailed distribution system components
- We can model transformers, circuit breakers, switches, and protection devices
Data Exchange:
- We will exchange data from GLD with simultaneously running Python scripts, such as voltage and current measurements, control signals, and other relevant information
- The Python scripts will use this information to update the states of the internal components of the substation and the behavior of the system.
Following the completion of IPR1, this week's meeting primarily centered around charting the future course for our project. Considering the valuable feedback received during the IPR1 presentation, our discussions delved into refining the project direction, addressing technical challenges, and strategizing our approach for the upcoming midterm paper draft, especially with the extended deadline to October 19th, post the Fall break.
Given the extended deadline to October 19th due to Fall break, our team focused on refining and drafting the midterm paper. We allocated specific sections to individual team members for detailed write-ups, emphasizing clarity and coherence in presenting our project's progress and future milestones.
My responsibilities for the paper include:
- Provide an introduction to your research topic, its significance, and the objectives of your study. Mention the research questions or hypotheses you aim to address.
- Description of OOP-Powered Simulation Model Repository
This week I worked on the final touches for our midterm paper before the looming deadline. I dedicated considerable time refining my assigned section, aiming for accuracy and depth in its content. I read the following articles for reference.
Spiceworks Article on OOP:
https://www.spiceworks.com/tech/devops/articles/object-oriented-programming/#:~:text=Object%2Doriented%20programming%20(OOP)%20is%20defined%20as%20a%20programming,the%20usual%20logic%2Dbased%20system.
Kyle Shevlin's Article on Simulation Pattern:
https://kyleshevlin.com/simulation-pattern
This week, our focus within the Device Modeling Subteam was to outline the project roadmap leading up to IPR2. Our aim is to adhere strictly to a fail-hard, contract-based approach for device modeling. This approach prioritizes immediate error reporting when encountered, aligning with the principles of Design by Contract (DbC). This strategy simplifies debugging processes and upholds the integrity of contract conditions.
Project Outline:
Task 1: Co-Simulation Environment Setup (Completed)
Successfully set up the co-simulation environment and executed the simple_gridlabd_example, marking a completed task.
Task 2: Circuit Breaker
Objective: Develop a model for the circuit breaker capable of opening and closing to safeguard the grid against faults.
Ensure the model effectively responds to signals from protection relays.
Task 3: Transformer
Objective: Create a model that accurately mirrors the behavior of a transformer in response to changing tap settings.
Implementation of the ability to adjust tap settings based on commands from the bay controller.
Task 4: Bay Controller
Objective: Integrate the bay controller with models for circuit breakers and transformers.
Task 5: Protection Relay
Objective: Develop a model for protection relays to detect and respond to faults within the grid.
Task 6: Voltage Monitoring and Reporting
Objective: Implement voltage monitoring functionality for devices such as transformers and circuit breakers.
Creation of a reporting mechanism to transmit voltage data to the bay controller.
Task 7: Integration Testing
Objective: Collaborate with the Co-simulation Subteam to validate device models within the co-simulation environment.
Verification that the models respond appropriately to voltage variations.
This week, I accomplished Task 3 within the Device Modeling Subteam, which involved crafting a model for the transformer. The primary focus was on accurately reflecting its behavior in response to changing tap settings. Additionally, I worked on laying the groundwork for future functionality, aiming to enable adjustments to tap settings based on commands originating from the bay controller.
Link to commit: https://github.com/cps-vip/cps-cosimulation-env/commit/0eeca77f5839f7f71315d1cc7a5138969dcf643c
This week, I continued my work within the Device Modeling Subteam, focusing on modeling substation components. In our team meeting, we created of a research document to compile findings and results for the final draft of our research paper.
One of the key topics we discussed in detail during the meeting was the formulation of a modeling scenario. The scenario description focuses on evaluating the performance of a substation concerning voltage regulation, particularly during nighttime when the electrical power system encounters challenges due to voltage fluctuations. The simulation aims to assess the substation's capability to maintain voltage within acceptable limits, especially during peak periods or unexpected load variations.
Researched Incoporating Design By Contract: https://python.plainenglish.io/design-by-contract-in-python-44db6e899db2
This week, following the implementation of the transformer model, my focus shifted towards researching on unit testing methodologies and creating simple demos.
Reference: https://www.dataquest.io/blog/unit-tests-python/
Considering employing Test Driven Development for the modular components. Tests closely resemble required behaviors of components. https://www.browserstack.com/guide/what-is-test-driven-development#:~:text=Test%2Ddriven%20development%20(TDD)%20is%20a%20software%20development%20practice,and%20then%20refactoring%20the%20code.
Week of Thanksgiving.
This week, I created a demo for the transformer model. It shows how adjusting the tap position affects the secondary voltage using the turn ratio. This demo helps illustrate how the transformer works and how changing taps impacts voltage regulation.
Link to commit: https://github.com/cps-vip/cps-cosimulation-env/commit/deb0fdbd1b14d3832c0df18445ae324f67a736a2
Also, I spent time making slides for our final presentation. One slide, "Device Modeling Milestones: IPR1 to Present," shows all the devices we've built so far. Another slide, "Key Takeaways & Future Plans - Device Modeling," summarizes what we've learned and outlines our future plans.

I focused on my contributions to the final research paper this week, specifically working on two sections:
Introduction
I edited the introduction section for our research paper. This part aims to provide an overview of our research topic, emphasizing its significance and outlining the study's objectives. In this section, I've highlighted the research questions or hypotheses we aim to address throughout the paper.
Section 5.2: Enhanced Device-Communication Integration
This section delves into the enhanced integration of device communication protocols using PyModbus, DNP-3, and IEC 61850. It emphasizes how these protocols contribute to improved communication and coordination among devices within our system.
References:
https://pymodbus.readthedocs.io/en/latest/source/readme.html
https://www.dnp.org/About/Overview-of-DNP3-Protocol
https://www.tandfonline.com/doi/abs/10.1080/02564602.2018.1476191
Active Notebooks
- Aditi Kulkarni's Notebook
- Aly Aadil Salewala's Notebook
- Carter Pattison's Notebook
- Christopher Gossmann's Notebook
- Esha Pansara's Notebook
- Estelle Jung's Notebook
- Favour Adekola's Notebook
- Galadriel Cho's Notebook
- Prisha Baravkar's Notebook
- Rishika Vunnama's Notebook
- Ryosuke Shibuya's notebook
- Txaber Trevino's Notebook
- Zeus Banda's Notebook
Archive
- Adam McAndrews Notebook
- Albert Nguyen Notebook
- Alexander Rice's Notebook
- Amani Bedwa's Notebook
- Aparupa Brahma's Notebook
- Arya Gujarathi's Notebook
- Bermet Talantbekova's Notebook
- Calvin Rioux's Notebook
- Christina Shih Notebook
- Chungman Kim's NoteBook
- Connor McCary's Notebook
- Dhruv Patels Virtual Notebook
- Elliot Kantor's Notebook
- Ethan Lee Notebook
- Filippos Notebook
- Gweneth Smith's Notebook
- Hubert Pan's Notebook
- Hussein Rmaile Notebook
- Isabella Jemal's Notebook
- Joseph Masson's Notebook
- Jude Karaki Notebook
- Kaden McCartney's Notebook
- Maria Cymbalyuk's Notebook
- Natalie Ajemian's Notebook
- Nguyen Nguyen's Notebook
- Nicholas Reed's NoteBook
- Piper Wright's Notebook
- Quintin's notebook
- Rahil's Notebook
- Raj Patel Notebook
- Reva Hajarnis Notebook
- Rick Berglund's Notebook
- Rossy's Notebook
- Sabina Sokol's Notebook
- Safiy Malik Notebook
- Sam Ling's Notebook
- Sam Litchfield Example Notebook
- Shrayes Upadhyayula Notebook
- Soyoung Moon's Notebook
- Suraj Shekar Notebook
- Vidur Modgil's Notebook
- Xin Zhao Notebook
- Xinyan(Rose) Jiang's Notebook
- Zaeem Ahmad Notebook