Next: 1.1.12 Overview of GMT Up: 1.1 What is new Previous: 1.1.10 Overview of GMT Contents Index

## 1.1.11 Overview of GMT 4.2.0 [April-1, 2007]

Changes in GMT 4.2.0 address many structural issues as well as many bug fixes. We have consolidated user initialization files in the /.gmt directory, continued to replace tiling with bitmaps, and have performed a myriad of under-the-hood changes. One imporant and more visible new feature is the fact that grdimage and pscoast now can use the general perspective projection with arbitrary elevation (-JG has been enhanced to handle the extra arguments required - see the new example 26 for details). Also, the coastline files have been updated to use GSHHS version 1.5 which fixes minor inconsistencies in the coastline database. We have also corrected issues that made the Windows DLL explode in 4.1.4. Finally, a few enhancements have been made to these programs:

1. NGDC's GRD98 format has been updated to handle both gridline and pixel node registrations.
2. We have relaxed the restriction on latitude for -JA, -JS for polar aspects; now more than one hemisphere may be displayed. Better warning/error messages.
3. gmtconvert has an enhanced -E option; append f or l to only get first or last record per segment.
4. gmtmath -T can now have + appended to indicate number of points instead of increment.
5. grdcontour has a new option -F to orient dumped contours. Can now append :radius to the -G option in order to specify a minimum spacing (measured in the x/y plane) between contour labels.
6. grdinfo has an enhanced -I option. With no arguments we return the grid's -I dx/dy string whereas -I- will return the grid's -R w/e/s/n string.
7. grdmath has new option -M for using map units in gradients and new D2DXY operator. Also added SBAZ for back-azimuths and now allow ELLIPSOID to control if great circles or geodesics should be used (Sphere selects great circles)
8. psrose has new -D option to center the sector bins (like pshistogram -C).
9. psxy understand -W- and -W+ in multisegment headers which will turn off outline or reset to default, respectively. Similarly, -G- and -G+ will turn off fill or reset to default (with -M). Also added new option -SB for horizontal bar (-Sb is vertical).
10. psxyz also has -SB for horizontal bar (-Sb is vertical).
11. sample1d now allows absolute time in -S option.
12. imgsrc/img2mercgrd can take -C to let the Mercator x/y use the global origin of img file.
13. Because of its popularity, ease of use, and importance to many user how otherwise would not know about its existence, ps2raster is moved from the supplementary misc directory to the main set of GMT programs.

Below is a list of previous problems that we have identified and corrected in the current release:

gmt_init.c
  : Fixed unit problem with-Jx1:xxxxx. Erroneously added degree symbol to both coordinates in case of -JX..d/.. (single d). Now properly adds only degree symbol on specified axis. Did not change time-system when only TIME_UNIT was specified. Failed to properly parse a single PAR=ARG (one word) argument given to gmtset.
gmt_io.c
  : Did not terminate a calendar string after copying it.
gmt_plot.c
  : The logic to check for seconds annotations failed if inc 1 arc second. Did not set the contour annotation font before writing labels.
gmt_support.c
  : Parsing old-style pens did not set offset to 0 when no texture was given. Fixed IFACT size in the old Brenner FORTRAN FFT - bug undetected since GMT 1! Contouring of grids with NaNs need to check both vertical AND horizontal interior gridcell boundaries for possible crossings. The label machinery for ddd:mm:ss.xx used the wrong parameter to check for fractional seconds annotation (the .xxx part).
gmt_time_systems.h
  : J2000 epoch was 1.0 Jan 2000, instead of 1.5 Jan 2000.
filter1d
  : The -T option can now parse datestrings for the min/max fields.
gmtmath
  : Fixed memory allocation bug for files with more than BUFSIZ records. Now works correctly with multisegment headers. Multisegment headers now written to the output file and not always to stdout. Option -C now works (used to deselect all columns). Fixed LSQFIT (used wrong columns when some were skipped).
grdcontour
  : Interior contours were not smoothed unless NaNs were involved. Also the labeling of closed highs/lows were insensitive to pixel versus gridline grids and could get the wrong result. -C need to check for``.cpt'' at END of file name. Fixed contour label angle specifications were always ignored.
grdfft
  : -D and -I options could have junk in the parameter arrays if given more than once.
grdimage
  : -JX with a negative scale/length and -E dpi failed to flip the image.
grdinfo
  : Would not take both -L1 and -L2.
grdview
  : Plot no mesh when -T is used.
mapproject
  : -L option did not allocate enough output memory for extra columns.
pscoast
  : Did not list -Z in synopsis/usage.
pscontour
  : For 3-D views, -E projected contours (-W) twice and mesh lines (-L) not at all. Fixed contour label angles were always ignored.
pslib.c
  : Only issue setdash PostScript commands if texture has changed. `ps_clipoff` needed to reset memory of last pen width/color/pattern. `ps_color_tiles` used wrong node registration.
psrose
  : Failed to skip pie-slice filling when no fill was selected. -C lead to SEGV as it tried to read from a non-existent file.
psxy
  : When used with -S but no -W or -G given, only set default -W if -M not used. Erroneously turned symbol outlines on if just -C was given. Incorrectly suggested that -Svs needs 5 instead of 4 columns. -Sf option was parsed to require 3 instead of 2 coordinates.
psxyz
  : -Svs could fail to plot by confusing y-coordinate and y-size. Also need 6 rather than 5 input columns. Bar width has only half of what was requested
splitxyz
  : Reported headings in radians instead of degrees.
trend2d
  : Failed to pass the new variable with column choices. Also did not accept z as an output choice.

A few bug-fixes applies to the supplements as well:

gshhs.c
  : Had && instead of & in bit-arithmetic that reported level.
mgd77manage
  : Failed to enforce that a new column abbreviation must be in lower case.
x2sys_cross
  : Failed to check for crossovers falling exacly on data nodes.

Next: 1.1.12 Overview of GMT Up: 1.1 What is new Previous: 1.1.10 Overview of GMT Contents Index