Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

x2sys_solve.rst 5.8 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
  1. .. index:: ! x2sys_solve
  2. .. include:: ../module_supplements_purpose.rst_
  3. ***********
  4. x2sys_solve
  5. ***********
  6. |x2sys_solve_purpose|
  7. Synopsis
  8. --------
  9. .. include:: ../../common_SYN_OPTs.rst_
  10. **gmt x2sys_solve** |-C|\ *column* |-T|\ *TAG* |-E|\ **c**\|\ **d**\|\ **g**\|\ **h**\|\ **s**\|\ **y**\|\ **z**
  11. [ *COE_list.txt* ]
  12. [ |SYN_OPT-V| ]
  13. [ |-W|\ [**+u**] ]
  14. [ |SYN_OPT-bi| ]
  15. [ |SYN_OPT-di| ]
  16. [ |SYN_OPT-x| ]
  17. [ |SYN_OPT--| ]
  18. |No-spaces|
  19. Description
  20. -----------
  21. **x2sys_solve** will use the supplied crossover information to solve
  22. for systematic corrections that can then be applied per track to improve
  23. data quality. Seven different systematic corrections can be solved for using a
  24. least-squares approach. **Note**: Only one data column can be processed at
  25. the time.
  26. Required Arguments
  27. ------------------
  28. *COE_list.txt*
  29. Name of file with the required crossover columns as produced by
  30. :doc:`x2sys_list`. NOTE: If **-bi** is used
  31. then the first two columns are expected to hold the integer track
  32. IDs; otherwise we expect the trailing text to hold the text string names
  33. of the two tracks. If no file is given we will read from *stdin*.
  34. .. include:: explain_tag.rst_
  35. .. _-C:
  36. **-C**\ *column*
  37. Specify which data column you want to process. Needed for proper
  38. formatting of the output correction table and must match the same
  39. option used in :doc:`x2sys_list` when preparing the input data.
  40. .. _-E:
  41. **-E**\ **c**\|\ **d**\|\ **g**\|\ **h**\|\ **s**\|\ **y**\|\ **z**
  42. The correction type you wish to model. Choose among the following
  43. functions f(**p**) , where **p** are the *m*
  44. parameters per track that we will fit simultaneously using a least
  45. squares approach. Each type implies a certain input data record
  46. format:
  47. **c** will fit f(**p**) = *a* (a constant offset);
  48. records must contain track COE, ID1, ID2.
  49. **d** will fit f(**p**) = *a* + *b* \* *d* (linear
  50. drift; *d* is distance along track; records must contain d1, d2, COE, ID1, ID2.
  51. **g** will fit f(**p**) = *a* + *b* sin(y)^2
  52. (1980-1930 gravity correction); records must contain crossing latitude y, COE, ID1, ID2.
  53. **h** will fit f(**p**) = *a* + *b* cos(h) + *c*
  54. cos(2h) + *d* sin(h) + *e* sin(2h)
  55. (magnetic heading correction); *h* is heading at crossover; records must contain headings h1, h2, COE, ID1, ID2.
  56. **s** will fit f(**p**) = *a* \* z (a unit scale
  57. correction); *z* is the data value at the crossover; records must contain z1, z2, ID1, ID2.
  58. **t** will fit f(**p**) = *a* + *b* \* (*t - t0*)
  59. (linear drift; *t - t0* is the time along the track since start of track at *t0*); records must
  60. contain t1-t0, t2-t0, COE, D1, ID2.
  61. **z** will fit f(**p**) = *a* + *b* \* z (an offset plus a unit scale
  62. correction); *z* is the data value at the crossover; records must contain z1, z2, ID1, ID2.
  63. Optional Arguments
  64. ------------------
  65. .. _-V:
  66. .. |Add_-V| unicode:: 0x20 .. just an invisible code
  67. .. include:: ../../explain_-V.rst_
  68. .. _-W:
  69. **-W**\ [**+u**]
  70. Means that each input records has an extra column just before the ID columns
  71. with the composite weight for each crossover record. These are used to obtain a
  72. weighted least squares solution [no weights]. Append **+u** to report
  73. unweighted mean/std [Default, report weighted stats].
  74. .. |Add_-bi| unicode:: 0x20 .. just an invisible code
  75. .. include:: ../../explain_-bi.rst_
  76. .. |Add_-di| unicode:: 0x20 .. just an invisible code
  77. .. include:: ../../explain_-di.rst_
  78. .. include:: ../../explain_core.rst_
  79. .. include:: ../../explain_help.rst_
  80. Notes
  81. -----
  82. Most of the model corrections in |-E| involve a constant offset.
  83. Because crossovers are differences between values, any absolute level
  84. will cancel out and hence the constant offsets we obtain are relative
  85. to an undetermined absolute level. To obtain a solvable solution we
  86. add the constraint that the sum of all constant offsets equal zero.
  87. If the tracks form clusters in which no tracks from one cluster cross
  88. any track from another cluster then these are two independent data
  89. sets and require they own constraint equation for their offsets. We
  90. determine the number of clusters and automatically add the required
  91. constraint equations. If you need a particular reference track to have
  92. a particular offset (e.g., 0) then you can subtract the offset you
  93. found from every track correction and add in the desired offset.
  94. Input Format
  95. ------------
  96. In moving to a more robust data record definition in GMT 6, all text
  97. items are now placed after the numerical columns. For **x2sys_solve**, this
  98. means that whereas the *ID1, ID2* track ids used to be expected in the first two
  99. columns, they are now expected at the end. Thus, you cannot use this module with
  100. crossover tables produced by an earlier GMT version without reformatting.
  101. Examples
  102. --------
  103. To fit a simple bias offset to faa for all tracks under the MGD77 tag, try
  104. ::
  105. gmt x2sys_list COE_data.txt -V -TMGD77 -Cfaa -Fnc > faa_coe.txt
  106. gmt x2sys_solve faa_coe.txt -V -TMGD77 -Cfaa -Ec > coe_table.txt
  107. To fit a faa linear drift with time instead, try
  108. ::
  109. gmt x2sys_list COE_data.txt -V -TMGD77 -Cfaa -FnTc > faa_coe.txt
  110. gmt x2sys_solve faa_coe.txt -V -TMGD77 -Cfaa -Et > coe_table.txt
  111. To estimate heading corrections based on magnetic crossovers associated
  112. with the tag MGD77 from the file COE_data.txt, try
  113. ::
  114. gmt x2sys_list COE_data.txt -V -TMGD77 -Cmag -Fnhc > mag_coe.txt
  115. gmt x2sys_solve mag_coe.txt -V -TMGD77 -Cmag -Eh > coe_table.txt
  116. To estimate unit scale corrections based on bathymetry crossovers, try
  117. ::
  118. gmt x2sys_list COE_data.txt -V -TMGD77 -Cdepth -Fnz > depth_coe.txt
  119. gmt x2sys_solve depth_coe.txt -V -TMGD77 -Cdepth -Es > coe_table.txt
  120. See Also
  121. --------
  122. :doc:`x2sys_binlist`,
  123. :doc:`x2sys_cross`,
  124. :doc:`x2sys_datalist`,
  125. :doc:`x2sys_get`,
  126. :doc:`x2sys_init`,
  127. :doc:`x2sys_list`,
  128. :doc:`x2sys_put`,
  129. :doc:`x2sys_report`
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...