The cationex Utility

# 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.