Next: 1.1.11 Overview of GMT
Up: 1.1 What is new
Previous: 1.1.9 Overview of GMT
Contents
Index
Changes in GMT 4.2.1 once again address many structural issues as well as numerous bug fixes.
System-wide changes include a revamping of the entire configure/make setup for both regular
installations and CVS users, an improvement to how the BCR 2-D interpolations for images and grids
are done by adding B-spline and nearest neighbor as optional interpolants, introduction of
a new PostScript Level 2 pattern machinery in pslib.c, an updated GSHHS coastline version (which
also includes Australia internal state
boundaries, fixes to the Yemeni and Lebanese borders, and more river lines), and general
improvements and corrections to the documentation, such as placing all man pages in section 1
(except pslib which goes in section 3). Starting with GMT 4.2.1 we will also begin naming
the coastline-related archives by the GSHHS prefix and use the actual GSHHS version number (now
1.9).
Individual programs have also seen some new options or enhancements:
- gmtselect has enhancement -Lp to limit points beyond a line's endpoints.
- grdfilter has new option -D5 to allow direct filtering of Mercator grids (img).
- grdmask has an enhanced -A option; append m or p to design
a mask polygon by first following a meridian, then a parallel, or vice versa.
- gmtmath has several new operators, such as PLMg (geophysical normalization
and suitable for high degree and order), FACT, SKEW, KURT, PQUANT, EULER, PSI, PV, QV, COT,
COTD, ACOT, SEC, SECD, ASEC, CSC, CSCD, and ACSC.
- grdmath has the same new operator as gmtmath, plus YLMg and CBAZ.
- grdproject now considers -R an optional setting.
- mapproject has an enhanced -G- option where increments rather than
cumulative distances are returned. Also, for UTM projections with -C, the -R
option is now optional provided the UTM zone is properly specified.
- ps2raster has now a new -P option for forcing portrait orientation.
- pshistogram has now a new -C option for using a cpt file to paint the bars.
- pstext will now accept the @_, @: and @; escape sequences for underline,
font size change, and font color change regardless of mode.
- psrose has a new option -L to control the labels.
- psxy has an enhanced -A option; append m or p to draw a
line by first following a meridian, then a parallel, or vice versa. Can now plot a notched
box-and-whisker symbol, and we added +ndx/dy to nudge placement of quoted line labels.
Encanced-E.../[-
+]pen where + means apply cpt color (-C) to symbol and bar
- means apply to bar only (no fill). Likewise, -W[+
-]pen controls
if -C sets outline (-) or both fill and outline (+).
- psxyz hass enhanced -W[+
-]pen that controls if -C sets outline (-)
or both fill and outline (+).
- sample1d now accepts -Fn for no interpolation (returns nearest value).
- Two additional color maps have been added: panoply mimics the default colormap in
the netCDF viewing program Panoply; cyclic provides a full spectrum of 360 degrees
in hue.
- originator (spotter supplement) has new option -Q to specify constant r/t for (x,y,z) data only.
Below is a list of previous problems that we have identified and corrected in the current release:
- gmt_agc_io.c
- : Failed when nx and/or ny was multiple of 40 + 1.
- gmt_custom_io.c
- : Surfer grid start at lower, not upper left.
- gmt_io.c
- : Combinations of OUTPUT_DEGREE_FORMAT=ddd:mm:ss.xxxF and -:
would add W
E to lat and S
N to lon for formatted output.
Blank lines were not recognized under cygwin/SFU.
When no delimiters are used for input date format (e.g., yyyymmdd) then yyyy must be 4 characters
and we must use %4d. Leading zeros are required if year
1000.
- gmt_init.c
- : For quoted lines, the :Lh modifier did not reset label if
a segment header had no label specified. Also, label would include the leading ïn a multi-word label.
Now, UTM zones may be A,B,Y,Z or 1-60 with modifiers C-X (except I and O).
Parsing of psxy's -Sf incorrectly scaled a count to inches.
Suffices h
+
- in -J were mistaken for units.
- gmt_map.c
- : KM_PER_DEG was not reset in GMT_set_spherical. This may have caused
errors in scaling when ELLIPSOID was not set to Sphere. GMT_distances function did not work with correct pointer.
Great circle intersection did not select correct vector sign so
points 180 degrees from a line could pass as close in gmtselect.
Removed restriction that east and west limits can not be
both negative. This fixed the remaining Hexagone problem.
- gmt_nc.c
- : The attribute actual_range was erroneously stored in grid units
in stead of actual units. The difference is only relevant when storing scaled integers. A backward
compatibility for grids written with previous versions is built in. Also the GMT version number is added
to the global attributes and text attributes are truncated to their proper length.
- gmt_plot.c
- : Failed to activate ddd.mm.xxx format for maps. Oblique tickmarks sometimes
were missing for latitudes.
- gmt_proj.c
- : -JS inverse did not apply quadrant check.
- gmt_support.c
- : ddd:mm.xx (2 or more x) failed to format properly. Needed to reverse z_low
and z_high values as well as rgb values when reversing color maps.
- gmt_vector.c
- : Function GMT_fix_up_path: Intermediate longitudes now wrapped based on segment,
not on map extent.``greenwich'' argument became superfluous and was
removed. Argument ``step'' was found to be in degrees, not in inches as some calling programs assumed.
- filter1d.c
- : For -Fffile, set filter width to DBL_MAX until filter is read.
- grd2cpt.c
- : -E flag did not work unless -T was used.
- grd2xyz.c
- : Did not switch to binary i/o mode when
-Z specified binary output (Windows bug only).
- grdblend.c
- : Now works with Windows DLL by using the GMT i/o functions.
- grdcontour.c
- : -Avalue would turn off the expected default transparency.
- grdcut.c
- : Domain check failed for geographic 360-degree grid with -fg.
- grdedit.c
- : Disallow -T for Surfer grids since they don't support both
kinds of node registration. -N did not take into account if -fg was given.
- grdfilter.c
- : -Inx+/ny+ was not propagated to the output grid setup.
- grdimage.c
- : Removed -T option; no more polygon drawing (use grdview).
-Smax_radius changed to -S[-]b
c
l
n[/threshold] to
take advantage of new and improved projection function GMT_grd_project.
- grdlandmask.c
- : Failed to set rightmost, empty bin if 360-periodicity in effect;
also needed to set repeating right column to left column.
- grdmask.c
- : For -S..k, did not properly account for latitude effect on dx.
SEGV error when GMT_fix_up_path returned fewer points
than originally allocated and the n_alloc variable was not reduced accordingly.
- grdmath.c
- : When M=0, set Imaginary component of YLM to 0 (was same as real).
- grdproject.c
- : -Smax_radius changed to -S[-]b
c
l
n[/threshold] to
take advantage of new and improved projection function GMT_grd_project.
- grdreformat.c
- : Could not determine format of output file automatically since file
does not yet exist (must append file-type code).
- grdsample.c
- : -Qvalue changed to -Q[-]b
c
l
n[/threshold] to
take advantage of new BCR code.
- makecpt.c
- : Colormaps with non-equidistant intervals can now be reversed properly.
- project.c
- : Wrong azimuth for -N and -G generating lines.
- pslegend.c
- : Usage message did not explain the -L option. Added @ECHO OFF to avoid
commands being echoed into the PostScript output under Windows.
The color change (C) macro messed up -Xa and -Ya absolute settings.
- psbasemap.c
- : Check that -L is used with geographic coordinates only.
- psimage.c
- : The -I option had become always active.
- pslib.c
- : Now no text is written if font size equals 0.
- psscale.c
- : Annotations did not work properly if -Q and -B1p were used together.
- psxyz.c
- : Fixed bug in painting outline of text symbols.
- xyz2grd.c
- : -E did not process pixel grids properly.
A few bug-fixes applies to the supplements as well:
- gshhstograss.c
- : Removed use of getopt so even the lamest systems can compile it (incuding
Windows).
- img2mercgrd.c
- : Fixed AND vs OR logic in lat bounds check when -D was set.
Used wrong origin when -C was used. Now relative to lon = lat = 0.
- DLL
- : The meca supplements now work with Windows DLL by using the GMT i/o functions.
- utilmeca.c
- : Make sure that checks on floating point numbers work well, even
in case of small round off errors. Thanks to Peter Lombard.
- mgd77manage.c
- : -Qvalue changed to -Q[-]b
c
l
n[/threshold] to
take advantage of new BCR code. Added E77 status attribute to MGD77+ files.
- mgd77sniffer.c
- : Same. Adjusted anomaly recalculation code so that
cruises with m=1 and b=0 are reported to be same as expected. Repaired 8 memory leaks. Fixed
two regression bugs, one in grid comparisons in which not all data were copied into the regression
arrays and the other in faa recomputation regression where eot was being applied twice.
Added code to check if regression is outside a specified percent (-P).
Updated e77 messages and moved along-track grid offset errors to e77 header rather than having its own error class.
- gmtdigitize.c
- : Must use separate x and y-scales if -Jx is specified.
Wrong coordinates used to calculate rms misfit.
- originator.c Now lists option -L in both usage and man page.
- x2sys.c x2sys_set_system did not initialize structures properly.
- x2sys_cross.c Skip duplicate files with a warning. Distance calculations
were bogus (see gmt_map.c), and wrong number of arguments passed to readfile function pointer.
Finally, as far as CVS users are concerned, the old "gurumake" system has gone. To compile from CVS, users need to use a GNU
compatible make program. A combination of GNUmakefile and makefile files make sure that those components not in the
tarballs are created from scratch. Type make in the GMT directory to get a list of targets.
Next: 1.1.11 Overview of GMT
Up: 1.1 What is new
Previous: 1.1.9 Overview of GMT
Contents
Index
Paul Wessel
2011-02-27