GHS Version 17.50 Update

New features, changes, and bug fixes since version 17.00

=========== MAJOR NEW FEATURES =========

New VARIABLE Computations Anywhere and SET-free Assignments

VARIABLE replacement within braces ("{" and "}") supports variables, functions, and numbers combined with "(", ")", "^", "*", "/", "+", and "-" operators into expressions evaluated using PEMDAS (Parentheses, Exponent, Multiply and Divide, Add and Subtract) order of operations. For example, if variables A=1, B=2, and C=3 are defined, then {A+B*C} is replaced by 7, since multiplication of B*C has priority over addition of A+B, unless parentheses overrule as in {(A+B)*C}.

Note that if a variable named A+B*C already exists, then {A+B*C} will fetch its value instead of evaluating any expression to preserve backward compatibility, but expression evaluation can be forced by wrapping braces around the smaller variable names as in {{A}+{B}*{C}}. Likewise the sum of variables A and A-1 can be evaluated using {A+{A-1}}.

Since braces around one- or two-digit integers and "+" or "-" preceding a letter are used for NOTE colors and styled text (e.g. {4}, {+b}), these forms are kept from expression evaluation only within NOTE and SUBTITLE commands.

SET variable = "{expression}" can be abbreviated as variable := expression for assigning PEMDAS expressions to variables, without needing SET or braces. Quoted strings are directly assigned without evaluating as braced expressions.

EXECUTE and EXPAND macro (n [,inc]) support braceless expressions for n and inc.

New MACRO /FUNCTION and Predefined Functions

MACRO name /FUNction parameter was added to identify the macro as a function whose value is initially empty but can be SET within the body of the macro. Functions can be executed and their values retrieved within braced expressions by following their names with a parenthesized comma-separated parameter list or "()" if none. So {function(1,2,3)} executes .function 1,2,3 before returning the function value. This value can also be directly assigned to a variable X using X:=function(1,2,3) without requiring braces. All the useful SET operator keywords (including LOG, SIN, etc. through CLEAN) are available as predefined functions so cannot be redefined.

New GHS+ User Interface

RUN GHS+ brings up a convenient user interface utilizing the Data Base.

New Dynamic Stability (DS) IMO Second Generation Analysis Module

DYNstab [modelist] [/SPEED:knots] [/BRIEF] [/LEVEL:level] [/MAXDI:displ] [/SUM] [/RES:r1,r2,r3,r4,r5] [/PASSenger] [/SHARPBILGE] [/NOPLot] [/FORMAL] [/NAVCAD:filespec] command was added to invoke a dynamic stability analysis according to IMO Second Generation Intact Stability criterion (requires the DS module, along with AF and SK).

Up to five different dynamic failure modes may be listed using their two-letter acronyms (or all if omitted):

1. Dead Ship (DS) mode considers a ship that has lost power and is positioned in beam seas, rolling and drifting under the action of wind and waves.

2. Excessive Acceleration (EA) mode considers the vulnerability of a ship to large lateral accelerations due to synchronous resonance. Lateral accelerations are computed at locations where crew or passengers are expected to be present.

3. Pure Loss of Stability (PL) mode considers the vulnerability of a ship to capsize via complete loss of stability due to a sudden and significant change in waterplane by the action of waves.

4. Parametric Roll (PR) mode considers the vulnerability of a ship to parametric roll resonance in waves.

5. Surf-riding/Broaching (SB) mode considers the vulnerability of a ship to surf-riding, during which a following wave accelerates a ship forward, and broaching, which is a violent uncontrollable turn that often follows surf-riding and may cause stability failure. SB mode requires previous specification of the ship's propulsor(s) using the PROPULSOR command.

Each mode may be evaluated using a level 1 and/or level 2 analysis, with level 1 being a basic vulnerability check and level 2 providing a more complex analysis.

DYNstab /SPEED:knots specifies the vessel forward speed in knots (default=0).

DYNstab /BRIEF formats the report such that each failure mode returns only the final limit attained table, omitting any intermediary tables.

DYNstab /LEVEL:level restricts analysis to level 1 or 2 (or 2t for PR mode only); if omitted, the analysis will start with level 1 and automatically continue to level 2 if needed; PR failure mode continues if needed to special level 2t for level 2 nonlinear time domain solution.

DYNstab /MAXDI:displ specifies the vessel's full load (maximum) displacement in current weight units, as required for EA, PL, and PR failure modes.

DYNstab /SUM appends a summary table to the end of the report displaying the overall outcome for each failure mode in a single table.

DYNstab /RES:r1,r2,r3,r4,r5 specifies the vessel resistance curve using up to 5th order polynomial regression coefficients vs. forward speed in knots, where rN units are WU-s^N/LU^N using current Weight Units and Length Units, as required for SB level 2 failure mode.

DYNstab /PASSENGER indicates a passenger vessel for PL level 2 analysis.

DYNstab /SHARPBILGE indicates a vessel having a sharp bilge for EA level 1 and PR level 1 and 2 analyses.

DYNstab /NOPLOT omits all plots from report output.

DYNstab /FORMAL forces use of simplified IMO methods; for DS level 2 analysis, the IMO simplified effective wave slope function calculation is used instead of the direct method which computes the roll moments using a strip method.

DYNstab /NAVCAD:filespec allows import of propulsor and resistance information from the given NAVCAD export file for use in SB level 2 failure mode.


PROPulsor [(n)] diameter, l, t, v [/POWer:p] [/BP:pull] [/S:sf] [/H:ht] [/THRust:t0[,t1[,t2[,t3]]]] [/TD:tdf] [/WF:wf] [/ACcess] commmand was added to define the nth propulsor by specifying its diameter, location, and associated characteristics; if (n) is missing, the first available unassigned propulsor number is used. However if /ACCESS is present, all other parameters except (n) are variable names used to access the corresponding information; asterisks can placehold for any unneeded names. Other optional parameters:

PROP /POWER:p specifies the propulsor power in horsepower (hp) for English units or kilowatts (kW) for metric units.

PROP /BP:bp specifies the propulsor bollard pull in current weight units.

PROP /S:sf specifies the fraction of the projected propulsor circle area that would be intercepted by the rudder turned 45 degrees from centerline.

PROP /H:ht specifies the vertical distance from the propulsor shaft centerline at the rudder to the towing bitt, in current length units.

PROP /THRUST:t0[,t1[,t2,[t3]] specifies curve coefficients to compute thrust from a 3rd order polynomial function of advance ratio J, scaled with respect to other propulsor characteristics. All coefficients default to zero.

PROP /TD:tdf specifies the propulsor's thrust deduction factor, which must be positive; the default is 0.1.

PROP /WF:wf specifies the propulsor's wake fraction, in the range -1<=wf<=1; the default is 0.1.

PROPulsor [(n)] OFF command was added to delete the nth propulsor, or all propulsors if no number is given.

PROPulsor [REPort] [/BRief] command was added to display all propulsors to the screen and also to the current report file if REPORT is given. Optional /BRIEF parameter reduces display information to a single line per propulsor.

New ROLL Features

ROLL /S [steepness @ period],... parameter was added to specify an arbitrary wave steepness factor function dependent on roll period, linearly interpolated with no extrapolation beyond the ends, instead of the default formula for s given in HELP ROLL. If no function follows /S, then the IMO Second Generation Intact Stability Criteria table is used (which closely matches the default formula but extends steepness below 0.035 down to 0.020).

ROLL IMO /K parameter without a value linearly interpolates from the IMO table using the /AK:Ak value, which is close to the default cubic formula used when the /AK parameter is present but /K is omitted.

ROLL IMO /K:k /AK:Ak parameters can now appear together, but then the Ak value is just shown in the ROLL report and used internally for bilge keel area instead of affecting k.

New Righting Arm (RA) and Maximum VCG (MAXVCG) Features

RA /GRAPH parameter added FIT subparameter to omit the page break before the graph if there is enough space left on the current page for the graph to fit, scaling smaller as necessary down to the minimum legible size.

RA /GRAPH parameter added ONLY subparameter to omit all output except the graph.

RA /LIM /NOTAB /GRAPH now includes graph plots after the stability criterion evaluation.

RA and SOLVE /FSM and /TRUEFSM now trap an error if any inapplicable tank type is present (such as DAMAGED, SPILLING, or BUBBLE).

RA /NOTIght parameter was added to completely ignore weathertight flood points.

MAXVCG and SOLVE MAXVCG commands support /NOTIght to ignore watertight points.

New STATUS Features

STATUS TANKS /SOund and /ULlage parameters were added to show soundings or ullages for tanks having sounding tubes, replacing the Reference Height column.

STATUS WPL /VCF parameter was added to include Vertical Center of Flotation, replacing the BML column.

STATUS INERTIA marks any combined weight with an asterisk if it contains both negative and positive components, explaining "* Partial negative inertia" in the report footer. Such mixed-sign combined weights arise using ADD /LEN with weight center outside the middle third of the given length (or any use of the /PLEN parameter) and can be remedied by assigning an explicit gyradius (such as /GYR:0,0,0 for point weight inertia).

STATUS TANKS:TOTAL/FSM and WPL:TOTAL mark the solitary FSM or BMT total with an asterisk whenever a note would appear in the report saying that "FSM values marked with an asterisk (*) are formal values which are not the same as the true values in the present condition".

New SeaKeeping Major Features

SEAkeep DATA datafile [/HYFO:forcingfile] [/dataparams] was added to start seakeeping in data mode, accepting input from the specified data file, respecting * wildcards to accommodate multiple cases. Data mode prevents numerical solving for the current condition, instead using external RAO data to compute responses and statistics in the given seaway. However if the /HYFO parameter is present, data mode uses hydrodynamic (instead of RAO) data along with the specified forcing data, preventing numerical solving for hydrodynamic forces, but still solving the equation of motion. One or more of the following slash parameters can also be included: /SAMPle, /CONFidence, /PERiod, /CRTpt, /SHW, /MSI, /TIME, /DATA, /RESPonse, /NOPlot, /[CASE]SUM, /POLAR, /MIRror, /GNunit, /RELative, /BILGEKEEL.

SEAkeep /BRIEF was added to greatly reduce length of seakeeping reports by including a single table containing the wave environment and vessel RAOs at the Center of Gravity for all 6 degrees of freedom (respecting /RELATIVE and /SPREAD parameters). The wave spectrum plot is omitted and all RAO plots are retained, but may be reduced using /NOPLOT or /RESPONSE parameters.

SEAkeep /EMG[:num1,...numN] parameter was added to compute probability and frequency of point emergence (such as propeller emergence) for a list of (up to 25) Critical Point numbers. If omitted, all seakeeping critical points are included. Probabilities are computed using the relative vertical motion at each location, and point depth is computed as the vertical height below the waterplane. Frequency is computed over the /TIME interval.

SEAkeep LIMIT EMGP and EMGN were added to enable limit statements for point emergence.

SEAkeep /ROLLTANK:part[\component],... parameter was added to support geometrically derived roll tanks. A new Tank Dynamics table is automatically included in the seakeeping report to list roll tank characteristics.

SEAkeep /SPEctrum parameter was added to plot scaled wave spectrum behind RAOs for convenient reference.

New SeaKeeping Miscellaneous Enhancements

SEAkeep /ROLLCOEF now functions in addition to /BILGEKEEL, allowing external damping input to be mixed with numerical appendage damping predictions.

SEAkeep /ROLLCOEF:d% was added to allow input of desired damping ratio, where d is the critical damping ratio given in percent.

SEAkeep /DATA:TAnks writes tank moments and phase angles to a comma-delimited data file TANKS.DAT in the current directory.

SEAkeep /DATA[:[datadir\]datalist] now supports an optional data directory subparameter to specify the subdirectory or absolute path for creation of data files; the default is the current directory.

SEAkeep /DATA data files now include the number of wave samples in the file header line.

SEAkeep /NOPLOT:RAO was added to omit only RAO plots from the report.

SEAkeep /BILGEKEEL now supports up to 20 appendage components.

SEAkeep improved default hull component logic to select the component of a displacer part which accounts for 90% or more of the total displaced volume of the vessel, first checking any part named "HULL". The error "Suitable hull component not found" is trapped if no single component meets 90% volume limit.

SEAkeep improved wave spectra plot precision for low energy spectra.

SEAkeep LIMIT now respects % character when specifying percentage values for SLAMP, SHWP, EMGP, and MSI.

WAVE (SPEctra) improved variance sampling logic to deal with very low energy spectra.

WAVE maximum wave length increased to 88,000 feet for SEAKEEPING use.

New COPY Text Replacement Features

COPY file1 [,file2] /REPLace:old,new parameter was added to replace all occurrences of old text with new text during copy (or within file1 if file2 is omitted). Special characters can be indicated using "\" followed by their 2-digit hexadecimal ASCII values (or "\" by "\\").

New Advanced Features (AF)

DIVISION /WING:b1,... and /HBHD:v1,... parameters now support up to 6 values (increased from 3 for wing breadths and 2 for horizontal bulkhead heights) for additional damage layers in Probabilistic Damage assessment.

New Condition Graphics (CG) Features

DISPLAY STATUS /YESEMPTY [:VIEWs] optional subparameter was added to cause empty tanks to be displayed without numbers in CG views but not in the legend.

DISPLAY (tanklist) STATUS now supports group names in the tank list.

New Sensor Interface (SI) and Tank Gauging Features

CUSTOM (GHSERIAL) added Modbus extensions for holding register addresses up from 10000 to the 16-bit limit, 32-bit integer data using register pairs instead of 16-bit cardinal by setting new $DATAPLUS parameter to 1, 32-bit floating-point data by setting $FLOATING to 1, and little-endian data instead of default big-endian by setting $LITTLEND to 1.

CUSTOM (GHSERIAL) added Modbus support for large $MODPLUS parameter values, such as 400001 to convert extended holding register address IDs to 16-bit protocol addresses used for communication.

CUSTOM (GHSERIAL) START ignores any configuration line starting with $$, which may be used for comments or to disable $ parameter lines.

New Model Converter (MC) Features

MC file1.HUL file2.GF and MC file1.GF file2.HUL were added to import and export MARIN's PRECAL offset files. Default units of measurement are meters. Note the /SCALE:-1,1,1 parameter can be used to invert longitudinal locations from fore to aft.

MC file1.PLN file2.GF and MC file1.GF file2.PLN were added to import and export ABS's NLOAD3D offset files. Default units of measurement are meters.

New Part Maker (PM) and Geometry File Features

ENTER PM statement DAMPING = f defines a tank's Damping Factor (or set negative to restore default 0.1 damping), aka the "damping coefficient" or "decay coefficient" calculated as f = b / (2 * SQRT(c * a)) where b is the dimensional damping, c is the stiffness, and a is the mass. Note a damping factor of <1 is considered "under-damped", a factor of =1 is "critically damped", and a factor of >1 is "over-damped". Default value 0.1 is recommended for smooth-wall tanks, but should be increased for tanks with extra damping due to structure, coatings, or baffles.

ENTER PM statement LOCUS error reporting was improved.

ENTER PM command TEMPLATE text fields also support expression evaluation within braces.

New Dialog Box (TEMPLATE) Featuress

TEMPLATE "label"[:value],... /REFRESH:n was added to reset new labels and values into any drop-down list input field in the top template dialog.

TEMPLATE /POS alignment is now maintained (instead of just centering) when redisplaying a dialog box after its size changes due to macro execution.

TEMPLATE /REFRESH [:n] optional parameter was added to speed up refreshing by only updating the nth field in the dialog.

TEMPLATE drop-down list controls now support "label":* for a disabled label that appears normally in the drop-down list but cannot be selected.

New System Variables and Other VARIABLE Features

DEFLMAX and DEFLLOC system variables were added to return the maximum deflection and its longitudinal location from the last LS command.

SKCASES system variable was added to return the number of cases in the last SEAKEEPING command run.

TCF and TTCF system variables, along with TCFs shown by STATUS WPL and COMP commands, now give transverse Center of Floation using the standard ship coordinate system (instead of a modified waterplane coordinate system).

TWPA, TLCF, TTCF, and TVCF may be used for displacer parts as well as tanks.

VCF and TVCF system variables were added to return the vertical location in ship coordinates for the waterplane or selected part Center of Flotation.

WINERTL, WINERTT, and WINERTLT system variables were added to return the overall waterplane longitudinal, transverse, and product of inertia through the Center of Flotation.

SET PARSE "substring" "text" operator was added to extract all characters before any first occurrence of the substring item found inside the text item, or all its text if not found. Thus SET X=PARSE "TL" "TITLE" sets X to "TI".

VARIABLE /LIST[:pattern] now excludes system variables unless pattern starts with ".." double periods, otherwise just showing matching user variables. VARIABLE by itself in the global namespace still shows all system variables followed by all user variables, but VARIABLE /LIST without a pattern now shows only user variables.

======= Miscellaneous New Features =======

COMP /FORM added Vertical Center of Area to its waterplane information.

COMP /SECTIONS report replaced its Waterline Ctr column with TCtr and VCtr columns to show the waterline center for each section in vessel coordinates.

COMP /SECTIONS second plot with WAVE present includes a text line clarifying that the plotted value is the sum of the "Baseline Depth + Wave Height" columns.

HMMT TANK /VARYTRIM parameter was added to solve trim for each angle instead of keeping trim constant.

HMMT WIND /BAND is now more precise for non-zero AXIS and substantial TRIM.

MESSAGE SEND ON ["filespec"] optional parameter was added to use the specified file as the channel for sending commands between concurrent program sessions, thereby allowing communication between different computers using a shared network file.

MESSAGE PLOTSTART /POLAR was ignoring any MESSAGE PLOTLABEL "axisX", but now places it centered beneath the polar plot. The legend box is omitted if there is only one curve (but its label appears under the plot if axisX="").

MESSAGE PLOTSTART /PROFILE or /PLAN now reverse the order of the independent scale to match normal Aft left orientation, but this can be overridden if the first ME PLOTLABEL label has "<-" (not preceded by "Aft") followed by "->".

NOTE ending in a linefeed (using ^CJ or ^H0A) can be used on the last line of a page (where {LINELEFT}=0) to delay turning to the next page until subsequent NOTE or report output (avoiding a final blank page if none).

SCREEN COMmand lines splits the screen with the specified maximum number of Command area lines, adjusting downwards (to 1 command line minimum) as needed so the Display area has at least 10 lines. User resizing can reduce the Display area further (down to shared SCR ROWS minimum), no longer switching from split screen to a single Command area (which sometimes led to garbled screen output).

WEIGHT /GYRadius is no longer permitted without subparameters, so should be replaced with specific gyradius values (such as its old meaning /GYR:GF,*,*). The GF keyword in /GYR:lr,tr,vr approximates lr gyradius using 40% beam for roll, and tr or vr using 25% length for pitch or yaw; LOA and WOA are taken from the Geometry File as assigned by Part Maker, or else from the bounding box for all parts. When a longitudinal distribution is present, its inertia is automatically calculated and used by default (absent /GYR and /BOX) or for individual gyradii where * is given; since typical weight distributions do not provide information for roll gyradius, a common method is to combine the 40% beam estimate with pitch and roll values from the distrbution using /GYR:GF,*,*.

WIND (PRessure) p1 @ h1, .... pn @ hn was fitting a 3rd-order curve then throwing away the points, but now keeps the points (like /LINEAR and /STEP) while interpolating up to 3rd-order polynomial curves between them.

WRITE (Hmmt) filespec writes HMMT and TMMT functions to the specified file.

WRITE (LIMits) filespec writes all limit definitions to the specified file.

======= Bug Fixes =======

ADD and WEIGHT parameter /BOX:length,width,height again includes inertia from any longitudinal distribution for individual dimensions where * is given (since 16.12 only).

BML system variable (as well as BML and GML reported by GHS and HS commands) was giving incorrect values at substantial trim when displacer components have non-zero longitudinal translation vector shifts.

COPY /CODE was sometimes miscoding unprintable characters.

DISPLAY STATUS /LEGEND[:LOAD] was sometimes excluding tanks in the legend when including Critical Points.

DISPLAY STATUS /SYNC repetition was made more reliable on very busy systems.

DISPLAY STATUS PLAN view was not showing any fuel portion of WDF type tanks extending beyond the lower sea water portion.

DISPLAY STATUS PLAN@WPL[:BE] view was not showing critical points.

DISPLAY STATUS PROFILE:BE was incorrectly showing frozen tank waterplanes and was not always showing critical points.

DISPLAY STATUS profile views were not reliably showing showing thruster tunnel deductions for heeling vessels.

DISPLAY STATUS was sometimes failing to center PROFILE:REVERSE and other views when PROFILE:OUTBOARD or :WITHSAILS views are present.

ENTER PM "file.RF" was trapping an error for file names containing spaces.

ENTER PM command COMMENT without any text was not attaching a blank line; instead it was showing existing comments, which are now shown by "COMMENT ?" (since 12.00 only).

ENTER PM command TEMPLATE was trapping a stack overflow run-time error when retrieving an undeclared variable in braces for text fields (since 16.54 only).

ENTER PM statements COMPONENT and DEDUCT referencing a new component inside the current part were trapping "Component not found" during repeated use in a CREATE command (since 16.76A only).

ENTER PMX unary minus ("-") operation was not working in a consistent manner.

EXIT macroname neglected to execute the named macro when done directly from a Run File called by another macro.

FSMFLOOR maximum floor value was raised for medium-large vessels.

GROUND /FLOOR was trapping a random run-time error in rare cases.

GROUP command was not enforcing for the first tank the documented requirement that all tanks in a group must be intact.

LOAD DELTA was not updating righting arms in the header, sometimes leading to replacing righting arms with "WEIGHT EXCESS: 0.00" in STATUS reports.

LOAD EDIT /INCH, /FID, and /FIE were not showing correct sounding units in the footer with the cursor in the sounding column.

Load Editor improved data entry error handling by aborting data entry when the Esc key is pressed (instead of offering to exit Load Editor). When the error was due to a missing suffix, entering an appropriate suffix now appends the suffix to the previously entered number instead of overwriting it.

Load Editor sounding column changes to individual non-spilling GROUP tanks was sometimes trapping "Tank volume discrepancy" (since 16.68 only).

LS was omitting initial and final shear and bending moment lines for BOOMs using the /PED parameter when no distributed weights were present (since 13.66B only).

LS was sometimes showing zero-weight items located past the end of the vessel for BOOMs using the /PED parameter.

MAXVCG /NOTOL was sometimes failed with spurious "No MAXVCG data for this condition" warnings, particularly for single trim or LCG curves.

MAXVCG without /FIRSTMAX was not always looking to the end of the angle list for even higher RA beyond the first-encountered maximum righting arm angle (since 14.34A only).

MESSAGE PLOTSTART /PAGE% no longer require an explicit PAGE command beforehand to prevent misformatting after prior pages too full to fit.

RA /LIM was trapping "Righting arms undefined" in rare cases with empty spilling tanks (since 16.70A only).

RA now truncates the report when trim exceeds 89 degrees instead of continuing indefinitely, which risked passing criteria with spurious limit results.

RA reports sometimes had inconsistent separation between each graph plot.

RA was not finding vanishing righting arm angle RA0 occuring between table angles that terminated RA processing due to trim capsize.

RA was sometimes prematurely terminating before finding RA0 limit angles in cases of very short angle lists that end before EQU0 is reached, which can lead to spurious maximum VCG failures.

READ was sometimes trapping a run-time error when certain non-ASCII UTF-8 characters appeared in a geometry file (since 16.90 only).

REPORT /BOX:COLOR|BW fancy reports risked trapping a run-time error in rare cases with continued pages.

SCREEN COMmand in split-screen scrolling mode risked blanking out data lines in the scroll history during aggressive up-and-down user resizing.

SCREEN SCROLL modes sometimes misformatted output after dragging the border increased the number of window rows.

SEAkeep fixed several minor memory leaks related to file/directory handling, multithreading, geometry deallocation, /SPREAD, and WAVE (SPE) DATA files.

SEAkeep LIMIT combined with SEA /RESP was trapping an unusual error for certain combinations of response subparameters (since 16.36 only).

SEAkeep now erases instead of recycling old SK data files when successively run in order to work around a known Recycle Bin bug under Windows 7 and Vista.

SEAkeep stiffness coefficients are now computed using waterplane inertias for the overall vessel condition and not just for the hull component specified by the /HULL parameter.

SEAkeep was returning incorrect results for even numbered sequential runs when not using the /BOX parameter (since 16.90 only).

SEAkeep was sometimes including a blank page at the end of the report.

SEAkeep was trapping a run-time error when the first station of the hull component had only one point.

SEAkeep /BILGEKEEL no longer traps an error when component names in the geometry file do not include a side extension (since 16.46 only).

SEAkeep /BILGEKEEL now respects the shift in the seakeeping origin when the /COUPLE parameter is used concurrently (since 16.70 only).

SEAkeep /BOX was sometimes trapping "Odd intersection at station 0." error when used on long prismatic hull forms.

SEAkeep /DATA:REsponse no longer includes redundant "Critical Point Motions" subtitle lines.

SEAkeep /HEAD was truncating headings for very long subparameter strings.

SEAkeep /ROLLCOEF no longer retains 2nd order hull viscous damping if only first order additional damping is given. Any input (regardless of order) now overrides all numerical viscous hull damping.

SEAkeep /SLAM no longer traps "Slamming requires zero heel" error when heel is very close to zero.

STATUS FIXED:BRIEF no longer shows weight groups with zero total weight, instead showing separate positive and negative weights for a group if they happen to add exactly to zero so total weight CGs can be computed correctly.

STATUS GHS and WPL:TOTAL were sometimes omitting the FSM note in the report despite marking the total line with an asterisk.

STATUS GROUND:BRIEF no longer traps "REACTION DISCREPANCY" if some ground point starts with the same word as a fixed weight.

STATUS MOMENT and STATUS INERTIA:POINT were not always reflecting tanks emptied since the last SOLVE.

STATUS MOMENT was showing incorrect values for WDF type tanks.

STATUS failed to show Righting Arms information following SOLVE /EXTRAFSM.

STATUS total lines for fixed weights and ground reactions were sometimes being unnecessarily split off to a new page, risking STATUS GROUND run-time errors when no ground force is present with an open fancy boxed report.

TEMPLATE /POS:SAME was not preserving screen position when redefining an existing template dialog.

TMMT /C2 trimming moment function was not described correctly in RA notes.

TMMT report notes sometimes showed incorrect directions with AXIS present.

TMMT with negative moments was not being correctly written to a Save File.

TS /FORMAT:1 report was sometimes omitting the maximum sounding level row.

TWPA, TLCF, and TTCF system variables were not returning correct values for frozen tanks.

VIEW was occasionally showing spurious duplicate lines during scrolling (since 16.96 only).

WATER spgr restores default viscosity if no /V:viscosity parameter is present.

WAVE (SPEctra) BR ITTC form now correctly uses modal (peak) period input.

Previous Version Update Features

Copyright (C) 2020 Creative Systems, Inc.