MetPX - Open Source GTS Switching

$Date: 2013-10-10 12:39:55 -0400 (Thu, 10 Oct 2013) $


MetPX is a message switching system for use with World Meteorological Organization (WMO) Global Telecommunications System (GTS) circuits based on TCP/IP. The system is already production quality for a limited set of features and is in production use at the CMC as the core of our national switching infrastructure for bulletins, as well as file data (satellite, RADAR, numerical outputs, charts & imagery...) It is used to ingest from a NOAAPORT feed, as well as two GTS protocol links, feed several hundred clients in both socket and file based feeds, provide Canadian participation in Unidata and TIGGE via a bridge to LDM, as well as NAEFS via direct file transfer. MetPX is unique in its ability to run fine-grained routing with low latency and high performance. Developed at the Canadian Meteorological Centre of Environment Canada for our own use. Licensed under GPL for collaborative development, MetPX aims to be to meteorological switching what apache is to web serving.

[Documentation] [Download] [Download] [Getting Source Code] [References & Links]
[ mailing-lists: metpx-devel., metpx-commit. ] [ Main Project page: Sourceforge ]

Protocol support:


There are three modules in the project right now. Modules of MetPX are named after species of plant which are endangered in Canada (see Species at Risk for more details.)

Platform: we build packages for Debian Derived Linux (Debian Sarge, Etch. any Ubuntu will do). Any modern Linux should do. (stock 2.6 or 2.4 with many patches.) Python >2.3

Licensing: GPLv2


Download Packages


Sundew is rather stable for now, current work is on improving the installation process by implementing Debian packages. A package for the sundew module is available from the sourceforge site, in either source or .deb form. We hope to produce packages for columbo at some point.

Getting Source Code

Currently internal installations are done, one at a time, from source. Development is done on the trunk release. When we install operationally, the process consists of creating a branch, and running the branch on a staging system, and then implementing on operational systems. There are README and INSTALL files that can be used for installation of sundew. One can follow those instructions and get an initial installed system.

It is critical to install the cron cleanup jobs (mr-clean) since otherwise the server will slow down continuously over time until the system slows to a crawl. If you Best bet is to subscribe to the mailing list and let us know what is stopping you from trying it out, it could inspire us to work on that bit faster to get some collaboration going.

with those explanations, feel free to grab a snapshot can be obtained using subversion via:

Available for anonymous read-only access. One can also download a stable release by doing an checkout by accessong the currently highest numbered branch.

References & Links

Other, somewhat similar software, no endorsements or judgements should be taken from these links: