1MGD77MANAGE(1)               Generic Mapping Tools              MGD77MANAGE(1)
2
3
4

NAME

6       mgd77manage - Manage extra columns in MGD77+ files
7

SYNOPSIS

9       mgd77manage NGDC-ids [ -A[+]a|c|d|D|e|g|i|n|t|Tfileinfo ] [ -Cf|g|e ] [
10       -Dabbrev1,abbrev2,... ] [ -Eempty ]  [  -Iabbrev/name/unit/t/scale/off‐
11       set/comment  ]  [  -Ne|k|m|n  ]  [ -Q[b|c|l|n][[/]threshold] ] [ -V ] [
12       -bi[s|S|d|D[ncol]|c[var1/...]] ]
13

DESCRIPTION

15       mgd77manage deals with  maintaining  extra  custom  columns  in  MGD77+
16       netCDF  files.   You  can  either delete one or more columns, add a new
17       column, update an existing column with new data, or supply  error  cor‐
18       rection  information  (*.e77  files).   New  data may come from a table
19       (ASCII unless -b is used), be based on  existing  columns  and  certain
20       theoretical  expressions,  or  they  may be obtained by sampling a grid
21       (choose between GMT grid or a Sandwell/Smith Mercator *.img grid) along
22       track.  The new data will be appended to the MGD77+ file in the form of
23       an extra data column of specified type.  The data file  will  be  modi‐
24       fied; no new file will be created.  For the big issues, see the DISCUS‐
25       SION section below.
26
27       NGDC-ids
28              Can be one or more of five kinds of specifiers:
29              1) 8-character NGDC IDs, e.g., 01010083, JA010010etc., etc.
30              2) 2-character <agency> codes which will return all cruises from
31              each agency.
32              3)  4-character  <agency><vessel>  codes,  which will return all
33              cruises from those vessels.
34              4) =<list>, where <list> is a table with NGDC IDs, one per line.
35              5) If nothing is specified we return all  cruises  in  the  data
36              base.
37              (See mgd77info -F for agency and vessel codes).  The ".mgd77" or
38              ".nc" extensions will automatically be appended, if needed  (use
39              -I  to  ignore certain file types).  Cruise files will be looked
40              for first in the current directory and second in all directories
41              listed in $MGD77_HOME/mgd77_paths.txt [If $MGD77_HOME is not set
42              it will default to $GMT_SHAREDIR/mgd77].
43

OPTIONS

45       No space between the option flag and the associated arguments
46
47       -A     Add a new data column.  If an  existing  column  with  the  same
48              abbreviation  already exists in the file we will cowardly refuse
49              to update the file. Specifying  -A+  overcomes  this  reluctance
50              (However,  sometimes an existing column cannot be upgraded with‐
51              out first deleting it; if so you will be warned).  Select a col‐
52              umn  source code among a, c, d, D, e, g, i, n, t, or T; detailed
53              descriptions for each choice follow:
54
55              a Append filename of a single column table to  add.   File  must
56              have  the  same number of rows as the MGD77+ file. If no file is
57              given we read from stdin instead.
58
59              c Create a new column that derives from existing data or  formu‐
60              las  for  corrections  and  reference  fields.  Append c for the
61              Carter corrections subtracted from uncorrected depths, g for the
62              IGF  gravity reference field (a.k.a "normal gravity"), m for the
63              IGRF total field magnetic reference field, and r for  recomputed
64              magnetic  anomaly  (append  1  or 2 to specify which total field
65              column to use [1]).  For gravity we choose the  reference  field
66              based  on  the parameter Gravity Theoretical Formula Code in the
67              cruise's MGD77 header.  If this is not  set  or  is  invalid  we
68              default  to  the  IGF  1980.  You can override this behaviour by
69              appending the desired code: 1 = Heiskanen  1924,  2  =  Interna‐
70              tional 1930, 3 = IGF1967, or 4 = IGF1980.
71
72              d   Append  filename of a two-column table with the first column
73              holding distances along track and the second column holding data
74              values.   If  no  file  is  given  we  read  from stdin instead.
75              Records with matching distances  in  the  MGD77+  file  will  be
76              assigned  the new values; at other distances we set them to NaN.
77              Alternatively, give upper case D instead and we will interpolate
78              the column at all record distances.  See -N for chosing distance
79              units and -C for chosing how distances are calculated.
80
81              e Expects to find an e77 error/correction log from  mgd77sniffer
82              with  the  name  NGDC_ID.e77  in  the  current  directory  or in
83              $MGD77_HOME/E77; this file will examined and used to make  modi‐
84              fications  to the header values, specify a systematic correction
85              for certain columns (such as  scale  and  offset),  and  add  or
86              update  the  special  column  flag  which may hold bitflags (0 =
87              GOOD, 1 = BAD) for each data field in the  standard  MGD77  data
88              set.  Any fixed correction terms found (such as needing to scale
89              a field by 0.1 or 10 because the source  agency  used  incorrect
90              units)  will  be written as attributes to the netCDF MGD77+ file
91              and applied when the data are  read  by  mgd77list.   Emphemeral
92              corrections  such  as those determined by crossover analysis are
93              not kept in the data files but reside in correction tables  (see
94              mgd77list for details).  By default, the first character of each
95              header line in the e77 file (which is ?, Y or N)  will  be  con‐
96              sulted to see if the corresponding adjustment should be applied.
97              If any undecided settings are found (i.i, ?) we will  abort  and
98              make  no changes.  Only records marked Y will be porcessed.  You
99              can override this behavior by appending one or more modifiers to
100              the  -Ae  command:  h will ignore all header corrections, f will
101              ignore all fixed systematic trend corrections, n, v, and s  will
102              ignore  bitflags pertaining to navigation, data values, and data
103              slopes, respectively.  Use -A+e to replace any existing E77 cor‐
104              rections in the file with the new values.
105
106              g  Sample a GMT geographic (lon, lat) grid along the track given
107              by the MGD77+ file using  bicubic  interpolation  (however,  see
108              -Q).  Append name of a GMT grid file.
109
110              i  Sample  a  Sandwell/Smith Mercator *.img grid along the track
111              given by the MGD77+ file using bicubic  interpolation  (however,
112              see  -Q).   Append  the gridded data scale (typically 1 or 0.1),
113              the IMG file mode (0-3), and finally the img grid filename.  The
114              modes  stand for the following: (0) Img files with no constraint
115              code, returns data at all points, (1) Img file with  constraints
116              coded,  return data at all points, (2) Img file with constraints
117              coded, return data only at constrained points and NaN elsewhere,
118              and (3) Img file with constraints coded, return 1 at constraints
119              and 0 elsewhere.
120
121              n Append filename of a two-column table with  the  first  column
122              holding the record number (0 to nrows - 1) and the second column
123              holding data values.  If no file is given  we  read  from  stdin
124              instead.   Records  with  matching  record numbers in the MGD77+
125              file will be assigned the new values; at other  records  we  set
126              them to NaN.
127
128              t  Append  filename  of a two-column table with the first column
129              holding absolute times along track and the second column holding
130              data  values.   If  no file is given we read from stdin instead.
131              Records with matching times in the MGD77+ file will be  assigned
132              the  new  values;  at  other times we set them to NaN.  Alterna‐
133              tively, give upper case T instead and we  will  interpolate  the
134              column at all record times.
135
136       -C     Append a one-letter code to select the procedure for along-track
137              distance calculation when using -Ad|D (see -N for selecting dis‐
138              tance units):
139                   f Flat Earth distances.
140                   g Great circle distances [Default].
141                   e Geodesic distances on current GMT ellipsoid.
142
143       -D     Give  a  comma-separated  list  of column abbreviations that you
144              want to delete from the MGD77+ files.  Do NOT use this option to
145              remove  columns  that  you  are replacing with new data (use -A+
146              instead).  Because we cannot remove variables from netCDF  files
147              we  must  create  a  new file without the columns to be deleted.
148              Once the file is successfully created we temporarily rename  the
149              old  file,  change  the  new  filename  to the old filename, and
150              finally remove the old, renamed file.
151
152       -E     Give a single character that will  be  repeated  to  fill  empty
153              string  values,  e.g.,  '9'  will yield a string like "99999..."
154              [9].
155
156       -I     In addition to  file  information  we  must  specify  additional
157              information about the extra column.  Specify a short (16 char or
158              less, using lower case letters,  digits,  or  underscores  only)
159              abbreviation  for  the selected data, its more descriptive name,
160              the data unit, the data  type  1-character  code  (byte,  short,
161              float,  int,  double,  or text) you want used for storage in the
162              netCDF file, any scale and offset we should apply to the data to
163              make  them  fit  inside  the range implied by the chosen storage
164              type, and a general comment (< 128  characters)  regarding  what
165              these  data represent.  Note: If text data type is selected then
166              the terms "values" in the -A discussion refer to your text data.
167              Furthermore,  the discussion on interpolation does not apply and
168              the NaN value becomes a "no string" value (see -E for what  this
169              is).   Place  quotes around terms with more than one word (e.g.,
170              "Corrected Depth").
171
172       -N     Specify the distance unit used when using -Ad|D by  appending  e
173              (meter),  k  (km), m (miles), or n (nautical miles). [Default is
174              -Nk (km)].
175
176       -Q     Quick mode,  use  bilinear  rather  than  bicubic  interpolation
177              [Default].   Alternatively,  select  the  interpolation  mode by
178              adding b for B-spline smooting, c for bicubic  interpolation,  l
179              for  bilinear  interpolation  or  n  for nearest-neighbor value.
180              Optionally, append threshold in the range [0,1].  This parameter
181              controls  how  close  to nodes with NaN values the interpolation
182              will go.  E.g., a threshold of 0.5 will interpolate  about  half
183              way  from a non-NaN to a NaN node, whereas 0.1 will go about 90%
184              of the way, etc. [Default is 1, which means none of  the  (4  or
185              16) nearby nodes may be NaN].  -Q0 will just return the value of
186              the nearest node instead of interpolating.  This is the same  as
187              using -Qn.  Only relevant when -Ag|i is selected.
188
189       -V     Selects verbose mode, which will send progress reports to stderr
190              [Default runs "silently"].
191
192       -bi    Selects binary input.  Append s for single precision [Default is
193              d  (double)].   Uppercase  S  or  D  will  force  byte-swapping.
194              Optionally, append ncol, the number of columns  in  your  binary
195              input  file if it exceeds the columns needed by the program.  Or
196              append c  if  the  input  file  is  netCDF.  Optionally,  append
197              var1/var2/... to specify the variables to be read.  This applies
198              to the input 1- or 2-column data files specified under  some  of
199              the  -A  options.  The binary input option is only available for
200              numerical data columns.
201

EXAMPLES

203       To append Geosat/ERS-1 gravity version 11.2 as an extra data column  in
204       the  cruises 01010047.nc and 01010008.nc, storing the values as mGal*10
205       in a 2-byte short integer, try
206
207       mgd77manage    01010047    01010008    -Ai10/1/grav.11.2.img     -Isat‐
208       grav/"Geosat/ERS-1 gravity"/"mGal"/s/10/0/"Sandwell/Smith version 11.2"
209       -V
210
211       To append a filtered version of magnetics as an extra  data  column  of
212       type  float  for  the  cruise 01010047.nc, and interpolate the filtered
213       data at the times given in the MGD77+ file, try
214
215       mgd77manage  01010047  -ATmymag.tm   -Ifiltmag/"Intermediate-wavelength
216       magnetic  residuals"/"nTesla"/f/1/0/"Useful  for looking for isochrons"
217       -V
218
219       To delete the existing extra columns satfaa, coastdist, and satvgg from
220       all MGD77+ files, try
221
222       mgd77manage `cat allmgd77.lis` -Dsatfaa,coastdist,satvgg -V
223
224       To  create  a 4-byte float column with the correct IGRF reference field
225       in all MGD77+ files, try
226
227       mgd77manage   `cat   allmgd77.lis`    -Acm    -Iigrf/"IGRF    reference
228       field"/"nTesla"/f/1/0/"IGRF version 10 for 1990-2010" -V
229
230

DISCUSSION

232       1. Preamble
233       The  mgd77 supplement is an attempt to (1) improve on the limited func‐
234       tionality of the existing mgg supplement, (2) incorporate some  of  the
235       ideas from Scripps' gmt+ supplement by allowing extra data columns, and
236       (3) add new capabilities for managing marine geophysical trackline data
237       stored  in  an  architecture-independent  CF-1.0-  and COARDS-compliant
238       netCDF file format.  Here are some of the underlying  ideas  and  steps
239       you need to take to maintain your files.
240
241       2. Introduction
242       Our  starting point is the MGD77 ASCII data files distributed from NGDC
243       on CD-ROMS, DVD-ROMS, and via FTP.  Using Geodas to install  the  files
244       locally  we  choose the "Carter corrected depth" option which will fill
245       in the depth column using the two-way traveltimes and the Carter tables
246       if  twt  is  present.   This step yields ~5000 individual cruise files.
247       Place these in one or more sub-directories of your choice,  list  these
248       sub-directories  (one  per line) in the file mgd77_paths.txt, and place
249       that file in the directory pointed to by $MGD77_HOME; if not  set  this
250       variable defaults to $GMT_SHAREDIR/mgd77.
251
252       3. Conversion
253       Convert  the  ASCII  MGD77  files to the new netCDF MGD77+ format using
254       mgd77convert.  Typically, you will make a list of all the cruises to be
255       converted (with or without extension), and you then run
256
257            mgd77convert -Fa -Tc -V -Lwe+ `cat cruises.lis` > log.txt
258
259       The verbose settings will ensure that all problems found during conver‐
260       sion will be reported.  The new *.nc files may also be placed in one or
261       more  separate  sub-directories  and these should also be listed in the
262       mgd77_paths.txt file.  We suggest you place the directories  with  *.nc
263       files ahead of the *.mgd77 directories.  When you later want to limit a
264       search to files of a certain extension you should use the -I option.
265
266       4. Adding new columns
267       mgd77manage will allow you to add additional data columns to your  *.nc
268       files.   These can be anything, including text strings, but most likely
269       are numerical values sampled along the track from a supplied grid or an
270       existing column that have been filtered or manipulated for a particular
271       purpose.  The format supports up to 32 such extra  columns.   See  this
272       man  page  for how to add columns.  You may later decide to remove some
273       of these columns or update the data associated with a  certain  column.
274       Data extraction tools such as mgd77list can be used to extract a mix of
275       standard MGD77 columns (navigation, time,  and  the  usual  geophysical
276       observations) and your custom columns.
277
278       5. Error sources
279       Before  we discuss how to correct errors we will first list the differ‐
280       ent classes of errors associated with MGD77  data:  (1)  Header  record
281       errors  occur  when some of the information fields in the header do not
282       comply with the MGD77 specification or required information is missing.
283       mgd77convert  will  list these errors when the extended verbose setting
284       is selected.  These errors typically do not affect  the  data  and  are
285       instead  errors in the meta-data (2) Fixed systematic errors occur when
286       a particular data column, despite the  MGD77  specification,  has  been
287       encoded incorrectly.  This usually means the data will be off by a con‐
288       stant factor such as 10 or 0.1, or in some cases even 1.8288 which con‐
289       verts  fathoms to meters.  (3) Unknown systematic errors occur when the
290       instrument that recorded the  data  or  the  processing  that  followed
291       introduced signals that appear to be systematic functions of time along
292       track, latitude, heading, or some other combination of terms that  have
293       a  physical  or  logical  explanation.   These  terms  may sometimes be
294       resolved by data analysis techniques such as  along-track  and  across-
295       track  investigations,  and  will  result in correction terms that when
296       applied to the data will remove these unwanted signals  in  an  optimal
297       way.   Because these correction terms may change when new data are con‐
298       sidered in their determination, such corrections are considered  to  be
299       ephemeral.  (4) Individual data points or sequences of data may violate
300       rules such as being outside of possible ranges or in other ways violate
301       sanity.   Furthermore,  sequences  of  points  that may be within valid
302       ranges may give rise to data gradients that are unreasonable.  The sta‐
303       tus  of  every point can therefore be determined and this gives rise to
304       bitflags GOOD or BAD.  Our policy is that error sources  1,  2,  and  4
305       will  be  corrected  by  suppliying the information as meta-data in the
306       relevant *.nc  files,  whereas  the  corrections  for  error  source  3
307       (because they will constantly be improved) will be maintained in a sep‐
308       arate list of corrections.
309
310       6. Finding errors
311       The mgd77sniffer is a tool that  does  a  thorough  along-track  sanity
312       check  of  the  original MGD77 ASCII files and produces a corresponding
313       *.e77 error log.  All problems found are encoded in the error log,  and
314       recommended  fixed  correction  terms are given, if needed.  An analyst
315       may verify that the suggested corrections are  indeed  valid  (we  only
316       want  to  correct truly obvious unit errors), edit these error logs and
317       modify such correction terms and activate them by changing the relevant
318       code  key  (see mgd77sniffer for more details).  mgd77manage can ingest
319       these error logs and (1) correct bad header records given  the  sugges‐
320       tions  in  the log, (2) insert scale/offset correction terms to be used
321       when reading certain columns,  and  (3)  insert  any  bit-flags  found.
322       Rerun this step if you later find other problems as all E77 settings or
323       flags will be recreated based on the latest E77 log.
324
325       7. Error corrections
326       The extraction program mgd77list allows for corrections to  be  applied
327       on-the-fly  when data are requested.  First, data with BAD bitflags are
328       suppressed.  Second, data with fixed systematic  correction  terms  are
329       corrected  accordingly.   Third,  data  with ephemeral correction terms
330       will have those corrections applied (if  a  correction  table  is  sup‐
331       plied).   All of these steps require the presence of the relevant meta-
332       data and all can be overruled by the user. In addition, users  may  add
333       their own bitflags as separate data columns and use mgd77list's logical
334       tests to further dictate which data are suppressed from output.
335

CREDITS

337       The IGRF calculations are based on a Fortran program written  by  Susan
338       Macmillan,  British  Geological  Survey,  translated  to  C  via f2c by
339       Joaquim Luis, and adapted to GMT style by Paul Wessel.
340

SEE ALSO

342       mgd77convert(1),    mgd77list(1),     mgd77info(1),     mgd77sniffer(1)
343       mgd77track(1) x2sys_init(1)
344

REFERENCES

346       Wessel,  P.,  and W. H. F. Smith, 2005, The Generic Mapping Tools (GMT)
347       version 4.1 Technical Reference & Cookbook, SOEST/NOAA.
348       Wessel, P., and W. H. F. Smith, 1998, New, Improved Version of  Generic
349       Mapping Tools Released, EOS Trans., AGU, 79 (47), p. 579.
350       Wessel,  P.,  and W. H. F. Smith, 1995, New Version of the Generic Map‐
351       ping Tools Released, EOS Trans., AGU, 76 (33), p. 329.
352       Wessel, P., and W. H. F. Smith, 1995, New Version of the  Generic  Map‐
353       ping Tools Released, http://www.agu.org/eos_elec/95154e.html, Copyright
354       1995 by the American Geophysical Union.
355       Wessel, P., and W. H. F. Smith, 1991, Free Software Helps Map and  Dis‐
356       play Data, EOS Trans., AGU, 72 (41), p. 441.
357       The   Marine   Geophysical   Data   Exchange   Format  -  "MGD77",  see
358       http://www.ngdc.noaa.gov/mgg/dat/geodas/docs/mgd77.txt
359       IGRF, see http://www.ngdc.noaa.gov/IAGA/vmod/igrf.html
360
361
362
363GMT 4.3.1                         15 May 2008                   MGD77MANAGE(1)
Impressum