Next: 1.1.2 Overview of GMT
Up: 1.1 What is new
Previous: 1.1 What is new
Contents
Index
This is another significant update of the official distribution and hence it has a mix of bug fixes
and program enhancements. We have added a new supplement (sph) which
offers interpolation, triangulation (Delaunay and Voronoi), and distance calculations on a
spherical surface. The hard work is done by the original effort of Robert Renka who developed
the Fortran-77 SSRFPACK and STRIPACK libraries; these are here supplied via a f2c-assisted
translation.
The imgsrc supplement has a new Bourne script img2google, which simplifies
making Google Earth tiles from Sandwell and Smith bathymetry. The mgd77 supplement
has a new program mgd77magref, which is used to evaluate either the CM4 comprehensive geomagnetic
model, a more sophisticated alternative to IGRF, or the IGRF. The misc supplement has received
two new tools (gmt2kml and kml2gmt) that simplify the presentation of GMT data
in Google Earth, and one (dimfilter) that offers directional spatial filtering of grids.
The x2sys supplement has a new tool (x2sys_merge) to merge updated COEs table into a main COE table database.
Finally, ps2raster.c has evolved further and can now be used to create simple KML files for Google Earth.
A major new enhancement is the global option -g, which is used to determine if excessive spacing
between data points (``gaps'', to be defined in a variety of ways) should be used to segment an otherwise continuous
line. We expect to enable -g in several programs during the next revision; at the moment it is
available in gmtconvert, mapproject, psxy and psxyz.
Given that all the lower-case GMT options deal with low-level data i/o settings we have decided
to rename the -M option (which controls the presence of multiple segment headers) to -m; this
allows us to promote this ubiquitous option to global status (i.e., has the same meaning in all GMT programs).
Use of -M will remain valid for the rest of GMT 4.x but results in a warning about the new usage.
Related to this is the introduction of a new parameter (NAN_RECORDS) that determines if NaNs in
key columns (such as longitude, latitude) should constitute a line break or bad data to be skipped.
We have revised how ellipsoids are specified. When importing an ellipsoid file, we allow a,b,f as ellipsoid parameters,
where b or f could both be zero. If file does not exist, attempt to read name as a[/[b=
f=]f],
meaning semi-major axis, b=semi-minor axis, f = flattening, or inverse flattening. We have also
added parameters for the TOPEX ellipsoid and for the Moon and planets (IAU2000).
This release of GMT coincides with the release 2.0 of GSHHS, the coastline data used by GMT. In addition to
general improvements to the data, we have expanded the -A option that controls the limits on what features
to extract. New modifiers allow users to exclude ``river-lakes'' and any feature whose area is less than a
fraction of the original full resolution feature.
Finally, our configure script continues to evolve and now better supports installation on 64-bit systems and
can automatically detect if and where netCDF exists on your system.
Here is the list of bug corrections:
- gmt_customio.c
- : In GMT_ras_read_grd_info, wrong size was passed to fread.
- gmt_grdio.c
- : Fixed bug in GMT_grd_setregion: longitudes were limited inward
instead of outward. Caused white-space left and right in grdimage.
- gmt_init.c
- : No longer remove supposedly empty .gmtcommands4 file.
Could have been written to by piped GMT command. Now create/write only when new matter is to be written.
- gmt_io.c
- : When only -mi is set there should be no multisegment headers on output.
yet there was no if-test to check for that.
- gmt_map.c
- : Fixed serious bug in GMT_az_backaz_flatearth: incorrectly
converted degrees to radians. Fixed bug in GMT_get_rotate_pole: called GMT_rotate_pole_forward with radians instead of degrees.
Incorrectly attempted to free array only used when antialias is on.
Fixed inability to determine projection pole when central meridian and western boundary are the same (Albers, Conic equidistant).
Incorrectly used central longitude to set default midpoint for 3-D maps using the -E...+ mechanism when data were not geographic.
Numerous bug fixes related to UTM: Did not report bad zone
for
A or
Z; Zones A+B reached till 84S instead of 80S; Zone J
wrongly produced value for Zone K; Zones U+W were not recognized;
Now also equates Zone O to Zone P (already equated Zone I to J).
- gmt_mgg_header2.c
- : There was no support for (a) floating point grids and (b) swapping happened based
on machine byte order and not based on actual file byte order.
- gmt_nc.c
- : Argument [layer] was not stripped from varname and would end up
in output grid. Set zmin/zmax to NaN when info not in header.
- gmt_plot.c
- : Crashed when using time labels in 3D plot.
- gmt_proj.c
- : Fixed bug in longitude computation when standard parallel is on Southern Hemisphere.
- gmt_support.c
- : Exceeded array bounds in GMT_read_cpt for hsv conversion.
The 3-D view -E option used in many programs (such as psxyz) could not handle exponential notations.
Determining of a color scale is continuous should be based on HSV (not RGB) values when read as HSV.
The modifier :radius[unit] to the -G option in grdcontour for
the placement of contour labels is now +rradius[unit] since the colon interfered with ddd:mm:ss coordinates.
Given -I601+/601+ the y-increment was not processed correctly.
Fixed bug when x_inc in km, m, etc, the value was ignored (always 1).
- blockmean.c
- : Gave bogus usage about number of input columns when -E is set
but -E only affects output. Same for blockmedian.c and blockmode.c.
- gmtconvert.c
- : With -S, did not report the number of output segments.
- gmtmath.c
- : Tried to free memory that was not allocated.
- grdfilter.c
- : Toggle -T was not processed correctly if -Rgridfile was given.
- grdgradient.c
- : For geographic grids, make sure N and S pole only has a single value on output.
- greenspline.c
- : Calculation of nz layers was off by one, leaving out the penultimate layer.
- grdimage.c
- : We now make sure the NaN color is unique when -Q is used.
- grdmath.c
- : The PDIST operator did not handle binary input files (as LDIST does).
- ps2raster.c
- : Exceeded memory allocation for out_file. Now in static memory.
- psclip.c
- : Produce at least ``S V'' when the clippath is empty.
- pscoast.c
- : Produce at least ``S V'' when the clippath is empty.
- psscale.c
- : When using -A with a vertical color bar, the annotations where left-
in stead of right-aligned. When using -A on horizontal bar, the last tick mark would not appear.
- gshhs/gshhs.c
- : Checked wrong variable to test if a file was given on the command line.
- meca/util_meca.c
- : Needed to convert the output from d_atan2 to degrees.
- mgd77/mgd77.c
- : Was failing to read Windows terminated ASCII files.
Fixed bug in MGD77_igrf10syn routine (mistake done while cleaning the
f2c version) that resulted in altitude always being on Earth surface
when geocentric coordinates were used. Do not use any GMT i/o-functions to access ascii files on
creation/writing so that it can work under Windows as well.
Converting files from netCDF to MGD77 where time = NaN gave junk records.
- mgd77/mgd77list.c
- : Used GMT_LONG in memset for an array allocated as int.
Used wrong time for IGRF calculation; worst case situation was off by 1 year.
- mgd77/mgd77manage.c
- : The -D option would remove original attributes. Now
both original and revised attributes are carried in memory.
This problem also affected mgd77convert -FC if used on a
file after mgd77manage -D had been run.
Used wrong time for IGRF calculation; worst case situation was off by 1 year.
Now uses GMT_read_img to handle *.img files; earlier the inline code would fail on the new extended img files.
- mgd77/mgd77sniffer.c
- : Did not reset the E77 structure between cruises.
- misc/gmtstitch.c
- : Did not read standard input if no files were given. Now honors -V properly.
- x2sys/x2sys.c
- : Wrong array argument passed for correction aux values.
- x2sys/x2sys_cross.c
- : Removed the -F option which was not honored anyway.
- x2sys/x2sys_init.c
- : Now properly copies the *.def file to the TAG dir.
- x2sys/x2sys_datalist.c
- : Only ASCII output had corrections (-L) applied.
- x2sys/x2sys_put.c
- : Fixed -D option (was falling in a endless loop).
Here is a list of the recent enhancement to various programs:
- gmt_init.c has added support for enhanced -E option for 3-D perspective
views which allows the specification of a fixed point (needed for
new Default setting NAN_RECORDS = skip
pass [skip].
If ``pass'' we treat let the programs handle the NaNs; for some
programs the NaNs in input record will act as indicators of
data gaps for continuous lines. If ``skip'' we report them
as bad records. In both cases the records are skipped.
Allow negative integer interval (-n) for annotating log axis; this means annotate every n'th power of 10.
- gmt_nc.c will properly handle netCDF that have LatLon = 0, 1: flip x and y.
- gmt_shore.c Added support for the +ppercent modifier to limit features whose
area is less percent of the corresponding full-resolution polygon.
- gmt_support.c enables GMT_intpol to handle NaNs by treating them as segment
boundaries. Rely on Shewchuk's triangle function to get Voronoi output.
- blockmedian.c now returns the quantile(x), quantile(y) location when -T is used.
Added -Eb to get box-and-whisker output (0. 25, 50, 75, and 100% quantiles).
- gmtconvert.c now allows -S
pattern which reports segments whose header does NOT contain pattern.
Should pattern actually start with
we escape it with
pattern.
- gmtselect.c can now handle dateTclock strings in -Z when used with
data whose 3rd column contains time.
- gmtmath.c added MOD function (remainder after floored division,
Knuth style). This is in contrast to FMOD which gives the remainder after (horror) truncated division.
- gmtselect.c Same upgrade to -A option as pscoast.
- grdcut.c has new option -Z which is used to determine a rectangular subregion
so that the rejected area have values entirely outside the given z-range.
- grdfft.c now also has a Butterworth band-pass filter.
- grdinfo.c will now use plain text (and not code) to report the file format used.
Add option -L0 to actually scan data to determine zmin and zmax.
- grdlandmask.c Same upgrade to -A option as pscoast.
- grdmath.c added MOD function (remainder after floored division).
- ps2raster.c takes -W+k to create a simple KML file for Google Earth. Several
other modifiers help to populate the KML file.
- psclip.c has a new option -T that turns on map region clipping without any
input data files; it is a shorthand for -N /dev/null.
- pscoast.c has enhanced -C[l
r/]it fill offers to paint river-lakes separately from lakes.
The -A option can be used to exclude river-lakes or lakes for level 2.
-W now allows different pens for the 4 levels of shorelines.
- pglegend.c allows S record not to have text. Until now, when left empty would
use whatever text was set to in previous record. The
record no longer needed before T;
T, L, S, H alignment harmonized; I, M, B spacing improved; -B option added.
- psxy.c added -g to break lines into segments based on gap criteria;
added -T to be a shorthand for reading no input, where we used /dev/null before.
- psxyz.c added -g to break lines into segments based on gap criteria.
- triangulate.c has new option -Q to generate Voronoi polygon edges.
- mgd77/mgd77convert.c allows users to give file.ext on command line.
- mgd77/mgd77list.c can now take -DA and -DB which, in the presence of time = NaN,
will not output such records [-Da
b will]. Also clarified the ranges implied by -D and -S.
Added -Fytime which gives decimal absolute year for time output.
Modifier -At added which attempts to create fake cruise times
based on header information and distance along track.
- mgd77/mgd77manage.c added -AE to ignore the verification status and process e77 anyway.
- mgd77/mgd77path.c added -P- to just list the IDs and not the full paths.
- mgd77/mgd77track.c added -Gt
dgap to recognize gaps in tracks based on
distance or time between successive points.
- mgg/mgd77togmt.c added new -T and -W options to store total field and account for the
magnetometer tow distance. Also tries to get info from header file.
- misc/gmtstitch.c has enhanced -T option to eliminate connections when the 2nd closest
pair is too close. Also added -C option to simply separate the open from the closed polygons (no stitching).
Added -L option to write out segment-link information.
- x2sys/x2sys_list.c can now accept list of weights for each track and output the
composite weight for each crossover.
- x2sys/x2sys_solve.c has option -W means an extra column with crossover weight.
Next: 1.1.2 Overview of GMT
Up: 1.1 What is new
Previous: 1.1 What is new
Contents
Index
Paul Wessel
2009-07-13