You are here

Final Week: Succumbing to Sudden Sentimentalism

Last night I succumbed to a sudden bout of uncharacteristic sentimentalism.  With my internship was drawing to an end, I had a sudden urge to learn Good Riddance (Time of Your Life) by Greenday on guitar at 1 AM.  As I was strummed and sang, my brain automatically translated some of the lyrics into Matlab code.  This is gonna sound lame, but it demonstrates how far Matlab has merged with my psyche.

It's something unpredictable
But in the end it's right
I hope you had the time of your life

%% Matlab Translation
% skip this section if you are not familiar with Matlab to avoid
% a wtf?! moment, although knowing Matlab will probably
% result in the same reaction

summer_experience=rand(internship);  % unpredictable outputs
end; right = logical(summer_code);  % evaluates to 1 (true)
time_of_life=emotion(right);

% when run, the command window displays the following:

??? Error using ==> emotion
‘emotion’ not a valid Maltab function. 

% This is probably going to be cited as one of the most
% unsuccessful attempts at a Matlab based joke
% Worse than trying to Rickroll a dinoflagellate

This internship was an awesome learning experience, and I’m pleased to be able to show results.  I developed a set of two matlab programs for obtaining data from the APNA.  The first is APNADataAutoProcessor.m, which is a heavily modified version of the program created for OHSU by the makers of the APNA, Sub Chem Systems Inc.  It’s been modified to reduce the need for human inputs, and to serve as a sort of preprocessor for its more exciting sibling, the APNADataGUI.  This is a graphical user interface that plots points from a summary excel file generated by the preprocessor.  Each point in the plot is flagged with a color, and clickable.  When a point is clicked, data about that point is displayed in a textbox next to it.  When the enter key is pressed a secondary GUI window is opened, which allows measurement location to be relocated using sliders.  These two windows together allow much faster processing of APNA batch data. 
Basically, the period of mental gestation of the code is over. The program is ready to enter its infancy as a tool to increase our understanding of the biogeochemical nutrients of the Columbia River.

 

 Below are some pictures of the main and secondary GUI windows:

The main GUI window gives the user an idea of the trends in the data, as well as information about the individual points.

The secondary window opens the plot of the data that the point in the main gui was extracted from.  Sliders allow readjustment of measurement locations, and buttons allow deleting, saving, toggling between files and flagged files.  The done button returns the user to the main GUI window.

I'd like to thank my mentors for making this summer productive and successful.  Melissa Gilbert, my frontline mentor, who advised me on this project and expanded my horizons to the world of oceanography.  Dr. Joseph Needoba, my senior advisor, who provided valuable inputs to the project, and Dr. Grant Law, who helped me overcome coding obstacles.
I'd also like to thank CMOP and Vanessa Green for giving me this learning opportunity this summer.

-Ezra