AWIDS - Advanced Weather Interactive Diagnostic System ## !!! DISCLAIMER !!! ## CODE IS STILL NOT HEAVILY DOCUMENTED Author: Kelton Halbert Website: http://tempestchasing.com Email: keltonhalbert@tempestchasing.com Special Thanks: Greg Thompson of UCAR for the list of METAR stations and their coordinates. This list can be found at http://weather.rap.ucar.edu/surface/stations.txt Contributors: Greg Blumberg (The University of Oklahoma - School of Meteorology), Patrick Marsh (The National Severe Storms Laboratory / Hazardous Weather Testbed), Tim Supinie (The University of Oklahoma) If you would like to skip the how and why the program works and just learn how to run it, skip ahead to #3. 1) About The Program: AWIDS came out of the desire to compare surface observations (METAR data) to model analyses. The hope was to provide a visual analysis that tampered as little with the data as possible to allow the forecaster to decide what could be an error and what could be an actual weather phenomenon. After that came the idea to compute conserved variables and vector calculus, things normally done with model analyses, and see how they held up with raw observations. With help from Greg Blumberg and Patrick Marsh, I was able to plot several of these advanced diagnostics - hence the name of the program. Now the hope is that these advanced computations are of use to forecasters everywhere. AWIDS is built in Python; partly due to personal preference, and partly due to the desire to make open source code. This program is built on top of the MATPLOTLIB, Basemap, Numpy, and Scipy libraries. REQUIRED LIBRARIES: MATPLOTLIB - http://matplotlib.sourceforge.net/ BASEMAP - http://sourceforge.net/projects/matplotlib/files/matplotlib-toolkits/ SCIPY - http://www.scipy.org/ NUMPY - http://numpy.scipy.org/ CYTHON - http://http://cython.org 2) How The Program Works: AWIDS works by decoding raw METAR files and loads them into dictionaries through the readmetar.py file. This is then passed into gridmaker.py, which in turn loads the data onto a 40km grid. The blank areas are then interpolated using a barnes analysis. The default radius of influence is 250km, but can be changed in the AWIDS.py script. Gridmaker then returns a tuple of (X, Y, Z, Contour Levels, Colormap, Plot Description) that AWIDS.py uses to make the plots. 3) How To Run the Program: Move the AWIDS.py file out of the download folder to a location of your choice. Run the setup script by changing your directory to where you have AWIDS stored: i.e., 'cd /path/to/AWIDS' sudo python setup.py build sudo python setup.py install After that, you can DELETE you AWIDS folder. You don't need it anymore. Open up your terminal and change your directory to where you have AWIDS.py stored, i.e. 'cd ~/Desktop/' In your terminal prompt, type : chmod +x ./AWIDS.PY Running is very simple: type in the command './AWIDS.py' without the quotes. This will run with the latest available METAR data and a command prompt will appear. At the command prompt, you will see a print of the available options: PAREA = PFUNC = SAT = WIND = PAREA stands for Plot Area PFUNC stands for plot function SAT dictates the satellite data type WIND is for the type of wind barb to plot Valid Options for PAREA: PAREA = CONUS will plot the continental US data PAREA = GOES-E is for satellite data plots PAREA = insert_station_id_here (i.e. KBNA ) will center the plot on a particular station Valid Options for PFUNC: The following are valid plot functions and their descriptions: TMPF - Temperature (Fahrenheit) TMPC - Temperature (Celsius) DWPF - Dewpoint (Fahrenheit) DWPC - Dewpoint (Celsius) WSPD - Windspeed (Knots) PRES - Sea Level Pressure (Millibars) THTA - Theta (Kelvin) THTE - Theta-E (Kelvin) MIXR - Mixing Ratio (1/kg) RELH - Relative Humidity (%) VORT - Vorticity (1/s * 10^5) DIVR - Divergence (1/s * 10^5) TPFA - Temperature Advection (Degrees Fahrenheit / 1 hour) TPCA - Temperature Advection (Degrees Celsius / 1 hour) MXRA - Mixing Ratio Advection (W / 1 hour) THEA - Theta-E Advection (Degrees Kelvin / 1 hour) 3TPF - Three Hour Temperature (Fahrenheit) Tendency 3TPC - Three Hour Temperature (Celsius) Tendency 3DWF - Three Hour Dewpoint (Fahrenheit) Tendency 3DWC - Three Hour Dewpoint (Celsius) Tendency 3PRS - Three Hour Sea Level Pressure (Millibar) Tendency 3THA - Three Hour Theta (Kelvin) Tendency 3THE - Three Hour Theta-E (Kelvin) Tendency 3VOR - Three Hour Vorticity (1/s * 10^5) Tendency 3DIV - Three Hour Divergence (1/s * 10^5) Tendency Valis options for SAT: SAT = VIS Visible Satellite data SAT = IR IR Satellite Data Valid Options for WIND: WIND = BARB This will plot only the observed METAR station wind barbs WIND = STRM This plots streamlines. Works best with PAREA = CONUS or GOES-E. Broken for everything else. Please report errors/issues to keltonhalbert@ou.edu