Mario Latendresse

 

 

Title:  Scalable Real-time Weather Server Written in Scheme

 

Abstract: For several years, the Navy has been using Scheme at the core of the Metcast system for distribution of real-time weather information. It is composed of meteorological decoders and servers accessible around the world, using the HTTP protocol. The decoders populate several databases of weather observation reports, forecasts, and gridded data produced by weather models. The requests to Metcast are formulated in a custom made language, its syntax being an S-expression. The responses are returned as binary data or an OMF, an XML instance.

Recently Metcast has been modified to run under the persistent module fastCGI of Apache. Under it, Metcast becomes highly scalable as it can be run on a cluster of heterogeneous computers. A new tool has been added to generate decoders in Scheme. It is based on a cascade of lexers, described by tagged regular expressions. We present the latest Metcast architecture and the technical details of the integration of a Scheme implementation with other fundamental Unix software. We argue that the Metcast implementation, and Scheme, could not have been accepted by the Navy if it were not for its full integration with common Unix tools and software.