This is an overview of some of the computational classes and programs I've developed for this project (certainly subject to change).
• HorizField
A class to store a two-dimensional vector field in a NumPy array. It can import data from a Typhoon INR, or a binary file from either Dr. Richter's LES at Notre Dame or Dr. Sullivan's LES at NCAR. For LES, there's an option to import multiple files and store the average field. Also includes some methods that operate on the field.
• LESData
A class that imports and stores a two-dimensional scaler field from an LES binary file into a NumPy array.
• ScatterGraphs
This class uses Matplotlib to create scatterplots and colormaps of 2-D vector fields.
• animator.py
A program that uses Matplotlib to animate a changing scalar field. I would prefer this functionality be
contained inside the ScatterGraphs class, but that implementation was problematic.
• sliceToTif.py
A small program that uses PIL to create TIFF6 floating point images from a 2-D NumPy array.
• typhoonControl.py
Runs on the server along with cutyphoon_server to send it arrays of data. Created from an example written by Dr. Pierre Derian.
• typhoonOptimizer.py
Runs on the server, calling cutyphoon repeatedly on the same LES simulation with differing parameters. It automatically compares each typhoon output with the actual LES vector field and adds the results to a CSV. The CSV can then be analyzed to determine the ideal parameters for that particular simulation.