diff --git a/ChangeLog.html b/ChangeLog.html index 6b724b791..423b9f384 100644 --- a/ChangeLog.html +++ b/ChangeLog.html @@ -360,6 +360,7 @@

MB-System Version 5.8 Releases and Release Notes:


-

5.7.9beta19 (November 7, 2021)

+

5.7.9beta19 (November 7, 2021)

Format 89 (MBF_RESON7K3): Increased the maximum possible number of beams from 512 to 1024.

-

5.7.9beta18 (October 31, 2021)

+

5.7.9beta18 (October 31, 2021)

Mbgrid: Enabled shifting of output grid bounds using a new -Yshiftx/shifty option.

Mbtrnpp: Fixed build issue TRN libraries.

-

5.7.9beta17 (October 16, 2021)

+

5.7.9beta17 (October 16, 2021)

Mbgrid and mbmosaic: Fixed setting output grid format with the -G option. The definition and parsing of the options is now consistent with GMT 6.

@@ -1338,11 +1343,11 @@

5.7.9beta17 (October 16, 2021)

Mbm_grdplot: Fixed so that it does not crash if the input grid has either no valid values (all are NaN) or all valid values are the same.

-

5.7.9beta16 (August 27, 2021)

+

5.7.9beta16 (August 27, 2021)

Mbnavadjust: Made listing of survey vs survey blocks much faster.

-

5.7.9beta15 (August 26, 2021)

+

5.7.9beta15 (August 26, 2021)

Mbnavadjust: Speeded up model tie plots and insured that changes to projects will be saved when users quit.

@@ -1353,7 +1358,7 @@

5.7.9beta15 (August 26, 2021)

Mbm_route2mission: added acoustic modem status signal to MBARI AUV missions immediately at the end of the "start survey" behavior.

-

5.7.9beta14 (July 25, 2021)

+

5.7.9beta14 (July 25, 2021)

Most programs: Fixed possible overflow associated with code that sets user, host, and date information to be included in output files. This functionality has been @@ -1362,19 +1367,19 @@

5.7.9beta14 (July 25, 2021)

Many programs and i/o modules: Increased use of assert() to prevent overflow conditions when using sprintf to construct strings.

-

5.7.9beta13 (July 18, 2021)

+

5.7.9beta13 (July 18, 2021)

Mbextractsegy - fixed plotting so that the last plot is correct.

TRN: updated TRN documentation.

-

5.7.9beta12 (July 4, 2021)

+

5.7.9beta12 (July 4, 2021)

Build system: Fixed location of RPC and XDR headers for Ubuntu 21.

TRN: updated TRN documentation.

-

5.7.9beta11 (June 26, 2021)

+

5.7.9beta11 (June 26, 2021)

Build system: The configure script and the resulting Makefiles are generated using GNU Autotools 2.71 instead of 2.69.

@@ -1394,7 +1399,7 @@

5.7.9beta11 (June 26, 2021)

Fixed thesemacros to work with the new gmt grdinfo output that changed for GMT 6.2.0.

-

5.7.9beta10 (June 16, 2021)

+

5.7.9beta10 (June 16, 2021)

Mbnavadjust: Fixed importation of swath files, which was failing. Fixed crash that happened when a navigation inversion was performed in the same session as @@ -1405,7 +1410,7 @@

5.7.9beta10 (June 16, 2021)

Mbm_grdplot: Fixed histogram equalization in cases where grdhisteq returns an incomplete or short equalized color table.

-

5.7.9beta09 (June 8, 2021)

+

5.7.9beta09 (June 8, 2021)

Mbrt raytracing functions: Added tracking of travel times in arrays returned by mbrt() for plotting raypaths. This adds a parameter to the mbrt() function call, @@ -1443,7 +1448,7 @@

5.7.9beta09 (June 8, 2021)

Mbvoxelclean: Fixed application of acrosstrack and range filters.

-

5.7.9beta07 (May 7, 2021)

+

5.7.9beta07 (May 7, 2021)

mbm_histplot: Fixed the use of the -C option to specify cellwidth for the histogram to be plotted.

@@ -1459,7 +1464,7 @@

5.7.9beta07 (May 7, 2021)

Mblist: Fixed function of the -O%fnv and -O%FNV commands to produce *.fnv files.

-

5.7.9beta06 (March 24, 2021)

+

5.7.9beta06 (March 24, 2021)

Mbpreprocess: Fixed to work with the old s7k format (88) MBF_RESON7KR.

@@ -1470,7 +1475,7 @@

5.7.9beta06 (March 24, 2021)

files in the project directory for ping records (previously data were output for input navigation records as well).

-

5.7.9beta05 (March 8, 2021)

+

5.7.9beta05 (March 8, 2021)

Mbauvloglist: Added available output field of speed calculated from the velocity vector in the kearfott.log log file, with tag calcKSpeed. Also added new -C option: @@ -1491,7 +1496,7 @@

5.7.9beta05 (March 8, 2021)

filesystems that use ACL rather than old style unix file modes - the old stat based readability test in Perl fails on ACL filesystems.

-

5.7.9beta04 (February 21, 2021)

+

5.7.9beta04 (February 21, 2021)

Mbpreprocess: Fixed handling of data formats that do not have specially defined preprocessing functions. This fix was prompted by problems with SeaBeam 2112 data @@ -1510,7 +1515,7 @@

5.7.9beta04 (February 21, 2021)

Mbareaclean: Fixed memory management bug causing crashes.

-

5.7.9beta03 (February 7, 2021)

+

5.7.9beta03 (February 7, 2021)

General changes: Replacing use of strtok() function with strtokr(). Strtok() is intrinsically not thread safe or reentrant and is considered poor use under all @@ -1541,7 +1546,7 @@

5.7.9beta03 (February 7, 2021)

MBeditviz and MBview: Removed unneeded functions from mbview/mb3dsoundings_callbacks.c that were breaking test Cmake builds.

-

5.7.9beta02 (January 27, 2021)

+

5.7.9beta02 (January 27, 2021)

Fixed bug in format 58 and 59 support for bathymetry recalculation. The per beam heave values were being calculated incorrectly when bathymetry was recalculated by raytracing.

@@ -1549,14 +1554,14 @@

5.7.9beta02 (January 27, 2021)

These bugs were introduced during the 2020 code modernization.

-

5.7.9beta01 (January 18, 2021)

+

5.7.9beta01 (January 18, 2021)

Mbedit and mbnavedit: Use extern for Widget definitions in mbeditcreation.h and mbnaveditcreation.h to avoid duplicate symbol link errors when building code according to current C / C++ standards. The other graphical utilities already use this construct.

-

5.7.8 (January 17, 2021)

+

5.7.8 (January 17, 2021)

Version 5.7.8 is now the current release of MB-System. Changes since the 5.7.6 release include:

@@ -1678,14 +1683,14 @@

5.7.8 (January 17, 2021)

Mblist: Added output option 'n' for survey line number. This value is only defined for SEGY format data files (format 160).

-

5.7.8beta01 (January 17, 2021)

+

5.7.8beta01 (January 17, 2021)

The autoconf build system had been changed so that libXt and libX11 come before libXm in the link commands. This fixes runtime errors in all of the graphical utilities on Linux systems. This problem probably relates more directly to the use of the gcc compiler system.

-

5.7.7 (January 17, 2021)

+

5.7.7 (January 17, 2021)

The version 5.7.7 was fatally flawed in that the graphical tools would not run on Linux (or more probably, when built using gcc rather than llvm). The problem @@ -1695,7 +1700,7 @@

5.7.7 (January 17, 2021)

libXm. This problem was fixed rapidly and a new major release 5.7.8 put the same day.

-

5.7.7beta09 (January 17, 2021)

+

5.7.7beta09 (January 17, 2021)

mbdatalist: Fixed memory leak in src/mbio/mbcheckinfo.c that could occur when parsing *.inf files.

@@ -1704,7 +1709,7 @@

5.7.7beta09 (January 17, 2021)

build system in order to circumvent more changes to dependencies installed on Macs using the Homebrew package manager.

-

5.7.7beta08 (January 6, 2021)

+

5.7.7beta08 (January 6, 2021)

Formats 88 (MBFRESON7KR) and 89 (MBFRESON7K3): Fixed bug in handling of PingMotion data records (7012) that caused memory overruns and seg faults.

@@ -1724,12 +1729,12 @@

5.7.7beta08 (January 6, 2021)

Mbm_makedatalist: Now ignores the most recent file when the -L option is used.

-

5.7.7beta06 (December 30, 2020)

+

5.7.7beta06 (December 30, 2020)

Mbprocess: Fixed raytracking library used by mbprocess so that it is thread safe. The relevant code is in mbsystem/src/mbaux/mb_rt.c

-

5.7.7beta05 (December 28, 2020)

+

5.7.7beta05 (December 28, 2020)

Format 261 (MBF_KEMKMALL): Fixed bug in handling version 0 MWC datagrams.

@@ -1755,7 +1760,7 @@

5.7.7beta05 (December 28, 2020)

Mbswath2las: Shell for not-yet-working program to export soundings from swath data to some variant of the LAS format used for point cloud data.

-

5.7.7beta04 (October 28, 2020)

+

5.7.7beta04 (October 28, 2020)

Mbvoxelclean: Added option to filter based on beam amplitude minimum and maximum values.

@@ -1763,7 +1768,7 @@

5.7.7beta04 (October 28, 2020)

Mbeditviz: Fixed coloring of soundings using beam amplitude values (colormap was applied incorrectly).

-

5.7.7beta03 (October 27, 2020)

+

5.7.7beta03 (October 27, 2020)

Mbeditviz: Added option to display the selected sounding point cloud with soundings colored according to associated amplitude value. Also added the @@ -1810,14 +1815,14 @@

5.7.7beta03 (October 27, 2020)

particular to Kongsberg multibeam data as originally logged - files named "9999.all" are now ignored.

-

5.7.7beta02 (October 8, 2020)

+

5.7.7beta02 (October 8, 2020)

Mbotps: Modified mbotps to place temporary files in the user's home directory instead of the current working directory when the latter case results in file paths greater than 80 characters long. This is because OTPS has it's filename variables defined as 80 character strings.

-

5.7.7beta01 (October 7, 2020)

+

5.7.7beta01 (October 7, 2020)

Format 88 (MBFRESON7KR): Fixed handling of the various attitude data record types by function mbextract_nnav(), which in turn allows mbnavlist to work @@ -1826,7 +1831,7 @@

5.7.7beta01 (October 7, 2020)

Mblist: Added output option 'n' for survey line number. This value is only defined for SEGY format data files (format 160).

-

5.7.6 (October 5, 2020)

+

5.7.6 (October 5, 2020)

Version 5.7.6 is now the current release of MB-System. Changes since the 5.7.5 release include:

@@ -1883,7 +1888,7 @@

5.7.6 (October 5, 2020)

installed as part of MB-System. We tentatively plan to remove these programs entirely from MB-System distributions at the time of the 6.0 release.

-

5.7.6preparation (October 4, 2020)

+

5.7.6preparation (October 4, 2020)

Mbnavlist: Fixed bug in parsing -O option that sometimes resulting in the output of undesired values.

@@ -1902,7 +1907,7 @@

5.7.6preparation (October 4, 2020)

so that when picking the bottom return in the sidescan time series, nearfield backscatter can be ignored out to the time interval in seconds given by the value blank.

-

5.7.6beta56 (September 28, 2020)

+

5.7.6beta56 (September 28, 2020)

Mbsegylist: Add print option of 'l' for the line number contained in the segy file header.

@@ -1917,12 +1922,12 @@

5.7.6beta56 (September 28, 2020)

copying a project. This means these triangle files will not need to be remade in the new project.

-

5.7.6beta55 (September 16, 2020)

+

5.7.6beta55 (September 16, 2020)

Mbtrnpp: Fix potential variable overflow and incorrect metrics value assignment in netif code.

-

5.7.6beta54 (September 14, 2020)

+

5.7.6beta54 (September 14, 2020)

Mbnavadjust: Changed "Zero All Z Offsets" action to apply to only the crossings or ties currently displayed in the list, not literally all set ties.

@@ -1933,7 +1938,7 @@

5.7.6beta54 (September 14, 2020)

Mbtrnpp: Add support for trnu client reset callback (does reset using best offset) and supporting metrics, add file swap event to reinit plot

-

5.7.6beta53 (September 13, 2020)

+

5.7.6beta53 (September 13, 2020)

Format 261 (MBF_KEMKMALL): Fix to AUV Sentry mode for kmall format - zero heave in processed ping records (XMT) when platform is an AUV.

@@ -1942,7 +1947,7 @@

5.7.6beta53 (September 13, 2020)

TRN plotting scripts - changed hard coded bash location to /usr/local/bash

-

5.7.6beta52 (September 9, 2020)

+

5.7.6beta52 (September 9, 2020)

mbtrnpp: Added tide model correction. Added metrics covering non-survey data publishing.

@@ -1952,36 +1957,36 @@

5.7.6beta52 (September 9, 2020)

Format 261 (MBF_KEMKMALL): Fixed embedding of changed navigation and sensordepth values by mbprocess - these values needed to be changed in both MRZ and XMT records.

-

5.7.6beta51 (September 4, 2020)

+

5.7.6beta51 (September 4, 2020)

mbtrnpp: Added time stamp and position to TRN status messages generated for pings with no valid soundings. Bug fix: stats and cycle exec time metrics get incorrect values on some platforms, because of mixed reference to real time and precision clocks; now use consistent references

-

5.7.6beta50 (September 2, 2020)

+

5.7.6beta50 (September 2, 2020)

mbtrnpp: Now outputs TRN status messages even when the input data do not include valid soundings and so do not get processed by TRN. Also reduced the debug level of the network interface code.

-

5.7.6beta49 (September 2, 2020)

+

5.7.6beta49 (September 2, 2020)

mbtrnpp: Fixed bugs in parsing commands and also in management shellscript mbtrnpp.sh

-

5.7.6beta48 (September 1, 2020)

+

5.7.6beta48 (September 1, 2020)

mbtrnpp: Fixed bug that opened a new log file at each reinitialization without closing the old log file, eventually using up all of the available file descriptors and crashing. Added some diagnostic output. Updated related test clients and servers used to demonstrate socket based i/o to and from mbtrnpp.

-

5.7.6beta47 (September 1, 2020)

+

5.7.6beta47 (September 1, 2020)

mbtrnpp: Modified the socket based TRN output packet and the related internal representation.

-

5.7.6beta46 (August 31, 2020)

+

5.7.6beta46 (August 31, 2020)

mbtrnpp: Now reinitializes the Terrain Relative Navigation (TRN) filter using the best available position rather than the last estimated navigation offset. @@ -2003,7 +2008,7 @@

5.7.6beta46 (August 31, 2020)

Format 72 (MBF_MBARIMB1): Fixed bug in handling sensordepth values.

-

5.7.6beta45 (August 26, 2020)

+

5.7.6beta45 (August 26, 2020)

Mbtrnpp: Changed most shell output from stdout to stderr. Altered logic for triggering TRN reinits.

@@ -2011,7 +2016,7 @@

5.7.6beta45 (August 26, 2020)

Formats 12 (MBFSBSIOCEN), 13 (MBFSBSIOLSI), 14 (MBFSBURICEN), 15 (MBFSBURIVAX): Fixed string overrun while writing long comment records.

-

5.7.6beta44 (August 24, 2020)

+

5.7.6beta44 (August 24, 2020)

Format 89 (MBF_RESON7K3): Fixed handling and processing of backscatter data, which had a variety of problems. Now, the pseudo-sidescan reported by MB-System @@ -2064,7 +2069,7 @@

5.7.6beta44 (August 24, 2020)

Mbeditviz: Now outputs error message to shell when a file can't be imported because it lacks an *.inf file.

-

5.7.6beta43 (July 23, 2020)

+

5.7.6beta43 (July 23, 2020)

Mbsvplist: Added capability to extract sound velocity profile (SVP) models from MBDATACTD type records as well as MBDATASOUNDVELOCITYPROFILE type records @@ -2087,7 +2092,7 @@

5.7.6beta43 (July 23, 2020)

function to briefly display stereo pairs being read and processed, along with the disparity function calculated for the image pair.

-

5.7.6beta42 (July 21, 2020)

+

5.7.6beta42 (July 21, 2020)

Mbtrn and mbtrnav: Updates and bug fixes to replay-trn_server.

@@ -2108,7 +2113,7 @@

5.7.6beta42 (July 21, 2020)

and alongtrack distances transposed. To fix the problems caused by this bug mbpreprocess and then mbprocess should be rerun.

-

5.7.6beta41 (July 12, 2020)

+

5.7.6beta41 (July 12, 2020)

Mblist: Fixed bug in which output in the CDL format was broken, which in turn broke output in netCDF.

@@ -2120,7 +2125,7 @@

5.7.6beta41 (July 12, 2020)

from the *.cpp suffix to the *.cc suffix to be consistent with other C++ source files in MB-System.

-

5.7.6beta40 (July 7, 2020)

+

5.7.6beta40 (July 7, 2020)

Mbphotomosaic, mbgetphotocorrection, mbphotogrammetry: Added three programs used for processing seafloor photography collected during seafloor mapping surveys @@ -2150,7 +2155,7 @@

5.7.6beta40 (July 7, 2020)

code no longer depends on either the gmt/src/gmtmb.h header file or the obsolete gmtbegin_module() function.

-

5.7.6beta38 (June 8, 2020)

+

5.7.6beta38 (June 8, 2020)

Mblist: Fixed problem in which the centermost (nadir) beam was generally set to 0.

@@ -2170,7 +2175,7 @@

5.7.6beta38 (June 8, 2020)

installations, so we have to allow EM304 and EM712 sonar models with the obsolete format.

-

5.7.6beta37 (May 26, 2020)

+

5.7.6beta37 (May 26, 2020)

Mbnavadjust: Fixed problems in the inversion algorithm. The complexity of this algorithm results from the tendency @@ -2205,7 +2210,7 @@

5.7.6beta37 (May 26, 2020)

Mblevitus: Fixed errors that had been inadvertently created as part of commit #448. Thanks to Joaquim Luis for finding and fixing this.

-

5.7.6beta36 (May 17, 2020)

+

5.7.6beta36 (May 17, 2020)

Mbgrd2obj: Had to add #ifdef's on GMT version because the number of parameters passed to gmtinitmodule() changes between GMT 5.3 through 6.0 and 6.1.

@@ -2219,7 +2224,7 @@

5.7.6beta36 (May 17, 2020)

Mbnavadjustmerge: Added function to merge two adjacent surveys into one with an internal discontinuity.

-

5.7.6beta34 (May 14, 2020)

+

5.7.6beta34 (May 14, 2020)

Mbgrd2obj: New GMT module that converts GMT topographic grids to OBJ format 3D model files that can be imported to visualization software or printed on 3D @@ -2247,7 +2252,7 @@

5.7.6beta34 (May 14, 2020)

a number of other issues in a series of commits. These changes are in src/mbtrn, src/mbtrnav, and src/mbtrnutils.

-

5.7.6beta33 (May 5, 2020)

+

5.7.6beta33 (May 5, 2020)

Mbnavadjust: Changed handling of fixed surveys when updating the project grid or applying the solution. Previously the files of fixed surveys were ignored, @@ -2294,7 +2299,7 @@

5.7.6beta33 (May 5, 2020)

and clean. This approach now works on a Mac. It's time to test on Linux.

-

5.7.6beta32 (April 22, 2020)

+

5.7.6beta32 (April 22, 2020)

Mbgrid: Fixed failure of the two gridding algorithm using beam footprints in which the footprint size blows up at low grazing angles. The fix is to not @@ -2362,7 +2367,7 @@

5.7.6beta32 (April 22, 2020)

Code style: Tom O'Reilly and David Caress added README.md files in each of the subdirectories under src/.

-

5.7.6beta31 (March 2, 2020)

+

5.7.6beta31 (March 2, 2020)

Mbvoxelclean: Fixed memory leak. Added --acrosstrack-minimum and --acrosstrack-maximum filters. Cleaned up shell informational output.

@@ -2388,7 +2393,7 @@

5.7.6beta31 (March 2, 2020)

Code style: Github user abnj contributed some code cleanup by removing $Id tags used when the code was in a Subversion repository.

-

5.7.6beta30 (February 20, 2020)

+

5.7.6beta30 (February 20, 2020)

Mbprocess, mbfilter, mbvoxelclean, mbclean, mbinfo, mbdatalist: Fixed bugs in handling of status values returned by functions that caused early program @@ -2398,7 +2403,7 @@

5.7.6beta30 (February 20, 2020)

practices and adding build tests. The improvements included in this beta release include work on mbview and programs using mbview.

-

5.7.6beta29 (February 17, 2020)

+

5.7.6beta29 (February 17, 2020)

Mbnavadjust: Fixed bugs in mbnavadjust creating by modifying the handling of function status returns.

@@ -2409,7 +2414,7 @@

5.7.6beta29 (February 17, 2020)

practices and adding build tests. The improvements included in this beta release include work on mbview and programs using mbview: mbgrdviz, mbeditviz, mbnavadjust.

-

5.7.6beta28 (February 13, 2020)

+

5.7.6beta28 (February 13, 2020)

Format 89 (MBF_RESON7K3): Added support for data record type 7058. Also added ability to handle s7k data files missing the file header record.

@@ -2430,14 +2435,14 @@

5.7.6beta28 (February 13, 2020)

practices and adding build tests. The improvements included in this beta release include work on mbedit, mbnavedit, and mbnavadjust.

-

5.7.6beta27 (February 3, 2020)

+

5.7.6beta27 (February 3, 2020)

mbpreprocess: Corrected prior fix to error in calculating lever arms, which didn't include all of the sign changes needed in mb_platform.c.

mbgrid: Fixed flaw in min or max weighted mean algorithm that produced array overflows in mbgrid.

-

5.7.6beta26 (February 2, 2020)

+

5.7.6beta26 (February 2, 2020)

Format 181 (MBF_SAMESURF): Fixed compiler warnings, including warnings from a mismatch of 32 bit and 64 bit integer pointers due to the early 1990's vintage @@ -2459,7 +2464,7 @@

5.7.6beta26 (February 2, 2020)

include cleaning up the SURF format library, work on mbedit, mbnavadjust, and the GMT modules mbswath, mbcontour, and mbgrdtiff.

-

5.7.6beta25 (January 20, 2020)

+

5.7.6beta25 (January 20, 2020)

Info files: The top level information files README, ChangeLog, and GPL have been removed. The Markdown format versions (README.md, ChangeLog.md, GPL.md) remain and have been updated.

@@ -2472,7 +2477,7 @@

5.7.6beta25 (January 20, 2020)

and are executed automatically by the Travis CI service integrated with Github whenever commits are made to the Github repository. The current changes mostly consist of cleaning up the code of the graphical utilities such as mbedit, mbnavedit, mbnavadjust.

-

5.7.6beta24 (January 16, 2020)

+

5.7.6beta24 (January 16, 2020)

Build system: The configure.ac file now uses the AXCXXCOMPILESTDCXX(11) macro to require that the code conform to the C++11 standard. Some preprocessor @@ -2496,7 +2501,7 @@

5.7.6beta24 (January 16, 2020)

and are executed automatically by the Travis CI service integrated with Github whenever commits are made to the Github repository.

-

5.7.6beta23 (January 11, 2020)

+

5.7.6beta23 (January 11, 2020)

MBprocess, mbpreprocess, mbmakeinfo(): Altered mbprocess and mbpreprocess so that both run about half as slow (twice as fast) as before. This optimization is @@ -2567,7 +2572,7 @@

5.7.6beta23 (January 11, 2020)

installed as part of MB-System. We tentatively plan to remove these programs entirely from MB-System distributions at the time of the 6.0 release.

-

5.7.6beta21 (December 12, 2019)

+

5.7.6beta21 (December 12, 2019)

GMT modules (mbcontour, mbswath, mbgrdtiff): modified the #ifdefs to allow building with GMT 6.1 and later.

@@ -2577,7 +2582,7 @@

5.7.6beta21 (December 12, 2019)

Code stye: Kurt Schwehr is systematically altering the code to conform to best practices

-

5.7.6beta20 (November 26, 2019)

+

5.7.6beta20 (November 26, 2019)

Mbprocess: Fix to handle temporary failures to read GMT grd files. The GMT grid reading code will now return with an error rather than causing the program to @@ -2592,12 +2597,12 @@

5.7.6beta20 (November 26, 2019)

mbtrnpp: Changes by Kent Headley to mbtrnpp in src/mbtrnutils and supporting source directories src/mbtrn and src/mbtrnav.

-

5.7.6beta19 (November 22, 2019)

+

5.7.6beta19 (November 22, 2019)

Mbprocess: Attempting to fix processing of format 71 files within an mbnavadjust project.

-

5.7.6beta18 (November 21, 2019)

+

5.7.6beta18 (November 21, 2019)

Everything: Now fully compatible with PROJ 6.X. The configure script will detect the presence or absence of PROJ 6 or later - if the PROJ installation predates @@ -2614,7 +2619,7 @@

5.7.6beta18 (November 21, 2019)

mbtrnpp: Fixed a number for formatting and type issues hampering building the TRN code on MacOs.

-

5.7.6beta17 (November 15, 2019)

+

5.7.6beta17 (November 15, 2019)

MBeditviz: Added option to display 3D soundings colored according to the map's coloring (including selected colortabel and any histogram equalization).

@@ -2635,7 +2640,7 @@

5.7.6beta17 (November 15, 2019)

mbtrnpp: Many changes by Kent Headley to this in src/mbtrnutils and supporting source directories src/mbtrn and src/mbtrnav.

-

5.7.6beta16 (October 29, 2019)

+

5.7.6beta16 (October 29, 2019)

MBnavadjust: Fixed bug in calculating the range of contour values and the size of the memory allocation for contours.

@@ -2646,7 +2651,7 @@

5.7.6beta16 (October 29, 2019)

true and false, and changing the type of the associated variables from int to bool.

-

5.7.6beta15 (October 21, 2019)

+

5.7.6beta15 (October 21, 2019)

Format 261 (MBF_KEMKMALL): Fixed preprocessing of Kongsberg multibeam data in the kmall format, particularly with regard to merging WHOI-NDSF processed navigation @@ -2682,7 +2687,7 @@

5.7.6beta15 (October 21, 2019)

true and false, and changing the type of the associated variables from int to bool.

-

5.7.6beta14 (October 8, 2019)

+

5.7.6beta14 (October 8, 2019)

MBnavadjustmerge: Added options --unset-short-section-ties=minlength and --skip-short-section-crossings=minlength that allow the deletion or prevention @@ -2713,7 +2718,7 @@

5.7.6beta14 (October 8, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta12 (September 20, 2019)

+

5.7.6beta12 (September 20, 2019)

Mbset: Fix to mbset so that the mbpnavadjmode is set to MBPNAVADJOFF instead of MBPNAVOFF and MBPNAVADJLLZ instead of MBPNAVON.

@@ -2729,7 +2734,7 @@

5.7.6beta12 (September 20, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta10 (September 18, 2019)

+

5.7.6beta10 (September 18, 2019)

Mbnavadjust: Changed the contouring displayed during analysis of crossings to be based on a triangular mesh representation of the bathymetry data for each @@ -2748,7 +2753,7 @@

5.7.6beta10 (September 18, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta8 (September 9, 2019)

+

5.7.6beta8 (September 9, 2019)

MBIO library beam flagging and detect types: The handling of multi-pick soundings has been modified. This refers to sensors that can report more than @@ -2803,7 +2808,7 @@

5.7.6beta8 (September 9, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta6 (August 26, 2019)

+

5.7.6beta6 (August 26, 2019)

Mbm_route2mission: AUV spiral descent option now includes a behavior to disable DVL aiding of the INS during the descent.

@@ -2818,7 +2823,7 @@

5.7.6beta6 (August 26, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta5 (August 6, 2019)

+

5.7.6beta5 (August 6, 2019)

Integration with PROJ: Reverted to use of deprecated PROJ4 API due to problems with use of projections by the mbview library. This will get fixed, but it's more @@ -2830,7 +2835,7 @@

5.7.6beta5 (August 6, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta4 (August 2, 2019)

+

5.7.6beta4 (August 2, 2019)

Format MBF_GSFGENMB (format 121, Generic Sensor Format, GSF): The version of libgsf used to read and write Generic Sensor Format (GSF) files has been @@ -2866,7 +2871,7 @@

5.7.6beta4 (August 2, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta2 (July 25, 2019)

+

5.7.6beta2 (July 25, 2019)

Formats MBF3DWISSLR (232) and MBF3DWISSLP (233): these i/o modules have been updated to handle both the original (v1.1) and updated (v1.2) 3D at Depth Wide @@ -2876,7 +2881,7 @@

5.7.6beta2 (July 25, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.6beta1 (July 6, 2019)

+

5.7.6beta1 (July 6, 2019)

MBnavadjust: Fixed bug that resulted in Naverr window contours not being displayed when the diference between the minimum and maximum depth of a section @@ -2885,7 +2890,7 @@

5.7.6beta1 (July 6, 2019)

Formats MBF3DWISSLR (232) and MBF3DWISSLP (233): working towards the code successfully reading and writing the 3D at Depth WiSSL *.raa format version 1.2.

-

5.7.5 (June 26, 2019)

+

5.7.5 (June 26, 2019)

Version: Set for release 5.7.5

@@ -2899,13 +2904,13 @@

5.7.5 (June 26, 2019)

mbfilter: update man page

-

5.7.5beta12 (June 24, 2019)

+

5.7.5beta12 (June 24, 2019)

Code stye: Kurt Schwehr is systematically altering the code to conform to best practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.5beta11 (June 16, 2019)

+

5.7.5beta11 (June 16, 2019)

Format 89 (MBF_RESON7K3): Fixed bug in support of the Teledyne 7k version 3 format that caused mbpreprocess to crash.

@@ -2916,11 +2921,11 @@

5.7.5beta11 (June 16, 2019)

practices regarding header inclusion and reduced variable scope, particularly for loop indices.

-

5.7.5beta10 (June 9, 2019)

+

5.7.5beta10 (June 9, 2019)

Build system: Set Autotools build system to force use of standard C (i.e. C99).

-

5.7.5beta9 (June 8, 2019)

+

5.7.5beta9 (June 8, 2019)

Format 89 (MBF_RESON7K3): The Teledyne 7k version 3 format is now supported as format 89. This format is used for all multibeam sonars built by Teledyne, @@ -2947,7 +2952,7 @@

5.7.5beta9 (June 8, 2019)

Mbvelocitytool: Fixed memory leak.

-

5.7.5beta8 (April 11, 2019)

+

5.7.5beta8 (April 11, 2019)

Format 89 (MBF_RESON7K3): Progress towards support of Teledyne 7k version 3 format. The i/o module builds but is not fully functional yet. Most records parse @@ -2956,7 +2961,7 @@

5.7.5beta8 (April 11, 2019)

Format 261 (MBF_KEMKMALL): We are close to complete with support for the new Kongsberg kmall format. Testing and debugging continues.

-

5.7.5beta7 (March 28, 2019)

+

5.7.5beta7 (March 28, 2019)

Windows compatibility: A number of changes from Joaquim Luis that allow building under Windows.

@@ -2966,7 +2971,7 @@

5.7.5beta7 (March 28, 2019)

7k format from Teledyne now used for Teledyne Reson abnd Teledyne Atlas multibeams.

-

5.7.5beta6 (March 26, 2019)

+

5.7.5beta6 (March 26, 2019)

Build system: Modified configure.ac to fix a problem building with the new Proj 6.0.0. MB-System uses a longstanding Proj API that is deprecated in Proj 6. @@ -2974,14 +2979,14 @@

5.7.5beta6 (March 26, 2019)

with the preprocessor macro ACCEPT
USEOFDEPRECATEDPROJAPI_H set. This compiler flag has been added to the autoconf test for usability of this header file.

-

5.7.5beta5 (March 22, 2019)

+

5.7.5beta5 (March 22, 2019)

Mbmgrdplot, mbmgrd3dplot, mbmgrdtiff, mbmhistplot, mbmplot, mbmxyplot: Set these plot macros to use "open" on Macs and on Linux to use "gio open" if available, "xdg-open" if "gio" is not available. Also got rid of another instance of orphan file creation by the plotting shellscripts (e.g. gmt.conf$$).

-

5.7.5beta4 (March 21, 2019)

+

5.7.5beta4 (March 21, 2019)

Mbmgrid: Fixed problem in which execution of mbmgrid left behind an orphaned datalist file. Also changed this macro to output a bash shellscript rather than @@ -3003,12 +3008,12 @@

5.7.5beta4 (March 21, 2019)

These plot macros now embed the user, computer, and time of creation associated with the output plot generation shellscript.

-

5.7.5beta3 (March 14, 2019)

+

5.7.5beta3 (March 14, 2019)

Mbcopy: Fixed problem with fbt file generation by mbcopy that was introduced with 5.7.5beta2

-

5.7.5beta2 (March 4, 2019)

+

5.7.5beta2 (March 4, 2019)

Format 261 (MBF_KEMKMALL): There is progress towards support for the new Kongsberg kmall format. Only EM2040 data supplied by Kongsberg is being @@ -3018,7 +3023,7 @@

5.7.5beta2 (March 4, 2019)

Mbcopy: Changed logic so that in a full copy all data records are passed on to the output even if they generate nonfatal errors (e.g. out of time or location bounds).

-

5.7.5beta1 (February 27, 2019)

+

5.7.5beta1 (February 27, 2019)

Mbm_bpr: Augmented to work with Sonardyne AMT pressure data using PRS data records in addition to PR2 records.

@@ -3026,19 +3031,19 @@

5.7.5beta1 (February 27, 2019)

Mbotps: Fixed some issues with applying a tide station correction to time models.

-

5.7.5beta0 (February 25, 2019)

+

5.7.5beta0 (February 25, 2019)

Format 261 (MBFKEMKMALL): Added support for new Kongsberg kmall format with MBIO id 261 and name MBFKEMKMALL. At this point the support has memory management problems resulting in sporadic and inconsistent crashing.

-

5.7.4 (February 12, 2019)

+

5.7.4 (February 12, 2019)

Plotting macros (mbmgrdplot, mbmgrd3dplot, mbmplot, mbmxyplot, mbmhistplot): Fixed problem with plotting macro mbmplot that caused failure of the plotting shellscript.

-

5.7.3 (February 8, 2019)

+

5.7.3 (February 8, 2019)

Plotting macros (mbmgrdplot, mbmgrd3dplot, mbmplot, mbmxyplot, mbm_histplot): This version changes how automatically displaying the Postscript plot is handled. Previously @@ -3059,7 +3064,7 @@

5.7.3 (February 8, 2019)

preprocessing. This fix works with data already processed through prior versions of MB-System as well as data newly processed from *.all files.

-

5.7.2 (February 4, 2019)

+

5.7.2 (February 4, 2019)

All files: Updated copyright to 2019.

@@ -3087,13 +3092,13 @@

5.7.2 (February 4, 2019)

for that kind of file. On Linux systems, this program is "xdg-open". On MacOs, this program is "open". On Cygwin systems, this program is "cygstart".

-

5.7.1 (December 19, 2018)

+

5.7.1 (December 19, 2018)

Initiated use of version tagging in Git.


-

MB-System Version 5.6 Releases and Release Notes:

+

MB-System Version 5.6 Releases and Release Notes:


@@ -3109,7 +3114,7 @@

MB-System Version 5.6 Releases and Release Notes:


-

5.6.20181218 (December 18, 2018)

+

5.6.20181218 (December 18, 2018)

Generated release package using github

@@ -3117,12 +3122,12 @@

5.6.20181218 (December 18, 2018)

mbm_dslnavfix: Removed, obsolete.

-

5.6.20181217 (December 17, 2018)

+

5.6.20181217 (December 17, 2018)

Memory management: Fixed memory leak associated with allocation and deallocation of edit save file (*.esf) data.

-

5.6.20181214 (December 14, 2018)

+

5.6.20181214 (December 14, 2018)

Format 121 (MBFGSFGENMB): Changed GSFlib version to 3.08. MB-System also now builds and installs the program dumpgsf. Fixed several array overruns in the GSFlib @@ -3139,7 +3144,7 @@

5.6.20181214 (December 14, 2018)

deepest surfaces in the gridded model. These algorithms were specifically added to handle subsea lidar data that maps animals as well as the seafloor.

-

5.6.20181129 (November 29, 2018)

+

5.6.20181129 (November 29, 2018)

MBgrdtiff, mbmgrdtiff: Added -Nnudgex/nudge_y option to apply a positional offset in meters relative to the input grid or mosaic.

@@ -3165,7 +3170,7 @@

5.6.20181129 (November 29, 2018)

rms deviation exceeds the specified threshold, all unflagged soundings in that ping are flagged as bad.

-

5.6.20181016 (October 16, 2018)

+

5.6.20181016 (October 16, 2018)

Many files: Changed type of pingnumber variable from int to unsigned int.

@@ -3183,12 +3188,12 @@

5.6.20181016 (October 16, 2018)

files created and/or modified by mbedit, mbeditviz, mbedit, and \fBmbclean\fP.

-

5.6.002 (September 14, 2018)

+

5.6.002 (September 14, 2018)

Format 88 (MBFRESON7KR): Corrected application of attitude offsets to bathymetry calculation in mbsysreson7k_preprocess().

-

5.6.001 (September 11, 2018)

+

5.6.001 (September 11, 2018)

Format 88 (MBFRESON7KR): Fixed problem in the mbsysreson7k_preprocess() function in which the interpolated and time latency corrected attitude values calculated @@ -3197,7 +3202,7 @@

5.6.001 (September 11, 2018)


-

MB-System Version 5.5 Releases and Release Notes:

+

MB-System Version 5.5 Releases and Release Notes:


@@ -3299,7 +3304,7 @@

MB-System Version 5.5 Releases and Release Notes:


-

5.5.2350 (September 6, 2018)

+

5.5.2350 (September 6, 2018)

Mbnavadjust: Added a sorted ties list view for which the list of ties is ordered from largest misfit magnitude to smallest where the misfit is measured between @@ -3307,19 +3312,19 @@

5.5.2350 (September 6, 2018)

easily inspect the most poorly fit ties. Also augmented stored information about global ties. Also made some changes to the inversion algorithm.

-

5.5.2348 (August 20, 2018)

+

5.5.2348 (August 20, 2018)

Reson 7k V3 support: Added files mbrreson7k3.c mbsysreson7k3.c mbsys_reson7k3.h while working towards support of version 3 7k data (by Christian Ferreira).

-

5.5.2347 (August 17, 2018)

+

5.5.2347 (August 17, 2018)

Mbtrnpreprocess: precruise update of mbtrnpreprocess and related tools used for optional install of AUV terrain relative navigation. Excepting for a few debug print statement changes, this matches the 20180814 mbtrnpreprocess installation of Kent Headly on MBARI Mapping AUV 2.

-

5.5.2346 (August 13, 2018)

+

5.5.2346 (August 13, 2018)

Mbauvloglist: augmented dimensioning of fields array to allow up to 500 data fields.

@@ -3330,7 +3335,7 @@

5.5.2346 (August 13, 2018)

longitude values (the format should use unsigned shorts but clearly data exist using signed values).

-

5.5.2345 (August 10, 2018)

+

5.5.2345 (August 10, 2018)

Mbmakeplatform: Fixed segmentation fault when modifications to the platform model are specified before a command that initializes the platform.

@@ -3348,7 +3353,7 @@

5.5.2345 (August 10, 2018)

Mbnavadjust: Changed so that sensordepth values are included in the navigation points stored in the project file (*.nvh file).

-

5.5.2344 (August 3, 2018)

+

5.5.2344 (August 3, 2018)

Mbcontour, mbswath, mbgrdtiff, mbbackangle, mbprocess, mbgrid, mbmosaic, libmbaux, mbgrdviz, mbeditviz, mbnavadjust, libmbview: Implemented a number of low level @@ -3363,7 +3368,7 @@

5.5.2344 (August 3, 2018)

src/mbtrn: Changes from Kent Headley (these tools and library are being actively developed).

-

5.5.2342 (June 29, 2018)

+

5.5.2342 (June 29, 2018)

Mbgpstide: New program contributed by Gordon Keith. This program generates tide files from the height above ellipsoid data in the 'h' datagrams of Simrad files. @@ -3371,7 +3376,7 @@

5.5.2342 (June 29, 2018)

was funded by Geoscience Australia with the understanding that the code would be made available to the general MB-System distribution.

-

5.5.2340 (June 26, 2018)

+

5.5.2340 (June 26, 2018)

Autoconf build system: Restructured to build successfully with the mbtrn capability enabled using the --enable-mbtrn option of the configure script.

@@ -3389,7 +3394,7 @@

5.5.2340 (June 26, 2018)

Mbnavadjust: now stores only valid, unflagged soundings in the section files, which are format 71. Previously all soundings, including null and flagged, were stored.

-

5.5.2339 (June 25, 2018)

+

5.5.2339 (June 25, 2018)

Mbgrid: Modified to use correct gridding algorithm when reading fbt files lacking the sonar type value.

@@ -3412,7 +3417,7 @@

5.5.2339 (June 25, 2018)

navigation (TRN) client that localizes the AUV position relative to a pre-existing map using the current bathymetry data.

-

5.5.2336 (June 6, 2018)

+

5.5.2336 (June 6, 2018)

Mbpreprocess and format MBF_3DWISSLR (232): Add option --kluge-fix-wissl-timestamps to fix a timestamp problem with the initial version of the 3D at Depth WiSSL (wide @@ -3425,7 +3430,7 @@

5.5.2336 (June 6, 2018)

lon-lat bounds of a topography grid previously loaded using the mb
topogrid_init() function.

-

5.5.2335 (May 6, 2018)

+

5.5.2335 (May 6, 2018)

Mbm_bpr: Added ability to parse pressure data from Sonardyne AMT beacons. Also added optional smoothing of the BPR depth data used to calculate tides.

@@ -3441,7 +3446,7 @@

5.5.2335 (May 6, 2018)

Format 88 (MBF_RESON7KR): Fixed handling of beams when using the version 2 raw detection data records.

-

5.5.2334 (April 18, 2018)

+

5.5.2334 (April 18, 2018)

Mbprocess, mbareaclean, mbclean, mbedit, mbeditviz, mbrphsbias, mbneptune2esf: Reset MBESFMAXTIMEDIFFX10 value in mbprocess.h to 0.0011 to handle old @@ -3449,13 +3454,13 @@

5.5.2334 (April 18, 2018)

Mbareaclean, mbclean, mbrphsbias: Fixed the previous fixes .

-

5.5.2333 (April 18, 2018)

+

5.5.2333 (April 18, 2018)

Mbprocess, mbareaclean, mbclean, mbedit, mbeditviz, mbrphsbias, mbneptune2esf: Decreased time range where multiplicity of pings will consider close records as the same from 100 to 1 microsecond.

-

5.5.2332 (April 17, 2018)

+

5.5.2332 (April 17, 2018)

Mbprocess, mbareaclean, mbclean, mbedit, mbeditviz, mbrphsbias, mbneptune2esf: Fixed problem recocognizing multiplicity of pings when ping times are close to @@ -3463,7 +3468,7 @@

5.5.2332 (April 17, 2018)

SeaBeam 3020 multibeam, but could potentially have impacted data from other sensors.

-

5.5.2331 (April 10, 2018)

+

5.5.2331 (April 10, 2018)

Mbm_makedatalist: Fixed problem with use of perl sort function when handling Kongsberg multibeam data. Also fixed problem with specifying a directory using @@ -3485,7 +3490,7 @@

5.5.2331 (April 10, 2018)

Mbtrnpreprocess: Continued development of this new tool, particularly adding interprocess communication via TCP-IP sockets.

-

5.5.2330 (March 7, 2018)

+

5.5.2330 (March 7, 2018)

Proj: Removed the embedded Proj source package from the MB-System archive and distribution. From now on Proj is strictly a prerequisite for building MB-System.

@@ -3500,7 +3505,7 @@

5.5.2330 (March 7, 2018)

Format MBF_3DWISSLP (233): Many fixes to the code supporting WiSSL lidar data.

-

5.5.2329 (February 12, 2018)

+

5.5.2329 (February 12, 2018)

Format MBF_3DWISSLP (233): Rewrote the processing format for the 3D at Depth wide swath lidar (WiSSL) system delivered to MBARI in December 2017. The new @@ -3518,7 +3523,7 @@

5.5.2329 (February 12, 2018)

Mbmroute2mission: Fixed generation of Dorado AUV missions with waypointbottom behaviours.

-

5.5.2328 (January 31, 2018)

+

5.5.2328 (January 31, 2018)

Edit Save Files (*.esf): The edit save file format has been augmented to include a mode value that can include implicitly setting all soundings not set by a beamflag @@ -3541,16 +3546,16 @@

5.5.2328 (January 31, 2018)

MBinfo: Fixed memory allocation problem that led to crashes reading data in formats MBF3DWISSLR (232) and MBF3DWISSLP (233).

-

5.5.2327 (January 23, 2018)

+

5.5.2327 (January 23, 2018)

Build system: Restructure the use of the mb_config.h file so that compiling on Ubuntu 17 succeeds (issue related to stdint.h includes)

-

5.5.2325 (January 23, 2018)

+

5.5.2325 (January 23, 2018)

MBinfo: Fixed bug in JSON output (Christian Ferreira)

-

5.5.2324 (January 18, 2018)

+

5.5.2324 (January 18, 2018)

MBpreprocess: Added support for the 3D at Depth wide swath lidar (WiSSL) system delivered to MBARI in December 2017.

@@ -3563,11 +3568,11 @@

5.5.2324 (January 18, 2018)

Many source files: Changes to variable names in GMT grid header and CPT structures for GMT 6.

-

5.5.2323 (December 7, 2017)

+

5.5.2323 (December 7, 2017)

MBnavadjust: fixed crashes that happened when files or surveys are held fixed.

-

5.5.2322 (November 25, 2017)

+

5.5.2322 (November 25, 2017)

Mbpreprocess: Now set so that input Imagenex DeltaT data in the vendor format MBFIMAGE83P (191) will be output in the processing format MBFIMAGEMBA (192) @@ -3586,7 +3591,7 @@

5.5.2322 (November 25, 2017)

Added curly brackets, changed beamflag setting calculations, and reformatted some lines in order to silence compiler warnings.

-

5.5.2321 (October 26, 2017)

+

5.5.2321 (October 26, 2017)

Mbgrdviz: fixed bug in displaying overlays.

@@ -3597,17 +3602,17 @@

5.5.2321 (October 26, 2017)

Format 88 (MBF_RESON7KR): Fixed confusion between Depth and Height s7k data records.

-

5.5.2320 (October 18, 2017)

+

5.5.2320 (October 18, 2017)

Mbgrdviz: Now, when overlays are displayed in mbgrdviz, the only areas rendered are those where both the primary and overlay grids are defined.

-

5.5.2319 (October 16, 2017)

+

5.5.2319 (October 16, 2017)

Mbprocess: Fixed bug that caused mbprocess to (sometimes) never finish while continuing to write to the output file.

-

5.5.2318 (September 29, 2017)

+

5.5.2318 (September 29, 2017)

Mbnavadjust: Fixed bug that often, but not always, caused the inversion to blow up and crash the program.

@@ -3677,7 +3682,7 @@

5.5.2318 (September 29, 2017)

only applied to files with the *.all suffix. This capability is applied by default but can be disabled with the -T option.

-

5.5.2314 (August 24, 2017)

+

5.5.2314 (August 24, 2017)

Mbprocess: Fixed bug in which mbprocess sometimes crashed for files that have not had bathymetry edited or filtered.

@@ -3697,13 +3702,13 @@

5.5.2314 (August 24, 2017)

external file(s) but one of those files does not exist, the program terminates with an error message.

-

5.5.2313 (August 9, 2017)

+

5.5.2313 (August 9, 2017)

Format 88 (MBF_RESON7KR): Fixed problem handling Reson data preprocessed or processed using a version older than 5.3.2004 which in some cases causes the alongtrack and acrosstrack values to be swapped.

-

5.5.2312 (July 14, 2017)

+

5.5.2312 (July 14, 2017)

MBedit: Added togglebutton to the View menu that allows to control whether flagged soundings are displayed (previously flagged but valid soundings were @@ -3722,11 +3727,11 @@

5.5.2312 (July 14, 2017)

MBgrdtiff, mbcontour, mbswath, mbps: Changed defines in *.c files to reflect the versioning of GMT 6

-

5.5.2311 (June 20, 2017)

+

5.5.2311 (June 20, 2017)

MBnavadjust: Fixed bug that preventing importing data into a new project.

-

5.5.2309 (June 4, 2017)

+

5.5.2309 (June 4, 2017)

Applied reformatting to all *.c and *.h files using the tool clang-format as suggested by Joaquim Luis.

@@ -3735,14 +3740,14 @@

5.5.2309 (June 4, 2017)

Updated mbotps to use the current best OSU tidal model (atlastpxo81).

-

5.5.2306 (May 27, 2017)

+

5.5.2306 (May 27, 2017)

Format 88 (MBF_RESON7KR): Fixed a couple of bugs in the i/o module identified by Kurt Schwehr.

Format 121 (MBF_GSFGENMB): Fixed handling of attitude records.

-

5.5.2305 (May 13, 2017)

+

5.5.2305 (May 13, 2017)

MBdatalist: Fixed bug involving operating on datalist files other than the default datalist.mb-1.

@@ -3761,7 +3766,7 @@

5.5.2305 (May 13, 2017)

MBinfo: Fix bug in XML output disabling output of minimum good beam counts in some cases.

-

5.5.2304 (May 6, 2017)

+

5.5.2304 (May 6, 2017)

MBpreprocess: Fixed generation of *.baa, *.bsa, and *.bah files so they include only data relevant to the associated swath file, which means samples from @@ -3779,7 +3784,7 @@

5.5.2304 (May 6, 2017)

revision, including adding a new argument. The old version of that function is now available within the API as mbdatalistreadorg().

-

5.5.2303 (April 28, 2017)

+

5.5.2303 (April 28, 2017)

MBpreprocess and MBeditviz: Changed the ancillary files used to store the asynchronous attitude and heading data used by MBeditviz for time latency modeling @@ -3794,7 +3799,7 @@

5.5.2303 (April 28, 2017)

MBswath: Fixed bug that caused occasional crashes.

-

5.5.2302 (April 20, 2017)

+

5.5.2302 (April 20, 2017)

Formats 56 and 57 (MBFEM300RAW and MBFEM300MBA): Fixed handling of sensordepth and heave data by mbpreprocess and mbprocess. Tide correction and recalculation @@ -3809,12 +3814,12 @@

5.5.2302 (April 20, 2017)

Mbdatalist: Now supports long command line options (old short options are deprecated but still work).

-

5.5.2301 (April 17, 2017)

+

5.5.2301 (April 17, 2017)

Mbpreprocess and Format 88 (MBF_RESON7KR): Fixed application of kluge-beam-tweak option for Reson 7k (format 88) data.

-

5.5.2300 (April 15, 2017)

+

5.5.2300 (April 15, 2017)

Formats 58 and 59 (MBFEM710RAW and MBFEM710MBA): Fixed memory leak.

@@ -3825,7 +3830,7 @@

5.5.2300 (April 15, 2017)

Mbm_arc2grd: Rewritten to use GMT modules grdconvert and grdedit.

-

5.5.2299 (April 10, 2017)

+

5.5.2299 (April 10, 2017)

Formats 58 and 59 (MBFEM710RAW and MBFEM710MBA): Fixed handling of sensordepth and heave data during preprocessing. Program mbkongsbergpreprocess is now @@ -3846,7 +3851,7 @@

5.5.2299 (April 10, 2017)

the segment start lines will consist of the character '#' followed by the path to the source datalist file

-

5.5.2297 (April 5, 2017)

+

5.5.2297 (April 5, 2017)

All i/o modules: Added sensordepthsource to the arguments of the mbrinfo_XXXXXXXX() functions in the i/o modules.

@@ -3865,7 +3870,7 @@

5.5.2297 (April 5, 2017)

Mbm_makedatalist: Added option to suppress processed files (e.g. *p.mb88) from inclusion in the output datalist.

-

5.5.2296 (March 31, 2017)

+

5.5.2296 (March 31, 2017)

Mbm_makedatalist: Major capability augmentation for this tool, preparing for automated setup of the processing environment. This macro will now construct @@ -3878,7 +3883,7 @@

5.5.2296 (March 31, 2017)

Mbm_grd2arc: Fix provided by Monica Schwehr for compatibility to *.grd files generated with the current GMT.

-

5.5.2295 (March 26, 2017)

+

5.5.2295 (March 26, 2017)

Mbmplot, mbmgrdplot, mbmxyplot, mbm3dgrdplot: Changes to the manual pages to reflect the new syntax for map scales (the -MGL option in the MB-System plot @@ -3899,11 +3904,11 @@

5.5.2295 (March 26, 2017)

Format 121 (MBF_GSFGENMB): Integrated latest release of GSF from Leidos (3.07)

-

5.5.2294 (March 21, 2017)

+

5.5.2294 (March 21, 2017)

Mbsvpselect: Fixes by Ammar Aljuhne and Christian Ferreira of MARUM.

-

5.5.2293 (March 6, 2017)

+

5.5.2293 (March 6, 2017)

Mb7kpreprocess: Fixed bug in handling old MBARI Mapping AUV with navigation and attitude data in deprecated "Bluefin" records.

@@ -3918,7 +3923,7 @@

5.5.2293 (March 6, 2017)

Format 231 (MBF_3DDEPTHP): Fixed bug in handling angular offset values in preprocessing.

-

5.5.2292 (January 30, 2017)

+

5.5.2292 (January 30, 2017)

Mblist: Added ability to output positions in a projected coordinate system, to output positions of the sensor instead of soundings or pixels, or to output @@ -3930,7 +3935,7 @@

5.5.2292 (January 30, 2017)

Mbnavadjust: Now outputs the altered project less frequently (every tenth new tie instead of every tie).

-

5.5.2291 (January 12, 2017)

+

5.5.2291 (January 12, 2017)

Mbnavedit: interpolation of selected navigation values now also flags the original values so they are not used in calculating a navigation model.

@@ -3941,7 +3946,7 @@

5.5.2291 (January 12, 2017)

Mbnavadjust: prevent occasional corruption of the mbnavadjust project by not allowing excessively large offset values to result from unstable inversions.

-

5.5.2290 (January 2, 2017)

+

5.5.2290 (January 2, 2017)

Mbinfo: applied fixes from Suzanne O'Hara to JSON output from mbinfo.

@@ -3959,7 +3964,7 @@

5.5.2290 (January 2, 2017)

truncation. This will change the behavior of the -Edx/dy/units option, but the resulting grid dimensions will be more consistent with users expectations.

-

5.5.2289 (December 2, 2016)

+

5.5.2289 (December 2, 2016)

Mbnavadjust: Fixed auto set vertical level function to use the same block inversion now used for the first stage of the main inversion. Also set this function so that @@ -3969,7 +3974,7 @@

5.5.2289 (December 2, 2016)

Mbnavadjustmerge: Fixed import and export of tie lists to allow moving ties between projects.

-

5.5.2287 (November 29, 2016)

+

5.5.2287 (November 29, 2016)

Mbm_makesvp: added capability to extract sound speed values from survey data records as well as ctd data records, and to optionall produce sound speed models extending @@ -3984,14 +3989,14 @@

5.5.2287 (November 29, 2016)

Mbprocess: fixed rare singularity in the raytracing code.

-

5.5.2286 (November 8, 2016)

+

5.5.2286 (November 8, 2016)

Mbsvplist: Added -R command to set longitude-latitude bounds within which the -S option will cause ssv values to be output.

Mbgrdviz: Added start5 and end5 waypoint types to routes.

-

5.5.2285 (November 3, 2016)

+

5.5.2285 (November 3, 2016)

Mbnavadjust: Added a first step in the inversion in which mbnavadjust solves for average offsets for each survey ("block"). The offsets associated with this @@ -3999,11 +4004,11 @@

5.5.2285 (November 3, 2016)

smoothing penalty is thus applied to deviations from the average model rather than the full navigation adjustment model.

-

5.5.2284 (October 23, 2016)

+

5.5.2284 (October 23, 2016)

Fixed some typos preparing for full release.

-

5.5.2283 (October 23, 2016)

+

5.5.2283 (October 23, 2016)

mbmakeplatform: fixed bug that caused core dumps when built with gcc.

@@ -4035,7 +4040,7 @@

5.5.2283 (October 23, 2016)

mbprocess: fixed correction of sidescan and amplitude data using topographic grid so that the correction is actually calculated and applied.

-

5.5.2282 (August 25, 2016)

+

5.5.2282 (August 25, 2016)

Mbnavadjustmerge: Added --set-ties-xyonly-by-time=timethreshold option.

@@ -4045,7 +4050,7 @@

5.5.2282 (August 25, 2016)

Mbedit: Changed behavior so that using the slider to change the number of pings viewed also changes the number of pings to step proportionately.

-

5.5.2281 (August 7, 2016)

+

5.5.2281 (August 7, 2016)

Mbnavadjustmerge: Added --unset-skipped-crossings-by-block=survey1/survey2 and --unset-skipped-crossings-between-surveys options, and made the @@ -4055,7 +4060,7 @@

5.5.2281 (August 7, 2016)

Mbclean: Added option to flag outer beams and/or unflag inner beams by acrosstrack distance (-Y option).

-

5.5.2279 (July 8, 2016)

+

5.5.2279 (July 8, 2016)

Bathymetry editing (mbedit, mbeditviz, mbclean, mbareaclean): fixed problem in which mbprocess failed to successfully apply new edits generated using mbeditviz @@ -4065,13 +4070,13 @@

5.5.2279 (July 8, 2016)

Mbm_grdtiff: Added support for image display program feh.

-

5.5.2278 (July 1, 2016)

+

5.5.2278 (July 1, 2016)

Mbkongsbergpreprocess (Formats 58 & 59): Fixed modification of pngxducerdepth value to not include lever arms or heave, as SIS records sensor depth value in height datagrams that are already compensated for lever arms and heave.

-

5.5.2277 (June 25, 2016)

+

5.5.2277 (June 25, 2016)

Mbmxyplot, mbmgrdplot: fixed problem generating plots using linear axes. Recent changes to GMT cause gmt mapproject to generate an error when passed non-map @@ -4105,7 +4110,7 @@

5.5.2277 (June 25, 2016)

lidar data. This filter is accessible from the "action" menu of the 3D sounding window.

-

5.5.2276 (May 31, 2016)

+

5.5.2276 (May 31, 2016)

MBeditviz: Added algorithm to flag isolated soundings by analyzing the 3D distribution of currently selected soundings. Soundings are flagged in voxels @@ -4119,7 +4124,7 @@

5.5.2276 (May 31, 2016)

Format 231 (MBF_3DDEPTHP): Now handles files with broken data records a bit more gracefully.

-

5.5.2275 (May 17, 2016)

+

5.5.2275 (May 17, 2016)

MBnavadjust: Fixed display of navigation in visualization view. Fixed overwriting of zoffsetwidth value when projects are read in. Fixed autopicking when view mode @@ -4132,7 +4137,7 @@

5.5.2275 (May 17, 2016)

General: Fixed several warnings generated by the new gcc version in Ubuntu 16.

-

5.5.2274 (May 5, 2016)

+

5.5.2274 (May 5, 2016)

Configure.cmd and "How to Get" web page: Updated with instructions for installing in Ubuntu, including Ubuntu 16.04.

@@ -4156,7 +4161,7 @@

5.5.2274 (May 5, 2016)

Many source files: Fixed a number of warnings related to typing and prototyping issues.

-

5.5.2271 (April 1, 2016)

+

5.5.2271 (April 1, 2016)

MBnavadjust: Added numbers of crossings and ties to the table listing of survey-vs-survey blocks.

@@ -4164,7 +4169,7 @@

5.5.2271 (April 1, 2016)

Formats 58 and 59 (MBFEM710RAW & MBFEM710MBA): added EM850 to supported third generation Kongsberg multibeams.

-

5.5.2270 (March 24, 2016)

+

5.5.2270 (March 24, 2016)

MBnavadjust: Now plots ties within missions (surveys) in dark blue and ties between mission in light blue in the bathymetry visualization.

@@ -4173,7 +4178,7 @@

5.5.2270 (March 24, 2016)

of a 1.2 safety factor to ensure the new Mapping AUV always makes it to the surface before timing out.

-

5.5.2269 (March 23, 2016)

+

5.5.2269 (March 23, 2016)

MBkongsbergpreprocess, and formats 58 (MBFEM710RAW) and 59 (MBFEM710MBA) for current generation Kongsberg multibeam data: Changed so that the default source @@ -4192,7 +4197,7 @@

5.5.2269 (March 23, 2016)

beam edit code so that no attempt is made to sort zero length arrays of beam flags.

-

5.5.2268 (March 14, 2016)

+

5.5.2268 (March 14, 2016)

Mbnavadjust: Added integrated mbgrdviz-style visualization of the bathymetry in an Mbnavadjust project. Users can select crossings or ties by clicking on the @@ -4214,7 +4219,7 @@

5.5.2268 (March 14, 2016)

dataset collected on the R/V Ewing and available at the archive formally known as NGDC.

-

5.5.2267 (February 11, 2016)

+

5.5.2267 (February 11, 2016)

Mbeditviz: Added capability to do automated optimization for bias parameters from the 3D soundings view. Optimization options are accessed from the "Action" @@ -4232,7 +4237,7 @@

5.5.2267 (February 11, 2016)

Documentation: Corrected instructions for building MB-System on Ubuntu machines.

-

5.5.2264 (February 4, 2016)

+

5.5.2264 (February 4, 2016)

Mbgrid, mbmdslnavfix, mbmgrd2arc, mbmgrd3dplot, mbmgrdplot, mbmgrdtiff, mbmhistplot, mgmplot, mbmutm, mbm_xyplot: Replaced call to "grdinfo" with @@ -4247,7 +4252,7 @@

5.5.2264 (February 4, 2016)

MBnavadjustmerge: Enabled exporting and importing lists of ties.

-

5.5.2263 (January 7, 2016)

+

5.5.2263 (January 7, 2016)

Formats 58 (MBFEM710RAW) and 59 (MBFEM710MBA) for current generation Kongsberg multibeam data: Fixed problems handling tide correction and applying heave when @@ -4284,7 +4289,7 @@

5.5.2263 (January 7, 2016)

--platform-start-time=yyyy/mm/dd/hh/mm/ss.ssssss --platform-end-time=yyyy/mm/dd/hh/mm/ss.ssssss

-

5.5.2259 (October 27, 2015)

+

5.5.2259 (October 27, 2015)

Mbpreprocess: Now called format-specific preprocess function if available and applied generic preprocessing otherwise. The first format specific preprocessing @@ -4300,7 +4305,7 @@

5.5.2259 (October 27, 2015)

Mbeditviz: Fixed application of time latency to sonardepth.

-

5.5.2258 (October 5, 2015)

+

5.5.2258 (October 5, 2015)

Mbnavadjust: Added output of route files including all unfixed ties for each survey and all crossings for each survey.

@@ -4322,7 +4327,7 @@

5.5.2258 (October 5, 2015)

sometimes there are abrupt shifts in the ping time stamps for one to three pings. This mode detects and corrects these time tears.

-

5.5.2257 (September 1, 2015)

+

5.5.2257 (September 1, 2015)

Mbpreprocess: Using platform functions to handle sensor offsets. Read platform file or command line offsets and calculate sensor offsets. Updated bathymetry @@ -4334,7 +4339,7 @@

5.5.2257 (September 1, 2015)

DEEGREES inputs/outputs on mbio/mb
platformmath. Fixed bug on mbplatform_lever.

-

5.5.2256 (August 24, 2015)

+

5.5.2256 (August 24, 2015)

Mbeditviz: Improved the way to handle sensor offsets. Improved mbeditvizapplytimelag the way to handle angles corrections. Cleaned @@ -4344,7 +4349,7 @@

5.5.2256 (August 24, 2015)

mbplatformmathattitudeoffsetcorrectedbynav and mbplatformmathattituderotatebeam to handle sensor offset corrections.

-

5.5.2255 (August 11, 2015)

+

5.5.2255 (August 11, 2015)

Mbnavadjust: Set limits on application of smoothing via penalizing the first and second derivatives of the navigation pertuturbation (particularly the @@ -4355,7 +4360,7 @@

5.5.2255 (August 11, 2015)

Mbprocess: Fixed problem with handling of sensor depth changes due to tide correction or lever arm correction.

-

5.5.2254 (July 23, 2015)

+

5.5.2254 (July 23, 2015)

Autotools build system: Disabled dist and distclean targets in the makefiles produced by the configure script. We do not use the autotools system to @@ -4373,12 +4378,12 @@

5.5.2254 (July 23, 2015)

mbio/mb
platform_math.c to the archive. This source file includes math functions to calculate angular offsets.

-

5.5.2252 (July 1, 2015)

+

5.5.2252 (July 1, 2015)

Mbedit, mbnavedit, mbnavadjust, mbvelocitytool: Fix X11 font initialization problem created in the 2251 commit.

-

5.5.2251 (June 30, 2015)

+

5.5.2251 (June 30, 2015)

Mblist, mbnavlist, mbctdlist: Changed time outputs so that decimal second values will be formatted according to the locale (e.g. decimal delineation by @@ -4388,7 +4393,7 @@

5.5.2251 (June 30, 2015)

preprocessor defines to allow fonts to be defined using the CFLAGS environment variable.

-

5.5.2250 (June 29, 2015)

+

5.5.2250 (June 29, 2015)

Mbedit, mbnavedit, mbvelocitytool, mbgrdviz, mbeditviz: Removed call to X11 function XtSetLanguageProc() in all graphical tools. This call apparently @@ -4409,7 +4414,7 @@

5.5.2250 (June 29, 2015)

is the same, but now the navigation (or trajectory) of the processed files is corrected in addition to the bathymetry.

-

5.5.2249 (June 26, 2015)

+

5.5.2249 (June 26, 2015)

Format 121 (MBF_GSFGENMB): Kluge added to the GSF format i/o module to handle beam angles incorrectly constructed so that angles from vertical are negative @@ -4426,18 +4431,18 @@

5.5.2249 (June 26, 2015)

Mb7kpreprocess: initial implementation using the new platform file and structure definitions.

-

5.5.2248 (May 31, 2015)

+

5.5.2248 (May 31, 2015)

Mbgrdviz and mbview: Fixed casts between int and pointer that seem to be responsible for mbgrdviz crashes.

-

5.5.2247 (May 29, 2015)

+

5.5.2247 (May 29, 2015)

General: Cleaned up missing function prototypes through much of the codebase (excepting externally written libraries gsf, sapi, bsio) in an effort to fix crashes of mbgrdviz and other programs.

-

5.5.2246 (May 27, 2015)

+

5.5.2246 (May 27, 2015)

Mbswath, mbcontour, mbgrdtiff: Updated GMT5 header files in src/gmt to enable building on Ubuntu Linux, CentOs Linux, and CygWin while maintaining @@ -4446,16 +4451,16 @@

5.5.2246 (May 27, 2015)

Mbedit, mbnavedit, mbvelocitytool, mbgrdviz, mbeditviz: Incomplete tweaks to font handling to enable use of fonts other than Helvetica, Times, and Courier.

-

5.5.2243 (May 22, 2015)

+

5.5.2243 (May 22, 2015)

Rewrote the configure.ac file to fix logic flaws in the configure script.

-

5.5.2242 (May 16, 2015)

+

5.5.2242 (May 16, 2015)

Mbswath, mbcontour, mbgrdtiff: Updated files in src/gmt for compatibility with GMT 5.1.2.

-

5.5.2241 (May 12, 2015)

+

5.5.2241 (May 12, 2015)

Format 59 (MBF_EM710MBA): Fixed flag causing erroneous warning that beam flags are not supported for this format (beam flags are supported).

@@ -4463,13 +4468,13 @@

5.5.2241 (May 12, 2015)

Many source files: further changes to precompiler directives suggested by Joaquim Luis in order to enable building under Windows.

-

5.5.2240 (May 8, 2015)

+

5.5.2240 (May 8, 2015)

Format 241 (MBF_WASSPENL): Fixed recognition of *.nwsf suffix.

Mbclean: fixed bug in beam position calculation identified by Joaquim Luis.

-

5.5.2239 (May 6, 2015)

+

5.5.2239 (May 6, 2015)

Format 241 (MBF_WASSPENL): Now supports WASSP multibeam data conforming to the WASSP ICD 2.4. MB-System is storing beam flags in unused bytes in the @@ -4493,7 +4498,7 @@

5.5.2239 (May 6, 2015)

Build system: Fixed bug that caused configure to fail if netCDF has a pkg-config installation while GMT5 is in a specified but nonstandard location.

-

5.5.2238 (April 15, 2015)

+

5.5.2238 (April 15, 2015)

Mbnavadjust: Recast and improved the inversion. Added a "perturbation" model display which does not include the average offsets between the individual surveys @@ -4508,12 +4513,12 @@

5.5.2238 (April 15, 2015)

Mbbackangle: Fixed mbm_grdplot call to no longer use an obsolete option.

-

5.5.2237 (March 23, 2015)

+

5.5.2237 (March 23, 2015)

Mbnavadjust, mbnavedit: Removed references to GMT and netCDF in the Makefile.am file in both source directories.

-

5.5.2236 (March 23, 2015)

+

5.5.2236 (March 23, 2015)

Mbnavadjust, mbnavadjustmerge: Added a new type of constraint referred to as a global tie. Each data section can have one of its navigation points tied to @@ -4542,7 +4547,7 @@

5.5.2236 (March 23, 2015)

Mbm_route2mission: Added multibeam maximum range value.

-

5.5.2234 (March 5, 2015)

+

5.5.2234 (March 5, 2015)

Plot macros (mbmgrdplot, mbmgrd3dplot, mbmgrdtiff, mbmhistplot, mbmplot, mbmxyplot): Now generate plotting scripts that will not attempt to display the @@ -4564,7 +4569,7 @@

5.5.2234 (March 5, 2015)

Mbprocess: Reduced informational output when not in verbose mode to make the output from use of mbm_multiprocess cleaner.

-

5.5.2233 (February 23, 2015)

+

5.5.2233 (February 23, 2015)

Release 5.5.2233

@@ -4574,7 +4579,7 @@

5.5.2233 (February 23, 2015)

Mbmroute2mission: Now allows the maximum planned climb rate of the AUV to be specified with the -U option

-

5.5.2232 (February 21, 2015)

+

5.5.2232 (February 21, 2015)

Mbmplot, mbmgrdplot, mbm_grd3dplot, mbhistplot: Changed handling of gmt defaults so that any local gmt.conf file is deleted before any gmtset calls are made, and @@ -4583,14 +4588,14 @@

5.5.2232 (February 21, 2015)

Mbswath: fixed calculation of beam or pixel footprints in mode requesting real footprint plotting.

-

5.5.2231 (February 20, 2015)

+

5.5.2231 (February 20, 2015)

Mb7kpreprocess: Switched beam angle calculation to the mb_beaudoin() function already used by mbkongsbergpreprocess (contributed by Jonathan Beaudoin).

Mbm_bpr: Made compatible with GMT5.

-

5.5.2230 (February 18, 2015)

+

5.5.2230 (February 18, 2015)

Mbgrdtiff: Fixed ordering of rows and columns in the output image.

@@ -4607,7 +4612,7 @@

5.5.2230 (February 18, 2015)

Mbrolltimelag: Fixed automatically generated roll-slope correlation plot.

-

5.5.2229 (February 14, 2015)

+

5.5.2229 (February 14, 2015)

Format 121 (MBF_GSFGENMB): The i/o module will now allocate and initialize arrays of beamflags and alongtrack distance when those are not included in the input file.

@@ -4623,7 +4628,7 @@

5.5.2229 (February 14, 2015)

Mbcontour, mbswath: More changes for compatibility with GMT5.

-

5.5.2228 (February 6, 2015)

+

5.5.2228 (February 6, 2015)

Installmakefiles: the old installmakefiles build system no longer functions and has been removed.

@@ -4646,7 +4651,7 @@

5.5.2228 (February 6, 2015)


-

MB-System Version 5.4 Releases and Release Notes:

+

MB-System Version 5.4 Releases and Release Notes:


@@ -4709,7 +4714,7 @@

MB-System Version 5.4 Releases and Release Notes:


-

5.4.2219 (December 11, 2014)

+

5.4.2219 (December 11, 2014)

Mbnavadjust: Fixed fixed memory management issue related to fbt files.

@@ -4717,11 +4722,11 @@

5.4.2219 (December 11, 2014)

Mbpreprocess: Moved toward correct handling of sensor offsets.

-

5.4.2218 (December 4, 2014)

+

5.4.2218 (December 4, 2014)

Mbinfo: Fixed JSON format output to file (previously missed final closing bracket).

-

5.4.2217 (December 1, 2014)

+

5.4.2217 (December 1, 2014)

Mbclean: Implemented additional flagging tests contributed by Suzanne O'Hara, including speed range (-Pspeedmin/speedmax), ping navigation bounds @@ -4732,7 +4737,7 @@

5.4.2217 (December 1, 2014)

Format 71 (MBF_MBLDEOIH) and fbt files: fixed a problem with the i/o module as updated in 5.4.2216.

-

5.4.2216 (November 30, 2014)

+

5.4.2216 (November 30, 2014)

Format 251 (MBF_PHOTGRAM): We have added a new data format and associated data system supporting photogrammetric topography calculated from stereo pair @@ -4781,7 +4786,7 @@

5.4.2216 (November 30, 2014)

General: The sort function and related comparison function declarations in MB-System have been corrected to be consistent with qsort() from stdlib.

-

5.4.2213 (November 13, 2014)

+

5.4.2213 (November 13, 2014)

Mbkongsbergpreprocess: Added -E option to allow specification of offsets between the depth sensor and the sonar. This is relevant only to submerged platforms @@ -4796,7 +4801,7 @@

5.4.2213 (November 13, 2014)

Mbnavedit: Strictly define the font definitions for pushbutton widgets (some X11 environments are making bad choices when given latitude).

-

5.4.2210 (November 10, 2014)

+

5.4.2210 (November 10, 2014)

Mbkongsbergpreprocess: Changed handling of water column records. The default behavior is now to not write water column records to the output format 59 files. @@ -4816,7 +4821,7 @@

5.4.2210 (November 10, 2014)

Mbm_grdcut: Fix to the manual page. Contributed by Jenny Paduan.

-

5.4.2209 (November 4, 2014)

+

5.4.2209 (November 4, 2014)

MBnavadjustmerge: Completed the manual page for this new program that allows one to merge and manipulate MBnavadjust projects.

@@ -4824,7 +4829,7 @@

5.4.2209 (November 4, 2014)

Formats 58 (MBFEM710RAW) and 59 (MBFEM710MBA): Recast the i/o architecture to handle the full variablity of multibeam data in these formats.

-

5.4.2208 (October 29, 2014)

+

5.4.2208 (October 29, 2014)

Mbkongsbergpreprocess: Fixed calculation of beam takeoff angles for raytracing from the raw range and angle data records by @@ -4841,7 +4846,7 @@

5.4.2208 (October 29, 2014)

bathymetry in current generation Kongsberg multibeam data appears to work now.

-

5.4.2204 (September 5, 2014)

+

5.4.2204 (September 5, 2014)

Mb7kpreprocess: Changed handling of roll, pitch, and heave compensation to deal with deep water Reson 7150 data.

@@ -4858,7 +4863,7 @@

5.4.2204 (September 5, 2014)

Mbgrdviz and Mbeditviz: Default color and shading settings now can be set using mbdefaults.

-

5.4.2202 (August 25, 2014)

+

5.4.2202 (August 25, 2014)

Format 88 (MBF_RESON7KR): Enlarged the maximum number of beams to 1024 in order to handle 7150 data with >800 beams.

@@ -4867,7 +4872,7 @@

5.4.2202 (August 25, 2014)

lines before parsing - this allows reading Hydrosweep DS data in the form held by NIO.

-

5.4.2201 (August 20, 2014)

+

5.4.2201 (August 20, 2014)

Mbm_grdplot: Added two "sealevel" color palletes that use Haxby colors for negative values (e.g. topography below sea level) and either greens or browns @@ -4885,12 +4890,12 @@

5.4.2201 (August 20, 2014)

Mb7kpreprocess: Added kluge function to "tweak" the beam angles as if the speed of sound used for beamforming had been wrong.

-

5.4.2200 (July 24, 2014)

+

5.4.2200 (July 24, 2014)

Format 121 (MBF_GSFGENMB): Fixed bug in which null sensor depth and altitude values are handled incorrectly.

-

5.4.2199 (July 20, 2014)

+

5.4.2199 (July 20, 2014)

Format 121 (MBFGSFGENMB): Modified GSF 3.06 source files gsf.c gsfindx.c to disable recasting of fundamental file io functions (fopen(), fseek(), ftell(), @@ -4904,7 +4909,7 @@

5.4.2199 (July 20, 2014)

mbpreprocess: Fixed bug in merging of asynchronous attitude data. This program is not ready for general use.

-

5.4.2196 (July 14, 2014)

+

5.4.2196 (July 14, 2014)

mbotps: Added -P option to specify the location of the OTPS package.

@@ -4917,7 +4922,7 @@

5.4.2196 (July 14, 2014)

mbextractsegy: Made to work (again) with Reson 7k data with embedded Edgetech sidescan and subbottom data.

-

5.4.2195 (July 9, 2014)

+

5.4.2195 (July 9, 2014)

Format 88 (MBFRESON7KR): Fixed bug in mbsysreson7kextractaltitude().

@@ -4935,7 +4940,7 @@

5.4.2195 (July 9, 2014)

often on a 3D seafloor topographic model. Achieved functionality, at least for use with Edgetech sidescan data in Jstar format.

-

5.4.2194 (July 8, 2014)

+

5.4.2194 (July 8, 2014)

Format 121 (MBF_GSFGENMB): Updated source files in src/gsf/ to GSF release 3.06.

@@ -4945,12 +4950,12 @@

5.4.2194 (July 8, 2014)

Formats 58 (MBFEM710RAW) and 59 (MBFEM710MBA) to support EM2040D data, in which dual sonars ping simulatneously.

-

5.4.2191 (June 4, 2014)

+

5.4.2191 (June 4, 2014)

Install_makefiles: Fixed old build system so that it successfully compiles and links the new, unfinished program mbsslayout.

-

5.4.2189 (June 4, 2014)

+

5.4.2189 (June 4, 2014)

Format 121 (MBF_GSFGENMB): Fixed bug that caused programs reading GSF data to hang when the GSF file ends with a partial or corrupted data record.

@@ -4962,7 +4967,7 @@

5.4.2189 (June 4, 2014)

MB7kpreprocess: Added support for pitch stabilization in Reson 7k data.

-

5.4.2188 (May 31, 2014)

+

5.4.2188 (May 31, 2014)

Format 121 (MBF_GSFGENMB): Fixed bug that caused crashes when the GSF file contains a zero length comment.

@@ -4972,7 +4977,7 @@

5.4.2188 (May 31, 2014)

MBnavadjust: Fixed bug that reset the selected survey while doing autopicks.

-

5.4.2187 (May 28, 2014)

+

5.4.2187 (May 28, 2014)

Format 201 (MBF_HYSWEEP1): Added code to ignore bad RMB records found in some NOAA HSX data.

@@ -4985,13 +4990,13 @@

5.4.2187 (May 28, 2014)

MBnavadjustmerge: Fixed to handle projects not in the current working directory.

-

5.4.2186 (May 26, 2014)

+

5.4.2186 (May 26, 2014)

MBeditviz: Fixed interactive application of pitch bias and heading bias changes.

MBnavadjustmerge: New program to merge two existing MBnavadjust projects.

-

5.4.2185 (May 17, 2014)

+

5.4.2185 (May 17, 2014)

MBrolltimelag: Now checks for case when all beams are flagged.

@@ -5002,7 +5007,7 @@

5.4.2185 (May 17, 2014)

GSF library: Updated to new release 03.05. This release is licensed using LGPL 2.1.

-

5.4.2185 (May 11, 2014)

+

5.4.2185 (May 11, 2014)

Several programs: Fixed formatting error in printing system timetm.tvsec values.

@@ -5046,11 +5051,11 @@

5.4.2185 (May 11, 2014)

library to be the new 3.05 release. This includes for the first time a proper open source license (LGPL 2.1).

-

5.4.2184 (April 22, 2014)

+

5.4.2184 (April 22, 2014)

src/bsio/Makefile.in: Added to archive (previously mistakenly left out).

-

5.4.2183 (April 16, 2014)

+

5.4.2183 (April 16, 2014)

Many programs: Fixed handling of system time character string provided by function ctime() to prevent occasional overflows.

@@ -5062,7 +5067,7 @@

5.4.2183 (April 16, 2014)

(format id 222) contributed by David Finlayson. This was formerly known as mbsxppreprocess.

-

5.4.2182 (April 8, 2014)

+

5.4.2182 (April 8, 2014)

Format 231 (MBF_3DDEPTHP): Added new raw Lidar record to be used by 3DatDepth.

@@ -5073,14 +5078,14 @@

5.4.2182 (April 8, 2014)

that interpolates navigation and speed from internal runnings lists assuming the navigation is in eastings and northings rather than longitude and latitude.

-

5.4.2181 (April 4, 2014)

+

5.4.2181 (April 4, 2014)

Release 5.4.2181

htmlsrc/mbsystemhome.html & htmlsrc/mbsystemfaq.html: Actually committed pictures of Christian Ferreira and Krystle Anderson to the archive

-

5.4.2180 (April 2, 2014)

+

5.4.2180 (April 2, 2014)

htmlsrc/mbsystemhome.html & htmlsrc/mbsystemfaq.html: Updated references to the MB-System team in the html documentation to include Christian Ferreira @@ -5116,11 +5121,11 @@

5.4.2180 (April 2, 2014)

MBroutetime: Now exits with error message if no start line or end line waypoints are read from the input route file.

-

5.4.2176 (March 18, 2014)

+

5.4.2176 (March 18, 2014)

Release 5.4.2176

-

5.4.2175 (March 18, 2014)

+

5.4.2175 (March 18, 2014)

Configure.ac: Removed reference to src/mbsvptool (src/mbsvptool/mbsvptool.c was moved to src/utilities/mbsvpselect.c for 5.4.2173).

@@ -5144,7 +5149,7 @@

5.4.2175 (March 18, 2014)

All source files: Updated copyright notices to 2014.

-

5.4.2173 (March 17, 2014)

+

5.4.2173 (March 17, 2014)

MBsvpselect: Added program contributed by Ammar Aljuhne and Christian Ferreira of MARUM (University of Bremen). This program chooses and implements the best @@ -5160,7 +5165,7 @@

5.4.2173 (March 17, 2014)

MBpreprocess: Added an incomplete manual page for this incomplete MB-System 6 program.

-

5.4.2172 (March 14, 2014)

+

5.4.2172 (March 14, 2014)

MBmosaic: Added option to apply priorities based on the platform heading.

@@ -5194,15 +5199,15 @@

5.4.2172 (March 14, 2014)

underway geophysical data files with tab delimiters and "\r\n" characters at the ends of the data records.

-

5.4.2168 (February 19, 2014)

+

5.4.2168 (February 19, 2014)

Mbinfo: Fixed bug in variance calculation (memory overwrites of the relevant arrays).

-

5.4.2165 (February 18, 2014)

+

5.4.2165 (February 18, 2014)

Format 241 (MBF_WASSPENL): Made format suffix ".000" recognizable as format 241.

-

5.4.2164 (February 15, 2014)

+

5.4.2164 (February 15, 2014)

Format 241 (MBF_WASSPENL): added new format for WASSP multibeam sonar.

@@ -5213,7 +5218,7 @@

5.4.2164 (February 15, 2014)

Mbauvloglist: added capability to merge navigation from external files.

-

5.4.2163 (January 31, 2014)

+

5.4.2163 (January 31, 2014)

Format 71 (MBF_MBLDEOIH): fixed a recently introduced error in scaling of bathymetry values. This error impacts the fbt files, and consequently will @@ -5223,7 +5228,7 @@

5.4.2163 (January 31, 2014)

MBextractsegy: Fixed so correct navigation is inserted in both the source and group position fields in the segy traceheader.

-

5.4.2162 (January 24, 2014)

+

5.4.2162 (January 24, 2014)

Format 88 (MBF_RESON7KR): fixed crash when generating sidescan from pings with no valid beams.

@@ -5231,22 +5236,22 @@

5.4.2162 (January 24, 2014)

Build system: Altered so the configure script works with standard options.

-

5.4.2161 (January 21, 2014)

+

5.4.2161 (January 21, 2014)

MBedit: fixed use of beamflag setting macros that were messed up yesterday.

-

5.4.2160 (January 20, 2014)

+

5.4.2160 (January 20, 2014)

General: fixed many compiler warnings.

General: implemented changes suggested by Joaquim Luis in order to enable building MB-System on Windows systems.

-

5.4.2159 (January 18, 2014)

+

5.4.2159 (January 18, 2014)

Release 5.4.2159.

-

5.4.2158 (January 18, 2014)

+

5.4.2158 (January 18, 2014)

Many changes, including: - Support for new format of lidar data @@ -5261,7 +5266,7 @@

5.4.2158 (January 18, 2014)

- using --disable-gsf now works properly to build without any use of or entanglement with libgsf.

-

5.4.2157 (October 14, 2013)

+

5.4.2157 (October 14, 2013)

Mbm_makesvp: New macro to extract sound speed and depth data from a datalist of swath files, and generate a sound velocity profile model from averages of the @@ -5270,7 +5275,7 @@

5.4.2157 (October 14, 2013)

mapping data from submerged platforms (e.g. ROVs and AUVs) carrying CTD or sound speed sensors.

-

5.4.2155 (October 13, 2013)

+

5.4.2155 (October 13, 2013)

MBvelocitytool: Fixed problems with bad calculations after loading more than one swath data.

@@ -5286,7 +5291,7 @@

5.4.2155 (October 13, 2013)

from a specified dataset. There is no documentation yet as the program currently does nothing but compile and read data.

-

5.4.2154 (September 26, 2013)

+

5.4.2154 (September 26, 2013)

MBkongsbergpreprocess, MB7kpreprocess, MBhysweeppreprocess, mbprocess: Fixed errors in navigation interpolation introduced in 5.4.2152.

@@ -5295,11 +5300,11 @@

5.4.2154 (September 26, 2013)

Committed from CCGS Sir Wilfrid Laurier at 116d 04.4876' W, 68d 57.30' N.

-

5.4.2153 (September 22, 2013)

+

5.4.2153 (September 22, 2013)

Format 201 (Hysweep HSX): fixed sign error in handling of pitch values.

-

5.4.2152 (September 16, 2013)

+

5.4.2152 (September 16, 2013)

Formats 58 (Kongsberg raw), 59 (Kongsberg extended), 88 (Reson 7k): Fixed problem with interpolation of heading for Kongsberg and Reson data. @@ -5313,7 +5318,7 @@

5.4.2152 (September 16, 2013)

Build system: Applied patch contributed by Frank Delahoyde with additional fixes to configure.ac and the src/*/Makefile.am files.

-

5.4.2151 (September 12, 2013)

+

5.4.2151 (September 12, 2013)

Many *.c files: hundreds of small changes to eliminate compiler warning messages on various types of systems.

@@ -5321,23 +5326,23 @@

5.4.2151 (September 12, 2013)

Build system: Changes to configure.ac, autogen.sh, and src/*/Makefile.am files based on suggestions from Frank Delahoyde of SIO and Kurt Schwehr of Google.

-

5.4.2149 (September 2, 2013)

+

5.4.2149 (September 2, 2013)

Src directories src/mbio and src/utilities: Fixed a number of debug print statements that treated pointer values as %ul rather than %p.

-

5.4.2148 (August 28, 2013)

+

5.4.2148 (August 28, 2013)

Buildsystem: More tweaking of configure.ac file, including making the comments output more sensible.

-

5.4.2147 (August 27, 2013)

+

5.4.2147 (August 27, 2013)

Buildsystem: More tweaking of configure.in file trying to get MB-System to build on Ubuntu 12.04.02LTS. Moved configure.in to configure.ac to conform to current autoconf file naming conventions.

-

5.4.2144 (August 26, 2013)

+

5.4.2144 (August 26, 2013)

Buildsystem: Added src/mbgrdviz/Makefile.in and src/mbeditviz/Makefile.in to the subversion source archive.

@@ -5350,23 +5355,23 @@

5.4.2144 (August 26, 2013)

Format 121 (GSF): Now recognizes and appropriately treats null values for position, attitude, speed, and sonar depth.

-

5.4.2143 (August 24, 2013)

+

5.4.2143 (August 24, 2013)

MBsxppreprocess: Added nonfunctional stub for program mbsxppreprocess to be developed by David Finlayson.

-

5.4.2141 (August 24, 2013)

+

5.4.2141 (August 24, 2013)

Build system, MBgrdviz, MBeditviz, MBview: Moved source files for MBgrdviz and MBeditviz from src/mbview to src/mbgrdviz and src/mbeditviz, respectively. This move separates the application source files for MBgrdviz and MBeditviz from the source files of the mbview library.

-

5.4.2139 (August 19, 2013)

+

5.4.2139 (August 19, 2013)

Build system: Further modification to the src/mbview/Makefile.am file.

-

5.4.2138 (August 18, 2013)

+

5.4.2138 (August 18, 2013)

Build system: Further modifications to the Makefile.am files.

@@ -5378,26 +5383,26 @@

5.4.2138 (August 18, 2013)

MBgrdviz: Added capability to launch mbnavedit and mbvelocitytool on selected swath data (contributed by Christian Ferreira).

-

5.4.2137 (August 9, 2013)

+

5.4.2137 (August 9, 2013)

Build system: Still attempting to fix problems with the autoconf build system on Ubuntu machines. Change mbsystem/src/opts/Makefile.am so that building this utility does not depend on GMT libraries (since it doesn't).

-

5.4.2136 (August 8, 2013)

+

5.4.2136 (August 8, 2013)

Build system: Attempted to fix problems with the autoconf build system on Ubuntu machines. Reset the automake version to 2.65 from 2.69 as specified in the mbsystem/configure.in file. Also added a conditional reference to libmbgsf to the requirements for mbcopy in mbsystem/src/utilities/Makefile.am.

-

5.4.2135 (August 7, 2013)

+

5.4.2135 (August 7, 2013)

Mbdatalist: Fixed generation of old-format fbt files.

Web page documentation: Updated basic web pages included in the distribution.

-

5.4.2134 (July 31, 2013)

+

5.4.2134 (July 31, 2013)

Heading and nav interpolation (src/mbaux/mbspline.c): Fixed function mblinearinterpdegrees() so that negative latitude values are allowed.

@@ -5405,7 +5410,7 @@

5.4.2134 (July 31, 2013)

Mbkongsbergpreprocess: Added checking so that interpolated heading and navigation are in the correct domains.

-

5.4.2133 (July 29, 2013)

+

5.4.2133 (July 29, 2013)

Heading and nav interpolation (src/mbaux/mbspline.c): Modified function mblinearinterpdegrees() so that return values must be in the range @@ -5420,7 +5425,7 @@

5.4.2133 (July 29, 2013)

using software other than MB-System) using mbgetesf and then applied to a different set of files (presumably as part of MB-System processing).

-

5.4.2132 (July 26, 2013)

+

5.4.2132 (July 26, 2013)

Format 88 (Reson s7k): Fixed layout of snippet backscatter into sidescan in the near-nadir region.

@@ -5444,7 +5449,7 @@

5.4.2132 (July 26, 2013)

records was flipped port to starboard. Also fixed layout of backscatter in the near-nadir region.

-

5.4.2129 (July 8, 2013)

+

5.4.2129 (July 8, 2013)

Build system: Attempted to implement changes to the build system suggested by Kurt Schwehr and Hamish Bowman.

@@ -5465,7 +5470,7 @@

5.4.2129 (July 8, 2013)

rays without rounding errors producing a square root of a negative number. This fixed problems with sample EM1002 data.

-

5.4.2128 (June 18, 2013)

+

5.4.2128 (June 18, 2013)

Mblist: Fixed bug that flagged as bad all sidescan pixels with negative values.

@@ -5489,7 +5494,7 @@

5.4.2128 (June 18, 2013)

interpolation, but once again does the primary interpolation stage at full resolution.

-

5.4.2123 (June 10, 2013)

+

5.4.2123 (June 10, 2013)

Many changes implementing fixes to the new build system from Bob Covill, Hamish Bowman, and Christian Ferreira. Moved key auto-generated header file @@ -5507,7 +5512,7 @@

5.4.2123 (June 10, 2013)

Changed the header of the mbm_* perl macros to #!/usr/bin/env perl as suggested by Hamish Bowman and Kurt Schwehr.

-

5.4.2082 (May 24, 2013)

+

5.4.2082 (May 24, 2013)

Configure.cmd: Added -DBYTESWAPPED to the recommended pre-options for the configure script on Macs.

@@ -5515,7 +5520,7 @@

5.4.2082 (May 24, 2013)

MBFEM710RAW (format 58) and MBFEM710MBA (format 59): Added EM2045 to the list of supported Kongsberg multibeam sonars (also known as the EM2040D).

-

5.4.2081 (May 23, 2013)

+

5.4.2081 (May 23, 2013)

Build System: Have implemented an autotools-based build system with a configure script, following on the initial work by Bob Covill and others. @@ -5524,7 +5529,7 @@

5.4.2081 (May 23, 2013)


-

MB-System Version 5.3 Releases and Release Notes:

+

MB-System Version 5.3 Releases and Release Notes:


@@ -5563,11 +5568,11 @@

MB-System Version 5.3 Releases and Release Notes:


-

5.3.2062 (May 17, 2013)

+

5.3.2062 (May 17, 2013)

Mbprocess: Fixed a couple more mistakes on lines 5659 and 5662 in mbprocess.c.

-

5.3.2061 (May 16, 2013)

+

5.3.2061 (May 16, 2013)

Perl macros: Renamed all perl source files in mbsystem/src/macros by removing the *.pl suffix. This is another change to allow use of the GNU autotools for @@ -5575,12 +5580,12 @@

5.3.2061 (May 16, 2013)

to just copy them to the bin directory; renaming the scripts is harder to set up.

-

5.3.2060 (May 14, 2013)

+

5.3.2060 (May 14, 2013)

Mbsvplist: Added -N option to limit the number of SVP profiles that can be output. (contributed by Suzanne O'Hara)

-

5.3.2059 (May 14, 2013)

+

5.3.2059 (May 14, 2013)

Mbprocess: Fixed bug in mbprocess in which angle rotation calculations mixed degrees and radians when attitude is merged as part of an external navigation @@ -5589,7 +5594,7 @@

5.3.2059 (May 14, 2013)

Mbsvplist: Added -T option to output CSV delimited table (contributed by Suzanne O'Hara)

-

5.3.2056 (May 7, 2013)

+

5.3.2056 (May 7, 2013)

Formats 221 and 222: Added empty i/o module files to ultimately support two new formats, both handling data from SEA SWATHplus interferometric sonars: @@ -5601,7 +5606,7 @@

5.3.2056 (May 7, 2013)

mbio/mbrswplssxi.c mbio/mbrswplssxp.c

-

5.3.2055 (May 7, 2013)

+

5.3.2055 (May 7, 2013)

Many files: fixed issues that result in compiler warnings.

@@ -5615,7 +5620,7 @@

5.3.2055 (May 7, 2013)

Format 121 (GSF): Added fix from Christian Ferreira to reset the depth_corrector value to zero if necessary

-

5.3.2053 (April 4, 2013)

+

5.3.2053 (April 4, 2013)

Mb7k2ss: Fixed line breakouts so that the first line is output separate from the second.

@@ -5635,7 +5640,7 @@

5.3.2053 (April 4, 2013)

Mbdatalist: Recast the output format for the -S option. One now gets a single line of output for each file unless the -V option is also specified.

-

5.3.2051 (March 20, 2013)

+

5.3.2051 (March 20, 2013)

Formats 58 and 59 (mbf): The calculation of "sidescan" from raw backscatter samples has been improved. The sidescan can now be successfully @@ -5664,7 +5669,7 @@

5.3.2051 (March 20, 2013)

Mbm_plot: Updated macros to derive system defaults from mbdefaults.

-

5.3.2042 (March 12, 2013)

+

5.3.2042 (March 12, 2013)

MBkongsbergpreprocess: Fixed calculation of transmit time for sector subpings.

@@ -5674,18 +5679,18 @@

5.3.2042 (March 12, 2013)

MBgrdviz: Added export of routes to Hypack lnw format and to degrees + decimal minutes format.

-

5.3.2017 (March 3, 2013)

+

5.3.2017 (March 3, 2013)

Mb7k2ss: Program exits if topography grid specified but reading the file fails.

-

5.3.2016 (March 2, 2013)

+

5.3.2016 (March 2, 2013)

Mb7k2ss: Fixed plotting correlation functions.

Mbm_xyplot: Fixed handling of NaN values in input data - no longer includes NaN inputs in sorting to determine min max.

-

5.3.2015 (March 1, 2013)

+

5.3.2015 (March 1, 2013)

Format 88 (mbf_reson7kr): Fixed some debugging print statements of hexadecimal values.

@@ -5715,21 +5720,21 @@

5.3.2015 (March 1, 2013)

Format 21 (mbf_hsatlraw): Fixed failure to initialize the internal storage structure.

-

5.3.2013 (January 29, 2013)

+

5.3.2013 (January 29, 2013)

Format 94 (mbf_l3xseraw): Fixed bug causing memory faults in Linux when data with large svp records are encountered. SVP records can now have as many as 8192 entries.

-

5.3.2012 (January 25, 2013)

+

5.3.2012 (January 25, 2013)

Mbkongsbergpreprocess: Fixed bug causing seg faults on Linux

-

5.3.2011 (January 17, 2013)

+

5.3.2011 (January 17, 2013)

Format 88 (mbf_reson7kr): Removed debug messages left in by mistake

-

5.3.2010 (January 14, 2013)

+

5.3.2010 (January 14, 2013)

Format 88 (mbf_reson7kr): Fixed reporting of angular beam widths, particularly for pre-2009 data in which the alongtrack value was reported incorrectly.

@@ -5737,24 +5742,24 @@

5.3.2010 (January 14, 2013)

Mbgrid: Changed the weighted footprint algorithm to correctly use the beamwidth scaling parameter set with the -W option.

-

5.3.2009 (January 10, 2013)

+

5.3.2009 (January 10, 2013)

Format 88 (mbf_reson7kr): Fixed a bug introduced at 5.3.2004 in first-time parsing of current Reson 7k data that caused erroneous flagging of some beams.

-

5.3.2008 (January 6, 2013)

+

5.3.2008 (January 6, 2013)

-

5.3.2007 (January 5, 2013)

+

5.3.2007 (January 5, 2013)

Mbkongsbergpreprocess: Fixed -O option to direct all output to a single file. Mb7kpreprocess: Fixed -O option to direct all output to a single file.

-

5.3.2006 (January 4, 2013)

+

5.3.2006 (January 4, 2013)

Mbkongsbergpreprocess: Fixed -D option to put output files in the specified directory.

-

5.3.2005 (December 31, 2012)

+

5.3.2005 (December 31, 2012)

Mbsvplist: Added -M option to control SVP printing. If mode=0 (the default), then the first SVP of each file will be output, plus any SVP that is different from @@ -5783,7 +5788,7 @@

5.3.2005 (December 31, 2012)

Mbprocess: Altered mbprocess so that input SVP files are checked for zero thickness layers.

-

5.3.2004 (December 12, 2012)

+

5.3.2004 (December 12, 2012)

Mbsvplist: Added -S option to output surface sound speed from survey data rather

@@ -5808,7 +5813,7 @@

5.3.2004 (December 12, 2012)

Mbmosaic: Fixed azimuthal priority weighting so that directional mosaicing is more reliable.

-

5.3.2000 (November 14, 2012)

+

5.3.2000 (November 14, 2012)

Mbinfo: Changed mbinfo to gracefully handle the situation of reading a file that has no data records while the -P option is specified (gracefully means not @@ -5816,7 +5821,7 @@

5.3.2000 (November 14, 2012)

Mbmosaic: fixed bug in the use of the azimuth weighting factor.

-

5.3.1999 (November 13, 2012)

+

5.3.1999 (November 13, 2012)

Mbm_route2mission: Added multibeam pulse length as a command line argument.

@@ -5826,7 +5831,7 @@

5.3.1999 (November 13, 2012)

Format 88 (mbf_reson7kr): Fixed bug that caused seg faults with pings that have no valid soundings.

-

5.3.1998 (November 6, 2012)

+

5.3.1998 (November 6, 2012)

Mb7kpreprocess: Added -C option to apply roll bias and pitch bias during preprocessing. Fixed rotation calculations so that side-looking and up looking mapping data can be handled @@ -5845,9 +5850,9 @@

5.3.1998 (November 6, 2012)

Formats 56 (mbfem300raw) and 57 (mbfem300mba): added support for asynchronous attitude output, in particular by mbnavlist -K18.

-

5.3.1995 (October 27, 2012)

+

5.3.1995 (October 27, 2012)

-

5.3.1994 (October 27, 2012)

+

5.3.1994 (October 27, 2012)

Mbfilter: when filtering sidescan the output file now includes any bathymetry available in the original file. The bathymetry can be used by mbmosaic for calculating apparent grazing @@ -5885,7 +5890,7 @@

5.3.1994 (October 27, 2012)

factor. For instance, specifying factor = 1.1 means the grid is expanded 5% to the west, east, south and north for a total expansion of 0.1 or 10%.

-

5.3.1989 (October 4, 2012)

+

5.3.1989 (October 4, 2012)

Mbmgrdplot & mbmgrdtiff: Fixed application of strict color table bounds in mbmgrdplot and mbmgrdtiff.

@@ -5902,7 +5907,7 @@

5.3.1989 (October 4, 2012)

for a low resolution grid and then resampling this onto the desired full resolution grid using bilinear interpolation.

-

5.3.1988 (September 29, 2012)

+

5.3.1988 (September 29, 2012)

Format 71 (mbf_mbldeoih): Implemented automatic scaling of sidescan values to improve fidelity of stored values to the original values.

@@ -5927,7 +5932,7 @@

5.3.1988 (September 29, 2012)

in the 7k data file (previously these values derived from asynchronous navigation, heading, attitude, etc, records).

-

5.3.1986 (September 12, 2012)

+

5.3.1986 (September 12, 2012)

MBnavadjust now treats data from interferometric sonars different than data from other sonars. When interferometric bathymetry is imported, the many soundings @@ -5953,7 +5958,7 @@

5.3.1986 (September 12, 2012)

Added -MXexcludepercent option to mblist to exclude a user defined percentage of outer beams from mblist output. (contributed by Suzanne O'Hara)

-

5.3.1982 (August 15, 2012)

+

5.3.1982 (August 15, 2012)

Fixed significant issue in mb7kpreprocess and in Reson 7k format support in general. The code was not handling the current raw detection data records correctly.

@@ -5981,7 +5986,7 @@

5.3.1982 (August 15, 2012)

unless there is a problem.

-

5.3.1981 (August 2, 2012)

+

5.3.1981 (August 2, 2012)

Fixed problem with mbprocess in which the heading was unexpectedly replaced by course-made-good. Now this can only happen with HEADINGMODE:1 or HEADINGMODE:2 in the parameter file.

@@ -5989,7 +5994,7 @@

5.3.1981 (August 2, 2012)

Fixed error in the definition of the OMG HDCS format in mbf_omghdcsj.h This fix provided by Bob Covill.

-

5.3.1980 (July 13, 2012)

+

5.3.1980 (July 13, 2012)

Augmented support for L3 XSE format (94) so that data from recent SeaBeam 3000 and SeaBeam 3050 multibeams can be processed.

@@ -6032,7 +6037,7 @@

5.3.1980 (July 13, 2012)

horizontal. Also fixed the module so that the profile tile angle parameter is used correctly.

-

5.3.1955 (May 16, 2012)

+

5.3.1955 (May 16, 2012)

Removed ($[) = 0 initializations from all perl macros for compatibility with the current version of perl.

@@ -6087,7 +6092,7 @@

5.3.1955 (May 16, 2012)

impact of speed variations and deemphasizes data where the sonar platform moved slowly or stopped.

-

5.3.1941 (March 6, 2012)

+

5.3.1941 (March 6, 2012)

Fixed sidescan filtering with mbfilter. The filtered sidescan output in format 71 files had incorrect acrosstrack locations.

@@ -6108,7 +6113,7 @@

5.3.1941 (March 6, 2012)

Added output of raw values from current generation Kongsberg data (formats 58 and 59) to mblist.

-

5.3.1937

+

5.3.1937

Changed the resolution of navigation in fbt (format 71) files and fnv files to be 1e-9 degrees, equivalent to about 0.1 mm. Similarly change @@ -6150,7 +6155,7 @@

5.3.1937

Bug fixes to mbr_mstiffss.c related to reading Marine Sonics sidescan data. This fix provided by Val Schmidt of CCOM/JHC at University of New Hampshire.

-

5.3.1917 (January 10, 2012)

+

5.3.1917 (January 10, 2012)

Added preliminary support for HYSWEEP HSX format as MBIO format 201. Added program mbhysweeppreprocess to preprocess the HSX data.

@@ -6158,7 +6163,7 @@

5.3.1917 (January 10, 2012)

GSF 3.03 update.

-

5.3.1912 (November 19, 2011)

+

5.3.1912 (November 19, 2011)

Formats 58 and 59 (third generation Kongsberg multibeam data): Augmented code to handle bathymetry data in which beams are reported @@ -6169,7 +6174,7 @@

5.3.1912 (November 19, 2011)

Fixes to the handling of attitude ecords, particularly with regard to writing the records.

-

5.3.1909 (November 16, 2011)

+

5.3.1909 (November 16, 2011)

Program mbnavlist: Fixed attitude record output so that use of -K18, -K55, -K56, or -K57 @@ -6181,7 +6186,7 @@

5.3.1909 (November 16, 2011)

records identified as MBDATAATTITUDE1, MBDATAATTITUDE2, or MBDATAATTITUDE3.

-

5.3.1907 (November 9, 2011)

+

5.3.1907 (November 9, 2011)

Program mblist: Added output of beam bottom detection algorithm (amplitude or phase) @@ -6217,7 +6222,7 @@

5.3.1907 (November 9, 2011)

while ancillary records will be identified as MBDATAATTITUDE1 (55), MBDATAATTITUDE2 (56), or MBDATAATTITUDE3(57).

-

5.3.1906 (September 28, 2011)

+

5.3.1906 (September 28, 2011)

Program mbnavadjust: Added -D option to invert foreground (normally black) and background @@ -6463,7 +6468,7 @@

5.3.1906 (September 28, 2011)


-

MB-System Version 5.2 Releases and Release Notes:

+

MB-System Version 5.2 Releases and Release Notes:


@@ -6471,9 +6476,9 @@

MB-System Version 5.2 Releases and Release Notes:

  • Version 5.2.1880 December 30, 2010
  • -

    +

    -

    5.2.1880 (December 30, 2010)

    +

    5.2.1880 (December 30, 2010)

    Augmented mbotps to output tide in both time_d tide @@ -6510,7 +6515,7 @@

    5.2.1880 (December 30, 2010)


    -

    MB-System Version 5.1 Releases and Release Notes:

    +

    MB-System Version 5.1 Releases and Release Notes:


    @@ -6563,7 +6568,7 @@

    MB-System Version 5.1 Releases and Release Notes:


    -

    5.1.3beta1875

    +

    5.1.3beta1875

    Altered -P option in mbsvplist. Previously this option (which turns on bathymetry recalculation by raytracing in mbprocess using the water sound @@ -6608,7 +6613,7 @@

    5.1.3beta1875

    is, well, unsatisfying and wrong. The bad option is there because I took the time to code it to see how well it would work.

    -

    5.1.3beta1874

    +

    5.1.3beta1874

    The function mbgetinfo() now properly applies the lonflip value. This in turn allows mbgrid to infer correct bounds in situations where the @@ -6677,7 +6682,7 @@

    5.1.3beta1874

    Updating in preparation for beta release version 5.1.3beta1874.

    -

    5.1.3beta1862

    +

    5.1.3beta1862

    Moved src/mbaux/mbrt.c to src/mbio/mbrt.c and made this raytracing code part of libmbio rather than libmbaux.

    @@ -6715,14 +6720,14 @@

    5.1.3beta1862

    Fixed issues with a number of manual pages.

    -

    5.1.3beta1860

    +

    5.1.3beta1860

    Further changes to mbnavadjust: - The inversion stops if it is diverging rather than converging on a navigation adjustment model solution. - The program will insure that all crossings have the later section second by flipping the order of crossings if necessary while reading an old project. - The program also resorts the crossings when it reads a project.

    -

    5.1.3beta1858

    +

    5.1.3beta1858

    Slight modification to mbm_grdplot map annotation scheme (degrees + minutes for maps up to 4 degrees across where only degrees shown before for maps @@ -6748,13 +6753,13 @@

    5.1.3beta1858

    Mostly fixed handling of attitude data in bathymetry recalculation. There still seems to be a problem with handling heading data.

    -

    5.1.3beta1855

    +

    5.1.3beta1855

    Fixed error in beam angle calculation for third generation Simrad multibeam data (formats 58 and 59, EM710, EM302, EM122) that made bathymetry recalculation by raytracing badly wrong.

    -

    5.1.3beta1851

    +

    5.1.3beta1851

    Fixed problem where mb7kpreprocess made beams that should have been null valid but flagged.

    @@ -6779,13 +6784,13 @@

    5.1.3beta1851

    MBprocess. Also, MBgetesf is now used by MBeditviz to get the original beam flag state of raw swath bathymetry when processed files are read.

    -

    5.1.3beta1844

    +

    5.1.3beta1844

    Fixed yet another bug in MBnavadjust - this time getting the importation of old project files correct and, more importantly, getting the z-offset sign correct in the Naverr display.

    -

    5.1.3beta1843

    +

    5.1.3beta1843

    Updated mb7k2ss man page.

    @@ -6819,7 +6824,7 @@

    5.1.3beta1843

    MBnavadjust now outputs version 3.0 nvh project files, but will transparently read and translate earlier version nvh project files.

    -

    5.1.3beta1829

    +

    5.1.3beta1829

    From now on beta releases will be named according to the corresponding source archive revision in the MB-System Subversion source code archive. @@ -6853,11 +6858,11 @@

    5.1.3beta1829

    Changed print format for unsigned long values from %ld to %lu to avoid copious warning messages in Ubuntu.

    -

    +

    -

    MB-System Version 5.1.2 Release Notes:

    +

    MB-System Version 5.1.2 Release Notes:

    -

    +

    Fixed pixel calculation algorithm in mbmosaic. Previously, sidescan data from each pixel were being treated as extending over a @@ -6917,7 +6922,7 @@

    Changed licensing from GPL version 2 to GPL version 3.

    -

    5.1.2beta07

    +

    5.1.2beta07

    Fixed MB-System compatibility with GMT 4.5.0

    @@ -6926,7 +6931,7 @@

    5.1.2beta07

    MBgrdviz now displays ping/shot numbers when navigation is picked. MBextractsegy now embeds line numbers into the output segy files.

    -

    5.1.2beta08

    +

    5.1.2beta08

    Fixed mbauvloglist to work with all MBARI AUV logs.

    @@ -6942,7 +6947,7 @@

    5.1.2beta08

    large datasets. This locking functionality will be extended to the processing tools mbedit, mbeditviz, and mbnavedit in the future.

    -

    5.1.2beta09

    +

    5.1.2beta09

    Fixed bug in SeaBeam 2112 support that misplaced some sidescan data on little-endian machines.

    @@ -6961,7 +6966,7 @@

    5.1.2beta09

    Greatly increased speed of reading third generation Simrad data (formats 58 & 59, EM710, EM302, EM122).

    -

    5.1.2beta11

    +

    5.1.2beta11

    Fixed mb7k2ss to avoid creating shadow zones in the extracted sidescan.

    @@ -6972,7 +6977,7 @@

    5.1.2beta11

    executed in conjunction with creating ancillary files with the -O or -N options.

    -

    5.1.2beta12

    +

    5.1.2beta12

    Updated proj library to 4.7.0 release. If the installing user chooses to use the proj distributed with MB-System, then the programs proj and geod @@ -7026,7 +7031,7 @@

    5.1.2beta12

    versus time (x-axis). One PSD is calculated for each trace in the segy file. This program requires linking with the FFTW (Fastest FFT in The West) package.

    -

    5.1.2beta13

    +

    5.1.2beta13

    Fixed many more issues relating to clean compiles on 64 bit machines. In particular, store GSF and netCDF data stream id's in their own @@ -7039,20 +7044,20 @@

    5.1.2beta13

    as Windows 64 bit C has a different type model than the rest of the universe (e.g. long = 32 bit on Windows but long = 64 bit for gcc).

    -

    5.1.2beta14

    +

    5.1.2beta14

    Fixed a few more issues relating to clean compiles on 64 bit machines. We're iterating towards a working version by getting problem reports from people like Hamish Bowman, Bob Arko, and Bob Covill.

    -

    5.1.2beta15

    +

    5.1.2beta15

    Fixed EM3002 support to reliably detect whether data comes from a single or double head sonar (formats 56 & 57).

    Fixed problem with EM710 support (formats 58 & 59).

    -

    5.1.2

    +

    5.1.2

    Incorporates all changes listed above.

    @@ -7060,7 +7065,7 @@

    5.1.2


    -

    MB-System Version 5.1.1 Release Notes:

    +

    MB-System Version 5.1.1 Release Notes:


    @@ -7285,7 +7290,7 @@

    MB-System Version 5.1.1 Release Notes:


    -

    MB-System Version 5.1.0 Release Notes:

    +

    MB-System Version 5.1.0 Release Notes:


    @@ -7410,7 +7415,7 @@

    MB-System Version 5.1.0 Release Notes:


    -

    MB-System Version 5.0 Releases and Release Notes:

    +

    MB-System Version 5.0 Releases and Release Notes:


    @@ -7465,7 +7470,7 @@

    MB-System Version 5.0 Releases and Release Notes:


    -

    MB-System Version 5.0.9 Release Notes:

    +

    MB-System Version 5.0.9 Release Notes:


    @@ -7488,7 +7493,7 @@

    MB-System Version 5.0.9 Release Notes:


    -

    MB-System Version 5.0.8 Release Notes:

    +

    MB-System Version 5.0.8 Release Notes:


    @@ -7655,7 +7660,7 @@

    MB-System Version 5.0.8 Release Notes:


    -

    MB-System Version 5.0.7 Release Notes:

    +

    MB-System Version 5.0.7 Release Notes:


    @@ -7727,7 +7732,7 @@

    MB-System Version 5.0.7 Release Notes:


    -

    MB-System Version 5.0.6 Release Notes:

    +

    MB-System Version 5.0.6 Release Notes:


    @@ -7796,7 +7801,7 @@

    MB-System Version 5.0.6 Release Notes:


    -

    MB-System Version 5.0.5 Release Notes:

    +

    MB-System Version 5.0.5 Release Notes:


    @@ -7880,9 +7885,9 @@

    MB-System Version 5.0.5 Release Notes:

    Problems with the MGD77 format i/o module have been fixed according to suggestions from Bob Covill.

    -

    +

    -

    MB-System Version 5.0.4 Release Notes:

    +

    MB-System Version 5.0.4 Release Notes:


    @@ -7919,7 +7924,7 @@

    MB-System Version 5.0.4 Release Notes:


    -

    MB-System Version 5.0.3 Release Notes:

    +

    MB-System Version 5.0.3 Release Notes:


    @@ -7940,7 +7945,7 @@

    MB-System Version 5.0.3 Release Notes:


    -

    MB-System Version 5.0.2 Release Notes:

    +

    MB-System Version 5.0.2 Release Notes:


    @@ -7956,7 +7961,7 @@

    MB-System Version 5.0.2 Release Notes:


    -

    MB-System Version 5.0.1 Release Notes:

    +

    MB-System Version 5.0.1 Release Notes:


    @@ -7975,7 +7980,7 @@

    MB-System Version 5.0.1 Release Notes:


    -

    MB-System Version 5.0.0 Release Notes:

    +

    MB-System Version 5.0.0 Release Notes:


    diff --git a/ChangeLog.md b/ChangeLog.md index 46138032b..8be96eca8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -23,6 +23,7 @@ or beta, are equally accessible as tarballs through the Github interface. ### MB-System Version 5.8 Releases and Release Notes: --- +- Version 5.8.1beta04 February 16, 2024 - Version 5.8.1beta03 February 8, 2024 - Version 5.8.1beta02 February 7, 2024 - Version 5.8.1beta01 February 1, 2024 @@ -30,6 +31,10 @@ or beta, are equally accessible as tarballs through the Github interface. --- +#### 5.8.1beta04 (February 16, 2024) + +Format 261 (MBF_KEMKMALL): Updated support for Kongsberg Kmall format to match updated specification J. + #### 5.8.1beta03 (February 8, 2024) Mbphotomosaic: Fixed priority-heading option that allows image prioritization on diff --git a/src/mbio/mb_define.h b/src/mbio/mb_define.h index 991de0ee6..1f5e87e45 100644 --- a/src/mbio/mb_define.h +++ b/src/mbio/mb_define.h @@ -37,8 +37,8 @@ #include /* Define version and date for this release */ -#define MB_VERSION "5.8.1beta03" -#define MB_VERSION_DATE "8 February 2024" +#define MB_VERSION "5.8.1beta04" +#define MB_VERSION_DATE "16 February 2024" /* CMake supports current OS's and so there is only one form of RPC and XDR and no mb_config.h file */ #ifdef CMAKE_BUILD_SYSTEM diff --git a/src/mbio/mb_status.h b/src/mbio/mb_status.h index ce87dddbe..0cf6692e9 100644 --- a/src/mbio/mb_status.h +++ b/src/mbio/mb_status.h @@ -140,6 +140,7 @@ #define MB_DATA_PIPE 72 /* Reson 7k */ #define MB_DATA_CONTACT 73 /* Reson 7k */ #define MB_DATA_GATES 74 /* Reson 7k */ +#define MB_DATA_DATUM 75 /* Kongsberg SPD Sensor Position Datum */ /* MBIO function status convention */ #define MB_SUCCESS 1 diff --git a/src/mbio/mbr_kemkmall.c b/src/mbio/mbr_kemkmall.c index afa9242ef..81fe2f599 100644 --- a/src/mbio/mbr_kemkmall.c +++ b/src/mbio/mbr_kemkmall.c @@ -564,6 +564,12 @@ int mbr_kemkmall_rd_hdr(int verbose, char *buffer, void *header_ptr, void *emdgm else if (strncmp((const char *)header->dgmType, MBSYS_KMBES_S_POSITION, 4) == 0) { *emdgm_type = SPO; } + else if (strncmp((const char *)header->dgmType, MBSYS_KMBES_S_POSITION_ERROR, 4) == 0) { + *emdgm_type = SPE; + } + else if (strncmp((const char *)header->dgmType, MBSYS_KMBES_S_POSITION_DATUM, 4) == 0) { + *emdgm_type = SPD; + } else if (strncmp((const char *)header->dgmType, MBSYS_KMBES_S_KM_BINARY, 4) == 0) { *emdgm_type = SKM; } @@ -757,6 +763,227 @@ int mbr_kemkmall_rd_spo(int verbose, char *buffer, void *store_ptr, void *header /*--------------------------------------------------------------------*/ +int mbr_kemkmall_rd_spe(int verbose, char *buffer, void *store_ptr, void *header_ptr, int *error) { + size_t numBytesRawSensorData = 0; + int index = 0; + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> called\n", __func__); + fprintf(stderr, "dbg2 Input arguments:\n"); + fprintf(stderr, "dbg2 verbose: %d\n", verbose); + fprintf(stderr, "dbg2 buffer: %p\n", (void *)buffer); + fprintf(stderr, "dbg2 store_ptr: %p\n", (void *)store_ptr); + fprintf(stderr, "dbg2 header_ptr: %p\n", (void *)header_ptr); + } + + /* get pointer to raw data structure */ + struct mbsys_kmbes_struct *store = (struct mbsys_kmbes_struct *)store_ptr; + struct mbsys_kmbes_header *header = (struct mbsys_kmbes_header *)header_ptr; + struct mbsys_kmbes_spe *spe = &(store->spe); + + /* copy the header */ + spe->header = *header; + + /* calc number of bytes for raw sensor data */ + numBytesRawSensorData = spe->header.numBytesDgm - MBSYS_KMBES_SPE_VAR_OFFSET; + + /* extract the data */ + index = MBSYS_KMBES_HEADER_SIZE; + + /* common part */ + mb_get_binary_short(true, &buffer[index], &(spe->cmnPart.numBytesCmnPart)); + index += 2; + mb_get_binary_short(true, &buffer[index], &(spe->cmnPart.sensorSystem)); + index += 2; + mb_get_binary_short(true, &buffer[index], &(spe->cmnPart.sensorStatus)); + index += 2; + mb_get_binary_short(true, &buffer[index], &(spe->cmnPart.padding)); + index += 2; + + /* sensor data block */ + mb_get_binary_int(true, &buffer[index], &(spe->sensorData.timeFromSensor_sec)); + index += 4; + mb_get_binary_int(true, &buffer[index], &(spe->sensorData.timeFromSensor_nanosec)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.rangeInputRms)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.ellipseSemiMajorAxisError_m)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.ellipseSemiMinorAxisError_m)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.ellipseOrientationError_deg)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.latitudeError_m)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.longitudeError_m)); + index += 4; + mb_get_binary_float(true, &buffer[index], &(spe->sensorData.heightError_m)); + index += 4; + memcpy(&(spe->sensorData.posErrorDataFromSensor), &buffer[index], numBytesRawSensorData); + + if (verbose >= 5) { + fprintf(stderr, "\ndbg5 Values read in MBIO function <%s>\n", __func__); + fprintf(stderr, "dbg5 numBytesDgm: %u\n", spe->header.numBytesDgm); + fprintf(stderr, "dbg5 dgmType: %s\n", spe->header.dgmType); + fprintf(stderr, "dbg5 dgmVersion: %u\n", spe->header.dgmVersion); + fprintf(stderr, "dbg5 systemID: %u\n", spe->header.systemID); + fprintf(stderr, "dbg5 echoSounderID: %u\n", spe->header.echoSounderID); + fprintf(stderr, "dbg5 time_sec: %u\n", spe->header.time_sec); + fprintf(stderr, "dbg5 time_nanosec: %u\n", spe->header.time_nanosec); + + fprintf(stderr, "dbg5 numBytesCmnPart: %u\n", spe->cmnPart.numBytesCmnPart); + fprintf(stderr, "dbg5 sensorSystem: %u\n", spe->cmnPart.sensorSystem); + fprintf(stderr, "dbg5 sensorStatus: %u\n", spe->cmnPart.sensorStatus); + fprintf(stderr, "dbg5 padding: %u\n", spe->cmnPart.padding); + + fprintf(stderr, "dbg5 timeFromSensor_sec: %u\n", spe->sensorData.timeFromSensor_sec); + fprintf(stderr, "dbg5 timeFromSensor_nanosec: %u\n", spe->sensorData.timeFromSensor_nanosec); + fprintf(stderr, "dbg5 rangeInputRms: %f\n", spe->sensorData.rangeInputRms); + fprintf(stderr, "dbg5 ellipseSemiMajorAxisError_m: %f\n", spe->sensorData.ellipseSemiMajorAxisError_m); + fprintf(stderr, "dbg5 ellipseSemiMinorAxisError_m: %f\n", spe->sensorData.ellipseSemiMinorAxisError_m); + fprintf(stderr, "dbg5 ellipseOrientationError_deg: %f\n", spe->sensorData.ellipseOrientationError_deg); + fprintf(stderr, "dbg5 latitudeError_m: %f\n", spe->sensorData.latitudeError_m); + fprintf(stderr, "dbg5 longitudeError_m: %f\n", spe->sensorData.longitudeError_m); + fprintf(stderr, "dbg5 heightError_m: %f\n", spe->sensorData.heightError_m); + fprintf(stderr, "dbg5 posErrorDataFromSensor: %s\n", spe->sensorData.posErrorDataFromSensor); + } + + int status = MB_SUCCESS; + + /* set kind */ + if (status == MB_SUCCESS) { + /* set kind */ + store->kind = MB_DATA_NAVIGATION_ERROR; + } + else { + store->kind = MB_DATA_NONE; + } + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> completed\n", __func__); + fprintf(stderr, "dbg2 Return values:\n"); + fprintf(stderr, "dbg2 error: %d\n", *error); + fprintf(stderr, "dbg2 Return status:\n"); + fprintf(stderr, "dbg2 status: %d\n", status); + } + +#ifdef MBR_KEMKMALL_DEBUG + fprintf(stderr, "KEMKMALL datagram type %.4s read - time: %d.%9.9d status:%d error:%d\n", + header->dgmType,header->time_sec, header->time_nanosec, status, *error); +#endif + + /* return status */ + return (status); +}; + +/*--------------------------------------------------------------------*/ + +int mbr_kemkmall_rd_spd(int verbose, char *buffer, void *store_ptr, void *header_ptr, int *error) { + size_t numBytesRawSensorData = 0; + int index = 0; + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> called\n", __func__); + fprintf(stderr, "dbg2 Input arguments:\n"); + fprintf(stderr, "dbg2 verbose: %d\n", verbose); + fprintf(stderr, "dbg2 buffer: %p\n", (void *)buffer); + fprintf(stderr, "dbg2 store_ptr: %p\n", (void *)store_ptr); + fprintf(stderr, "dbg2 header_ptr: %p\n", (void *)header_ptr); + } + + /* get pointer to raw data structure */ + struct mbsys_kmbes_struct *store = (struct mbsys_kmbes_struct *)store_ptr; + struct mbsys_kmbes_header *header = (struct mbsys_kmbes_header *)header_ptr; + struct mbsys_kmbes_spd *spd = &(store->spd); + + /* copy the header */ + spd->header = *header; + + /* calc number of bytes for raw sensor data */ + numBytesRawSensorData = spd->header.numBytesDgm - MBSYS_KMBES_SPD_VAR_OFFSET; + + /* extract the data */ + index = MBSYS_KMBES_HEADER_SIZE; + + /* common part */ + mb_get_binary_short(true, &buffer[index], &(spd->cmnPart.numBytesCmnPart)); + index += 2; + mb_get_binary_short(true, &buffer[index], &(spd->cmnPart.sensorSystem)); + index += 2; + mb_get_binary_short(true, &buffer[index], &(spd->cmnPart.sensorStatus)); + index += 2; + mb_get_binary_short(true, &buffer[index], &(spd->cmnPart.padding)); + index += 2; + + /* sensor data block */ + memcpy(&(spd->sensorData.localDatumCode), &buffer[index], 16); + index += 16; + memcpy(&(spd->sensorData.localDatumSubCode), &buffer[index], 16); + index += 16; + mb_get_binary_double(true, &buffer[index], &(spd->sensorData.latitudeOffset_deg)); + index += 8; + mb_get_binary_double(true, &buffer[index], &(spd->sensorData.longitudeOffset_deg)); + index += 8; + mb_get_binary_float(true, &buffer[index], &(spd->sensorData.altitudeOffset_m)); + index += 4; + memcpy(&(spd->sensorData.datumName), &buffer[index], 32); + index += 32; + memcpy(&(spd->sensorData.posDatumDataFromSensor), &buffer[index], numBytesRawSensorData); + + if (verbose >= 5) { + fprintf(stderr, "\ndbg5 Values read in MBIO function <%s>\n", __func__); + fprintf(stderr, "dbg5 numBytesDgm: %u\n", spd->header.numBytesDgm); + fprintf(stderr, "dbg5 dgmType: %s\n", spd->header.dgmType); + fprintf(stderr, "dbg5 dgmVersion: %u\n", spd->header.dgmVersion); + fprintf(stderr, "dbg5 systemID: %u\n", spd->header.systemID); + fprintf(stderr, "dbg5 echoSounderID: %u\n", spd->header.echoSounderID); + fprintf(stderr, "dbg5 time_sec: %u\n", spd->header.time_sec); + fprintf(stderr, "dbg5 time_nanosec: %u\n", spd->header.time_nanosec); + + fprintf(stderr, "dbg5 numBytesCmnPart: %u\n", spd->cmnPart.numBytesCmnPart); + fprintf(stderr, "dbg5 sensorSystem: %u\n", spd->cmnPart.sensorSystem); + fprintf(stderr, "dbg5 sensorStatus: %u\n", spd->cmnPart.sensorStatus); + fprintf(stderr, "dbg5 padding: %u\n", spd->cmnPart.padding); + + fprintf(stderr, "dbg5 localDatumCode: %s\n", spd->sensorData.localDatumCode); + fprintf(stderr, "dbg5 localDatumSubCode: %s\n", spd->sensorData.localDatumSubCode); + fprintf(stderr, "dbg5 latitudeOffset_deg: %f\n", spd->sensorData.latitudeOffset_deg); + fprintf(stderr, "dbg5 longitudeOffset_deg: %f\n", spd->sensorData.longitudeOffset_deg); + fprintf(stderr, "dbg5 altitudeOffset_m: %f\n", spd->sensorData.altitudeOffset_m); + fprintf(stderr, "dbg5 datumName: %s\n", spd->sensorData.datumName); + fprintf(stderr, "dbg5 posDatumDataFromSensor: %s\n", spd->sensorData.posDatumDataFromSensor); + } + + int status = MB_SUCCESS; + + /* set kind */ + if (status == MB_SUCCESS) { + /* set kind */ + store->kind = MB_DATA_DATUM; + } + else { + store->kind = MB_DATA_NONE; + } + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> completed\n", __func__); + fprintf(stderr, "dbg2 Return values:\n"); + fprintf(stderr, "dbg2 error: %d\n", *error); + fprintf(stderr, "dbg2 Return status:\n"); + fprintf(stderr, "dbg2 status: %d\n", status); + } + +#ifdef MBR_KEMKMALL_DEBUG + fprintf(stderr, "KEMKMALL datagram type %.4s read - time: %d.%9.9d status:%d error:%d\n", + header->dgmType,header->time_sec, header->time_nanosec, status, *error); +#endif + + /* return status */ + return (status); +}; + +/*--------------------------------------------------------------------*/ + int mbr_kemkmall_rd_skm(int verbose, char *buffer, void *store_ptr, void *header_ptr, int *error) { int index = 0; @@ -4339,56 +4566,70 @@ numOfDgms, dgmNum, header.numBytesDgm, dgm_index->index_org, dgm_index->ping_num switch (emdgm_type) { case IIP: - /* #IIP - Info Installation PU */ + /* #IIP - Info Installation PU */ status = mbr_kemkmall_rd_iip(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; case IOP: - /* #IOP - Runtime datagram */ + /* #IOP - Runtime datagram */ status = mbr_kemkmall_rd_iop(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; case IBE: - /* #IBE - BIST error report */ + /* #IBE - BIST error report */ status = mbr_kemkmall_rd_ibe(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; case IBR: - /* #IBR - BIST reply */ + /* #IBR - BIST reply */ status = mbr_kemkmall_rd_ibr(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; case IBS: - /* #IBS - BIST short reply */ + /* #IBS - BIST short reply */ status = mbr_kemkmall_rd_ibs(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; case SPO: - /* #SPO - Sensor POsition data */ + /* #SPO - Sensor POsition data */ status = mbr_kemkmall_rd_spo(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; + case SPE: + /* #SPE - Sensor Position Error data */ + status = mbr_kemkmall_rd_spe(verbose, buffer, store_ptr, (void *)&header, error); + if (status == MB_SUCCESS) + done = true; + break; + + case SPD: + /* #SPD - Sensor Position Datum data */ + status = mbr_kemkmall_rd_spd(verbose, buffer, store_ptr, (void *)&header, error); + if (status == MB_SUCCESS) + done = true; + break; + case SKM: - /* #SKM - KM binary sensor data */ + /* #SKM - KM binary sensor data */ status = mbr_kemkmall_rd_skm(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; break; case SVP: - /* #SVP - Sound Velocity Profile */ + /* #SVP - Sound Velocity Profile */ status = mbr_kemkmall_rd_svp(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; @@ -4402,7 +4643,7 @@ numOfDgms, dgmNum, header.numBytesDgm, dgm_index->index_org, dgm_index->ping_num break; case SCL: - /* #SCL - Sensor CLock datagram */ + /* #SCL - Sensor CLock datagram */ status = mbr_kemkmall_rd_scl(verbose, buffer, store_ptr, (void *)&header, error); if (status == MB_SUCCESS) done = true; @@ -5085,6 +5326,263 @@ int mbr_kemkmall_wr_spo(int verbose, size_t *bufferalloc, char **bufferptr, void /*--------------------------------------------------------------------*/ +int mbr_kemkmall_wr_spe(int verbose, size_t *bufferalloc, char **bufferptr, void *store_ptr, size_t *size, int *error){ + size_t numBytesRawSensorData = 0; + char *buffer = NULL; + unsigned int index = 0; + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> called\n", __func__); + fprintf(stderr, "dbg2 Input arguments:\n"); + fprintf(stderr, "dbg2 verbose: %d\n", verbose); + fprintf(stderr, "dbg2 bufferalloc:%zu\n", *bufferalloc); + fprintf(stderr, "dbg2 bufferptr: %p\n", (void *)bufferptr); + fprintf(stderr, "dbg2 store_ptr: %p\n", (void *)store_ptr); + } + + /* get pointer to raw data structure */ + struct mbsys_kmbes_struct *store = (struct mbsys_kmbes_struct *)store_ptr; + struct mbsys_kmbes_spe *spe = &(store->spe); + + /* datagram version being written */ + spe->header.dgmVersion = MBSYS_KMBES_SPE_VERSION; + + if (verbose >= 5) { + fprintf(stderr, "\ndbg5 Values to be written in MBIO function <%s>\n", __func__); + fprintf(stderr, "dbg5 numBytesDgm: %u\n", spe->header.numBytesDgm); + fprintf(stderr, "dbg5 dgmType: %s\n", spe->header.dgmType); + fprintf(stderr, "dbg5 dgmVersion: %u\n", spe->header.dgmVersion); + fprintf(stderr, "dbg5 systemID: %u\n", spe->header.systemID); + fprintf(stderr, "dbg5 echoSounderID: %u\n", spe->header.echoSounderID); + fprintf(stderr, "dbg5 time_sec: %u\n", spe->header.time_sec); + fprintf(stderr, "dbg5 time_nanosec: %u\n", spe->header.time_nanosec); + + fprintf(stderr, "dbg5 numBytesCmnPart: %u\n", spe->cmnPart.numBytesCmnPart); + fprintf(stderr, "dbg5 sensorSystem: %u\n", spe->cmnPart.sensorSystem); + fprintf(stderr, "dbg5 sensorStatus: %u\n", spe->cmnPart.sensorStatus); + fprintf(stderr, "dbg5 padding: %u\n", spe->cmnPart.padding); + + fprintf(stderr, "dbg5 timeFromSensor_sec: %u\n", spe->sensorData.timeFromSensor_sec); + fprintf(stderr, "dbg5 timeFromSensor_nanosec: %u\n", spe->sensorData.timeFromSensor_nanosec); + fprintf(stderr, "dbg5 rangeInputRms: %f\n", spe->sensorData.rangeInputRms); + fprintf(stderr, "dbg5 ellipseSemiMajorAxisError_m: %f\n", spe->sensorData.ellipseSemiMajorAxisError_m); + fprintf(stderr, "dbg5 ellipseSemiMinorAxisError_m: %f\n", spe->sensorData.ellipseSemiMinorAxisError_m); + fprintf(stderr, "dbg5 ellipseOrientationError_deg: %f\n", spe->sensorData.ellipseOrientationError_deg); + fprintf(stderr, "dbg5 latitudeError_m: %f\n", spe->sensorData.latitudeError_m); + fprintf(stderr, "dbg5 longitudeError_m: %f\n", spe->sensorData.longitudeError_m); + fprintf(stderr, "dbg5 heightError_m: %f\n", spe->sensorData.heightError_m); + fprintf(stderr, "dbg5 posErrorDataFromSensor: %s\n", spe->sensorData.posErrorDataFromSensor); + } + + /* size of output record */ + *size = (size_t) spe->header.numBytesDgm; + + int status = MB_SUCCESS; + + /* allocate memory to write rest of record if necessary */ + if (*bufferalloc < *size) { + status = mb_reallocd(verbose, __FILE__, __LINE__, *size, (void **)bufferptr, error); + if (status != MB_SUCCESS) + *bufferalloc = 0; + else + *bufferalloc = *size; + } + + /* proceed to write if buffer allocated */ + if (status == MB_SUCCESS) { + /* get buffer for writing */ + buffer = (char *)*bufferptr; + + /* calc number of bytes for raw sensor data */ + numBytesRawSensorData = spe->header.numBytesDgm - MBSYS_KMBES_SPE_VAR_OFFSET; + + /* insert the header */ + mbr_kemkmall_wr_header(verbose, bufferptr, (void *)&(spe->header), error); + + /* insert the data */ + index = MBSYS_KMBES_HEADER_SIZE; + + /* common part */ + mb_put_binary_short(true, spe->cmnPart.numBytesCmnPart, &buffer[index]); + index += 2; + mb_put_binary_short(true, spe->cmnPart.sensorSystem, &buffer[index]); + index += 2; + mb_put_binary_short(true, spe->cmnPart.sensorStatus, &buffer[index]); + index += 2; + mb_put_binary_short(true, spe->cmnPart.padding, &buffer[index]); + index += 2; + + /* sensor data block */ + mb_put_binary_int(true, spe->sensorData.timeFromSensor_sec, &buffer[index]); + index += 4; + mb_put_binary_int(true, spe->sensorData.timeFromSensor_nanosec, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.rangeInputRms, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.ellipseSemiMajorAxisError_m, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.ellipseSemiMinorAxisError_m, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.ellipseOrientationError_deg, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.latitudeError_m, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.longitudeError_m, &buffer[index]); + index += 4; + mb_put_binary_float(true, spe->sensorData.heightError_m, &buffer[index]); + index += 4; + + /* raw data msg from sensor */ + memcpy(&buffer[index], &(spe->sensorData.posErrorDataFromSensor), numBytesRawSensorData); + index += numBytesRawSensorData; + + /* insert closing byte count */ + mb_put_binary_int(true, spe->header.numBytesDgm, &buffer[index]); + } + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> completed\n", __func__); + fprintf(stderr, "dbg2 Return values:\n"); + fprintf(stderr, "dbg2 error: %d\n", *error); + fprintf(stderr, "dbg2 Return status:\n"); + fprintf(stderr, "dbg2 status: %d\n", status); + } + +#ifdef MBR_KEMKMALL_DEBUG + fprintf(stderr, "KEMKMALL datagram type %.4s written - time: %d.%9.9d status:%d error:%d\n", + spe->header.dgmType, spe->header.time_sec, spe->header.time_nanosec, status, *error); +#endif + + /* return status */ + return (status); +}; + +/*--------------------------------------------------------------------*/ + +int mbr_kemkmall_wr_spd(int verbose, size_t *bufferalloc, char **bufferptr, void *store_ptr, size_t *size, int *error){ + size_t numBytesRawSensorData = 0; + char *buffer = NULL; + unsigned int index = 0; + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> called\n", __func__); + fprintf(stderr, "dbg2 Input arguments:\n"); + fprintf(stderr, "dbg2 verbose: %d\n", verbose); + fprintf(stderr, "dbg2 bufferalloc:%zu\n", *bufferalloc); + fprintf(stderr, "dbg2 bufferptr: %p\n", (void *)bufferptr); + fprintf(stderr, "dbg2 store_ptr: %p\n", (void *)store_ptr); + } + + /* get pointer to raw data structure */ + struct mbsys_kmbes_struct *store = (struct mbsys_kmbes_struct *)store_ptr; + struct mbsys_kmbes_spd *spd = &(store->spd); + + /* datagram version being written */ + spd->header.dgmVersion = MBSYS_KMBES_SPD_VERSION; + + if (verbose >= 5) { + fprintf(stderr, "\ndbg5 Values to be written in MBIO function <%s>\n", __func__); + fprintf(stderr, "dbg5 numBytesDgm: %u\n", spd->header.numBytesDgm); + fprintf(stderr, "dbg5 dgmType: %s\n", spd->header.dgmType); + fprintf(stderr, "dbg5 dgmVersion: %u\n", spd->header.dgmVersion); + fprintf(stderr, "dbg5 systemID: %u\n", spd->header.systemID); + fprintf(stderr, "dbg5 echoSounderID: %u\n", spd->header.echoSounderID); + fprintf(stderr, "dbg5 time_sec: %u\n", spd->header.time_sec); + fprintf(stderr, "dbg5 time_nanosec: %u\n", spd->header.time_nanosec); + + fprintf(stderr, "dbg5 numBytesCmnPart: %u\n", spd->cmnPart.numBytesCmnPart); + fprintf(stderr, "dbg5 sensorSystem: %u\n", spd->cmnPart.sensorSystem); + fprintf(stderr, "dbg5 sensorStatus: %u\n", spd->cmnPart.sensorStatus); + fprintf(stderr, "dbg5 padding: %u\n", spd->cmnPart.padding); + + fprintf(stderr, "dbg5 localDatumCode: %s\n", spd->sensorData.localDatumCode); + fprintf(stderr, "dbg5 localDatumSubCode: %s\n", spd->sensorData.localDatumSubCode); + fprintf(stderr, "dbg5 latitudeOffset_deg: %f\n", spd->sensorData.latitudeOffset_deg); + fprintf(stderr, "dbg5 longitudeOffset_deg: %f\n", spd->sensorData.longitudeOffset_deg); + fprintf(stderr, "dbg5 altitudeOffset_m: %f\n", spd->sensorData.altitudeOffset_m); + fprintf(stderr, "dbg5 datumName: %s\n", spd->sensorData.datumName); + fprintf(stderr, "dbg5 posDatumDataFromSensor: %s\n", spd->sensorData.posDatumDataFromSensor); + } + + /* size of output record */ + *size = (size_t) spd->header.numBytesDgm; + + int status = MB_SUCCESS; + + /* allocate memory to write rest of record if necessary */ + if (*bufferalloc < *size) { + status = mb_reallocd(verbose, __FILE__, __LINE__, *size, (void **)bufferptr, error); + if (status != MB_SUCCESS) + *bufferalloc = 0; + else + *bufferalloc = *size; + } + + /* proceed to write if buffer allocated */ + if (status == MB_SUCCESS) { + /* get buffer for writing */ + buffer = (char *)*bufferptr; + + /* calc number of bytes for raw sensor data */ + numBytesRawSensorData = spd->header.numBytesDgm - MBSYS_KMBES_SPD_VAR_OFFSET; + + /* insert the header */ + mbr_kemkmall_wr_header(verbose, bufferptr, (void *)&(spd->header), error); + + /* insert the data */ + index = MBSYS_KMBES_HEADER_SIZE; + + /* common part */ + mb_put_binary_short(true, spd->cmnPart.numBytesCmnPart, &buffer[index]); + index += 2; + mb_put_binary_short(true, spd->cmnPart.sensorSystem, &buffer[index]); + index += 2; + mb_put_binary_short(true, spd->cmnPart.sensorStatus, &buffer[index]); + index += 2; + mb_put_binary_short(true, spd->cmnPart.padding, &buffer[index]); + index += 2; + + /* sensor data block */ + memcpy(&buffer[index], &(spd->sensorData.localDatumCode), 16); + index += 16; + memcpy(&buffer[index], &(spd->sensorData.localDatumSubCode), 16); + index += 16; + mb_put_binary_double(true, spd->sensorData.latitudeOffset_deg, &buffer[index]); + index += 8; + mb_put_binary_double(true, spd->sensorData.longitudeOffset_deg, &buffer[index]); + index += 8; + mb_put_binary_float(true, spd->sensorData.altitudeOffset_m, &buffer[index]); + index += 4; + memcpy(&buffer[index], &(spd->sensorData.datumName), 32); + index += 32; + + /* raw data msg from sensor */ + memcpy(&buffer[index], &(spd->sensorData.posDatumDataFromSensor), numBytesRawSensorData); + index += numBytesRawSensorData; + + /* insert closing byte count */ + mb_put_binary_int(true, spd->header.numBytesDgm, &buffer[index]); + } + + if (verbose >= 2) { + fprintf(stderr, "\ndbg2 MBIO function <%s> completed\n", __func__); + fprintf(stderr, "dbg2 Return values:\n"); + fprintf(stderr, "dbg2 error: %d\n", *error); + fprintf(stderr, "dbg2 Return status:\n"); + fprintf(stderr, "dbg2 status: %d\n", status); + } + +#ifdef MBR_KEMKMALL_DEBUG + fprintf(stderr, "KEMKMALL datagram type %.4s written - time: %d.%9.9d status:%d error:%d\n", + spd->header.dgmType, spd->header.time_sec, spd->header.time_nanosec, status, *error); +#endif + + /* return status */ + return (status); +}; + +/*--------------------------------------------------------------------*/ + int mbr_kemkmall_wr_skm(int verbose, size_t *bufferalloc, char **bufferptr, void *store_ptr, size_t *size, int *error){ char *buffer = NULL; int index = 0; @@ -8431,6 +8929,20 @@ int mbr_kemkmall_wr_data(int verbose, void *mbio_ptr, void *store_ptr, int *erro status = mb_fileio_put(verbose, mbio_ptr, (char *)(*bufferptr), &size, error); break; + case MB_DATA_NAVIGATION_ERROR: + /* #SPE - Sensor Position Error data */ + status = mbr_kemkmall_wr_spe(verbose, bufferalloc, bufferptr, store_ptr, &size, error); + if (status == MB_SUCCESS) + status = mb_fileio_put(verbose, mbio_ptr, (char *)(*bufferptr), &size, error); + break; + + case MB_DATA_DATUM: + /* #SPD - Sensor Position Datum data */ + status = mbr_kemkmall_wr_spd(verbose, bufferalloc, bufferptr, store_ptr, &size, error); + if (status == MB_SUCCESS) + status = mb_fileio_put(verbose, mbio_ptr, (char *)(*bufferptr), &size, error); + break; + case MB_DATA_NAV1: /* #SKM - KM binary sensor data */ status = mbr_kemkmall_wr_skm(verbose, bufferalloc, bufferptr, store_ptr, &size, error); @@ -8555,6 +9067,7 @@ int mbr_kemkmall_wr_data(int verbose, void *mbio_ptr, void *store_ptr, int *erro default: /* should never get here */ status = MB_FAILURE; + *error = MB_ERROR_BAD_DATA; break; } diff --git a/src/mbio/mbsys_kmbes.h b/src/mbio/mbsys_kmbes.h index 2ade06035..e2c599482 100644 --- a/src/mbio/mbsys_kmbes.h +++ b/src/mbio/mbsys_kmbes.h @@ -35,15 +35,19 @@ /* * Notes on the mbsys_kmbes data structure and associated format: * 1. This MBIO format supports the generic interface message output - * by the Konsberg EM datagram format. - * 2. Reference: Konsberg EM datagram format Reg.no. 410224 rev F, November 2018 - * 3. The Konsberg EM datagram stream consists of several different data + * by the Kongsberg EM datagram format. + * 2. Reference: Kongsberg EM datagram format Reg. no. 410224 rev F, November 2018 + * Kongsberg EM datagram format Reg. nr. 410224 rev J, 15-09-2023 + * 3. The Kongsberg EM datagram stream consists of several different data * records that can vary among models and installations - * 4. The Konsberg EM datagram format supports the following multibeam models (September 2016): - * EM 710, 40-100 kHz - * EM 712, 40-100 kHz - * EM 2040, 200/300/400 kHz - * EM 2040C, 180-400 kHz + * 4. The Kongsberg EM datagram format supports the following multibeam models + * September 2016: + * EM 710, 40-100 kHz + * EM 712, 40-100 kHz + * EM 2040, 200/300/400 kHz + * EM 2040C, 180-400 kHz + * September 2023: + * * 5. Each datagram begins with a 20 byte sequence: * unsigned int numBytesDgm; // Datagram length in bytes. * mb_u_char dgmType[4]; // Multi beam datagram type definition, e.g. #AAA @@ -57,29 +61,31 @@ * 6. All data are in little-endian form. * 7. The data record names include: * // I - datagrams (Installation and Runtime) - * IIP, // Info Installation PU - * IOP, // Runtime datagram - * IBE, // BIST error report - * IBR, // BIST reply - * IBS, // BIST short reply + * IIP, // Installation parameters and sensor setup. + * IOP, // Runtime parameters as chosen by operator. + * IBE, // Built in test (BIST) error report + * IBR, // Built in test (BIST) reply + * IBS, // Built in test (BIST) short reply * * // S-datagrams (Sensors) - * SPO, // Sensor POsition data - * SKM, // KM binary sensor data - * SVP, // Sound Velocity Profile - * SVT, // Sensor data for sound Velocity at Transducer - * SCL, // Sensor CLock data - * SDE, // Sensor DEpth data - * SHI, // Sensor HeIght data - * SHA, // Sensor HeAding data + * SPO, // Sensor (S) data for position (PO) + * SPE, // Sensor (S) data for postion error (PE) statistics + * SPD, // Sensor (S) data for position datum reference (PD) + * SKM, // Sensor (S) KM binary sensor format + * SVP, // Sensor (S) data from sound velocity (V) profile (P) or CTD + * SVT, // Sensor (S) data for sound velocity (V) at transducer (T) + * SCL, // Sensor (S) data from clock (CL) + * SDE, // Sensor (S) data from depth (DE) sensor + * SHI, // Sensor (S) data for height (HI) + * SHA, // Sensor (S) data for heading (HA) * * // M-datagrams (Multibeam) - * MRZ, // Multibeam data for raw range, depth, reflectivity, seabed image(SI) etc. - * MWC, // Water column multibeam data + * MRZ, // Multibeam (M) raw range (R) and depth (Z) datagram + * MWC, // Multibeam (M) water (W) column (C) datagram * * // C-datagrams (Compatibility) - * CHE, // Compatibility heave data - store raw sensor data without modification - * CPO, // Compatibility position data - store raw sensor data without modification + * CHE, // Compatibility (C) data for heave (HE) - store raw sensor data without modification + * CPO, // Compatibility (C) data for position (PO) - store raw sensor data without modification * * // F-datagrams (Files) * FCF, // Backscatter calibration (C) file (F) datagram @@ -108,25 +114,27 @@ #define MBSYS_KMBES_I_BS_BIST "#IBS" // Built in test (BIST) short reply. /* S-datagrams */ -#define MBSYS_KMBES_S_POSITION "#SPO" // Sensor POsition data -#define MBSYS_KMBES_S_KM_BINARY "#SKM" // KM binary sensor data -#define MBSYS_KMBES_S_SOUND_VELOCITY_PROFILE "#SVP" // Sound Velocity Profile -#define MBSYS_KMBES_S_SOUND_VELOCITY_TRANSDUCER "#SVT" // Sensor data for sound Velocity at Transducer -#define MBSYS_KMBES_S_CLOCK "#SCL" // Sensor CLock datagram -#define MBSYS_KMBES_S_DEPTH "#SDE" // Sensor DEpth data -#define MBSYS_KMBES_S_HEIGHT "#SHI" // Sensor HeIght data -#define MBSYS_KMBES_S_HEADING "#SHA" // Sensor HeAding +#define MBSYS_KMBES_S_POSITION "#SPO" // Sensor (S) data for position (PO) +#define MBSYS_KMBES_S_POSITION_ERROR "#SPE" // Sensor (S) data for position error statistics (PO) +#define MBSYS_KMBES_S_POSITION_DATUM "#SPD" // Sensor (S) data for position datum reference (PD) +#define MBSYS_KMBES_S_KM_BINARY "#SKM" // Sensor (S) KM binary sensor format +#define MBSYS_KMBES_S_SOUND_VELOCITY_PROFILE "#SVP" // Sensor (S) data from sound velocity (V) profile (P) or CTD +#define MBSYS_KMBES_S_SOUND_VELOCITY_TRANSDUCER "#SVT" // Sensor (S) data for sound velocity (V) at transducer (T) +#define MBSYS_KMBES_S_CLOCK "#SCL" // Sensor (S) data from clock (CL) +#define MBSYS_KMBES_S_DEPTH "#SDE" // Sensor (S) data from depth (DE) sensor +#define MBSYS_KMBES_S_HEIGHT "#SHI" // Sensor (S) data for height (HI) +#define MBSYS_KMBES_S_HEADING "#SHA" // Sensor (S) data for heading (HA) /* M-datagrams */ -#define MBSYS_KMBES_M_RANGE_AND_DEPTH "#MRZ" // Multibeam data for raw range, depth, reflectivity, seabed image(SI) etc. -#define MBSYS_KMBES_M_WATER_COLUMN "#MWC" // Multibeam water column datagram. +#define MBSYS_KMBES_M_RANGE_AND_DEPTH "#MRZ" // Multibeam (M) raw range (R) and depth (Z) datagram +#define MBSYS_KMBES_M_WATER_COLUMN "#MWC" // Multibeam (M) water (W) column (C) datagram /* C-datagrams */ -#define MBSYS_KMBES_C_POSITION "#CPO" -#define MBSYS_KMBES_C_HEAVE "#CHE" +#define MBSYS_KMBES_C_POSITION "#CPO" // Compatibility (C) data for position (PO) +#define MBSYS_KMBES_C_HEAVE "#CHE" // Compatibility (C) data for heave (HE) /* F-datagrams */ -#define MBSYS_KMBES_F_BSCALIBRATIONFILE "#FCF" +#define MBSYS_KMBES_F_BSCALIBRATIONFILE "#FCF" // Backscatter calibration (C) file (F) datagram /* X-datagrams */ #define MBSYS_KMBES_X_MBSYSTEM "#XMB" // Indicates these data written by MB-System (MB-System only) @@ -145,6 +153,8 @@ #define MBSYS_KMBES_PARITION_SIZE 4 #define MBSYS_KMBES_END_SIZE 4 #define MBSYS_KMBES_MAX_SPO_DATALENGTH 250 +#define MBSYS_KMBES_MAX_SPE_DATALENGTH 250 +#define MBSYS_KMBES_MAX_SPD_DATALENGTH 250 #define MBSYS_KMBES_MAX_ATT_DATALENGTH 250 #define MBSYS_KMBES_MAX_SVT_DATALENGTH 64 #define MBSYS_KMBES_MAX_SCL_DATALENGTH 64 @@ -156,6 +166,8 @@ #define MBSYS_KMBES_MAX_IIP_DATALENGTH 4096 #define MBSYS_KMBES_MAX_IOP_DATALENGTH 4096 #define MBSYS_KMBES_SPO_VAR_OFFSET 72 +#define MBSYS_KMBES_SPE_VAR_OFFSET 68 +#define MBSYS_KMBES_SPD_VAR_OFFSET 116 #define MBSYS_KMBES_SCL_VAR_OFFSET 36 #define MBSYS_KMBES_SDE_VAR_OFFSET 40 #define MBSYS_KMBES_SHI_VAR_OFFSET 40 @@ -221,6 +233,8 @@ typedef enum { /* S-datagrams */ SPO, // EM_DGM_S_POSITION + SPE, // EM_DGM_S_POSITION_ERROR + SPD, // EM_DGM_S_POSITION_DATUM SKM, // EM_DGM_S_KM_BINARY SVP, // EM_DGM_S_SOUND_VELOCITY_PROFILE SVT, // EM_DGM_S_SOUND_VELOCITY_TRANSDUCER @@ -338,6 +352,63 @@ struct mbsys_kmbes_spo { #define MBSYS_KMBES_SPO_VERSION 0 +/************************************ + #SPE - Sensor Position Error statistics data + ************************************/ + +struct mbsys_kmbes_spe_data_block { + /* #SPE - Sensor position error statistics data block. + The data fields are identical to the NMEA GST datagram. + The raw data as received from sensor is in text string. */ + unsigned int timeFromSensor_sec; /* Time from position sensor. Unit seconds. Epoch 1970-01-01. + * Ignoring leap seconds. Nanosec part to be added for more exact time. */ + unsigned int timeFromSensor_nanosec; /* Time from position sensor. Unit nano seconds remainder. */ + float rangeInputRms; /* Total RMS standard deviation of ranges inputs to the navigation solution */ + float ellipseSemiMajorAxisError_m; /* Standard deviation (meters) of semi-major axis of error ellipse */ + float ellipseSemiMinorAxisError_m; /* Standard deviation (meters) of semi-minor axis of error ellipse */ + float ellipseOrientationError_deg; /* Orientation of semi-major axis of error ellipse (true north degrees) */ + float latitudeError_m; /* Standard deviation (meters) of latitude error */ + float longitudeError_m; /* Standard deviation (meters) of longitude error */ + float heightError_m; /* Standard deviation (meters) of altitude error */ + int8_t posErrorDataFromSensor [MBSYS_KMBES_MAX_SPE_DATALENGTH]; /* Position error statistics data as received from sensor */ + +}; + +struct mbsys_kmbes_spe { + /* #SPO - Struct of position sensor datagram. */ + struct mbsys_kmbes_header header; + struct mbsys_kmbes_s_common cmnPart; + struct mbsys_kmbes_spe_data_block sensorData; +}; + + #define MBSYS_KMBES_SPE_VERSION 0 + +/************************************ + #SPD - Sensor Position Datum data + ************************************/ + +struct mbsys_kmbes_spd_data_block { + /* #SPD - Sensor position datum reference data block. + The data fields are identical to the NMEA DTM datagram. + The raw data as received from sensor is in text string. */ + int8_t localDatumCode [16]; /* Local datum code. E.g. W84 */ + int8_t localDatumSubCode [16]; /* Local datum subcode. May be blank. */ + double latitudeOffset_deg; /* Latitude offset in decimal degrees. */ + double longitudeOffset_deg; /* Longitude offset in decimal degrees. */ + float altitudeOffset_m; /* Altitude offset in meters. */ + int8_t datumName [32]; /* Datum name. What’s usually seen here is "W84", the standard WGS84 datum used by GPS. */ + int8_t posDatumDataFromSensor [MBSYS_KMBES_MAX_SPD_DATALENGTH]; /* Position datum data as received from sensor. */ +}; + +struct mbsys_kmbes_spd { + /* #SPO - Struct of position sensor datagram. */ + struct mbsys_kmbes_header header; + struct mbsys_kmbes_s_common cmnPart; + struct mbsys_kmbes_spd_data_block sensorData; +}; + + #define MBSYS_KMBES_SPD_VERSION 0 + /************************************ #SKM - KM binary sensor data ************************************/ @@ -1570,6 +1641,12 @@ struct mbsys_kmbes_struct { /* #SPO - Sensor POsition data */ struct mbsys_kmbes_spo spo; + /* #SPO - Sensor Position Error data */ + struct mbsys_kmbes_spe spe; + + /* #SPO - Sensor Position Datum data */ + struct mbsys_kmbes_spd spd; + /* #SKM - KM binary sensor data (attitude)*/ struct mbsys_kmbes_skm skm;