You are on page 1of 2

Team Information

Team Number 3
Barbara Becker: byb5169@psu.edu
George (Alex) Sokolowsky: gas5245@psu.edu
Nikita Fedkin: nmf150@psu.edu
Brady Ferster: bsf5074@psu.edu

Hyperlink for code: http://milestoneprojectmeteo473.weebly.com/milestones.html
Program Overview
The program for Milestone 2 essentially adds on to the previous code by including various
functions and classes for plotting variables. The primary focus is to plot the flight track as well as
a given variable or multiple variables for the flight track defined in the data file. While the first
milestone focused on being able to acquire and separate data, this milestone now allows this
data to be visualized in various ways. User inputs allows the user to choose what they want to
plot. A save function is also incorporated to be able to save the figures as various types.

Program Description
As in the previous version, the code asks for user inputs, beginning with the filename and file
path. If the file name needs to be changed, the user would input change. If not, they would
input no. After this, assuming the filename and file path are correct, the program will give
several options. At this point it is up to the user what they want to display. The options are:
write a text file with values of similar altitude and heading ( input writeBx)
plot any given variable in a 1D time series (input plot)
create a figure with multiple graphs (2x2) (input multiPlot)
plot the flight track on a map (input Flight Track)
make a 3D plot (input 3D plot)
two variables on the same plot or multi-axis (input MultiAxis Plot)

If the user wishes to plot a variable, the code will then prompt the user to enter the variable of
choice. For the 3D plot, a start time and stop time are required in the form YYYY-MM-DD
HH:MM:SS. The code creates two figures for the flight track; one showing the flight track on a
US map and the other one zoomed in. The multi pane option lets the user select and start and
stop time along with four variables to be plotted. The same can be done to plot two variables on
the same graph which is helpful when comparing how two variables change with time. In the
future another option to select the number of plots on one figure could be a convenient addition.
The flight track was the only plot that was not a time series, since the values of longitude and
latitude were plotted instead.
Once any of these function are completed, the code will go back to the main menu
again in case the user wants to plot something else. If he or she is done with the program, by
typing exit, the program stops running.

The code is for the most part object oriented. It is basically divided into the functions used to
create the figures for each of the options listed above. These functions are written in a
generalized manner so that they can accommodate any variable in the file. The plotting sections
of the code utilized matplotlib the graphing module for python and in the case of the flight track,
also the basemap module. Near the end of the code is where the time inputs are converted to
hours, minutes and seconds to be read by the program. Another interesting feature was the
functions that took user inputs and told python which part of the program to run or to exit the
program. This was done through the use of while loops and if statements. Overall, this saves a
lot of time and processing power by preventing the program from running all the way through
each time. The output from this program was the saved figures in the format chosen by the
user.

You might also like