Occasionally, it is desirable to create a new column of data based on the existing columns, or create a completely new column of data. This can be performed with the command:

ADD_COLUMN, NAME, -OPTIONS

where the available options are:

-COLUMN, C(1), C(2), ..... C(n)-INPUT, CS, X(1), Y(1), X(2), Y(2), .....-COMBINE, CS(1), F(1), CS(2), F(2), .....-NORM, CS, NCOL-RMS, CS(1), CS(2), .....-POWER, P_N, P_C, CS(1), F(1), CS(2), F(2), .....-DERIVATIVE, CS(1), CS(2)-INTEGRAL, CS(1), CS(2)-FILTER, R_TYPE CS(1), CS(2), RL(1), RU(1), ... RL(n), RU(n)-SMOOTH, CS, NL, NR, ORDER

The first two options create completely new columns. The **-COLUMN** option allows the user to simply input a column of data. Here, the number of values
input must be the same as the number of rows of the existing columns. A good source of this data may be from SET_VARIABLE -COLUMN. On the other hand, the **-INPUT** option allows more flexibility in the number of points input. Here, CS is the column selector of an existing column which is "like" the X values.
For instance, if the X values are times, then CS should be the column selector for event number. MOSES will fit a spline to the input data and then create the new
column by interpolating a value from the spline for every value of CS(i).

The remainder of the options create a column based on the values of the existing ones. The **-COMBINE** option will combine two or more columns of data,
using the factors specified. For instance,

ADD_COLUMN NEW -COMBINE 1 1 2 -1

will make the new column the difference of columns of 1 and 2. Here, CS selects the column, and F is the combine factor. To find the norm of two or more columns, the **-NORM** option is used. CS again selects the column, and NCOL is the number of columns to consider, including the first one. The command:

ADD_COLUMN NEW -NORM 3 3

will find the norm of columns 3, 4 and 5. The **-RMS** option is similar to **-NORM**, except that here, one specified the columns to be combined directly.
factor. The **-POWER** option is a generalization of the above. Here, P_C is the power each column is raised before summing and P_N is the power to which
the sum will be raised; e.g.

ADD_COLUMN NEW -POWER .5 2 3 1 4 1 5 1

Gives the same result as the -NORM example and

ADD_COLUMN NEW -POWER 1 1 3 3

Gives the same result as the -COMBINE example.

The **-DERIVATIVE** and **-INTEGRAL** adds new columns which are the derivative or integral of column CS(2) with respect to column
CS(1), and the **-LN** and **-EXP** options add columns which are the natural log and the exponential of the original column.

The **-FILTER** option filters a column of temporal data using a Fourier Transform. Here, R_TYPE defines the type of ranges to be input, **FREQUENCY** for
angular frequency, or **PERIOD** for periods. MOSES will then compute the Fourier Transform of the function with domain in column CS(1) and range in column CS(2). After
the transform, all values within any of the ranges defined will be discarded and an inverse transform will be computed for the new column. For example,

ADD_COLUMN NEW -FILTER PERIOD 1 4 0 30

will produce a new column named NEW from the old curve defined by columns 1 and 4. Here, column 1 is TIME or EVENT. All of the contribution from periods between 0 and 30 will be discarded to form the new function.

The **-SMOOTH** option creates a new column by smoothing an old one, but here, a Savitzky-Golay filter accomplishes the smoothing. CS defines the column
to be smoothed, and NL, NR, and M define the smoother. NL is the number of points to the left, NR is the number of points to the right and ORDER is the order of
polynomial used in constructing the filter. The defaults are 8 for NL and NR and 4 for ORDER. Since this algorithm does not use Fourier analysis, it can be used to
smooth spectral or FFT data.