X2SYS_SOLVE(1)

NAME
x2sys_solve - Determine systematic corrections from crossovers

SYNOPSIS
x2sys_solve -Ccolumn -TTAG -Emode [ COE_list.d ] [ -V ] [ -W ] [ -Z ] [ -bi[s|S|d|D[ncol]|c[var1/...]] ]

DESCRIPTION
x2sys_solve will use the supplied crossover information to solve for systematic corrections that can then be applied per track to improve data quality. Several systematic corrections can be solved for using a least-squares approach. Note: Only one data column can be processed at the time.

-T  Specify the x2sys TAG which tracks the attributes of this data type.

-C  Specify which data column you want to process. Needed for proper formatting of the output correction table and must match the same option used in x2sys_list when preparing the input data.

-E  The correction type you wish to model. Choose among the following functions f(p), where p are the m parameters per track that we will fit simultaneously using a least squares approach:
    c will fit f(p) = a (a constant offset); records must contain cruise ID1, ID2, COE.
    d will fit f(p) = a + b * d (linear drift; d is distance; records must contain cruise ID1, ID2, d1, d2, COE.
    g will fit f(p) = a + b sin(y)^2 (1980-1930 gravity correction); records must contain cruise ID1, ID2, latitude y, COE.
    h will fit f(p) = a + b cos(H) + c cos(2H) + d sin(H) + e sin(2H) (magnetic heading correction); records must contain cruise ID1, ID2, heading H, COE.
    s will fit f(p) = a * z (a unit scale correction); records must contain cruise ID1, ID2, z1, z2.
    t will fit f(p) = a + b * (t - t0) (linear drift; t0 is the start time of the track); records must contain cruise ID1, ID2, t1-t0, t2-t0, COE.

OPTIONS
No space between the option flag and the associated arguments.

COE_list.d
    Name of file with the required crossover columns as produced by x2sys_list. NOTE: If -bi is used then the first two columns are expected to hold the integer track IDs; otherwise we expect those columns to hold the text string names of the two tracks.

-V  Selects verbose mode, which will send progress reports to stderr [Default runs "silently"].

-W  Means that each input records has an extra column with the composite weight for each crossover record. These are used to obtain a weighted least squares solution [no weights].

-Z  For -Ed and -Et, determine the earliest time or shortest distance for each track, then use these values as the local origin for time duration or distance calculations. The local origin is then included in the correction table [Default uses 0].

-bi Selects binary input. Append s for single precision [Default is d (double)]. Uppercase S or D will force byte-swapping. Optionally, append ncol, the number of columns in your binary input file if it exceeds the columns needed by the program. Or append c if the input file is netCDF. Optionally, append var1/var2/... to specify the variables to be read.

EXAMPLES
To fit a simple bias offset to faa for all tracks under the MGD77 tag, try

x2sys_list COE_data.txt -V -TMGD77 -Cfaa -Fnc > faa_coe.txt
x2sys_solve faa_coe.txt -V -TMGD77 -Cfaa -Ec > coe_table.txt

To fit a faa linear drift with time instead, try

x2sys_list COE_data.txt -V -TMGD77 -Cfaa -FnTc > faa_coe.txt
x2sys_solve faa_coe.txt -V -TMGD77 -Cfaa -Et > coe_table.txt

To estimate heading corrections based on magnetic crossovers associated with the tag MGD77 from the file COE_data.txt, try

x2sys_list COE_data.txt -V -TMGD77 -Cmag -Fnhc > mag_coe.txt
x2sys_solve mag_coe.txt -V -TMGD77 -Cmag -Eh > coe_table.txt

To estimate unit scale corrections based on bathymetry crossovers, try

x2sys_list COE_data.txt -V -TMGD77 -Cdepth -Fnz > depth_coe.txt
x2sys_solve depth_coe.txt -V -TMGD77 -Cdepth -Es > coe_table.txt

SEE ALSO
x2sys_binlist(1), x2sys_cross(1), x2sys_datalist(1), x2sys_get(1), x2sys_init(1), x2sys_list(1), x2sys_put(1), x2sys_report(1)