x2sys_solve man page
x2sys_solve — Determine leastsquares systematic correction from crossovers
Synopsis
x2sys_solve Ccolumn TTAG Emode [ COE_list.d ] [ V[level] ] [ W[u] ] [ bibinary ] [ dinodata ] [ x[[]n] ]
Note: No space is allowed between the option flag and the associated arguments.
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 leastsquares approach. Note: Only one data column can be processed at the time.
Required 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. If no file is given we will read from stdin.
 TTAG
Specify the x2sys TAG which tracks the attributes of this data type.
 Ccolumn
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.
 Emode

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 track ID1, ID2, COE.
d will fit f(p) = a + b * d (linear drift; d is distance; records must contain track ID1, ID2, d1, d2, COE.
g will fit f(p) = a + b sin(y)^2 (19801930 gravity correction); records must contain track 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 track ID1, ID2, heading H, COE.
s will fit f(p) = a * z (a unit scale correction); records must contain track 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 track ID1, ID2, t1t0, t2t0, COE.
Optional Arguments
 V[level] (more …)
Select verbosity level [c].
 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]. Append u to report unweighted mean/std [Default, report weighted stats].
 bi[ncols][t] (more …)
Select native binary input.
 dinodata (more …)
Replace input columns that equal nodata with NaN.
 x[[]n] (more …)
Limit number of cores used in multithreaded algorithms (OpenMP required).
 ^ or just 
Print a short message about the syntax of the command, then exits (NOTE: on Windows just use ).
 + or just +
Print an extensive usage (help) message, including the explanation of any modulespecific option (but not the GMT common options), then exits.
 ? or no arguments
Print a complete usage (help) message, including the explanation of all options, then exits.
Notes
Most of the model corrections in E involve a constant offset. Because crossovers are differences between values, any absolute level will cancel out and hence the constant offsets we obtain are relative to an undetermined absolute level. To obtain a solvable solution we add the constraint that the sum of all constant offsets equal zero. If the tracks form clusters in which no tracks from one cluster cross any track from another cluster then these are two independent data sets and require they own constraint equation for their offsets. We determine the number of clusters and automatically add the required constraint equations. If you need a particular reference track to have a particular offset (e.g., 0) then you can subtract the offset you found from every track correction and add in the desired offset.
Examples
To fit a simple bias offset to faa for all tracks under the MGD77 tag, try
gmt x2sys_list COE_data.txt V TMGD77 Cfaa Fnc > faa_coe.txt
gmt x2sys_solve faa_coe.txt V TMGD77 Cfaa Ec > coe_table.txt
To fit a faa linear drift with time instead, try
gmt x2sys_list COE_data.txt V TMGD77 Cfaa FnTc > faa_coe.txt
gmt 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
gmt x2sys_list COE_data.txt V TMGD77 Cmag Fnhc > mag_coe.txt
gmt x2sys_solve mag_coe.txt V TMGD77 Cmag Eh > coe_table.txt
To estimate unit scale corrections based on bathymetry crossovers, try
gmt x2sys_list COE_data.txt V TMGD77 Cdepth Fnz > depth_coe.txt
gmt x2sys_solve depth_coe.txt V TMGD77 Cdepth Es > coe_table.txt
See Also
x2sys_binlist, x2sys_cross, x2sys_datalist, x2sys_get, x2sys_init, x2sys_list, x2sys_put, x2sys_report
Copyright
2017, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe