Next: Preface to version 3.0
Up: Prefaces
Previous: New features in 3.2
GMT 3.1 is a major upgrade of the Generic Mapping Tools.
However, most of the improvements are ``under the hood'',
not readily visible to the user. The primary purpose of the
present release is to ensure complete portability of GMT to
as many hardware platforms as possible. To accomplish that
goal we made three fundamental changes to the GMT source code:
- 1.
- All GMT source code strictly follows the ANSI C standard.
- 2.
- All GMT source code is POSIX compliant.
- 3.
- Architecture-independent files are read and written with netCDF 3.
Since the release of GMT 3.0 we have seen more 64-bit operating
systems and a steady evolution of netCDF to accomodate such
systems. GMT 3.0 has therefore become harder and harder to
install and it was time for a significant upgrade. GMT 3.1 is
now highly portable and has been installed and tested under
Solaris, HP Unix, SGI Irix, Linux, MkLinuk, OSF, Ultrix, and
Win32. The GMT package also is Y2K compliant.
Although portability has been our main concern, GMT 3.1 also
delivers several new features and programs. Among the most
significant offerings are:
- 1.
- Two new map projections (Gnomonic and Miller).
- 2.
- 90 built-in bit and hachure patterns and a new mechanism
for color patterns. -–Gp|P now accepts pattern dpi
rather than block building size; dpi = 0 uses default dpi.
- 3.
- Full support for native binary table input/output for all
programs that read tables.
- 4.
- Shorthand mechanism for 5 alternative 2-D grid formats via
.gmt_io file.
- 5.
- Four new programs: blockmode for block-averaging by mode
estimates, gmtconvert to translate between native binary and
ASCII table formats, gmtselect to select subsets of table data
based on multiple spatial criteria, and grdvolume for calculating
volumes under surfaces within a specified contour. One supplemental
program, psimage , has been revised and incorporated into the
main GMT while another, psmegaplot , has been relegated to the
supplemental archive.
- 6.
- Boundary condition options for several grid-generating or
manipulating programs.
- 7.
- Improved PostScript BoundingBox implementation.
- 8.
- Numerous bug fixes (see CHANGES for deltails).
- 9.
- More examples (for a total of 20).
- 10.
- A new GMT map-making tutorial book and short-course.
In addition, several programs have more functionality thanks to
new options. For example, pscoast can now set up clip paths
based on the coastlines or dump an ASCII table rather than drawing
them, and psxy and psxyz can read symbol codes from
the input data. The following is a summary of new capabilities:
Table 1.4:
New capabilities in GMT 3.1
Program |
Changes |
blockmedian |
-–Q returns median z and ( x, y) at that value |
grd2xyz |
-–S suppresses nodes that equal NaN |
|
-–Z extended to specify arbitrary binary output file formats |
grdcontour |
-–N sets label unit, -–Z optionally takes an offset |
grdgradient |
-–L sets the boundary conditions at edges |
grdinfo |
-–C formats output for easy parsing |
grdmask |
-–H added |
grdsample |
-–L sets the boundary conditions at edges |
grdtrack |
-–S suppresses output that equal NaN, also -–L as above |
grdview |
-–L sets the boundary conditions at edges |
makecpt |
-–I option to reverse grayramp |
minmax |
-–C formats output for easy parsing |
nearneighbor |
-–L sets the boundary conditions at edges |
project |
-–M multisegment option. Also handles any number of input colums |
pscoast |
-–M to dump ASCII coastline file, -Gc and -–Sc to create clip paths |
pscontour |
-–L to draw network triangles |
pshistogram |
-–L to draw transparent histogram |
psmask |
-–F option for pixel registration |
psscale |
-–E to extend scale with fore- and back-ground colors |
pstext |
-–D to translate basepoint after map projection |
psxy[z] |
-–SE plots ellipses given axes in km (and thus replaces ellipse scripts) |
|
-–S without symbol makes program read last column as symbol type |
sample1d |
-–A, -C, and -–L become -–Fa -Fc -Fl but is backward compatible. |
xyz2grd |
-–Z extended to specify arbitrary binary input file formats |
-–JM -–Jm |
Optional forms are -JM lon/ lat/ width and -Jm lon/ lat/ scale |
|
Speaking of pscoast , the coastline and political boundaries data
bases have undergone modest changes and will continue to do so as we
obtain better data. Several bugs have been fixed, and new political
borders have been added (but not all).
While fixing inconsistencies and enhancing the GMT programs we do
occasionally get into a situation which was best resolved by renaming
a command line option. We do not like to do so since it introduces
incompatibilities between versions of GMT; however, sometimes this
is neccesary in order to fix a bug (as in grdclip and
grdpaste below). This has in particular been used to ensure
that the common command line options are unique and that some others
have the same meaning in as many programs as possible. Table 1.5 is a
list of incompatibilities between GMT 3.0 and 3.1, revise any GMT shell scripts accordingly.
Table 1.5:
Incompatibilities between GMT verions 3.0 and 3.1
Program |
Changes |
grdclip |
-–A and -–B have been replaced by -Sa and -Sb. |
|
The -B interfered with the usual meaning of -–B. |
grdpaste |
Same problem; introduced -–Sa and -Sb. |
grdview |
-–D no longer an option; -M and -W follow grdcontour syntax; |
|
They are now set by -–Wc and – -Wm. |
nearneighbor |
-–M is replaced by -–S radius k as in psmask |
project |
-–M becomes the multisegment flag as usual; old -–M replaced by -Q. |
psclip |
-–S becomes -C, and -O must now explicitly be set. |
psmask |
-–S and -–C have reversed roles to match psclip. |
|
-–M is replaced by -S radius k. |
psxy[z] |
-–L only needed to close polygons; -–W[ pen] determines outlines. |
|
In addition, no programs have the old option -–F to change the
color of the map frame. We did this to free up this option for future
enhancements since the effect easily can be obtained via gmtset
BASEMAP_FRAME_RGB r/g/b.
We have received many bug reports regarding GMT 3.0 and we have
attempted to correct as many problems as we have had time for.
Some of you may be disappointed in finding that GMT 3.1 still has
a bug you reported to us. Part of our difficulty lies in the fact
that GMT 3.1 has changed significantly since 3.0 so that it is not
always easy to verify that a problem has been fixed or is still
with us. Thus, while not bug-free, GMT 3.1 provides a more stable
platform allowing easier verification and termination of bugs.
We encourage you to discover (or rediscover) bugs and bring them to
our attention.
Finally, we would like to thank those of you who continue to
contributed ideas, bug reports, and advice since version 3.0. We
appreciate your input, and believe version 3.1 reflects many of
the suggestions you have provided.
Next: Preface to version 3.0
Up: Prefaces
Previous: New features in 3.2
Paul Wessel
1999-03-25