The cationex Utility

The cationex utility is a stand-alone utility for combining data from multiple IONEX data files into a single IONEX data file. It is intended for combining data files from the CDDIS archive so that they may be used as input to TECOR for experiments that cross midnight.

Building cationex

In order to build cationex, you will need a fairly recent version of GCC: I recommend Version 2.95.2 or later. It should also be possible to use any C++ compiler that is compliant with the ISO C++ standard but some minor tweaking of the source may be required.
The first step is to unpack the archive file cationex.tar.
tar xvf cationex.tar
This will create a new directory that contains the source code for cationex and some test data.
Change to the cationex directory and check the contents of Makefile. If you are using a standard installation of GCC and the g++ command is in your path then you should not need to make any modifications but there is always a possibility that you will need to make some adjustments to Section 1. After making any changes that might be necessary, issue the make command. This will build cationex.
After building cationex, you should install it in a suitable directory in most users' search path. I recommend placing it in $SYSLOCAL. If you have system manager privileges, you might prefer /usr/local/bin.

Running cationex

In its basic mode, cationex takes a list of files and writes a new IONEX file to the standard output. The new IONEX file contains all of the TEC maps from the input files but discards any RMS or HEIGHT maps that might be present. Most optional header information will also be discarded.
You may save the output by redirecting it to a file or by specifying an output file using the -output flag as in this example.
cationex jplg0550.00i jplg0560.00i jplg0570.00i -output COMBINED.DATA
You will probably want to use an upper-case name for the output file so that AIPS can read it.
You may print a usage summary by typing
cationex -help

Notes For Linux

The cationex utility uses Unix facilities for handling dates. Unfortunately, Linux does not support the altzone interface that gives the offset of the alternate local timezone (usually daylight savings time) from UTC. On Linux systems cationex assumes that the alternate timezone differs from the primary timezone by exactly 1 hour. This means that it is possible that cationex will misbehave if unusual time zone settings are used.  Such problems should be rare.