Next: 1.1.3 Overview of GMT Up: 1.1 What is new Previous: 1.1.1 Overview of GMT Contents Index

## 1.1.2 Overview of GMT 4.3.0 [May-1, 2008]

Changes are once again a mix of structural improvements, bug fixes, and a few enhancements. The coastline files (now GSHHS 1.10) have seen minor modifications, the mex supplement now offers support for Octave, all source code is now fully 64-bit compliant, we have added an isolation mode option (if GMT_TMPDIR is defined, write temporary and hidden files to that directory), and the configure/make setup has been further improved (such as honoring CFLAGS and LDFLAGS set by user). Colors may now be specified as hexadecimal codes (e.g., #ff0000 for red), and projections can be specified by name (similar to Proj4). Finally, binary table data can now be COARDS-compliant netCDF files. As for documentation, we have now switched from C shell to Bourne shell (although the csh examples are still distributed).

The following lists specific enhancements or new program options:

1. gmt_grdio.c is modified so the grid i/o supports the GMT_[DATAIMGGRID]DIR environment settings.
2. gmt_init.c was enhanced so -U can now interpret a justification (e.g., just/dx/dy on the command line or by setting UNIX_TIME_POS) and we introduced a new default parameter UNIX_TIME_FORMAT which controls the formatting of the timestamp.
3. gmt_io.c now implements -b[io]c[var1/...] option to indicate input is netCDF.
4. gmtmath recognizes new constants TMIN, TMAX, TINC, and N.
5. grdimage uses -N to not clip image at map boundary.
6. grdview now uses -Wf to change the facade pen from its default value.
7. grdmath recognizes new constants XMIN, XMAX, XINC, NX, and similarly YMIN, YMAX, YINC, NY.
8. mapproject -G+ will compute distances between coordinates in first 4 columns.
9. ps2raster has new option -D to specify alternative output directory and -V to report progress.
10. psrose has new option -F to disable the plotting of the scale bar.
11. psxyz has new option -D to match option set in psxy.
12. mgd77/mgd77list added -Gab rec to limit output to a certain record range.
13. spotter/hotspotter added -S to normalize output to percent of CVA maximum.
14. spotter/grdspotter is a new program, like hotspotter, but using gridded data as input.

A long list of bugs has been squashed since the last release, the most important are listed below:

gmt_grdio.c
  : Fixed 3 bugs in `GMT_decode_grd_h_info` that caused problems parsing -D option. Explicitly exclude = sign from becoming separator.
gmt_io.c
  : Now skips blank lines that has leading whitespace.
gmt_init.c
  : c for seconds was not recognized as TIME_UNIT (expected s, which is kept for backwards compatibility). -B processing of labels used an internal string that was too short, which could lead to label truncation. Fixed ``Holiday-bug'' in `GMT_parse_J_option` introduced 2007-12-21. `GMT_str_tolower` could run out of bounds. Probably only affected 32-bit compilers. `GMT_is_a_blank_line` is now used wherever ascii input is processed.
gmt_map.c
  : Fixed bug in radial clipping. The radial clipping would sometimes add arcs using the arc that exceeds 180 degrees. Added new rectangular clip function using Sutherland/Hodgman algorithm in order to fix incorrect results in grdlandmask. Minor bug in 4th term in conformal to geodetic lat. Round-off could mess mapping of west/east to xmin/xmax. Now has a safety valve for checking that this does not occur.
gmt_plot.c
  : 3-D basemap axis did not use LABEL_OFFSET.
gmt_proj.c
  : Fixed bug in azimuthal equal area projection that had the horizon shifted from where it ought to be. Avoid error in `GMT_lamb_sph` when lat is 90 degrees. Clip path for general perspective projection was not closed. For -JS: Would set slice to NaN if central meridian was not Greenwich. For -JR: Longitudes beyond 180 were set to 180.
gmt_stat.c
  : Bug in `GMT_median` would sometime give subtle mistakes, most noticeable when only a few values were passed to the function. Traced to the use of size_t variables in expressions that could yield a negative value. Fixed minor issues in `GMT_PvQv` function.
gmt_support.c
  : Made `GMT_polygon_is_open` tolerant of round-off and if polygon is not open set last to exactly equal first point. `GMT_get_annot_label` did not properly honor the ddd.xx setting. Now implements annotation for Gnomonic maps. In `GMT_contour`, would occasionally not check internal crossings for some interior contours.
pslib.c
  : Bug in `ps_shorten_path` lead to SEGV when path resulted in a single point. Fixed error in applying pstext's -Dj dx/dy shift in paragraph mode (-M). Redefine rect symbol to be less prone to round-off. Used internal point_code before it was initialized. This caused PAGE_COLOR not to work (wrote NUL rather than C).
gmtmath.c
  : Implemented Welford (1962) algorithm in KURT, SKEW and STD operators for more precise one-pass computation of mean and sum of squares.
gmtselect.c
  : The -:o option failed to reverse output order.
grd2xyz.c
  : Do not abort when -R exceeds grid; simply output common region. For gridline oriented grids: -E returned xll and yll one cell too large. Now writing [xy]llcenter properly.
grdblend.c
  : Did not pick up node registration before calculating output grid size.
grdedit.c
  : Adjust z_min and z_max when changing add_offset or scale_factor.
grdgradient.c
  : With -D and -S the slopes were not set to NaN if data were NaN.
grdinfo.c
  : Implemented Welford (1962) algorithm for more precise one-pass computation of mean and sum of squares. zmin==zmax no longer forces -M option.
grdmask.c
  : Tiny bug for determining which hemisphere (N/S) unlikely to have had any effect. Needed to allow for some slop when comparing shrink to 0.0 since sometimes the result of acos is 1e-14 or thereabouts.
grdmath.c
  : Implemented Welford (1962) algorithm in KURT, SKEW and STD operators for more precise one-pass computation of mean and sum of squares.
grdview.c
  : The facade (-N) outline was drawn with contour pen. The -Qc option failed to set the ``build image'' flag and produced garbage surface tiles. Also, -T[s] produced polygons that were not checked for wrapping at a periodic map boundary. Clarified that -T cannot take -JZz.
minmax.c
  : Could get confused when longitudes crossed dateline or Greenwich, and OUTPUT_DEGREE_FORMAT could interfere with result.
pscontour.c
  : -T option was susceptible to infinite loop if bad record was found.
pshistogram.c
  : The -R option was processed separately and did not understand time coordinates. Bug in -F option failed to center bins.
psmask.c
  : The -D option used the wrong output file name.
psscale.c
  : Inverted vertical scale, when using filled rectangles: Colors remained in the original order. Inverted vertical or horizontal scale, when using rectangles with gradients: Size of rectangles followed original order, not inverted. In reverse mode, -Eb was plotting foreground triangle, -Ef background triangle.
pstext.c
  : Parsing of -C complained about % sign.
psxy.c
  : If first symbol in list with size was not circle, it got rejected. When sizes of -Sr or -Sj were read from list, they were always assumed to be in inches. Drawing arrows with -SvS and time-coordinates did not work as 2nd time coordinate did not get processed properly.
psxyz.c
  : If first symbol in list with size was not circle, it got rejected. When sizes of -Sr or -Sj were read from list, they were always assumed to be in inches.
sample1d.c
  : Calendar time knots did not get properly interpreted with -N.
mgg/mgd77togmt.c
  : Did not initialize the MGG_SHAREDIR path.
mgd77/mgd77.c
  : Wrong header order written if mgd77convert ... -Tt was used.
mgd77/mgd77info.c
  : Could get confused when longitudes crossed dateline or Greenwich, and OUTPUT_DEGREE_FORMAT could interfere with result.
mgd77/mgd77sniffer.c
  : Numerous fixes and enhancements; see ChangeLog.
x2sys/x2sys.c
  : Error in determining which columns had been requested.
x2sys/x2sys_binlist.c
  : Could create bad bins because of incorrect reallocation of memory.
x2sys/x2sys_get.c
  : The -L option did not honor any -F or -N settings.
x2sys/x2sys_put.c
  : Wrong test when replacing older track info lead to data base loss.
x2sys/x2sys_cross.c
  : Used wrong data column order and computed speed when there is no time.

Next: 1.1.3 Overview of GMT Up: 1.1 What is new Previous: 1.1.1 Overview of GMT Contents Index