Thursday, June 30, 2011

Post #4

Dates: 6/27/11 - 6/29/11

Activities: Working on TEMOA Project (Making the Graphs look "Prettier")

Technical Information: TEMOA (Python/Graphviz)

Reflection: This week I have been working with Aishwarya on the TEMOA Project. We are nearing our goal as the graphs are starting to come together and look nicer. We are working on a way for users to click on certain points of the graph so that more information can be viewed without having a cluttered graph. The file that controls how the graphs are outputted has to be coded in such a way that any data set that is inputed will have a nice looking (and soon interactive) graph.

The way that the TEMOA Project works starts with a data file. Another file will read the data file, make sure the user has entered in the data correctly, and will write to another file in graphviz. The graphviz file will execute and create a nice looking graph in the end (I am making this sound a lot easier than how the program actually executes).


Over 600 lines of Data! (click for larger image)



All combined into an easy to read model (Many different models are created when the program executes). (click for larger image)

We are making progress and we should have a good looking model by the end of the summer.



My classroom experiences have definetely helped me perform the work I'm doing. I program mostly in Python, Graphviz, C, and Bash Script for this job, but syntax isn't the problem. The programing logic I have been learning in school is what prepared me. I wish that I had learned Python earlier, and that I had more familiarity with Bash. Nevertheless, I did manage to pick up fairly quickly on these concepts.

Saturday, June 25, 2011

Post #3

Dates: 6/21/11 - 6/24/11

Activities: More work on the TEMOA Project, C/C++ Project

Technical Information: TEMOA (Graphviz & Python), C/C++

Reflection: This week I have been working a lot on the C/C++ project given to me by Sarat. I recently submitted it by the deadline given to me. The application had to add, subtract, and multiply matrices entered in by the user and I had to program the application in both C and C++. As easy as this sounds, I had to program it in a way that will allow matrices of ANY size to be accepted without the program crashing. Nevertheless, I managed to figure it out (with help from Sarat).

I continue to collaborate with Aishwarya on the TEMOA Project with the goal of improving the look of the graph. The final graph's need to be easy to read given any set of data. We are making progress and continue to meet the goals set by Dr. DeCarolis.



The work atmosphere is fairly layed back for me. I do not have many deadlines to meet (Kevin says that he doesn't like deadlines), and my work hours are very flexible. There isn't a set dress code, but everyone dresses casually. There are a bunch of restaurants near by that offer good food for a good price. The work environment is great and I am thrilled to be working here


Usually I will either be collaborating with Aishwarya, or working by myself using a second monitor (click for larger image).


This chalk board is in the room that we all work in. People typically use it to draw out an explanation (I'm using the word "typically" loosely) (click for larger image).

Tuesday, June 21, 2011

Post #2

Dates: 6/16/11 - 6/20/11

Activities: Getting used to using "Bash", Working on the TEMOA project, C/C++ Project

Technical Information: TEMOA (Graphviz/Python), C/C++, Bash

Reflection: As my first week ends and the second week begins, I have gotten used to using the "Bash" environment for work. Sarat, my mentor, said ,"At first Bash seems like a bad interface that isn't very user friendly, but as you use it more, you learn to appreciate it a lot." This is very true, I have started to like using "Bash" because its very efficient and I can do work on it fairly quickly. I even figured out how to find and download games quickly using "Bash" (on my own time of course!).

I have been working on the TEMOA project (programmed in python and graphviz) with Aishwarya and we are making progress (She is also new TEMOA project so were both trying to figure out how it works). We managed to condense a large confusing graph into a much simpler and easier to read graph.

Along with the TEMOA project Sarat gave me a side project to do. I have to create an application that will allow the user to add, subtract, and multiply matrices (he said that I will soon understand why he gave me this project). This application must be programmed in C++, along with another copy programed in C, and I have 1 and 1/2 weeks to finish it.



I will be collaborating with Aishwarya on the TEMOA project for the majority of my internship along with a few side projects that may be given to me. Kevin and Sarat will be continuing to help me along the way. I am enjoying working here and I still have a lot more to learn.

Thursday, June 16, 2011

Post #1

Dates: 6/13/11 - 6/15/11

Activities: Learn how to use UNIX, and program in Python

Technical Information: Bash (UNIX Shell), C/C++, Python, Linux, TEMOA, Graphviz

Reflection: This week I began my internship at NC State and learned how to use "Bash" which is a "UNIX Shell" (Command line interpreter). Bash is a command processor that is typically run in a text window, allowing the user to type commands which causes actions (i.e. opening files, creating files, executing programs). I was given a laptop with a Fedora (Linux) Operating System. Most of my work will be done using this system.


(This is what shows up on my command prompt (Bash) when I log into the server. Click for larger image)

In addition to learning how to use "Bash", I was introduced to the TEMOA Project, which is what I will be working on for the majority of my internship. TEMOA is and acronym for "Tools for Energy Model Optimization and Analysis." In order to work on this project I need to learn Python (a general purpose high-level programming language), and Graphviz (short for Graph Visualization Software, and a fairly easy to understand language). I will be working with another graduate student, Aishwarya, to figure out how to make easily readable graphs from a set of data.

My mentors, Kevin and Sarat (also working on the TEMOA Project), have been great teachers and will continue to be. Without them it probably would have taken a month for me to acquire all the information I've learned this week. Kevin said to me, "Your learning curve this week is not vertical, 'cause that's impossible, but it's almost!"



The main purpose of the TEMOA Project is provide future insight about energy policies (uses of different energy resources such as coal, wind, nuclear, etc.) and technology deployment (such as heating, lighting, transportation, etc.). This is important as over the next few decades climate change and how we use our energy resources will determine changes in the global supply, transport, and use of energy. TEMOA is an open-source model that anyone, who is interested, can view the source code and run it. Stanford also has energy system models that anyone can view, but the underlying code is not viewable, which means the user cannot see how the underlying equations and data lead to specific outcomes. More specific information about the project can be found at: http://www.temoaproject.org/about/