GHS Release Notes

GHS Beta-Version Update History since Version 15.00

GHS Beta-Version Update History since Version 15.50

Version 15.50A

TANK selection using /ENDS, /IN, /OUT, /BOTTOM, and /TOP parameters  
was sometimes failing to include portside tanks whose points all straddle the  
selected volume without any being inside of it.    

DISPLAY STATUS /SYNC was delaying up to 5 seconds when immediately followed  
by DISPLAY STATUS to a report file (requires updated CG.EXE).    

DISPLAY STATUS body view with /YESEMPTY parameter was sometimes failing  
to show loaded tanks that were obscured by empty tanks occupying the same space.    

GHSCOM function GetVariableString increased its maximum string length from  
256 to 10,000 characters (requires updated GHSCOM.DLL).  .

Version 15.52

SUBSLIST system variable was added to return a space-separated list of all  
available substance descriptions defined by the CONTENTS command (excluding  
special names like "OIL", "cargo", and "unknown").  Each description is safely  
surrounded by quotes, so {SUBSLIST} can be used directly for a TEMPLATE  
drop-down variable list field or sent through the SET command ITEM operator  
to pick out each substance description by item index.    

TEMPLATE variable edit input field /Height:rows parameter was added to show  
a multiline edit control with space for the specified rows of wordwrapped  variable text.    

TEMPLATE variable edit input fields now supports editing text files by  
specifying @"filespec" in place of a variable name.  The VARIable keyword is  
required to distinguish this from static image fields.  When used with the  
/Height:rows parameter, text is horizontally and vertically scrolled within  
the edit field window, allowing new line insertion by pressing the Enter key;  
otherwise only the first line of the file is read and written.    

COPY /FROMAnsi, /FROMUnicode, /TOAnsi, and /TOUnicode parameters improved  
conversions when original source was Unicode, now supporting combinations  
(for example, /FROMA /TOU assumes ANSI source and converts to UTF-8).    

HEEL -{variable} and similar commands no longer trap an error if the variable 
has a negative value.    

DISPLAY STATUS BODY @ loc :=ANGLES no longer traps an "invalid location"  
run-time error if the number of angles exceeded 30 total view boxes, instead  
truncating the angle list (requires updated CG.EXE).    

DISPLAY STATUS profile views were sometimes incorrectly coloring above  discontinous internal waterlines.  .  

Version 15.52A    

Load Editor in Weights mode was trapping an "integer overflow" run-time error  
in rare cases with distributed weight items composed of multiple pieces having  
the same VCG but differing TCG (since 15.46B only).    

Load Editor was not allowing repeated F11 hotkey presses to toggle back and  
forth between intact and flooded without moving the cursor field.    

ERASE command is no longer restricted to 80-character file specifications.      

Version 15.52B    

DISPLAY STATUS profile views were sometimes incorrectly coloring above  
extremely short internal waterlines (requires updated CG.EXE).      

Version 15.52C    

ADD command can now make incremental adjustments to the weight or CG of  
a distributed weight item (using an asterisk for the old value of the weight  
or any of the lcg, tcg, or vcg coordinates along with optional + or - values)  
without converting the distribution to a point weight.      

Version 15.52D    

ADD REPORT was failing when ADD PREFIX had turned on automatic weight  
description prefixing (requires updated ADDEXTENSION.LIB).    

COPY /CODE was truncating lines longer than 10,000 chars (since 15.52 only).      

Version 15.54      

RA /LIM was incorrectly including EQU0 with the angles prior to EQU0  
that get ignored for downflooding (since 15.42 only).    

READ variable /CHAR[:n] parameter was added in READ DATA mode to read  
the next n characters (default n=1) into the specified variable.    

READ [/SKIP | /LINE | /CHAR[:n]] without any variable name is now supported  
in READ DATA mode to move the file pointer as if a variable were present  
without saving any data.    

MESSAGE PLOTSTART data rows beginning with a quote mark (") were causing  
the report to trap "Unknown keyword" when printed (since 15.28B only).

Version 15.54A    

RA /LIM was not consistently reporting negative angle limit margins when  
weathertight downflooding occurs initially at equilibrium followed by later  
immersion of normal downflooding points.    

MESSAGE PLOTSTART custom plots were sometimes clipping off the top or bottom 
 of curves that reach their maximum or minimum between plot data points.    

READ variable /LINE safely excludes any portably-encoded image put into a  
report file using the NOTE {%IMAGE("file:")%} command, instead saving the  
encoded BMP or JPG file to the current directory.  

Version 15.54B    

Load Editor current row and field were unnecessarily disrupted by macro  
execution containing READ /APPEND or DELETE commands.      

Version 15.54C    

COMP /EFF and /PERM parameters were not always correctly updating the maximum  
capacity of the containing part.      

Version 15.56    

TFSMMTL system variable was differing from true longitudinal free surface  
moment shown by the TC command at high trims.    

Version 15.56A    

LS /COLumn: [Weight] [Buoyancy] [Shear] [Moment] [Section] parameter was added  
to show only the selected middle table columns (not with /PER or /LIM present).  

Note options for left location columns can be selected by the /FRAME parameter  
and right columns by the /NODEFLECT and /NOSTRESS parameters.    

WRITE command in Part Maker and Section Editor no longer permits overwriting  
read-only Geometry Files.  Note the main program likewise prevents overwriting  
read-only files without first deleting them using the ERASE command (requires  
updated PM.EXE and SE.EXE).      

Version 15.58    

RA /LIM was sometimes failing with undefined Deck Immersion limit angle  
when the first two listed heel angles straddle upright and the deck immerses  
between upright and the second heel angle.    

LS /COL:SECTION /NODEFLECT /NOSTRESS was showing incorrect Section Modulus  
values (since 15.56A only).    

Load Editor was incorrectly setting LB/GAL density units when pressing F6  
(or right-clicking LB/CF) with the cursor in the Contents column for a  
general cargo tank when not in /BULK mode (since 7.42E only).      

Version 15.58A    

RA /LIM was including superfluous final angles when EQU0 occurred before the  
start of the angle list with flood points defined (since 15.38 only).    

MAXVCG /SIZE:max[,min] parameter was added to scale the maximum VCG  
plot so the top is at least max and optionally the bottom is at most min.  
Assuming this range is large enough to include any expected max VCG value,  
this provides uniform scaling for easy comparison of a series of MAXVCG plots.  
If /SIZE:* is given, then sizes from the last MAXVCG plot are reused.    

MESSAGE PLOTSTART /SIZE:max[,min] parameter was added to scale the plot  
so the top is at least max and optionally the bottom is at most min,  
providing uniform scaling for easy comparison of a series of custom plots.  
If /SIZE:* is given, then sizes from the last custom plot are reused.    

MESSAGE PLOTSTART skips points for non-numeric data values like * or ""  
instead of inserting curve gaps, thereby allowing points to be added for  
selected curves at given X values without affecting the remaining curves.    

MESSAGE PLOTSTYLE P doubles the area of isolated plot points for better  
visibility (requires updated PP.EXE).    

COPY dir1 dir2 no longer risks getting into a recursive loop if the second  
directory is a subdirectory of the first directory, instead trapping an error.      

Version 15.60    

MAXVCG and SOLVE MAXVCG commands added /MXMACRO:name parameter to execute  
the named macro after every intermediate RA computation.  This hook can be used  
for diagnostics, harvesting attained limit values, changing limits, etc.    

LS summary now includes Largest Deflection location.    

HMMT WIND and HMMT TURN added /ARMdraft:fraction parameter to calculate  
vertical lever arms around a draft-based height instead of the centroid of the  
underwater lateral plane.  The specified fraction between 0 and 1 multiplies  
the draft line height used for the lever arm (so /ARM:1 uses the full draft  
height down to the keel for hydrofoil criteria).  The draft is located at  
any mid perpendicular MP defined by the LBP command, else at any midpoint  
MS defined by the LBP or LWL commands, otherwise at the LCF.  
Note that  /ARM:0.5 can be used for regulations that specify Draft/2 be used for heeling  
arms (which is more conservative but less realistic than the program's default  
lateral plane centroid method).    

DISPLAY STATUS PROFILE:WITHSAILS was sometimes reducing the vessel size  
to make space for unset sails (requires updated CG.EXE).      

Version 15.60A    

Solving was trapping spurious negative waterplane errors for long skinny tanks  
such as pipes in rare cases.      

Version 15.60B    

Solving was trapping spurious bad slope errors for long skinny tanks such as  
pipes in rare cases.      

Version 15.60C    

LOAD EDIT /LS no longer risks aborting to the command line after a rapid  
series of function key load changes (since 15.54B only).    

LS tolerance was increased for avoiding weight-center discrepancy errors  
while MB module interactions are active.      

Version 15.60D    

RA with flood points defined no longer traps "EQU0 is out of range" in cases  
of undefined equilibrium disregarding external heeling, ignoring angles for  
downflooding prior to upright instead of undefined EQU0 (since 15.38 only).    

Solving was still trapping spurious bad slope errors for long skinny tanks  
such as pipes with tiny load in rare cases (since 15.60B only).      

Version 15.60E    

TEMPLATE fields FILE and DIR using the /SHORT parameter now provide  
horizontal scrolling for filenames exceeding the dialog box width.    

COPY /CODE avoids trapping errors for WEIGHT lines longer than 65,535 chars  
by inserting line breaks as needed after commas and semicolons.      

Version 15.60G    

MB module suppresses waterplane information from the STATUS GHS report  
and traps an error for STATUS WPL, in order to avoid showing misleading GMT  
and related values that assume constant displacement, which does not hold under  
multi-body conditions.        

Version 15.62    

READ variable /CHAR :KEEP [:n] subparameter was added in READ DATA mode  
to keep the next n characters (default n=1) available for future reading.    

COMP /SKIN plot printing was sometimes trapping an error for components  
containing stations split across the centerline into separate lobes.    

SE command Name no longer traps "Illegal name" for existing part names if  
given without a trailing backslash; note however that the final backslash  
would be needed to avoid selecting any shape having the same name as the part.  
DISPLAY command Name was not warning when given non-existent names, but now  
traps "Illegal name" (requires updated SE.EXE).      

Version 15.62A    

RA /LIM was sometimes stopping before RA0 and reporting spurious UNDEF limit  
results in cases with negative heeling arm at high angles.

Version 15.64    

RA /LIM detection of initial equilibrium was improved, preventing unnecessary  
errors and allowing higher SOLVE MAXVCG results in certain unusual cases.    

RA /LIM /FREEBD was sometimes unnecessarily trapping "ANGLES given do not  
include equilibrium" (since 15.58 only).    

GROUND command can now make incremental CG adjustments using an asterisk  
for any of the lcg, tcg, or vcg coordinates along with optional + or - values,  
preserving the old ground point depth and reaction formula.    

GROUP name=tanklist /CONT:"contents" no longer creates an empty group  
if no tanks in the list have the indicated contents name; this empty group  
was invisible except when written to a SAVE file.    

GROUP reports for multiple groups were clearing all but the last group off the  
Display area of SCREEN COMMAND split-screens in default SCROLL ON mode.    

LINENUM system variable was sometimes exceeding the maximum lines per page  
after returning from an external program like Condition Graphics.  The sum  
of LINENUM plus LINELEFT can now be used reliably to calculate page length.   
Version 15.64A    

OUTFLOW was incorrectly dividing Breadth by an extra metric conversion factor  
when calculating Reg 12A.6 minimum bottom shell plating distance.

Version 15.66    
Print File Exporter wizard exports PF and PPF files to Word and HTML format  
(requires PFEXPORT.WIZ from Wizards support downloads).    

READ variable /LINE safely excludes any portably-encoded footer files put  
into a PPF file using COPY name.PF name.PPF /CONVERT, instead saving the  
encoded footer text or logo file to the current directory (first renaming the  
saved file if necessary to avoid overwriting existing files).  Note READ /LINE  
ends embedded filenames with ":" to distinguish them from external files.    

READ variable /CHAR:Keep:n supports n<0 to read the rightmost -n characters  
from the end of the current line, keeping data available for future reading.    

SHELL OPEN document.ext was not working for document names containing spaces.      

Version 15.66A    

PERM /VOlume:unit parameter was added to report capacities in GA (gallons),  
IM (imperial gallons), CY (cubic yards), LI (liters), and BB (barrels) units,  
along with default CF (cubic feet) and CM (cubic meters).    

TS /CAPacity:f1[,f2] parameter was added to report Capacity in the table header 
 using the specified load fractions (default 100%,95% to show full capacity  
followed by secondary 95% capacity for contents lighter than Fresh Water).      

Version 15.66B    

LOAD FLOWC was sometimes ineffective following RA /NOPRINT or RA /NOTAB.    

FIXUP and MC FIXUP were not preserving any GF variables set by Part Maker  
(requires updated MC.EXE).      

Version 15.68    

RA /LIM using LIM ANG FROM EQU TO FLD OR TFLD was sometimes missing  
lowest Tight Point submersion if its location coincided with an existing heel  
angle in the table, so did not need to be interpolated and inserted.    

LS no longer omits any plot curve lines when more than 6 total.      

Version 15.68A    

LIMIT ABSolute AREA was added to limit absolute area below the righting arm  
curve regardless of any heeling moment.  Otherwise this limit behaves the same  
as LIMIT AREA, which pertains to residual area above any heeling arm curve.      

Version 15.70    

LS /PLAN parameter was added as an optional replacement for /PROfile  
to show the vessel plan instead of the profile on plots.  This /PLAN option  
was also added for COMP /SECTION, COMP /SKIN, FL, TORQUE,  
and WEIGHT commands.    

READ (DATA) file /REPLace:[old,new],... paraneter was added to replace a  
series of old text with new text (specified either as a quoted string or ASCII  
value character) whenever found in read data.  This can be done to change or  
delete problematic characters (like braces used for variable replacement), or  
to identify meaningful control characters that otherwise would be filtered out.    

RA column header for "Area" now appears in the report as "Res. Area" when  
moments are present.    

LIMIT report description for Area limit is prefixed with "Residual" or "Res."  
when moments are present.    

PMX statement ROTATE trim, heel, azimuth was greatly improved to fix various  
trim and azimuth problems and use the correct heel direction.  Note ROTATE  
no longer allows non-zero heel or azimuth rotation of centerline components  
to avoid "butterfly" effects with port and starboard sides rotated in opposite  
directions (requires updated PMX.EXE).      

Version 15.70A    

PMX statement ROTATE was incorrectly trapping "Side conflict" for non-zero  
heel or azimuth rotation of portside components (since 15.70 only; requires  
updated PMX.EXE).    

PRINT was improved to smooth kinks from plot curves (requires updated PP.EXE).      

Version 15.70B    

PMX statement ROTATE trim, heel, azimuth now rotates edges around any part  
reference point assigned by the REFERENCE statement, or the origin if none  
(requires updated PMX.EXE).    

PM statement ROTATE is now effective for CYLINDER, ELBOW, and SPHERE  
shapes as well as edges (either explicitly defined by EDGE statements or  
implicitly derived from TOP, BOTTOM, etc. boxes).    

TEMPLATE field VARIABLE @file or "@files" was working to edit text file  
contents, but @"file" was trapping an error (since 15.52 only).      

Version 15.72    

RA /LIM was failing with UNDEF for limits where angle RA0 or RA00 was  
not found within 180 degrees of EQU after reaching the end of the angle list;  
now such cases treat RA0 as LARGE so long as any angle limits involving RA0  
are sure to pass their minimum values.    

LS /LIM now supports /COLumn: [Shear] [Moment] parameter to show table  
columns for just Shear, just Moment, or both by default.    

LS /LIM was sometimes plotting bending moment limit curves too close to upper 
and lower grid lines.    

LS was trapping "PSI ERROR - WEIGHT DISCREPANCY" in rare cases when a  
flooded tank had been assigned forward and aft points of attachment.    

MESSAGE REPFONT RIGHT was mispositioning boxes in fancy boxed reports.    

COMMENT now centers text in fancy boxed reports using ME REPFONT CENTER.    

DISPLAY STATUS views added optional :"title" subparameter to override the 
view's default title.  For example, BODY @0:"Origin" shows "Origin" on top of  
this view instead of "Body @ 0" (requires updated CG.EXE).      

Version 15.72A    

LS /LIM now excludes all shear information from table columns, summary, and  
plot columns by default when no LSLIMIT SHEAR limits have been defined  
(similar to how LS /PER behaves without shear limits).  Note that including  
the /COL: Shear Moment parameter restores the old shear-showing behavior.    

READ file.FRA loads frame descriptions and locations from the given frame file,  
replacing any previous vessel frame information.    

ENTER PM commands READ file.FRA and WRITE file.FRA import and export  
frame files composed of comma-separated description and location lines  
(requires updated PM.EXE).      

Version 15.72B    

LS plot legends abbreviate "Bending" to "Bend" when necessary to avoid  
collision with adjoining columns.      

Version 15.72C    

LS plot legends were not always displayed correctly without /LIM present  
(since 15.68 only).

Version 15.72D    

LS stress plot curves were misformatted if /CURVE excluded the Moment curve  
(since 14.54 only).

Version 15.72E    

LS /COL:Shear|Moment parameter can be used with /NOTable to show the summary  
with just Shear or Moment information.      

Version 15.74    

HMMT TURN improved precision slightly and supports /YESNEGBELOW parameter.    
SMOD /E:elasticity parameter was added to specify a default modulus of  
elasticity (Young's modulus) for use in deflection computations.  

Units are  current weight units per square inch (or square centimeter with metric units)  
or megapascals with KN units.  If not specified, 12946 long tons/inch^2  
(2039 metric tons/cm^2 or 199948 megapascals) is used.    

SMOD display added a line showing current elasticity when section moments  
have been specified for deflection calculations.    

SPECial HMLPA [ON] was added to enable calculation of lateral plane areas  
in the STATUS LPLANE report (along with system variables LPA1, LPA2,  
HCP2, and LPAARM) using shape factors and treating deducting displacer  
components the same as the HMMT command.  Normally HMMT WIND displacer  
deductions reduce above-water area but have no effect on underwater area  
unless /NONEG or /YESNEGBELOW is present, so STATUS LPLANE shares  
this HMMT behavior in HMLPA mode (instead of ignoring shape factors  
and including displacer deductions).  Note HMLPA mode does not try to match  
HMMT WIND /BAND behavior, which differs by using shape factors above-water  
only and ignoring all deductions (even for sails).    

ENTER PMX command RENDER was sometimes failing (since 15.60D only;  
requires updated PMX.EXE).      

Version 15.74A    

DISPLAY command VISUALIZE was not correctly rendering any arc points  
(requires updated SE.EXE, PM.EXE, and PMX.EXE).      

Version 15.76    

SAVE and WRITE commands were not always saving the precise deflection  
curve when computed by the LS command with section moments of inertia present.  
DISPLAY STATUS header was not always showing correct drafts when deflection  
or waves were present (requires updated CG.EXE).    

FIXUP /TANKORDER:file was trapping "All tanks must be present to reorder"  
needlessly (requires updated MC.EXE).      

Version 15.76A    

LS was sometimes reporting apparently successful deflection results despite  
underlying weight-buoyancy discrepancies due to very low moments of inertia  
set by the SMOD command, but now LS either finds valid deflection solutions  
or traps "Deflection too great due to insufficient SMOD".    

DISPLAY STATUS views for BODY @loc := angles now allow more space betwen  
their header titles by using heel angle suffixes (requires updated CG.EXE).      

Version 15.78    

DISPLAY STATUS supports extra-width output such as A3, Ledger, and landscaped  
Letter paper sizes, filling the full width of the legend box.  Note appropriate  
lines per page (such as PRINT CONFIGURE /L:44 for landscaped Letter paper)  
must be set for best report quality (requires updated CG.EXE and PP.EXE).    

DISPLAY STATUS sometimes showed random BODY view titles (since 15.72 only).   

LOAD STATUS /EVAL:FRA was misformatting output with a report file open.      

Version 15.78A    

DAMSTAB without the /SIDE parameter was not always determining the predominant  
side of damage correctly for DIVISIONs not using the /WING parameter (since  
10.68G only).      

Version 15.78B    

TANK (tanklist) SHEARCF: correctfwd, correctaft now supports two shear  
correction factors (from 0 to 1), with the first applying to the forward half  
and the second to the aft half of each listed tank (use 0 to correct only the  other half).  
If only one correction is given, it applies to the entire tank.    

TANK (tanklist) SHEARCF added optional /DELTA parameter to use shear  
correction delta magnitudes in current weight units (not factors).    

RA precision for LIMATTn limit values was increased from 5 to 6 decimal places.      

Version 15.80    

STATUS FREEBD added :FRame optional subparameter to display freeboards at  
all frame locations.    

SET operator FRName n was added to return the nth frame name; the empty  
string if n is out of range or there are no frames.    

SET operator FRLoc "name" was added to return location of the specified  
frame name (or undefined if no such frame).    

LS was sometimes plotting Corrected Shear wrongly near tank ends.    

ENTER PM command SHIFT and statements VECTOR and CYLINDER support an  
optional final ,LST parameter to interpret the preceding vector coordinates  
as Length-Swing-Topping values.  The swing azimuth angle is zero going aft and  
90 degrees going starboard.  The topping elevation is zero for horizontal and  
90 degrees for vertical.  For the CYLINDER statement, the second end point is  
defined by the LST vector from the first end point (requires updated PM.EXE).    

ENTER PM command MODIFY was not supporting SHEARCF statement.      

Version 15.82    

ADD REPORT with ADD PREFIX active now shows only weights matching the  
current prefix, like LOAD ST FIX does (requires updated ADDEXTENSION.LIB).    

MESSAGE ... \c was incorrectly displaying a second line beginning with the  
specified character (since 15.22 only).    

SMOD (axis) optional parameter was added to specify a section modulus curve  
around the Centerline or Polar axis instead of the default transverse axis.  
Note Longitudinal Strength uses only the default SMOD curve information.    

SMOD /G:rigidity parameter was added to specify a default modulus of  
rigidity (shear modulus).  Units are the same as for /E.  If not specified,  
4866 long tons/inch^2 (766 metric tons/cm^2 or 75153 megapascals) is used.  
SMOD display shows section modulus curves at all specified axes, along with  
current elasticity and rigidity when section moments have been specified.      

Version 15.82A    

LOAD STATUS /NOEMPTY parameter was added to omit empty tanks.    

LOAD STATUS was not displaying weight totals to the screen.      

Version 15.82B    

LS report was slightly misformatting the list of Correction Factors when aft  
correction was specified using TANK SHEARCF /DELTA (since 15.78B only).    

TEMPLATE dialog boxes fixed a rare risk of hanging when multiple nested  
dialogs are closed simultaneously.      

Version 15.84    

TEMPLATE list input fields now support the /Width:n parameter to format the  
list control to fit n average-size characters instead of the widest list label.    

TEMPLATE execute, exit, file, and directory push button fields support the  
/Height:rows parameter to specify the number of text rows for the button height  
(which may be a fractional number).    

TMMT /C1 was undocumented and ineffective but caused future TMMT tm0, tm90 
to fail, so now traps bad parameter.    

TMMT REPORT and RA notes were not always reporting the correct trimming  
moment direction.      

Version 15.84A    

ENTER PM command SHELL was sometimes corrupting shapes containg arc points  
(requires updated PM.EXE).      

Version 15.84B    

DISPLAY PRINT was not including any SUBTITLE lines (requires updated PM.EXE).    

ENTER PM command SHELL was sometimes creating pairs of adjoining DK code points.      

Version 15.86    

RA /LIM evaluation of LIMIT FLOODHT AT POINT was sometimes producing  
spurious UNDEF results (since 15.38 only).    

RA /LIM no longer ever treats tight points as flood points when no true  
flood points exist, instead giving a LARGE result for the FLD angle when  
tight points exist but are not immersed at EQU, restoring the usual behavior  
prior to version 15.10.    

LS plots were sometimes not showing the local shear impact of point weights.      

Version 15.86A    

CRTPT command maximum number of critical points was increased from 250 to 400  
(requires updated CG.EXE, MC.EXE, PM.EXE, and SE.EXE).      

Version 15.86B    

GLM now puts any command error messages into the report file so premature  
termination in such cases won't be a mystery.    

LIMIT FLOODHT AT POINT n1 TO n2 was failing for undefined Critical Point  
numbers (since 15.86A only).    

LIMIT FLOODHT AT POINTs limits the height for all Critical Points when none are  

Version 15.86C    

LIMIT FLOODHT AT POINT limit report descriptions were improved to make  
clear the lowest flood/tight equilibrium height is being limited.    

RA /LIM evaluation of LIMIT FLOODHT was sometime passing with zero attained  
value when downflooded at equilbrium.    

RA /LIM evaluation of LIMIT ANGLE to FLD was sometimes passing with zero  
attained value when a tight point was submerged at equilibrium with no true  
flood points present and zero limit value.    

RA /LIM risked hanging if any relative limit angle value extended beyond  
180 degrees when added to the starting heel angle (since 14.34A only).    

TCONDESC and TCONTEMP system variables were returning blank (since 15.82 only).      

Version 15.86D    

LOAD (*) EDIT only includes tanks with permeability greater than 0.0001  
(the minimum value set by the PERM 0 command), thereby omitting inactive  
superimposed tank configurations.      

Version 15.88    

GROUND [(part\component)] /FLOOR:"filename"|depth [/[L]POS:x,y]  
[/HEADing:angle] [/CLEARance:c] [/MAXPEN:ddm] [/NPoints:n] [/LINEAR]  
command was added to automatically issue ground points determined by location  
and penetration of candidate points on the specified displacer component  
relative to the seafloor (first deleting any existing ground points whose  
description is prefixed with "part\component-" and retaining any others).    

Multiple GROUND /FLOOR commands may be issued for multiple components of  
interest.  Because the seafloor ground point naming convention includes the  
component name in the prefix, ground points previously issued for different  
components will not be deleted.    

When using a seafloor file, if the position and/or heading of the ship  
results in a portion of the geometry falling outside the extents of the floor  
data, ground points will only be issued for the portion of the geometry that  
falls within the X-Y domain of the floor data.  In the case of constant  
depth, the floor is assumed to extend to infinity.    

GROUND /FLOOR:"filename"|depth parameter specifies the filename containing  
seafloor data, or alternatively a constant depth relative to the water surface.  

The first line of the seafloor text file is an arbitrary title line.  
The  second line starts with an optional "L" indicating longitude-latitude data,  
followed by required "F" for feet or "M" for meter units.  Each subsequent data  
line defines a single point on the seafloor based on three numbers (separated  
by spaces or commas).  The first number on each line is the horizontal (West  
to East) coordinate, the second is the vertical (South to North) coordinate,  
and the third is the associated sounding depth.  Longitude and latitude data  
may be entered in decimal degrees or degree-minute-second format (e.g.  
-122d56'58.974").  To create a seafloor data file from NOAA's geology data:  
(1) go to; (2) click "create custom grid";  
(3) choose a layer and map area; (4) choose "XYZ" output format; (5) download  
the data; (6) insert a title line and "LF" line at top using a text editor.  
Be sure to note the data model standard, which may have varying tolerances and  
tide-based reference locations for soundings.    

GROUND /HEAD:angle parameter specifies the heading angle of the vessel in  
relation to the seafloor in degrees (0° to 360°) from the vertical North axis  

GROUND /[L]POS:x,y parameter specifies the location of the vessel origin in  
the seafloor coordinate system (default=0,0).  If /LPOS is used, locations  
are taken as degrees of longitude and latitude in either decimal degrees or  
degree-minute-second format.    

GROUND /CLEAR:c parameter specifies the maximum clearance within which all  
issued ground points must fall.  Clearance is defined as the vertical distance  
from the ground point to the nearest ground or the negative of the penetration.  

If not specified, the default may take one of two forms: (1) if a seafloor  
file is indicated, the default clearance will be set to the vessel's current  
origin depth; or (2) if a constant floor is specified, the default clearance  
will be set equal to the floor depth.    

GROUND /MAXPEN:ddm parameter specifies the maximum penetration of any issued  
ground point (in the same as /PEN's ddm parameter).  

GROUND /LINEAR generates  linear instead of quadratic ground reactions.    

GROUND /NPOINTS:n parameter specifies maximum number of ground points to issue.  
If omitted, all candidate points found within the clearance are issued up to  
the maximum unused ground points available.      

Version 15.88A    

GROUND /FLOOR now fully supports centerline components with dual skegs,  
which risked issuing unwanted ground points in central recesses when upright  
(since 15.88 only).    

RA /LIM was giving a LARGE result for LIMIT ANG FROM EQU TO FLD > 0  
despite tight point submersion when no true flood points exist (since 15.86  

Version 15.88B    

WEIGHT REPORT /NOTab was added to omit tabular data, just including the plot.    
TEMPLATE field /Vgap:n was added to specify the vertical gap below the  
current field (default=5 unless set by /GAP).    

TEMPLATE field /SIZE:MAX subparameter was added to set the font size so the  
dialog width matches the main window or (if minimized) the screen, along with  
/SIZE:n to set the dialog width to n pixels (for n>=50).    

RUN command was sometimes ejecting blank pages before plots.      

Version 15.88C    

LOAD (*) EDIT and DISPLAY (*) STATUS vessel views only include tanks  
with permeability greater than 0.0001 (the minimum value set by the PERM 0  
command), thereby omitting inactive superimposed tank configurations (requires  
updated CG.EXE).    

MC FIXUP /NOCRIT parameter was added to omit critical points (which were  
causing problems with some Rhino imports; requires updated MC.EXE).    

Help menu added a "Release notes" option to read about new features and  
changes in the current and previous major releases.  

The "Web help" submenu  added a direct link to the "GHS support" reference center.    

Wizard menu now supports listing a description of each wizard after its name  
(to appear over time as wizards get updated to include descriptions).      

Version 15.88D    

WAIT NORMAL mode for default split-screen scrolling was failing to wait  
for user confirmation before clearing the Display area when a report command  
(such as RA, STATUS, etc.) is started.    

PMX statement ROTATE trim, heel, azimuth now rotates any shape by heel angle;  
note rotation by trim and azimuth is only effective for EDGE-created shapes  
(requires updated PMX.EXE).    

SE provides alternative function keys #[A|C|S]n for [Alt|Ctrl|Shift] Fn  
using n from 0 to 9 (0=F10) to help with missing function keys on tablet  
screen keyboards (requires updated SE.EXE).      

Version 15.90    

TEMPLATE field /TAB:n parameter was added for any button or input field  
so pressing the Tab key moves focus to the nth button or input field following  
(or preceding if n<0; n=0 doesn't move).    

LOAD (*) EDIT and DISPLAY (*) STATUS vessel views exclude tanks set  
by the PERM -0 command (replacing 15.86D logic that was triggered by PERM 0  
for backward compatiblity).  Other than this visual tank exclusion, PERM -0  
works the same as PERM 0, effectively using minimum permeability 0.0001.    

MC FIXUP was omitting critical points by default (since 15.88C only; requires  
updated MC.EXE).      

Version 15.90A    

ADD (n) dvar... /ACcess and GROUND (n) dvar... /ACcess syntax was added  
to access description and other data for the nth fixed weight or ground point.  
The description is loaded into the variable dvar (declared by the VARIABLE  
command), and any subsequent named variables are loaded with data according  
to the documented /ACCESS sequence.  If n is past the last item, all variables 
are set empty.    

LOAD (*) EDIT tank list was not always being updated correctly by PERM -0  
when done in macros (since 15.90 only).      

Version 15.90B    

ADD PREFIX [(pn)] pvar [,lvar] /ACcess syntax was added to access prefix  
category name and optional label for prefix number pm (default=1) by loading  
them into the named variables.  If pn has not been assigned to a prefix,  
then all variables are set empty.    

PMX statement ROTATE added optional fourth parameter to specify the pivot point  
height at centerline for rotations in heel.  An optional NODOUBLE keyword was  
added to prevent shapes copied from centerline components from being made to  
cover both sides.  The ROTATE statement is now effective in a CREATE command  
where the shape is referenced from another component without affecting the  
original shape (requires updated PMX.EXE).    

ENTER PM command SHIFT added optional SHAPES keyword that causes the shift  
to take place in the shape data instead of the component vectors (requires  updated PM.EXE).        

ENTER PM was hanging on Windows 10 tablets when using the on-screen touch  keyboard.    

Help menu added a "Training guide" option to read the GHS training book.      

Version 15.92    

WATER /V:viscosity optional parameter was added to specify the dynamic  
viscosity of the water environment in millipascal-seconds.  If not specified,  
default viscosity is interpolated on specific gravity using 1.0 mPa-s for  
fresh water and 1.1 mPa-s for sea water.    

WATER spgr1, spgr2 was ignoring the second specific gravity for WDF-type  
tanks unless preceded by the undocumented /WDF slash parameter.    

ADD "desc" "ref*" was not combining any /LPA assignments from referenced  
weights into the replacement item.    

TEMPLATE field /Tip:"text" information no longer disappears after 5 seconds,  
instead staying for 32 seconds or until the mouse cursor moves off the control.    

DISPLAY STATUS for WDF-type tanks was not always showing the correct load  
depth (since 15.20B only; requires updated CG.EXE).    

ENTER PM command RENDER no longer traps an "invalid location" run-time error  
when shapes like CYLINDERs extend entirely on the negative side of centerline  
components so get chopped away (requires updated PM.EXE).    

ENTER PM statement SHAPE was duplicating shapes (since 15.90B only). 
EXTEND HOPPER plot scale labels improved their color and spacing (required  
updated GHSX.EXE).      

Version 15.92A    

ENTER PM prevented a rare "invalid location" run-time error risk (requres  
updated PM.EXE).      

Version 15.94    

LOAD EDIT /BUTTON template .macro fields may now be followed by a parameter  
list just like regular TEMPLATE execute button fields.    

DISPLAY STATUS was sometimes misbehaving with critical points present  (since 15.86A only).