The WDSS-II DocumentationWDSS-II is a framework that provides several things:
- A full-featured visualization program.
- A toolkit of meteorological applications such as for storm tracking, hail diagnosis and lightning prediction.
- A number of statistical, image processing and data mining applications. These are very general and meant to be adapted to solve your particular needs. For example, the storm clustering application (w2segmotionll) can be used to isolate storm cells in any field that you provide; the objective analysis tool (w2oban) can be used to interpolate from a set of points onto a grid.
- A set of C++ classes that provide common data access, data manipulation, numerical computations and geographical navigation. These make it convenient to develop new applications in.
- A set of (pure) Java classes that provide a similar API to the C++ library
- A set of real-time algorithms for meteorological decision support.
Pre-requisitesWhat do you need to know in order to use WDSS-II?
You should be familiar with meteorological data (especially radar data) and geographic conventions (latitude, longitude, projections, etc.). The WDSS-II applications condense the raw data into useful information, but you should be capable of interpreting the information that WDSS-II provides.
To use the WDSS-II display, you should be familiar with using computer programs. If you are reading this on the web, you qualify!
In order to change configuration files, etc. on a WDSS-II installation, you need to know how to edit text files -- we will tell you where to find the files themselves, and how to find documentation on their format.
To use WDSS-II applications or to hook together existing tools to get your research task done, you need to understand UNIX (or Linux) as a user. You don't need to know how to administer a UNIX system, but you do need to know how to navigate in a UNIX directory and how to run UNIX applications. You do not need to know C++.
To write new WDSS-II appplications, you need to know object-oriented programming, C++, Makefiles and scientific (numerical) computations.
Getting StartedWe highly recommend that you start out doing the simple things first. The best way to get familiar with WDSS-II is to try out some WDSS-II applications on some small data sets. You should work through the installation and quick start guide before you start trying to do anything more complicated.
DisplayThe wg display program is documented in terms of the knobs you can push. The interface should be fairly intuitive. Remember that most things about the display are configurable. The configuration files all reside in the w2config directory. In particular, you may be interested in
ApplicationsThe applications (both meteorological and statistical) are are briefly described in the the tools documentation. This tells you how to use a tool, but is not a convenient way to find the tool that you want (or even whether such a tool exists). That's what the WDSS-II Discussion Forum is for.
Most of the applications are configured using just the command-line options. In some cases (such as for w2alarm), the configuration is via a more complex XML file. The XML files reside in w2config/algs. There is a documentation block at the top of the existing files that describes their format.
- To create a new application that is data-driven (i.e. most meteorological applications), you can use the tool w2algcreator (PPT) .
- w2algcreator will generate all the data-access code for you and leave you with a function or two that you need to implement. This is where you do your computation on the inputs you have and write out your outputs. To accomplish these things, you can make use of an extensive set of C++ infrastructure classes . Start out by looking at the DataType classes since that is where you pick up from the auto-generated code.
- A number of statistical methods and image processing filters are available for your use. In fact, every existing WDSS-II tool is also a C++ class that you can invoke directly from your application -- these application classes may be useful to you as well. Why would you use these instead of writing your own, or getting something from Matlab, for example? Remember that these are written for real-time, streaming, meteorological data, so they understand things like missing data, out-of-sequence information, of dilating without affecting the position of the maximum, etc.
- Java infrastructure classes. You will typically subclass either Algorithm or Ingestor. Use the API to also look at expected data formats and possible options to Java programs such as Lightning Ingest.
Data formatWhat if you have a data format that WDSS-II doesn't already support? You have two options:
- Write a converter to go from that format to a WDSS-II netCDF or XML format. For that, the data format documentation will be useful.
- Write a plugin so that existing WDSS-II algorithms and tools read your format natively. This is a bit more involved; you should be very familiar with C++. Look at the class documentation for the ExtensionLoader and Builder if you plan to do this.