Provided by: gmt-common_5.2.1+dfsg-3build1_all 

NAME
mgd77list - Extract data from MGD77 files
SYNOPSIS
mgd77list NGDC-ids columns[,logic][:bittests] [ [+]c|d|f|m|tcode ] [ f|g|e ] [ A|astartdate ] [
B|bstopdate ] [ ] [ astartrec ] [ bstoprec ] [ ignore ] [ [corrtable] ] [ d|sunit ] [ a|c|vmin/max ] [
region ] [ astartdist[unit] ] [ bstopdist[unit] ] [ [m|e] ] [ [level] ] [ weight ] [ +|- ] [ -bo<binary>
] [ -h<headers> ]
Note: No space is allowed between the option flag and the associated arguments.
DESCRIPTION
mgd77list reads <NGDC-id>.[mgd77|nc] files and produces an ASCII [or binary] table. The
<NGDC-id>.[mgd77|nc] files contain track information such as leg-id, time and position, geophysical
observables such as gravity, magnetics, and bathymetry, and control codes and corrections such as Eotvos
and diurnal corrections. The MGD77+ extended netCDF files may also contain additional user columns (for a
listing of available columns, use mgd77info -C, and to learn how to add your own custom columns, see
mgd77manage). The user may extract any combination of these parameters, any of 8 computed quantities
(distance, heading, course-change, velocity, Carter correction, Eotvos correction and gravity and
magnetic global reference fields), calendar sub-units of time (year, month, day, hour, min, sec), the
NGDC id, and finally a preset weight (see -W). A sub-section can be specified by passing time- or
distance-intervals along track or by selecting a geographical region. Finally, each output record may be
required to pass any number of logical tests involving data values or bit flags. If multiple cruises are
requested then they are separated by segment headers.
REQUIRED ARGUMENTS
NGDC-ids
Can be one or more of five kinds of specifiers:
1. 8-character NGDC IDs, e.g., 01010083, JA010010etc., etc.
2. 2-character <agency> codes which will return all cruises from each agency.
3. 4-character <agency><vessel> codes, which will return all cruises from those vessels.
4. =<list>, where <list> is a table with NGDC IDs, one per line.
5. If nothing is specified we return all cruises in the data base.
(See mgd77info -L for agency and vessel codes). The ".mgd77" or ".nc" extensions will
automatically be appended, if needed (use -I to ignore certain file types). Cruise files will be
looked for first in the current directory and second in all directories listed in
$MGD77_HOME/mgd77_paths.txt [If $MGD77_HOME is not set it will default to $GMT_SHAREDIR/mgd77].
-Fcolumns[,logic][:bittests]
The required columns string must be a comma-separated list of parameter abbreviations given in the
desired output order. Any parameters given in UPPER case must not be NaN in a record for output to
occur. Unless specified separately, the output format (if ASCII) is controlled by the GMT
parameter FORMAT_FLOAT_OUT. The available column abbreviations for information stored in the
files (some columns may be NaN) are:
recno The record number counter.
drt The digital record type, usually 3 or 5 (for Y2K-compliant cruises).
id The survey ID string (leg name).
ngdcid The 8-character NGDC cruise ID string (usually the file prefix).
time Choose between Absolute calendar time (atime, the default) in the format dictated by the
GMT parameters FORMAT_DATE_OUT and FORMAT_CLOCK_OUT, Relative time (rtime) in the format
dictated by the GMT parameters FORMAT_FLOAT_OUT and TIME_SYSTEM (or TIME_EPOCH and
TIME_UNIT)), or Fractional year (ytime) in the format dictated by FORMAT_FLOAT_OUT.
lon Longitude in the format dictated by the GMT parameter FORMAT_GEO_OUT.
lat Longitude in the format dictated by the GMT parameter FORMAT_GEO_OUT.
twt Two-Way Travel time (in s).
depth Corrected bathymetry (in m, positive below sea level).
mtf1 Magnetic Total Field intensity from sensor 1 (in nTesla).
mtf2 Magnetic Total Field intensity from sensor 2 (in nTesla).
mag Residual magnetic anomaly (in nTesla).
gobs Observed gravity (in mGal).
faa Free-air gravity anomaly (in mGal).
ptc Position Type Code (1 = fix, 3 = interpolated, 9 = unspecified).
bcc Bathymetric Correction Code, indicating the procedure used to convert travel time to depth.
(01-55 = Matthews' zone used to correct the depth, 59 = Matthews' corrections used but the
zones is unspecified in the data record, 60 = S. Kuwahara formula for T-S, 61 = Wilson
formula for T-S, 62 = Del Grosso formula for T-S, 63 = Carter's tables, 88 = Other,
described in header sections, 99 = unspecified).
btc Bathymetric Type Code, indicating how the bathymetry value was obtained (1 = observed, 3 =
interpolated, 9 = unspecified).
msens Magnetic sensor for used to evaluate the residual field (1 = 1st or leading sensor, 2 = 2nd
or trailing sensor, 9 = unspecified).
msd Depth (or altitude) of the magnetic sensor (in m, positive below sealevel).
diur Magnetic diurnal correction (in nTesla).
eot Eotvos correction (in mGal).
sln Seismic Line Number string.
sspn Seismic Shot Point Number string.
nqc Navigation Quality Code (5 = suspected, by source institution, 6 = suspected, by NGDC, 9 =
no problems identified).
In addition, the following derived navigational quantities can be requested:
year The year of each record.
month The month of each record.
day The day of the month of each record.
hour The hour of each record.
min The minutes of each record.
sec The decimal seconds of each record.
dist Along-track distance from start of leg. For method of calculation, see -C [spherical great
circle distances], and for distance units, see -N [km].
az Ship azimuth (heading) measured clockwise from north (in degrees).
cc Ship course change (change in heading) measured clockwise from north (in degrees).
vel Ship speed; see -N for units [m/s].
Finally, the following computed quantities can be requested:
weight Weight assigned to this data set (see -W).
carter Carter depth correction, if twt is present in file (in m). Sign: Correction is to be added
to uncorrected depths to yield a corrected depth.
igrf International geomagnetic reference field (total field) (in nTesla).
ngrav International Gravity reference Field ("normal gravity") (in mGal). Field is selected
based on the parameter Gravity Theoretical Formula Code in the cruise's MGD77 header. If
this is not set or is invalid we default to the IGF 1980. Alternatively, specify the field
directly using -Af (see that option for more details).
ceot Calculated Eotvos correction from navigation, using E = 7.5038 * V * cos(lat) * sin(az) +
0.004154 * V^2 (in mGal). Sign: Correction is to be added to uncorrected faa to yield a
corrected faa.
The following short-hand flags are also recognized:
mgd77 This results in all 27 MGD77 fields being written out in the official MGD77 order.
mgd77t The full set of all 26 columns in the MGD77T specification.
geo This limits the output to 10 fields (time, lon, lat plus the seven geophysical observations
twt, depth, mtf1, mtf2, mag, gobs, and faa). By appending + to either of these set we will
also append dist, azim, cc, vel, and weight as listed above.
all This returns all data columns in the file.
allt As mgd77t but with time items written as a date-time string.
As an option, logical tests may be added for any of the observations by appending ,logic, which is
itself composed of one or more comma-separated instructions of the form parOPvalue, where par is
one of the parameters listed above, OP is a logical operator (<, <=, =, !=, >=, >, |), and value
is a constant used in the comparison. Floating point parameters are compared numerically;
character parameters are compared lexically (after leading and trailing blanks have been removed).
The bit comparison (|) means that at least one of the bits in value must be turned on in par. At
least one of the tests must be true for the record to be output, except for tests using UPPER case
parameters which all must be true for output to occur. Note that specifying a test does not imply
that the corresponding column will be included in the output stream; it must be present in columns
for that to occur. Note: some of the operators are special UNIX characters and you are advised to
place quotes around the entire argument to -F.
Finally, for MGD77+ files you may optionally append :bittests which is : (a colon) followed by one
or more comma-separated +-col terms. This compares specific bitflags only for each listed column.
Here, + means the chosen bit must be 1 (ON) whereas - means it must be 0 (OFF). All bit tests
given must be passed. By default, MGD77+ files that have the special MGD77_flags column present
will use those flags, and observations associated with ON-bits (meaning they are flagged as bad)
will be set to NaN; append : with no trailing information to turn this behavior off (i.e., no bit
flags will be consulted).
OPTIONAL ARGUMENTS
-A[+]c|d|f|m|tcode
By default, corrected depth (depth), magnetic residual anomaly (mag), free-air gravity anomaly
(faa), and the derived quantity Carter depth correction (carter) are all output as is (if selected
in -F); this option adjusts that behavior. For each of these columns there are 2-4 ways to adjust
the data. Append c(arter), d(epth), f(aa), or m(ag) and select the code for the procedure you want
applied. You may select more than one procedure for a data column by summing their numerical codes
(1, 2, 4, and 8). E.g., -Ac3 will first try method -Ac1 to estimate a Carter correction but if
depth is NaN we will next try -Ac2 which only uses twt. In all cases, if any of the values
required by an adjustment procedure is NaN then the result will be NaN. This is also true if the
original anomaly is NaN. Specify -A+ to recalculate anomalies even if the anomaly in the file is
NaN. Additionally, you can use -At to create fake times for cruises that has no time; these are
based on distances and cruise duration.
-Ac Determines how the carter correction term is calculated. Below, C(twt) stands for the
Carter-corrected depth (it also depends on lon, lat), U(twt, v) is the uncorrected depth (= twt *
v / 2) using as v the "Assumed Sound Velocity" parameter in the MGD77 header (if it is a valid
velocity, otherwise we default to 1500 m/s); alternatively, append your preferred velocity v in
m/s, TU(depth, v) is the 2-way travel time estimated from the (presumably) uncorrected depth, and
TC(depth) is the 2-way travel time obtained by inverting the (presumably) corrected depth using
the Carter correction formula. Select from
-Ac1[,v] returns difference between U(twt, v) and depth [Default].
-Ac2[,v] returns difference between U(twt, v) and Carter (twt).
-Ac4[,v] returns difference between (assumed uncorrected) depth and Carter (TU(depth)).
-Ac8[,v] returns difference between U(TC(depth), v) and depth.
-Ad Determines how the depth column output is obtained:
-Ad1 returns depth as stored in the data set [Default].
-Ad2[,v] returns calculated uncorrected depth U(twt, v).
-Ad4 returns calculated corrected depth C(twt).
-Af Determines how the faa column output is obtained. If ngrav (i.e., the International Gravity
reference Field (IGF), or "normal gravity") is required it is selected based on the MGD77 header
parameter "Theoretical Gravity Formula Code"; if this code is not present or is invalid we default
to 4. Alternatively, append the preferred field (1-4) to select 1 (Heiskanen 1924), 2 (IGF 1930),
3 (IGF 1967) or 4 (IGF 1980). Select from
-Af1[,field] returns faa as stored in the data set [Default]. Optionally, sets the IGF field to
use if you also have requested ngrav as an output column in -F.
-Af2[,field] returns the difference between gobs and ngrav (with optional field directive).
-Af4[,field] returns the combination of gobs + eot - ngrav (with optional field directive).
-Af8[,field] returns the combination of gobs + pred_eot - ngrav (with optional field directive).
-Am Determines how the mag column output is obtained. There may be one or two total field measurements
in the file (mtf1 and mtf2), and the column msens may state which one is the leading sensor (1 or
2; it may also be undefined). Select from
-Am1 returns mag as stored in the data set [Default].
-Am2 returns the difference between mgfx and igrf, where x is the leading sensor (1 or 2)
indicated by the msens data field (defaults to 1 if unspecified).
-Am4 returns the difference between mgfx and igrf, where x is the sensor (2 or 1) not indicated by
the msens data field (defaults to 2 if unspecified).
-Amc<offset>[unit] Apply a correction that tries to compensate the fact that the magnetic field
was not acquired at the same position as the navigation refer (ship's position). This is
accomplished by re-interpolating the total magnetic field to what it would have had if it was
measured at the ship's position (remember, it probably was measured <offset> meters behind). Due
to this interpolation step, bad navigation, namely too many repeated points, may cause troubles.
Measures are taken to minimize this effect but they aren't 100% full prof. The interpolation
method is controlled by the GMT default GMT_INTERPOLANT. Append e for meter, f for feet, k for km,
m for miles, n for nautical miles, or u for survey feet [Default is e (meters)].
-Cf|g|e
Append a one-letter code to select the procedure for along-track distance calculation (see -N for
selecting units):
f Flat Earth distances.
g Great circle distances [Default].
e Geodesic distances on current GMT ellipsoid.
-Dastartdate
Do not list data collected before startdate (yyyy-mm-ddBD(T)[hh:mm:ss]) [Default is start of
cruise]. Use -DA to exclude records whose time is undefined (i.e., NaN). [Default reports those
records].
-Dbstopdate
Do not list data collected on or after stopdate (yyyy-mm-ddBD(T)[hh:mm:ss]). [Default is end of
cruise]. Use -DB to exclude records whose time is undefined (i.e., NaN). [Default reports those
records].
-E Exact match: Only output records that match all the requested geophysical columns [Default outputs
records that matches at least one of the observed columns].
-Gastartrec
Do not list records before startrec [Default is 0, the first record].
-Gbstoprec
Do not list data after stoprec. [Default is the last record].
-Iignore
Ignore certain data file formats from consideration. Append a|c|t to ignore MGD77 ASCII, MGD77+
netCDF, or plain tab-separated ASCII table files, respectively. The option may be repeated to
ignore more than one format. [Default ignores none].
-L[corrtable]
Apply optimal corrections to columns where such corrections are available. Append the correction
table to use [Default uses the correction table mgd77_corrections.txt in the $MGD77_HOME
directory]. For the format of this file, see CORRECTIONS below.
-n Issue a segment header record with cruise ID for each cruise.
-Nd|sunit
Append d for distance or s for speed, then give the desired unit as e (meter or m/s), f (feet or
feet/s), k (km or km/hr), m (miles or miles/hr), n (nautical miles or knots), or u (survey feet or
sfeet/s). [Default is -Ndk -Nse (km and m/s)].
-Qamin/max
Specify an accepted range (min/max) of azimuths. Records whose track azimuth falls outside this
range are ignored [0/360].
-Qcmin/max
Specify an accepted range (min/max) of course changes. Records whose track course change falls
outside this range are ignored [-360/+360]. Use -QC to take the absolute value of the course
change before the test [Default uses signed course changes].
-Qvmin/max
Specify an accepted range (min/max; or just min if there is no upper limit) of velocities. Records
whose track speed falls outside this range are ignored [0/infinity].
-R[unit]west/east/south/north[/zmin/zmax][r]
west, east, south, and north specify the region of interest, and you may specify them in decimal
degrees or in [+-]dd:mm[:ss.xxx][W|E|S|N] format. Append r if lower left and upper right map
coordinates are given instead of w/e/s/n. The two shorthands -Rg and -Rd stand for global domain
(0/360 and -180/+180 in longitude respectively, with -90/+90 in latitude). Alternatively for grid
creation, give Rcodelon/lat/nx/ny, where code is a 2-character combination of L, C, R (for left,
center, or right) and T, M, B for top, middle, or bottom. e.g., BL for lower left. This indicates
which point on a rectangular region the lon/lat coordinate refers to, and the grid dimensions nx
and ny with grid spacings via -I is used to create the corresponding region. Alternatively,
specify the name of an existing grid file and the -R settings (and grid spacing, if applicable)
are copied from the grid. Using -Runit expects projected (Cartesian) coordinates compatible with
chosen -J and we inversely project to determine actual rectangular geographic region. For
perspective view (-p), optionally append /zmin/zmax. In case of perspective view (-p), a z-range
(zmin, zmax) can be appended to indicate the third dimension. This needs to be done only when
using the -Jz option, not when using only the -p option. In the latter case a perspective view of
the plane is plotted, with no third dimension.
-Sastartdist[unit]
Do not list data that are less than startdist meter along track from port of departure. Append e
for meter, f for feet, k for km, m for miles, n for nautical miles, or u for survey feet [Default
is 0e (meters)].
-Sbstopdist[unit]
Do not list data that are stopdist or more meters along track from port of departure. Append e for
meter, f for feet, k for km, m for miles, n for nautical miles, or u for survey feet [Default is
end of track].
-T[m|e]
Turns OFF the otherwise automatic adjustment of values based on correction terms that are stored
in the MGD77+ file and used to counteract such things as wrong units used by the source
institution when creating the original MGD77 file from which the MGD77+ file derives (the option
has no effect on plain MGD77 ASCII files). Append m or e to limit the option to the MGD77 or
extended columns set only [Default applies to both].
-V[level] (more ...)
Select verbosity level [c].
-Wweight
Set the weight for these data. Weight output option must be set in -F. This is useful if the data
are to be processed with the weighted averaging techniques offered by blockmean, blockmedian, and
blockmode [1].
-Z+|- Append the sign you want for depth, carter, and msd values below sea level (-Z- gives negative
bathymetry) [Default is positive down].
-bo[ncols][type] (more ...)
Select native binary output. ignored if -bo is selected. Likewise, string-fields cannot be
selected. Note that if time is one of the binary output columns it will be stored as Unix-time
(seconds since 1970). To read this information in GMT to obtain absolute calendar time will
require you to use --TIME_SYSTEM=1.
-h[i|o][n][+c][+d][+rremark][+rtitle] (more ...)
Skip or produce header record(s).
-^ or just -
Print a short message about the syntax of the command, then exits (NOTE: on Windows use just -).
-+ or just +
Print an extensive usage (help) message, including the explanation of any module-specific option
(but not the GMT common options), then exits.
-? or no arguments
Print a complete usage (help) message, including the explanation of options, then exits.
--version
Print GMT version and exit.
--show-datadir
Print full path to GMT share directory and exit.
EXAMPLES
To get a (distance, heading, gravity, bathymetry) listing from 01010047.mgd77, starting at June 3 1971
20:45 and ending at distance = 5000 km, use the following command:
gmt mgd77list 01010047 -Da1971-06-03T20:45 -Sb5000 -Fdist,azim,faa,depth > myfile.d
To make input for blockmean and surface using free-air anomalies from all the cruises listed in the file
cruises.lis, but only the data that are inside the specified area, and make the output binary:
gmt mgd77list `cat cruises.lis` -Flon,lat,faa -R-40/-30/25/35 -bo > allgrav.b
To extract the locations of depths exceeding 9000 meter that were not interpolated (btc != 1) from all
the cruises listed in the file cruises.lis:
gmt mgd77list `cat cruises.lis` -F"depth,DEPTH>9000,BTC!=1" > really_deep.d
To extract dist, faa, and grav12_2 from records whose depths are shallower than 3 km and where none of
the requested fields are NaN, from all the MGD77+ netCDF files whose cruise ids are listed in the file
cruises.lis, we try
gmt mgd77list `cat cruises.lis` -E -Ia -F"dist,faa,grav12_2,depth<3000" > \
shallow_grav.d
To extract dist, faa, and grav12_2 from all the MGD77+ netCDF files whose cruise ids are listed in the
file cruises.lis, but only retrieve records whose bitflag for faa indicates BAD values, we try
gmt mgd77list `cat cruises.lis` -E -Ia -F"dist,faa,grav12_2:+faa" > bad_grav.d
To output lon, lat, mag, and faa from all the cruises listed in the file cruises.lis, but recalculate the
two residuals based on the latest reference fields, try:
gmt mgd77list `cat cruises.lis` -Flon,lat,mag,faa -Af2,4 -Am2 > data.d
RECALCULATED ANOMALIES
When recalculated anomalies are requested (either explicitly via the -A option or implicitly via E77
metadata in the MGD77+ file) we only do so for the records whose original anomaly was not a NaN. This
restriction is implemented since many anomaly columns contains corrections, usually in the form of
hand-edited changes, that cannot be duplicated from the corresponding observation.
IGRF
The IGRF calculations are based on a Fortran program written by Susan Macmillan, British Geological
Survey, translated to C via f2c by Joaquim Luis, U Algarve, and adapted to GMT-style by Paul Wessel.
IGF
The equations used are reproduced here using coefficients extracted directly from the source code (let us
know if you find errors):
(1) g = 978052.0 * [1 + 0.005285 * sin^2(lat) - 7e-6 * sin^2(2*lat) + 27e-6 * cos^2(lat) * cos^2(lon-18)]
(2) g = 978049.0 * [1 + 0.0052884 * sin^2(lat) - 0.0000059 * sin^2(2*lat)]
(3) g = 978031.846 * [1 + 0.0053024 * sin^2(lat) - 0.0000058 * sin^2(2*lat)]
(4) g = 978032.67714 * [(1 + 0.00193185138639 * sin^2(lat)) / sqrt (1 - 0.00669437999013 * sin^2(lat))]
CORRECTIONS
The correction table is an ASCII file with coefficients and parameters needed to carry out corrections.
Comment records beginning with # are allowed. All correction records are of the form
cruiseID observation correction
where cruiseID is a NGDC prefix, observation is one of the abbreviations for geophysical observations
listed under -F above, and correction consists of one or more terms that will be summed up and then
subtracted from the observation before output. Each term must have this exact syntax:
factor[*[function]([scale](abbrev[-origin]))[^power]]
where terms in brackets are optional (the brackets themselves are not used but regular parentheses must
be used as indicated). No spaces are allowed except between terms. The factor is the amplitude of the
basis function, while the optional function can be one of sin, cos, or exp. The optional scale and origin
can be used to translate the argument (before giving it to the optional function). The argument abbrev is
one of the abbreviations for observations listed above. If origin is given as T it means that we should
replace it with the value of abbrev for the very first record in the file (this is usually only done for
time). If the first record entry is NaN we revert origin to zero. Optionally, raise the entire expression
to the given power, before multiplying by the amplitude. The following is an example of fictitious
corrections to the cruise 99999999, implying the depth should have the Carter correction removed, faa
should have a linear trend removed, the magnetic anomaly (mag) should be corrected by a strange
dependency on ship heading and latitude, and gobs needs to have 10 mGal added (hence given as -10):
99999999 depth 1.0*((carter))
99999999 faa 14.1 1e-5*((time-T))
99999999 mag 0.5*cos(0.5*(azim-19))^2 1.0*exp(-1e-3(lat))^1.5
99999999 gobs -10
SEE ALSO
mgd77convert, mgd77info, mgd77manage, mgd77track
REFERENCES
The Marine Geophysical Data Exchange Format - MGD77, see
http://www.ngdc.noaa.gov/mgg/dat/geodas/docs/mgd77.txt
IGRF, see http://www.ngdc.noaa.gov/IAGA/vmod/igrf/
COPYRIGHT
2015, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe
5.2.1 January 28, 2016 MGD77LIST(1gmt)