You are here

Week 1: Into to Data Visualization

Hi, my name is Paul Pan, and I am an undergraduate intern at CMOP for this summer. I will be working with Jesse Lopez in Dr. António Baptista’s group to develop a new web interface to create model products usable by non-specialists. Specifically, I will be creating the backend and frontend of an interface where users can upload their own data and generate different types of plots. Currently, this functionality is not possible with the data explorer on the CMOP web page.

On Monday, I attended an orientation and met all the other interns. We went on a tour of the OHSU campus and had lunch together. Afterwards, I met my mentor Jesse, and we went over the details of my project. I learned that most of my development would be in Python, a high level object-oriented programming language that I’ve had experience with. He explained to me the data visualization workflow of loading data, reshaping data, and visualizing data, and listed some of the Python libraries I would need to be familiar with for this project. I spent the rest of the day Monday setting up my development environment, and reading documentation on the modules I would be working with for scientific computing and plotting.

For the next couple days, I began working on the backend for the first plot - a velocity / salinity profile plot. This plot has a velocity vs depth curve for each 30 minute time period, colored by salinity. Some sample MATLAB scripts, written by Charles Seaton, already existed, so it was my task to look through this code and write a Python version that would have the same functionality. I spent a long time with the MATLAB debugger, going line by line through the code trying to understand how the input data was being processed.  
On Thursday, after gaining a sufficient understanding of how the data extraction and processing worked, I began to write some preliminary code in Python. I discovered we had some python libraries for data processing, written by Tuomas Karna, so that facilitated the development process.

By the end of the week, I had become a lot more familiar with the data visualization workflow and finished some preliminary code for processing data files in Python. For next week, I hope to get started on the the actual plotting component and generate some (hopefully) nice looking plots.