Latest News

Quick guide
Article for Geo Quarterly

Project | Wiki
What's new

Problem reports

What is Nbsp?

The Noaaport Broadcast System Processor (nbsp) is a software suite for receiving, processing and distributing the contents of the noaaport data stream. The program is developed in FreeBSD, and packages exist for FreeBSD, the CentOS, Debian and Ubuntu distributions of Linux.

The core module of nbsp, written in C, receives and unpacks the noaaport data fragments, and stores the complete reassembled files in a ready-to-use format on a local disk. The files are then procesed further by a comprehensive set of scripts and libraries written in Tcl, suitable for particular applications including,

Nbsp comes with extensive and flexible facilities to enable product arrival notifications, database insertions, web site transfers and many other extensions.

None of these configurations excludes the others, and these various data directories can be placed under one parent directory such that the different data formats can serve different purposes. This data directory, which resides in the nbsp server machine, can be exported via samba, to windows PC machines, in which the text, sat, rad and digatmos directories can be mounted and accessed as if they were stored in a local drive in the PC.

nbsp is compliant with the Open Nexrad Data Access Specification, which aims to make the raw radar data available to clients in a conventional manner. This means that, by default, nbsp creates a directory layout and provides the infrastructure to support services and clients that have adopted this specification, such as GRLevel3 and Digital Atmosphere.

nbsp can distribute the files through the network in various formats, including standad http and ftp channels, or the QBT (Quick Block Transfer ``byte blaster'') format used by emwin(pure text bulletins as well as jpg satellite images and gif radar images). It has the capability to distribute the files by nntp, via an inn news gateway, and by RSS feeds accessible from the built-in web server.

nbsp has a web interface for monitoring its activities. The built-in web server supplies information about the files received, and can report various statistics that nbsp keeps about its internal state. The web server is based on the tclhttpd library, which is extensible and can be adapted to many uses.

An ``exporter'' module allows client applications to query and retrieve all the data stored by the server, by sending a few simple http commands to the web server.

nbsp can insert the files in an ldm queue, allowing a running ldm to distribute and/or process the files further in the usual way.

nbsp can run standalone, or in a master-slave mode combination. In a master-slave setup, the master instance of nbsp receives the broadcast stream in one computer, and then transmits the complete files to a slave instance of nbsp running in a different computer for further processing and/or distribution of the files.

Extensive and flexible capabilities exist for processing the files further by any number of postprocessors or filters. The filters, which can be written in any language, can be used to rewrite the files in any format, or to save them in different directories or using a particular naming convention, or for distributing the files using any external program. These facilities can be used for configuring the system for specialized tasks, such as installing a notification system when particular files are received, or to fit specific customized storage, backup and retrieval schemes.

What nbsp is not

The nbsp system does not come with graphical tools for manipulating or viewing the data and image files. The text products are stored as text files, and the satellite images can be saved as jpg and/or png files automatically, or manually if desired, with supplied tools. But other types of binary files can be read only by special external programs, such as those of gempak on unix or Digital Atmosphere on windows.


Future development

Nbsp is subject to continuous development, looking for improvement in overall performance, fixing bugs, and making enhancements compatible with the design goals: configurable and adaptable to different uses.