Experience and Sample Programs
From the beginning of high school through the present in graduate school, I've had an interest in computer programming. I have experience with BASIC (we all start somewhere!), Visual Basic, Fortran 90+, Java, and C/C++. I've also extensively used the scientific/interpretive languages IDL and NCL. Finally, I've dabbled with C-shell and BASH scripting in the Unix environment.
The following list contains a number of programs that I have written over the years in various languages. I have provided the source code so that you can use the scripts should you wish. Feel free to modify them as you see fit. I will provide limited support, but it is unlikely that I will make major modifications to the programs on request. In most cases, these programs provide functionality that the language did not have at the time I needed it!
NCL Scripts
Non-linear Curve Fitting [Download] - This function uses the Levenberg-Marquardt least-squares non-linear curve fitting algorithm to allow the user to fit data to non-linear functions. Use of this function requires the definition of a function form to fit the data to, and therefore experience with creating NCL functions. Work in progress!
IDL Scripts
Angle averager [Download] - This function accepts an array of angles and then averages them. Using this function avoids the issues associated with averaging over a continuous and repeating numerical range.
Contour plot legend [Screenshot, Download] - This procedure creates a legend on a contour plot. It accepts positioning information, an array of contour levels and an array of colors, label sizing and spacing information and text formatting codes.
Wind rose Generator [Screenshot, Download] - This procedure reads in wind speed and direction data and creates a postscript wind rose. The user has the option of setting the width (and by extension the number) of wind direction binds, four wind speed categories, and a plot title. Note: this program requires the aspect ratio procedure created by David Fanning, which is available here.
|