GHS Version Update History from Version 16.00 to 16.50

GHS Version Update History since Version 16.50

Version 16.50A

MESSAGE PLOTSTART /PROFILE and /PLAN parameters were added to include
the vessel profile or plan on a custom plot.  For /POLAR plots, only /PLAN
is permitted, with the plan sized to fit the circle and aft end towards 0.

MESSAGE \ ... \ no longer restricts drawing centered boxes around only up to 10
message commands, and no longer fails when a quotation mark precedes the
first slash (since 15.28B only).

TITLE text /BAR shows text in the window title bar, independent of the title
on top of the screen and output pages.  TITLE /BAR restores the default window
title bar.  Any surrounding quotes are removed so they can be used to prevent
enclosed text from being converted to uppercase.

Version 16.50B

GROUP command no longer requires that all tanks within a group have the same
contents, except for groups that spill or receive contents between their tanks.

MVCGMARG system variable now returns margin between Effective VCG and
Maximum VCG even when not in Load Editor.

Version 16.50C

HEIGHT /ACcess was scaling metric units incorrectly (since 16.38B only).

Version 16.52

TEMPLATE appearance was improved for systems with increased DPI text scaling.

SEAkeep /BILGEKEEL improved handling of centerline bilge keel components.

SEAkeep /SUM was omitting the summary table even for multiple cases
(since 16.40B only).

ENTER PM command DISPLAY PRINT /FORMat:LINEs was not formatted correctly
using fine print (since 12.32 only).

Machine ID security was sometimes failing after inserting temporary storage
on recent operating systems.

Version 16.54

RA was sometimes skipping necessary table rows after finding discontinuities
solving for zero flood point height.

BPRESS system variable was returning excessive pressure for bubble tanks
with nominal load below the reference point and both below the waterline.

DISPLAY STATUS shown for bubble tanks was fixed to match main program
(requires updated CG.EXE).

DISPLAY STATUS after setting WATER 1.000 command was not always reflecting
blue fresh water instead of green sea water.

TEMPLATE dialogs no longer add a "Cancel" button at the bottom when their
only variable fields have the /READonly or /Gray parameters.

TEMPLATE static field "text" /Width:n now pads text with extra spaces if
necessary for its width to be at least n average-size characters.

TEMPLATE /REFRESH no longer stretches an updated image to match the
height/width ratio of the old image that it was replacing.

ENTER PM template fields and STR variables can now exceed 255 character length
(requires updated PM.EXE).

ENTER PM statement FIT HULL was sometimes failing to restore existing
deck edge markings (since 16.40C only).

Version 16.54A

CLEAR command was sometimes trapping a run-time error (since 16.54 only).

ENTER PM statement FIT was trapping a run-time error in rare cases
(requires updated PM.EXE).

Version 16.54B

HMMT TANK and heeling moment function angles were not being honored by RA
calculations for their 360 degree distant equivalents.

HMMT TANK extends the ANGLES list as necessary to derive the tank heeling
moment curve for the full 360 degree range (unless the ANGLES list is so dense
or its end increments are so small that the full range would require more than
100 total angles).

HMMT REPORT now shows HMMT TANK moments using double columns to
accommodate its full 360 degree angle list (requires updated RGSTYLE.DAT).

RA /LIM was hanging until Esc pressed in rare cases past 180 degrees and
sometimes starting 360 degrees distant from the requested initial heel angle.

CRTPT OFF had a very slow memory leak, so that a huge number of repeated
critical point creations and deletions could trap "Not enough memory".

ENTER PM statement SHELL was sometimes omitting shell offsets (since
16.54 only; requires updated PM.EXE).

Version 16.56

CRTPT REPORT transverse coordinates could overflow for very wide rigs.

READ was sometimes taking a very long time to complete if the synchronized
Condition Graphics window was closed with DISPLAY STATUS /SYNC active.

ENTER PM statement FIT was further improved, correcting potential issues
with subsequent statements (since 16.54 only; requires updated PM.EXE).

ENTER PMX macros were not correctly handling doubled quotes ("") standing
in for a single quote (") within a quoted string, but now behave similarly to
the main program (requires updated PMX.EXE).

Version 16.56A

RANDOM system variable was added to return a cryptographically-strong
pseudo-random non-negative real number less than 1.  To obtain a random
integer less than some maximum integer value, multiply {RANDOM} by the
maximum then use the TRUNC operator in SET commands.

Version 16.56B

SEAkeep /DATA:WA was not omitting wave component ordinate values in the
data file when using a sinusoidal wave type.

Version 16.56C

TEMPLATE edit input fields using /CENter or /Right parameters were not
externally centering or right-justifying fields smaller than others in their
same column, instead just centering or right-justifying input text inside
edit fields.

TEMPLATE check box and radio button fields failed to support the /CENter
parameter to center tag text.

ENTER PM statement SHELL was sometimes failing to include a shell offset
on stations that appeared "catamaran-like" (requires updated PM.EXE).

Version 16.58

MESSAGE PLOTSTART /PAGE%[:percent] parameter was added to restrict
plot output to the given percent of the available print page, appending to the
current page if the total does not exceed 100%.  The /PAGE% subparameter
can be omitted or given as "*" to fill out the remainder of the current page.
Note that the /PAGE% parameter is not compatible with plot /ROTation.

system variables now work for parts as well as tanks when the part list is
specified using the PARTS and SET PNAME commands, but still refer only
to tanks when specified using the TANKS command.

TEMPLOK system variable may now be preset by the SET command.

Version 16.58A

GROUND /FLOOR /LPOS was sometimes trapping an "Invalid position" error
for valid latitude/longitude inputs.

GROUND /FLOOR was trapping an "Invalid floor data on line..." error when
data was separated by a tab following a comma.

TC /NOREF was showing unneeded "Ref point heights" units in the table footer.

PAGE was triggering a spurious system error in rare cases of closing an
output file ending in a plot then reopening a new output file.

Version 16.58B

STATUS FIXED:ALL and GROUND:ALL now show the centers of zero-force items.

SEAkeep /BILGEKEEL was sometimes returning undefined values when the appendage
sections corresponding to the hull section did not pierce the waterplane.

WRITE output to a read-only file now sets ERROR system variable to 75,
the same as happens for REPORT or MESSAGE (REPORT) to an inaccessible file.

MESSAGE PLOTSTART /POLAR quadrant plots were not working correctly
with /ROTation (since 16.48 only; requires updated PP.EXE).

Version 16.58C

Load Editor eliminated a run-time error risk after executing a macro that
defined a new CONTENTS description.

Version 16.58D

REPORT /L:lines and /NOFOOT parameters were not restoring the previous
settings after closing the current report.

Version 16.60

SEAkeep was retaining extremely small hull panels near the free surface
resulting in divergent coefficients in rare instances.

DISPLAY STATUS was recreating the deck edge line by default instead of
honoring any existing DK edge markings (since 16.46 only; requires updated

TEMPLATE field /Apply parameter now warns about invalid input when
the /NOVerify parameter is not present.

Version 16.60A

SEAkeep /DATA:HY data file was omitting the unit header for the B44Visc data
column and including an unnecessary column of zeros in pitch and yaw damping
coefficients (since 16.46 only)

WRITE /Append was losing data in very rare cases on particular network systems
(since 15.28A only).

TEMPLATE variable edit field text was not consistently being selected when
receiving focus after changing input in a field using the /Apply parameter.

TEMPLATE variable edit fields with the /READonly parameter can no longer
receive input focus after pressing Tab and other field movement keys.

ENTER PM statement OPPOSITE now traps "Invalid part name" when a component
is included instead of misleading "Name too long" (requires updated PM.EXE).

Version 16.60B

WRITE (Tanks) and (Fixed) now support the /Append parameter.

WRITE (LINE) sometimes trapped "Unexpected end of file" (since 16.60A only).

Version 16.60C

SEAkeep /DATA files now include the case number in the file header even for
a single case.

Version 16.60D

WRITE (Tanks), (Fixed), and (LOads) now support the /BRief parameter to omit
unnecessary headings along with the CASE macro call for (LOads).

TEMPLATE field EXIT buttons were not fitting to the column width in the
same way as MACRO buttons.

Version 16.60E

SEAkeep corrected a VCG-related physical mass matrix coupling term that was
affecting horizontal modes.

Version 16.60F

KEY n added support for functions keys F11 and F12.

MC TPF importing with the /BOTHSIDES parameter was writing spurious
negative waterplane inertia values into the geometry file when the optional
"I" column was missing in the TPF file, which the main program now tolerates
(since 10.68 only; requires updated MC.EXE).

Version 16.62

COMP /FORM /DEPTH:d1,...,dn shows depths in ft'inch format when the depth
list is given in feet and inches in English units.

SEAkeep added /SPREAD[:angle[,div]] parameter to allow command-driven
short-crested seakeeping analysis by applying a COS^2 spreading function about
the dominant wave heading defined by /HEADING.  Optional angle specifies the
spread half-angle (+/- about the dominant heading) of the seaway in degrees;
the default is 90 degrees, corresponding to a standard COS^2 spread.  Optional
div specifies the number of divisions to be used when computing the spread
(i.e. the number of subheadings within the total spread angle) and must be an
odd integer; the default is 9 (for one subheading every 22.5 degrees of the
default spread).  Note that wave ranges with greater than one wave period are
not supported.

SEAkeep report Critical Point table no longer displays redundant points when
derived responses are computed.

SEAkeep improved derived response support for single waves.

SE Ctrl-D and Part Maker DECKEdge command were not ignoring irrelevent
lower bulbous bow during deck edge construction; likewise DISPLAY was not
ignoring irrelevant upper bulbous bow when drawing the keel line (requires
updated SE.EXE, PM.EXE, and MC.EXE).

Version 16.62A

SEAkeep /ROLLCOEF was incorrectly converting damping coefficients when
using metric units (since 16.46 only).

KEY key removal (with omitted action and label) was not correctly refreshing
footer buttons until KEY NOSHOW and KEY SHOW are done (since 10.16C only).

INPUT command was sometimes trapping spurious "No such variable" error
when DISPLAY STATUS /SYNC was active.

DISPLAY STATUS was showing inconsistent results if only one tank in a pair
of coincident intact or frozen tanks was included in the tank list, but now
the combined results for both are shown if either appears in the tank list
(since 15.20B only; requires updated CG.EXE).

Version 16.64

SEAkeeping makes use of parallel threads to run much faster on machines with
multiple processors.  Typical speedups are roughly proportional to the number
of cores used, so around twice as fast for dual-core machines, 4 times for
quad-core machines, etc., with additional boosts for hyperthreaded machines.

SEAkeep was returning an "Invalid index" error for free-surface panels on
fully submerged sections (since 16.62 only).

TYPE CALIBRATED interpolations for tank property table inertia values
were improved so resulting FSM values would be interpolated linearly.

Version 16.64A

HMMT TANK /NORighting parameter was added to prevent TANK heeling moments
from becoming righting moments by flooring to zero any heeling moment having
a different sign than its heel angle.

HMMT REPORT now sorts HMMT TANK angles down the double columns instead
of alternating between them for better readability.

HMMT WIND /BAND /COMBINE /NOSHIELD:partlist was neglecting to exclude
the specified parts from underwater shielding (since 14.12A only).

SEAkeep was inadvertantly retaining only a single-panel for minimally submerged
sections with small free-surface intersecting panels (since 16.60 only).

WAIT BREAK was not recovering correctly from any errors after breaking.

SE now shows longitudinal lines (toggled by Ctrl-K) at startup if any displacer
part contains marks such as deck edge codes; this setting is no longer affected
by the Name command (requires updated SE.EXE).

Version 16.66

PAGE is suppressed (including all automatic report paging) when 1000 or more
lines remain on the current page, allowing output to a single long page for
parsing or conversion purposes using very large REPORT /L:pagelines.

EXTEND HOPPER was not correctly calculating equilibrium when heeling
is present (requires updated GHSX.EXE).

Version 16.66A

DISPLAY STATUS was not always displaying frozen tank surfaces correctly
for contents descriptions ending in "!".

Version 16.66B

GROUP /VOLume[:unit] optional subparameter was added to specify the units
of volume, using the same 2-letter volume unit codes as the TC command.

WRITE (Variables) was inappropriately sending UNITS information for
unit-smart variables to the screen.

Version 16.66C

TEMPLATE variable field /DEC:n parameter no longer rounds off the stored
variable value when the template is exited without changing its shown value.

WAVE (SPEctra) J2 was trapping the error "Spectra sampling error" for peak
periods between 9 and 10 seconds.

Version 16.68

SOLVE was sometimes trapping spurious errors following load changes to
individual spilling GROUP tanks.

SOLVE improved snapping to zero for near-zero heel and trim, preventing
spurious capsizing in rare cases.

SEAkeep /DATA:HY no longer includes redundant stiffness coefficient terms
for each wave frequency.

SEAkeep /DATA:HY now includes the physical mass matrix terms.

Version 16.68A

ENTER PM command RENDER was susceptible to a random run-time error
(since 16.62A only; requires updated PM.EXE, PMX.EXE).

Version 16.68B

PRINT plots were sometimes hanging when SUBTITLEs contained doubled quotes
(since 14.76 only).

Version 16.68C

KEY PRess "label" was added to visually depress the labeled footer button
until any other KEY command (including KEY PR or KEY PR OFF) is given.

Version 16.70

SEAKeep /COUPLE [:l,t,v] now uses LCF and TCF on the waterplane as the
default "center of motion" instead of the center of mass (CG).  Optional
subparameters accept a user-defined origin.

COMMents GFID date [,time] /ACcess was added to assign the Geometry File
date and time to the named variables.  If more than one Geometry File was read,
variables can be repeated to access the date and time for each subsequent GFs.

MC /PROFILE now preserves precise detail when rotating shapes 90 degrees
to create sails (requires updated MC.EXE).

Version 16.70A

LIMIT RESErve RATIO [FROM EQU0] [TO angle2 [OR angle3]] > minimum
was added to limit the ratio of positive residual area to positive absolute
area for any specified angle range, as used by the US Navy's DDS079 regulation.
The only valid first angle is absolute equilibrium EQU0, which may be omitted.
Areas are terminated at the smaller of any specified second and third angles and
the angle RA00 of vanishing absolute righting arm, which is an automatic
terminating angle since only positive area is considered.

MAXVCG was sometimes failing due to a spurious internal capsize situation
(as seen in SOLVE MAXVCG /REPORT).

STATUS was occasionally reporting tiny loads for empty spilling tanks.

DISPLAY STATUS /PRINT without a subparameter no longer shows superfluous
text at top and bottom when sending to the printer (requires updated CG.EXE).

MC /PROFILE was sometimes putting a bad station at the bottom corner of
the rotated shape (since 16.70 only; requires updated MC.EXE).

Version 16.70B

MAXVCG was sometimes failing to trap "Limit not verifiable" for undefined
limit values.

LIMIT RASR was sometimes leading to a run-time error (since 16.70A only).

Version 16.72

RA /LIM was sometimes unhelpfully showing the Flood angle as UNDEF when
found between EQU0 and EQU (since 15.10B only).

EDIT supports the /SPAWN parameter to continue the main program while editing.

SEAKeep was accidentally including the spectral ordinate column in the wave
components table for WAVE (SIN) waves.

SEAKeep now uses the calm water LCB,TCB,VCB instead of the static
wave-corrected  LCB,TCB,VCB when using WAVE (SIN) waves to match
behavior of WAVE (SPE) waves.

Version 16.72A

DISK filename /HOLD now works for any extension (not just ".DAT"), holding
any current report file so it will be reopened at its original state when
output to the specified filename is stopped using DISK OFF.

SEAkeep /SPREAD was sometimes failing to locate the dominant wave heading
and return the corresponding data (since 16.62 only).

SEAkeep /BILGEKEEL was not properly resetting the component list at the
conclusion of a run, affecting later SEAkeep calls without the /BILGEKEEL

Copyright (C) 2019 Creative Systems, Inc.