Latest News

Quick guide
Npemwin manual
Article for Geo Quarterly
Nbsp Live
Npemwin Live
Npstats Live
Signal Monitor
Related Sites
| Pool
iEmwin | Pool

Problem reports



This is not a trivial application. The ease of installation and upgrading by means of the package management tools hide a tremendous number of hours that have been put into this system, and it should not let the users think that this is just a package that they can throw on and go. Careful attention must be given to the hardware requirements to have a useful system.

Our installation was upgraded substantially in the winter 2009. Apart from installing a larger dish and upgrading the receiver, it is a master/slave configuration setup involving several computers. Here we describe the original setup that we used up to that time, which we consider to be the minimum requirements.

At a mininum, appropriate equipment for noaaport reception and a fast modern computer are needed. There are three pieces involved, the dish (with its LNB), the receiver and the computer. Originally we used a 10 feet Sami dish, available from many satellite stores such as Ricksatellite, a Norsat LNB and Chaparral feedhorn, and the Novra satellite receiver. We currently use the Novra S300 and the Ayecka SR1 receivers. With the dish properly aligned the signal strength in our location (San Juan, Puerto Rico) is 77% or better, and the Viterbi error rate (VBER) and the number of uncorrectable errors stay at zero.

Our test noaaport processing computer was a Dell Power Edge 600SC server (4GB of RAM and three 120 GB disks). It was mainly a reference system, not a production server. Apart from its noaaport duties, it used to hold many of the sample files referenced in this document and it also served some portions of this web site. In that same role we also used better computers, with very good results, such as a Supermicro Aplus, a Proliant DL585 and a Proliant DL380 G3. We also tested a unit with an Intel Atom 330 processor as a reader (ingest-only) machine in a master/slave configuration with a memory-based spool. With the exception of the Dell Power Edge, the others are in fact still in use.

The receiver and the noaaport computers were connected to an 8-port network switch, to which several other computers were connected as well. Some of the other computers would have direct access to the locally stored data via NFS, http, and samba in the case of PC's.

The receiver can instead be connected directly to the computer running nbsp. If the computer has more than one network interface card, then some additional network configuration is usually required so that the multicasting is received through the appropriate interface. Among the various alternatives, the nbsp run-time configuration file has options for specifying the interface to use, which are mentioned in the introduction to the configuration file in this manual.

The files received are stored in the spool directory with a unique tag in their name so that newer files do not overwrite its previous version and old versions are kept. The amount of data received can reach a rate close to 1 MB per second, on the average it is around 20 MB per minute, and the total amount of data stored in the spool directory in one day is of the order of 20 GB. Each filter contributes roughly the same in the data directory. Also important, the computer should have enough processing power to not miss the noaaport data frames. This sample data gives a feeling of the amount of data and the rate at which it must be processed. If the same computer is used also for distribution and filtering then the requirements are higher.

The software is developed under FreeBSD and it has been tested also in OpenBSD and NetBSD. It has been ported to linux and tested with the Fedora, CentOS, OpenSUSE and Debian distributions. FreeBSD, and the CentOS and Debian versions of linux, are the only operating systems that are officially supported by the publicly available version. Only the most recent version of each OS is supported. We use FreeBSD for development, testing and production.

The program is linked against the Tcl and Berkeley DB libraries. In addition, some of the filters require other external programs to run. In particular, all of them require tcl, the satellite decoder requires png, and the emwin server requires some of the netpbm programs to convert the png satellite images to jpg format. The packages containing those software must have been installed. There may be other specific requirements detailed in the QUICK_START guides included in the nbsp distribution packages. The installation from packages hide all those details.


Installation from packages is the only officially supported method of installation. Therefore, the reminder of these notes assume that you have obtained the appropriate package for your OS and you are about to install it. The packages are named nbsp-version_pkgrelease.ext, where version and pkgrelease are two numbers giving the current version of the sources and of the package build, respectively. The pkgrelease may change if, for example, a given build had an error such as a configuration or documentation file missing in the package, or some other revision not involving a change of the sources on which the package is based. ext is a three letter word indicating the type of package, e.g., tbz for FreeBSD (and other BSD Os's), rpm for CentOS or deb for Debian.

Instalallation of the package is done using the native package management tool for your OS:

Before the nbsp process can run, some directories and files must be created. First the directories: (Some of the manual steps outlined below are automatically carried out by the package installation tool; consult the individual quick start guides that accompany the package.)

Only the first three of these are strictly necessary. The rest are required depending on which filters are enabled. Moreover, the actual path of these directories can be changed in the run-time configuration file, which is described later. So, if you change them there, the above commands have to be modified accordingly. As already mentioned, these directories may be created automatically by the package installation tools.

None of the files that will be described below are required for the program to run, but they should be installed for convenience and to keep a safe and clean running environment.

At this point, you can just give it a try to see if all is well. By any of the methods mentioned above, start the program. Within seconds you should begin to see the spool directory getting populated with subdirectories, named after the station emitting each product, each one containing all the files emitted by the named station. If that does not happen, something is wrong with the installation. Otherwise, you now a have a minimal running default configuration in which all the products are stored complete, locally in the spool directory, and nothing else. Without further instructions, that is all that the program will do. It will not accept connection from the network, and it will not process the files any further. Nevertheless, the stored files are readily accessible and readable by some tools. The format of the saved files will be described below but, for example, the text files can be opened and read with ordinary text editors. Needeless to say, the system is capable of postprocessing the files in many ways, and that is where the custom configuration and the filters come in.


Successful compilation of the sources has some prerequisites that are detailed in the notes that accompany the distribution. For this and other reasons, installation from the sources is not supported here and we encourage the installation from packages, specially since considerable effort has gone into developing a package installation procedure that is smooth and clean.

Nevertheless, leaving these issues aside, assuming that all the prerequisites have been met, installation from sources is as simple as going to the appropriate subdirectory in the top-level directory of the distribution, (e.g., the bsd or rpm subdirectory) and typing ``make package''. That will create a package that can be installed as explained above.