------------------------------------------------------------------------------- MB-SYSTEM CHANGELOG FILE: ------------------------------------------------------------------------------- Version: $Id: ChangeLog 2284 2016-10-23 09:47:05Z caress $ ------------------------------------------------------------------------------- This file lists changes to the source code of the MB-System open source software package for the processing and display of swath sonar data. This file is located at the top of the MB-System source code distribution directory structure. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5 RELEASE DATES: ------------------------------------------------------------------------------- Here "*" denotes source distribution release made available for ftp download. Releases without an "*" are discrete revisions available from the source code archive at http://svn.ilab.ldeo.columbia.edu/listing.php?repname=MB-System. * Version 5.5.2284 October 23, 2016 Version 5.5.2282 August 25, 2016 Version 5.5.2281 August 7, 2016 * Version 5.5.2279 July 8, 2016 * Version 5.5.2278 July 1, 2016 Version 5.5.2277 June 25, 2016 Version 5.5.2275 May 17, 2016 * Version 5.5.2274 May 5, 2016 Version 5.5.2271 April 1, 2016 * Version 5.5.2270 March 24, 2016 Version 5.5.2268 March 14, 2016 * Version 5.5.2267 February 11, 2016 Version 5.5.2265 February 11, 2016 Version 5.5.2264 February 2, 2016 * Version 5.5.2263 January 7, 2016 Version 5.5.2260 December 22, 2015 Version 5.5.2259 October 27, 2015 Version 5.5.2258 October 5, 2015 Version 5.5.2257 September 1, 2015 Version 5.5.2256 August 24, 2015 Version 5.5.2255 August 11, 2015 Version 5.5.2254 July 23, 2015 * Version 5.5.2252 July 1, 2015 * Version 5.5.2251 June 30, 2015 Version 5.5.2250 June 29, 2015 Version 5.5.2249 June 26, 2015 * Version 5.5.2248 May 31, 2015 Version 5.5.2247 May 29, 2015 * Version 5.5.2246 May 27, 2015 * Version 5.5.2243 May 22, 2015 * Version 5.5.2242 May 16, 2015 Version 5.5.2241 May 12, 2015 Version 5.5.2240 May 8, 2015 Version 5.5.2239 May 6, 2015 Version 5.5.2238 April 14, 2015 Version 5.5.2237 March 23, 2015 Version 5.5.2234 March 5, 2015 * Version 5.5.2233 February 23, 2015 Version 5.5.2232 February 21, 2015 Version 5.5.2231 February 20, 2015 Version 5.5.2230 February 18, 2015 Version 5.5.2229 February 14, 2015 Version 5.5.2228 February 6, 2015 * Version 5.4.2220 January 22, 2015 (Last GMT4-compatible archive revision, released February 27, 2015) Version 5.4.2219 December 11, 2014 Version 5.4.2218 December 4, 2014 Version 5.4.2217 December 1, 2014 * Version 5.4.2213 November 13, 2014 Version 5.4.2210 November 10, 2014 * Version 5.4.2209 November 4, 2014 * Version 5.4.2208 October 29, 2014 Version 5.4.2204 September 5, 2014 * Version 5.4.2202 August 25, 2014 Version 5.4.2201 August 20, 2014 * Version 5.4.2200 July 24, 2014 * Version 5.4.2199 July 19, 2014 Version 5.4.2196 July 14, 2014 Version 5.4.2195 July 9, 2014 Version 5.4.2194 July 8, 2014 * Version 5.4.2191 June 4, 2014 * Version 5.4.2188 May 31, 2014 Version 5.4.2187 May 28, 2014 Version 5.4.2186 May 26, 2014 Version 5.4.2185 May 11, 2014 * Version 5.4.2183 April 16, 2014 Version 5.4.2182 April 8, 2014 Version 5.4.2181 April 4, 2014 * Version 5.4.2176 March 18, 2014 * Version 5.4.2168 February 19, 2014 * Version 5.4.2163 January 31, 2014 Version 5.4.2162 January 24, 2014 * Version 5.4.2159 January 18, 2014 Version 5.4.2158 January 18, 2014 * Version 5.4.2157 October 14, 2013 Version 5.4.2155 October 13, 2013 Version 5.4.2154 September 26, 2013 Version 5.4.2153 September 22, 2013 * Version 5.4.2152 September 16, 2013 Version 5.4.2151 September 12, 2013 Version 5.4.2149 September 2, 2013 Version 5.4.2148 August 28, 2013 Version 5.4.2147 August 27, 2013 Version 5.4.2144 August 26, 2013 Version 5.4.2143 August 24, 2013 Version 5.4.2141 August 24, 2013 Version 5.4.2139 August 19, 2013 Version 5.4.2138 August 18, 2013 Version 5.4.2137 August 9, 2013 Version 5.4.2136 August 8, 2013 * Version 5.4.2135 August 7, 2013 Version 5.4.2133 July 29, 2013 Version 5.4.2132 July 26, 2013 Version 5.4.2130 July 20, 2013 Version 5.4.2129 July 8, 2013 Version 5.4.2128 June 18, 2013 Version 5.4.2123 June 10, 2013 Version 5.4.2082 May 24, 2013 Version 5.3.2053 April 4, 2013 Version 5.3.2051 March 20, 2013 Version 5.3.2042 March 12, 2013 * Version 5.3.2017 March 3, 2013 * Version 5.3.2013 January 29, 2013 * Version 5.3.2012 January 25, 2013 * Version 5.3.2011 January 17, 2013 Version 5.3.2010 January 14, 2013 * Version 5.3.2009 January 10, 2013 * Version 5.3.2008 January 6, 2013 Version 5.3.2007 January 5, 2013 Version 5.3.2006 January 4, 2013 Version 5.3.2005 December 31, 2012 Version 5.3.2004 December 12, 2012 Version 5.3.2000 Navember 14, 2012 Version 5.3.1999 Navember 13, 2012 Version 5.3.1998 Navember 6, 2012 Version 5.3.1994 October 27, 2012 Version 5.3.1988 September 29, 2012 Version 5.3.1986 September 12, 2012 * Version 5.3.1982 August 15, 2012 Version 5.3.1981 August 2, 2012 * Version 5.3.1980 July 13, 2012 * Version 5.3.1955 May 16, 2012 Version 5.3.1941 March 6, 2012 * Version 5.3.1917 January 10, 2012 * Version 5.3.1912 November 19, 2011 * Version 5.3.1909 November 16, 2011 * Version 5.3.1907 November 9, 2011 * Version 5.3.1906 September 28, 2011 * Version 5.2.1880 December 30, 2010 Version 5.1.3beta1875 November 23, 2010 Version 5.1.3beta1874 November 7, 2010 Version 5.1.3beta1862 June 7, 2010 Version 5.1.3beta1858 May 18, 2010 Version 5.1.3beta1855 May 4, 2010 Version 5.1.3beta1851 April 14, 2010 Version 5.1.3beta1844 March 30, 2010 Version 5.1.3beta1843 March 29, 2010 Version 5.1.3beta1829 February 5, 2010 * Version 5.1.2 December 31, 2009 Version 5.1.2beta15 December 30, 2009 Version 5.1.2beta14 December 28, 2009 Version 5.1.2beta13 December 28, 2009 Version 5.1.2beta12 December 26, 2009 Version 5.1.2beta11 Ausust 26, 2009 Version 5.1.2beta10 Ausust 12, 2009 Version 5.1.2beta09 Ausust 7, 2009 Version 5.1.2beta08 Ausust 5, 2009 Version 5.1.2beta06 July 2, 2009 Version 5.1.2beta05 June 14, 2009 Version 5.1.2beta02 March 13, 2009 Version 5.1.2beta01 March 9, 2009 * Version 5.1.1 December 31, 2008 Version 5.1.1beta26 November 18, 2008 Version 5.1.1beta25 September 28, 2008 Version 5.1.1beta23 September 19, 2008 Version 5.1.1beta21 July 20, 2008 Version 5.1.1beta20 July 10, 2008 Version 5.1.1beta19 June 6, 2008 Version 5.1.1beta18 May 16, 2008 Version 5.1.1beta17 March 21, 2008 Version 5.1.1beta16 March 14, 2008 Version 5.1.1beta15 February 8, 2008 Version 5.1.1beta14 January 15, 2008 Version 5.1.1beta13 November 16, 2007 Version 5.1.1beta12 November 2, 2007 Version 5.1.1beta11 October 17, 2007 Version 5.1.1beta10 October 8, 2007 Version 5.1.1beta5 July 5, 2007 * Version 5.1.0 November 26, 2006 Version 5.1.0beta4 October 5, 2006 Version 5.1.0beta3 September 11, 2006 Version 5.1.0beta2 August 9, 2006 Version 5.1.0beta July 5, 2006 * Version 5.0.9 February 20, 2006 * Version 5.0.8 February 8, 2006 Version 5.0.8beta5 February 3, 2006 Version 5.0.8beta4 February 1, 2006 Version 5.0.8beta3 February 1, 2006 Version 5.0.8beta2 January 27, 2006 Version 5.0.8beta January 24, 2006 * Version 5.0.7 April 7, 2005 * Version 5.0.6 February 19, 2005 * Version 5.0.5 October 6, 2004 * Version 5.0.4 May 22, 2004 * Version 5.0.3 February 27, 2004 * Version 5.0.2 December 24, 2003 * Version 5.0.1 December 12, 2003 * Version 5.0.0 December 5, 2003 Version 5.0.beta31 April 29, 2003 Version 5.0.beta30 April 25, 2003 Version 5.0.beta29 March 10, 2003 Version 5.0.beta28 January 14, 2003 Version 5.0.beta27 November 13, 2002 Version 5.0.beta26 November 3, 2002 Version 5.0.beta25 October 15, 2002 Version 5.0.beta24 October 4, 2002 Version 5.0.beta23 September 20, 2002 Version 5.0.beta22 August 30, 2002 Version 5.0.beta21 July 25, 2002 Version 5.0.beta20 July 20, 2002 Version 5.0.beta18 May 31, 2002 Version 5.0.beta17 May 1, 2002 Version 5.0.beta16 April 5, 2002 Version 5.0.beta15 March 26, 2002 Version 5.0.beta14 February 25, 2002 Version 5.0.beta13 February 22, 2002 Version 5.0.beta12 January 2, 2002 Version 5.0.beta11 December 20, 2001 Version 5.0.beta10 November 20, 2001 Version 5.0.beta09 November 6, 2001 Version 5.0.beta08 October 19, 2001 Version 5.0.beta07 August 10, 2001 Version 5.0.beta06 July 30, 2001 Version 5.0.beta05 July 23, 2001 Version 5.0.beta04 July 20, 2001 Version 5.0.beta03 July 19, 2001 Version 5.0.beta02 June 30, 2001 Version 5.0.beta01 June 8, 2001 Version 5.0.beta00 April 6, 2001 ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.5 RELEASE NOTES: ------------------------------------------------------------------------------- -----> 5.5.2284 (October 23, 2016) Fixed some typos preparing for full release. -----> 5.5.2283 (October 23, 2016) mbmakeplatform: fixed bug that caused core dumps when built with gcc. mbaux/mb_cheb.c: Added open source least squares solver LSQR by Michael A. Saunders (in C version translated from Fortran by Michael P. Friedlander), Mbnavadjust: Switch navigation matrix solution algorithm to LSQR. Mbnavadjust: Fixed bug that reset the z-offset-width value to 5-m every time a project was read. Mb7kpreprocess: Now will use complete platform description when reading older Reson 7k data. Mb7kpreprocess: Now allows users to specify the the sources of asynchronous ancilliary data (position, sensor depth, heading, attitude) to be merged with the survey data. Mbgrdviz, mbeditviz, mbnavadjust: pick actions will now print out positions to the shell in both decimal degrees and degrees + minutes. Mbextractsegy: Now uses psconvert from GMT instead of convert from imagemagick. mbm_grdplot: Once again handles section plots from mbextractsegy properly. mbm_arc2grd, mbm_dslnavfix, mbm_grd2arc, mbm_grd2geovrml, mbm_grd3dplot, mbm_grdcut, mbm_grdinfo, mbm_grdplo, mbm_grdtiff, mbm_grid, mbm_histplot, mbm_plot, mbm_utm, mbm_xyplot: Modified to work properly with GMT 5.3 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) Mbnavadjustmerge: Added --set-ties-xyonly-by-time=timethreshold option. Mbnavadjust: Improved program behavior with respect to generating the grid used for the project visualization view. 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) Mbnavadjustmerge: Added --unset-skipped-crossings-by-block=survey1/survey2 and --unset-skipped-crossings-between-surveys options, and made the --import-tie-list=filename and --export-tie-list=filename options work correctly. Mbclean: Added option to flag outer beams and/or unflag inner beams by acrosstrack distance (-Y option). -----> 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 on files with existing, old esf (edit save files) files. Yet another consequence of adapting to very short ping intervals... Existing edit save files can now be fixed using mbclean -T0.0011. Mbm_grdtiff: Added support for image display program feh. -----> 5.5.2278 (July 1, 2016) Mbkongsbergpreprocess (Formats 58 & 59): Fixed modification of png_xducer_depth 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) Mbm_xyplot, mbm_grdplot: fixed problem generating plots using linear axes. Recent changes to GMT cause gmt mapproject to generate an error when passed non-map (e.g. non lon lat) values with a linear projection (after three decades of working just fine....). Created a workaround by treating linear plots as a special case. Mbeditviz, mbedit, mbclean: Fixed problem with edit save files in which old format *.esf files where generated by mbeditviz. This does not work well with data where separate ping timestamps differ by less than 10 milliseconds (e.g. current generation Kongsberg multibeams reporting fore and aft pings from each ping cycle and 3DatDepth lidar data). Mbkongsbergpreprocess (Formats 58 & 59): Fixed handling of sonar depth and heave values in Kongsberg multibeam data logged using SIS on a submerged platform. Format 201 (MBF_HYSWEEP1): Changed handling of file header data to enable the extraction of platform definition data by the program mbmakeplatform. MBmakeplatform: Now capable of extracting the list of sensors and the associated offsets from Hypack HSX files, and outputting an MB-System platform file. MBhysweeppreprocess: Now allows for sensor offsets to be defined by an MB-System platform file, which can be extracted from HSX data files with mbmakeplatform, and can be modified and augmented using the same program. MBeditviz: Added a new sounding filter mode that calculates the sounding density for a 3D "voxel" representation of the selected volume, and then flags soundings in voxels containing less than a threshold of soundings. This algorithm flags isolated soundings, an approach that is particularly useful for submarine lidar data. This filter is accessible from the "action" menu of the 3D sounding window. -----> 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 containing less than a desired threshold of soundings. This option is accessed from the menu of the 3D sounding view. Format 201 (MBF_HYSWEEP1) and mbhysweeppreprocess: Fixed handling of data that have beam takeoff angles calculated without attitude correction. Changed the default heave sign convention. Format 231 (MBF_3DDEPTHP): Now handles files with broken data records a bit more gracefully. -----> 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 is survey-vs-survey blocks. MBkongsbergpreprocess: Added capability to merge sonardepth from a separate ascii file consisting of Unix time and sonardepth pairs. Makefiles and mbr_gsfgenmb.c: Fixed typos noted by Joaquim Luis. General: Fixed several warnings generated by the new gcc version in Ubuntu 16. -----> 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. MBgrdviz, MBeditviz: New radiobox in the Controls->Projections dialog allows user to change interactive pick annotations so that longitude and latitude values are shown as degrees + decimal minutes or decimal degrees, as desired MBeditviz: Fixed bug involving some isnan calls according to suggestion by Gordon Keith - MB-System now builds on Ubuntu 16.04. Mbswath: Fixed bug in handling format for single input files, as suggested by Joaquim Luis. Mbnavadjustmerge: Added commands to set the mode of all ties as XYZ, XY only, or Z only. Many source files: Added a number of #ifdef preprocessor statements to handle building on Windows, generally following suggestions by Joaquim Luis. Many source files: Fixed a number of warnings related to typing and prototyping issues. -----> 5.5.2271 (April 1, 2016) MBnavadjust: Added numbers of crossings and ties to the table listing of survey-vs-survey blocks. Formats 58 and 59 (MBF_EM710RAW & MBF_EM710MBA): added EM850 to supported third generation Kongsberg multibeams. -----> 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. Mbm_route2mission: Calculates AUV ascent time with a 1.5 safety factor instead 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) MBkongsbergpreprocess, and formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA) for current generation Kongsberg multibeam data: Changed so that the default source for attitude data used in recalculating bathymetry from travel times and angles is the "active" source originally used by the sonar rather than always being motion sensor 1. MBnavadjust: Fixed creation of bathymetry grid (gridding scripts were not being set executable). Removed data from fixed files from the bathymetry grid. MBkongsbergpreprocess: Now by default uses the same attitude data stream used by the sonar in realtime, as opposed to using data from "motion sensor 1" regardless of whether that was the active realtime sensor. Bathymetry editing programs (MBedit, MBeditviz, MBareaclean, MBclean): fixed beam edit code so that no attempt is made to sort zero length arrays of beam flags. -----> 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 navigation in the map view. If two selected sections do not already have a defined crossing, a crossing can be created and analyzed. The new version of mbnavadjust will upgrade old projects to include the bathymetry grid. The new GUI commands include under the menu, and under the menu. The documentation, such as it is, does not yet cover these new features. Mbm_multicopy and mbm_multidatalist: Fixed bugs identified (along with fixes) by Martin Ernst of HafenCity University in Hamburg, Germany. Mbswath, mbcontour, mbgrdtiff: added #ifdefs for compatibility with the upcoming GMT 5.3 release. A number of GMT functions called by the MB-System GMT modules are being renamed. Format 21 (MBF_HSATLRAW): Added some logic to handle problems in a very old HSDS dataset collected on the R/V Ewing and available at the archive formally known as NGDC. -----> 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" menu. Mb7kpreprocess: Added capability to tweak beam angles through a Snell's law type correction (kluge mode 9). Mbgetesf, mbdumpesf, mbedit, mbeditviz, mbareaclean, mbclean, mbprocess: Fixed problem handling certain old ESF files (edit save files) that had timestamps truncated to milliseconds instead of microseconds. New ESF files now have a header indicating the version and time of creation. Version 2 ESF files are presumed to have timestamps consistent with datafiles to a +/-1 microsecond precision. Documentation: Corrected instructions for building MB-System on Ubuntu machines. -----> 5.5.2264 (February 4, 2016) Mbgrid, mbm_dslnavfix, mbm_grd2arc, mbm_grd3dplot, mbm_grdplot, mbm_grdtiff, mbm_histplot, mgm_plot, mbm_utm, mbm_xyplot: Replaced call to "grdinfo" with call to "gmt grdinfo" for compatibility with GMT5 installations that do not include soft links to the old GMT4 programs. Mbauvloglist: Added ability to calculate and output potential temperature when parsing an MBARI Dorado AUV CTD log. Includes adding a potential temperature calculation function to src/mbio/mb_absorption.c Mbpreprocess: Fixed problem with application of changes to roll and pitch values. MBnavadjustmerge: Enabled exporting and importing lists of ties. -----> 5.5.2263 (January 7, 2016) Formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA) for current generation Kongsberg multibeam data: Fixed problems handling tide correction and applying heave when recalculating bathymetry through raytracing. Format 59 (MBF_EM710MBA): Worked on preprocessing function called by mbpreprocess. Not done yet... Format 88 (MBF_RESON7KR): Worked on preprocessing function called by mbpreprocess. Not done yet... mbio/mb_access.c: Added explicitly setting the target sensor id to the mb_preprocess() function call. Mbm_grdtiff: Fixed bug in grdinfo call. GMT integration: Removed GMT header files from mbsystem/gmt because GMT 5.2.1 now installs full development headers. MB-System is now not compatible with any version of GMT prior to 5.2.1. Configure build system: Now uses built in configuration tools in GMT and netCDF so that command line arguments to the configure script specifying GMT and netCDF library locations are no longer necessary. mbio/mb_io.h and mbio/mb_platform.c: Added fields to platform structure: mb_longname documentation_url; double start_time_d; double end_time_d; int start_time_i[7]; int end_time_i[7]; Mbmakeplatform: Added commands: --platform-documentation-url=string --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) Mbpreprocess: Now called format-specific preprocess function if available and applied generic preprocessing otherwise. The first format specific preprocessing to be defined is for Reson 7k data (MBIO format 88). Mb7kpreprocess: Modified optional fixing of multibeam ping times assuming a specified constant ping interval. Mbmakembplatform: Added manual page. mbio/mb_navint.c: Added MBIO API functions mb_apply_time_latency() and mb_apply_time_filter(). Mbeditviz: Fixed application of time latency to sonardepth. -----> 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. Mbmakeplatform: Added new program to create or modify platform files. Format 58 (MBF_EM710RAW): Added functions needed for mbmakeplatform to automatically extract a platform model with sensor offsets. Format 59 (MBF_EM710MBA): Added functions needed for mbmakeplatform to automatically extract a platform model with sensor offsets. Format 88 (MBF_RESON7KR): Added functions needed for mbmakeplatform to automatically extract a platform model with sensor offsets. Mb7kpreprocess: Added kluge mode (-K6) to fix a time stamp problem with recent MBARI Mapping AUV data. Specifically, due to the application of time disciplining to the Reson computer clock using two occasionally inconsistent time sources, 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) Mbpreprocess: Using platform functions to handle sensor offsets. Read platform file or command line offsets and calculate sensor offsets. Updated bathymetry calculations. General: Added functions mb_platform_orientation and mb_platform_orientation_target on mbio/mb_platform. Cleaned mb_platform_orientation_offset. Change all MB_PLATFORM_MATH* functions to DEEGREES inputs/outputs on mbio/mb_platform_math. Fixed bug on mb_platform_lever. -----> 5.5.2256 (August 24, 2015) Mbeditviz: Improved the way to handle sensor offsets. Improved mbeditviz_apply_timelag the way to handle angles corrections. Cleaned mbeditviz_beam_position to make it more clear. mbio/mb_platform_math.c: Added new math functions mb_platform_math_attitude_offset_corrected_by_nav and mb_platform_math_attitude_rotate_beam to handle sensor offset corrections. -----> 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 second derivative) in the inversion algorithm. This change has been implemented to prevent the inversion from becoming unstable as the smoothing parameter is made larger. Mbprocess: Fixed problem with handling of sensor depth changes due to tide correction or lever arm correction. -----> 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 generate production distributions, so the existence of these targets defined by default caused some confusion. Mbset and mbprocess: Added NAVSHIFTX and NAVSHIFTY options to the mbprocess parameter file definition. Mbgrid: Fixed the -Kbackground option for the case of producing grids in projected coordinate systems. General: Improved the way to handle sensor offsets on mbio/mb_platform.c and changed the way is currently used in mb7kpreprocess. Added mbio/mb_platform_math.c to the archive. This source file includes math functions to calculate angular offsets. -----> 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) Mblist, mbnavlist, mbctdlist: Changed time outputs so that decimal second values will be formatted according to the locale (e.g. decimal delineation by commas in Europe). Mbedit, mbnavedit, mbnavadjust, mbvelocitytool, mbgrdviz, mbeditviz: Set up preprocessor defines to allow fonts to be defined using the CFLAGS environment variable. -----> 5.5.2250 (June 29, 2015) Mbedit, mbnavedit, mbvelocitytool, mbgrdviz, mbeditviz: Removed call to X11 function XtSetLanguageProc() in all graphical tools. This call apparently causes the program locale to be reset according system defaults, even if the program implicitly begins in the standard C locale. If the system locale uses "," rather than "." as the decimal point marker (e.g. a normal European locale), then a GMT 5 initialization will probably fail on reading fonts, at least on many if not all Linux distributions. Thanks to Giancarlo Troni for figuring this one out. General: Added mbio/mb_platform.c to the archive. This source file includes the functions to read, write, and use platform, sensor, and sensor offset definitions. At this time the mb_platform_*() functions are only used in mb7kpreprocess, but they will soon be used in mbprocess and all the preprocess programs. Mbprocess: changed application of tide corrections so that these corrections are applied to the platform depth values rather than the bathymetry values. The result 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) 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 for port side beams when all aziumuthal angles are uniformaly zero (=starboard). General: Added platform, sensor, and sensor offset definitions to mb_io.h for use in flexibly defining a platform consisting of many sensors with relative positional and angular offsets. Also added functions to read and write platform files using these definitions. Have not completed the function to perform lever arm calculations using this platform definition. Initially these functions will be used in mb7kpreprocess, but ultimately these will be used generally in MB-System. Mb7kpreprocess: initial implementation using the new platform file and structure definitions. -----> 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) 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) Mbswath, mbcontour, mbgrdtiff: Updated GMT5 header files in src/gmt to enable building on Ubuntu Linux, CentOs Linux, and CygWin while maintaining compatibility with GMT 5.1.2. 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) Rewrote the configure.ac file to fix logic flaws in the configure script. -----> 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) Format 59 (MBF_EM710MBA): Fixed flag causing erroneous warning that beam flags are not supported for this format (beam flags are supported). 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) 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) 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 existing CORBATHY data records (specifically the "empty" field in the CORBATHY beam data specified in ICD 2.4). Many source files: changes to precompiler directives suggested by Joaquim Luis in order to enable building under Windows. Mbnavadjust: Modified the inversion to separate the vertical and lateral covariance so that lateral offsets do not bleed into the vertical offset model. Mb7kpreprocess: Fixed bug that treated null soundings as good for datasets without detection records. Mbdumpesf: Added capability to output in the edit save file format in addition to ASCII text, and to ignore specified types of edit events (e.g. copy an esf file while removing all beam null events). 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) Mbnavadjust: Recast and improved the inversion. Added a "perturbation" model display which does not include the average offsets between the individual surveys in projects involving multiple surveys. Mbcontour, mbswath, mbgrdtiff: Included fixes suggested by Joaquim Luis for compatibility with the next GMT5 release. Mbclean: Removed -M3 and -M4 options that previously caused the program to null (or zero) rather than flag bad soundings. This is an obsolete feature that only made sense prior to existence of mbprocess. Mbbackangle: Fixed mbm_grdplot call to no longer use an obsolete option. -----> 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) 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 the fixed global frame of reference with a specified x, y, z offset (or just x and y, or just z) and x, y, and z uncertainties in the offset values. These global ties are set using mbnavadjustmerge. The relevant mbnavadjustmerge commands are: --set-global-tie=file:section[:snav]/xoffset/yoffset/zoffset[/xsigma/ysigma/zsigma] --set-global-tie-xyz=file:section[:snav] --set-global-tie-xyonly=file:section[:snav] --set-global-tie-zonly=file:section[:snav] Mbnavadjustmerge: Added ability to unset (delete) global ties and crossing ties. The relevant mbnavadjustmerge commands are: --unset-global-tie=file:section --unset-tie=file1:section1/file2:section2 Mbnavadjust, mbnavadjustmerge: Explicitly added references to libgmt and libpsl in the src/mbnavadjust/Makefile.am file so that the mbnavadjust and mbnavadjustmerge executables are linked to those libraries. This is to solve a mysterious dependency of mbnavadjust on libgmt on CentOs6 - the program was failing due inability to find libgmt.so.5 even though the code does not reference any GMT or GMT5 function or header file. Presumably this change will go away when the mystery is solved. Mbsslayout: fixed automatically generated plottin script. Mbm_route2mission: Added multibeam maximum range value. -----> 5.5.2234 (March 5, 2015) Plot macros (mbm_grdplot, mbm_grd3dplot, mbm_grdtiff, mbm_histplot, mbm_plot, mbm_xyplot): Now generate plotting scripts that will not attempt to display the plot on the screen if invoked with a "-N" command line argument. Format 64 (MBF_MR1PRVR2): Added include of in mbbs_defines.h to facilitate building under cygwin. Multi-macros (mbm_multiprocess, mbm_multicopy, mbm_multidatalist): Changed to use datalist.mb-1 as default input and to use 4 as the default number of CPUs. Mbedit: Added fast scroll through a file if the forward or back mouse buttons are held down more than 2 seconds. Mbextractsegy, mbsslayout: Changed output section/line plotting script so that it will not attempt to display the plot on the screen if invoked with a "-N" command line argument. 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) Release 5.5.2233 Mbm_grdplot, mbm_grdtiff: Generated plot scripts now set foregound and background colors based on the -D option. Mbmroute2mission: Now allows the maximum planned climb rate of the AUV to be specified with the -U option -----> 5.5.2232 (February 21, 2015) Mbm_plot, mbm_grdplot, mbm_grd3dplot, mbhistplot: Changed handling of gmt defaults so that any local gmt.conf file is deleted before any gmtset calls are made, and the resulting gmt.conf file is deleted before the plot script ends. Mbswath: fixed calculation of beam or pixel footprints in mode requesting real footprint plotting. -----> 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) Mbgrdtiff: Fixed ordering of rows and columns in the output image. Mbm_route2mission: Added output of a mission alititude profile plot. Mbauvloglist: Added capability of binary output. Mb7kpreprocess: Fixed so that bathymetry calculation uses roll merged at the bottom detect time for all of the possible combinations of Reson 7k data record types. Mbpreprocess: Fixed to exclude zero longitude or lattitude values from the tables used for interpolation onto ping times. Mbrolltimelag: Fixed automatically generated roll-slope correlation plot. -----> 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. Mbfilter: removed failing check for existance of sidescan data. Mbsegygrid: flipped grid convention for compatibility with GMT5. Mbm_plot, mbm_grdplot, mbm_grd3dplot, mbm_histplot: further changes for compatibility with GMT5. Mbm_route2mission: Compatibility with GMT5. Mbcontour, mbswath: More changes for compatibility with GMT5. -----> 5.5.2228 (February 6, 2015) Install_makefiles: the old install_makefiles build system no longer functions and has been removed. Mbgrid: When using the two-step weighted footprint slope algorithm, mbgrid only reads files on the second pass through the input datalist that contained useful data in the first pass. Major changes made to integrate MB-System with GMT5: The code will no longer compile or work with GMT4.5. Changes include: -updating functions in libmbaux that read and write GMT grids -deletion of src/mbaux/mb_pslibface.c -changes to all programs that read or write GMT grids, -the former programs mbcontour, mbswath, and mbgrdtiff are now GMT5 modules built as part of a shared library. -changes to all of the plot macros (e.g. mbm_grdplot) that make use of GMT Format 88 (MBF_RESON7KR): Update Reson 7k i/o module to handle TVG records. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.4 RELEASE NOTES: ------------------------------------------------------------------------------- -----> 5.4.2219 (December 11, 2014) Mbnavadjust: Fixed fixed memory management issue related to fbt files. Mb7kpreprocess: Moved toward correct handling of sensor offsets. Mbpreprocess: Moved toward correct handling of sensor offsets. -----> 5.4.2218 (December 4, 2014) Mbinfo: Fixed JSON format output to file (previously missed final closing bracket). -----> 5.4.2217 (December 1, 2014) Mbclean: Implemented additional flagging tests contributed by Suzanne O'Hara, including speed range (-Pspeed_min/speed_max), ping navigation bounds (-Rwest/east/south/north), and zero longitude and latitude values (-Z). Also, a minimum depth at nadir test embedded by Dana Yoerger for all data (circa 2010) has been recast into a minimum range test option (-Krange_min). 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) Format 251 (MBF_PHOTGRAM): We have added a new data format and associated data system supporting photogrammetric topography calculated from stereo pair photographs. This format includes navigation and attitude data. Each 2D group of bathymetry values is derived with a single stereo pair. A file consists of a sequence of stereo pair bathymetry, each set of which has a timestamp, navigation and attitude as well as bathymetry values. The format 251 files are generated from stereo pairs (and navigation and attitude data) by a set of tools that are not currently in MB-System, but which will be added to MB-System in the future. Mbeditviz and Mbgrdviz: Now allow selection of a single navigation point. Mbeditviz and mbgrid: Now handle point topography data (e.g. xyz soundings, lidar soundings, photogrammetry topography) differently than multibeam soundings even when the footprint algorithm is specified. Point data are now treated as such, and no longer are associated with nonsensical beam footprints. Format 71 (MBF_MBLDEOIH) and fbt files: We have defined a new data record header (version 5) that represents the number of bathymetry beams, amplitude beams, and sidescan pixels as four-byte int values rather than two-byte short values. This supports data constructs that have more than 32768 bathymetry values, as can be the case for dense photogrammetry data derived from stereo-pair photography. The i/o module only uses the version 5 header when there are more than 32768 bathymetry values in the associated sonar ping, lidar scan, or photographic stereo pair. Otherwise, the previously existing version 4 header is used. Consequently, for all previously supported data types there will be no change to the MBF_MBLDEOIH format or to fbt files. General: MB-System now defines several types of bathymetry data: MB_TOPOGRAPHY_TYPE_UNKNOWN 0 MB_TOPOGRAPHY_TYPE_ECHOSOUNDER 1 MB_TOPOGRAPHY_TYPE_MULTIBEAM 2 MB_TOPOGRAPHY_TYPE_SIDESCAN 3 MB_TOPOGRAPHY_TYPE_INTERFEROMETRIC 4 MB_TOPOGRAPHY_TYPE_LIDAR 5 MB_TOPOGRAPHY_TYPE_CAMERA 6 MB_TOPOGRAPHY_TYPE_GRID 7 MB_TOPOGRAPHY_TYPE_POINT 8 The immediate utility of differentiating between data types is to allow gridding algorithms to handle data appropriately. As discussed above, the footprint gridding algorithms are now only applied by mbgrid or mbeditviz to multibeam bathymetry. Other differences in data processing will be added in the future. 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) Mbkongsbergpreprocess: Added -E option to allow specification of offsets between the depth sensor and the sonar. This is relevant only to submerged platforms such as AUVs or ROVs. Also added -P option to enable filtering of pressure depth data. Format 59 (MBF_EM710MBA): Set the navigation and attitude source records to be survey data so that mbnavedit and mbnavlist work by default with values from the survey records rather than asynchronous raw sensor data. The navigation and attitude sources for format 58 (MBF_EM710RAW) remain the asynchronous records. 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) Mbkongsbergpreprocess: Changed handling of water column records. The default behavior is now to not write water column records to the output format 59 files. Users can specify -W1 to have the water column records written in the output files. Format 41 (MBF_SB2100RW): Bug fix for Seabeam format 41 so the code handles records without the maximum number of beams. Contributed by Bob Covill. Mbprocess: Added ability to apply static bathymetry corrections defined according to beam angle in addition to corrections according to beam number. Contributed by Bob Covill. Mbvelocitytool: When loading a swath file, mbvelocitytool will now also read in and apply an associated *.esf (edit save file) if it exists. This prevents soundings that have been identified as bad from biasing the calculations. Contributed by Bob Covill. Mbm_grdcut: Fix to the manual page. Contributed by Jenny Paduan. -----> 5.4.2209 (November 4, 2014) MBnavadjustmerge: Completed the manual page for this new program that allows one to merge and manipulate MBnavadjust projects. Formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA): Recast the i/o architecture to handle the full variablity of multibeam data in these formats. -----> 5.4.2208 (October 29, 2014) Mbkongsbergpreprocess: Fixed calculation of beam takeoff angles for raytracing from the raw range and angle data records by including code made available by Jonathan Beaudoin. Recalculation of bathymetry in current generation Kongsberg multibeam data appears to work now. Formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA): Support Mesotech M3 multibeam data recorded in *.all files. Formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA): Fixed calculation of beam takeoff angles for raytracing from the raw range and angle data records by including code made available by Jonathan Beaudoin. Recalculation of bathymetry in current generation Kongsberg multibeam data appears to work now. -----> 5.4.2204 (September 5, 2014) Mb7kpreprocess: Changed handling of roll, pitch, and heave compensation to deal with deep water Reson 7150 data. Format 88 (MBF_RESON7KR): Changed handling of roll, pitch, and heave compensation to deal with deep water Reson 7150 data. Mbdefaults: Added control of default color and shading settings for mbgrdviz and mbeditviz. Format 231 (MBF_3DDEPTHP): Fixed the mbsys_3datdepthlidar_insert_nav() function to apply changes to all pulses. Mbgrdviz and Mbeditviz: Default color and shading settings now can be set using mbdefaults. -----> 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. Format 21 (MBF_HSATLRAW): Augmented to trim trailing blank space at the end of lines before parsing - this allows reading Hydrosweep DS data in the form held by NIO. -----> 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 for positive values (e.g. topography above sea level). The Sealevel 2 pallette was contributed by Jenny Paduan. Mbeditviz: Changed default illumination parameters to magnitude=1.0 and elevation=5.0. Mbgrdviz: Changed default illumination parameters to magnitude=1.0 and elevation=5.0. Mbnavadjust: Added views for 10% coverage crossings. 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) Format 121 (MBF_GSFGENMB): Fixed bug in which null sensor depth and altitude values are handled incorrectly. -----> 5.4.2199 (July 20, 2014) Format 121 (MBF_GSFGENMB): Modified GSF 3.06 source files gsf.c gsf_indx.c to disable recasting of fundamental file io functions (fopen(), fseek(), ftell(), stat()) when the compile flag -DUSE_DEFAULT_FILE_FUNCTIONS is defined. This allows MB-System builds to just use the normal file functions without changing the build behavior of the code in other contexts. The issue is that Leidos is supporting 64-bit file i/o in binaries for 32-bit architectures. The consequence of this change in MB-System is that MB-System will not support GSF files that are 2 GB or larger when built on or for 32-bit systems. mbpreprocess: Fixed bug in merging of asynchronous attitude data. This program is not ready for general use. -----> 5.4.2196 (July 14, 2014) mbotps: Added -P option to specify the location of the OTPS package. mbsslayout: Made to work (again) with Reson 7k data with embedded Edgetech sidescan and subbottom data. mb7kpreprocess: Made to work (again) with Reson 7k data with embedded Edgetech sidescan and subbottom data. mbextractsegy: Made to work (again) with Reson 7k data with embedded Edgetech sidescan and subbottom data. -----> 5.4.2195 (July 9, 2014) Format 88 (MBF_RESON7KR): Fixed bug in mbsys_reson7k_extract_altitude(). Format 132 (MBF_EDGJSTAR): Added mbsys_jstar_insert_altitude() to support mbpreprocess and mbsslayout. Fixed handling of heading on extract and insert. mbm_route2mission: Removed confusing juxtaposition of estimated AUV mission time with actual AUV mission termination time in the output AUV mission script. mbpreprocess: Added ability to merge altitude data. Tested successfully with raw Edgetech sidescan data collected without embedded navigation, attitude, or anything really. mbsslayout: A new program to lay out raw sidescan onto the seafloor, most 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) Format 121 (MBF_GSFGENMB): Updated source files in src/gsf/ to GSF release 3.06. Format 121 (MBF_GSFGENMB): Fixed scaling of array values in GSF files to allow depth and distance resolutions better than 1 cm. Formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA) to support EM2040D data, in which dual sonars ping simulatneously. -----> 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) 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. MBeditviz: Added capability to set the color of selected soundings (e.g. soundings associated with a particular file or particular section of trackline). Format 88 (MBF_RESON7KR): Added support for pitch stabilization. MB7kpreprocess: Added support for pitch stabilization in Reson 7k data. -----> 5.4.2188 (May 31, 2014) Format 121 (MBF_GSFGENMB): Fixed bug that caused crashes when the GSF file contains a zero length comment. Format 64 (MBF_MR1PRVR2): Fixed bug that caused crashes when copying data from MR1 file to an fbt file when comments are longer than supported in fbt files. MBnavadjust: Fixed bug that reset the selected survey while doing autopicks. -----> 5.4.2187 (May 28, 2014) Format 201 (MBF_HYSWEEP1): Added code to ignore bad RMB records found in some NOAA HSX data. Format 88 (MBF_RESON7KR): Support for calibrated snippet records (contributed by David Finlayson). MB7kpreprocess: Support for calibrated snippet records (contributed by David Finlayson). MBnavadjustmerge: Fixed to handle projects not in the current working directory. -----> 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) MBrolltimelag: Now checks for case when all beams are flagged. MBlist: Added beamflag values to those that can be printed ('F' or 'f'). Bathymetry editing: Fixed bug that prevented successful flagging of some beams when files include simultaneous pings with different numbers of beams. GSF library: Updated to new release 03.05. This release is licensed using LGPL 2.1. -----> 5.4.2185 (May 11, 2014) Several programs: Fixed formating error in printing system time_tm.tv_sec values. MBsvpselect: Fixed sscanf format warning. MBcopy: Fixed array dimensioning bug that occasionally caused buffer overflows. MBnavadjust: Moved some declarations from mbnavadjust_prog.c to mbnavadjust.h in preparation for breaking project i/o out into a separate source file to be shared with the new program mbnavadjustmerge. MBsslayout: Added shell of program under development to read sidescan in raw time series form, lay the sidescan out regularly sampled on a specified topography model, and output the sidescan to format 71 (MBF_MBLDEOIH) files. HSDS formats (MBF_HSATLRAW, MBF_HSLDEDMB, MBF_HSURIVAX, MBF_HSURICEN): Fixed bug in handling of system gain arrays (16 rather than 59 values). MBsegygrid: Attempted to incorporate actual nonvertical geometry into the subbottom sections - not satisfactory yet. MBrolltimelag: Fixed bug regarding the default roll source. The program will now work with roll values derived from survey records by default. Format 88 (MBF_RESON7KR): Cleaned up some debug print statements. MBinsreprocess: Incomplete new MB6 program to reprocess INS data of various sorts to improve on realtime Kalman filtered navigation and attitude data. MBsslayout: Incomplete new MB6 program to perform layout of time series sidescan onto a 3D topography model. This will replace mb7k2ss and extend the functionality to conventional sidescan data in several data formats. Mbm_route2mission: Fixed output AUV mission script to have "\r\n" line ends on all lines. Format 222 (MBF_SWPLSSXP): Revised implementation of SEA SwathPlus SXP data format (format id 222) contributed by David Finlayson. Format 121 (MBF_GSFGENMB): Changed the source for the internally supplied GSF 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) src/bsio/Makefile.in: Added to archive (previously mistakenly left out). -----> 5.4.2183 (April 16, 2014) Many programs: Fixed handling of system time character string provided by function ctime() to prevent occasional overflows. Format 222 (MBF_SWPLSSXP): Revised implementation of SEA SwathPlus SXP data format (format id 222) contributed by David Finlayson. MBswplspreprocess: Preprocess program for SEA SwathPlus SXP data format (format id 222) contributed by David Finlayson. This was formerly known as mbsxppreprocess. -----> 5.4.2182 (April 8, 2014) Format 231 (MBF_3DDEPTHP): Added new raw Lidar record to be used by 3DatDepth. Format 201 (): Corrected bug in handling of navigation in projected coordinate systems. mbio/mb_navint.c and mbio/mb_define.h: Added a new function mb_navint_prjinterp() 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) Release 5.4.2181 htmlsrc/mbsystem_home.html & htmlsrc/mbsystem_faq.html: Actually committed pictures of Christian Ferreira and Krystle Anderson to the archive -----> 5.4.2180 (April 2, 2014) htmlsrc/mbsystem_home.html & htmlsrc/mbsystem_faq.html: Updated references to the MB-System team in the html documentation to include Christian Ferreira and Krystle Anderson. htmlsrc/mbsystem_how_to_get.html: Updated installation instructions in the html documentation. MB7kpreprocess: recoded the application of time domain filtering of pressure depth data to be much more efficient. Format 132 (MBF_EDGJSTAR): Supported obsolete sidescan records with 80 byte traceheaders. MBextractsegy: Now works with Edgetech Jstar files. MBauvloglist: reset default printing of timestamp values. Mbset: modified so that when mbset is used to turn off a mode that implies use of an external file, the associated filename is also erased. For example mbset -PSVPMODE:0 will now also erase (null) the filename set by -PSVPFILE. Mbm_grd3dplot, mbm_grdplot, mbm_histplot, mbm_plot, mbm_xyplot: added support for the evince postscript viewer. Format 172 (MBF_HIR2RNAV) and format 173 (MBF_MGD77TXT): fixed segmentation faults while handling comment records. MBlist: The 'N' output option will now use actual ping numbers if those are available (instead of ping count in the file). 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) Release 5.4.2176 -----> 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). MBnavadjust: The program generates route files of crossings and ties that can be viewed in mbgrdviz. The coloring of the crossings and ties when displayed in mbgrdviz has changed. The route files generated are: True Crossings (unfixed) >50% Crossings (unfixed) >25% && <50% Crossings (unfixed) <25% Crossings (unfixed) Ties (unfixed) Ties (fixed) For the crossing files, individual crossings are colored as: Unset - Red Skipped - Yellow Set - Green For the tie files, individual ties are colored as: Ties (unfixed) - Blue-Green Ties (fixed) - Purple All source files: Updated copyright notices to 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 available sound speed model for each swath file in a survey. The user provides a list of the available sound speed models and specifies the criteria used for model selection. The program uses mbset to turn on bathymetry recalculation by raytracing through the sound speed model selected for each swath file. MBsvplist: The SVP files output by mbsvplist now include a header line that is recognized by mbsvpselect. This header line includes the time stamp and position associated with the SVP record's location in the swath file. MBpreprocess: Added an incomplete manual page for this incomplete MB-System 6 program. -----> 5.4.2172 (March 14, 2014) MBmosaic: Added option to apply priorities based on the platform heading. Format 64 (MBF_MR1PRVR2): Hawaii Mapping Research Group (HMRG) data format updated to use the current library and thereby support post-2005 data. Removed old HMRG mr1pr library from mbsystem/src and added current bsio library. MBgrdviz: Modified handling of routes so that if a route header contains a line like: ## ROUTEEDITMODE:0 then the route cannot be changed in MBgrdviz. MBnavadjust: Changed so that when a project is output, mbnavadjust writes out five different route files in which each tie point or crossing is a two point route consisting of the connected snav points - route files of ties (fixed and unfixed separate) represent each tie as a two point route consisting of the connected snav points - route files of crossings (<25%, >= 25% && < 50%, >= 50%, true crossings) represent each crossing as a two point route consisting of the central snav points for each of the two sections. Mbvelocitytool: made all filename and command strings type mb_path, which is a 1024 byte char array. Format 173 (MBF_MGD77TXT): Added format to read and write MGD77 format underway geophysical data files with "\r\n" characters at the ends of the data records. Format 174 (MBF_MGD77TAB): Added format to read and write MGD77T format underway geophysical data files with tab delimiters and "\r\n" characters at the ends of the data records. -----> 5.4.2168 (February 19, 2014) Mbinfo: Fixed bug in variance calculation (memory overwrites of the relevant arrays). -----> 5.4.2165 (February 18, 2014) Format 241 (MBF_WASSPENL): Made format suffix ".000" recognizable as format 241. -----> 5.4.2164 (February 15, 2014) Format 241 (MBF_WASSPENL): added new format for WASSP multibeam sonar. Format 151 (MBF_OMGHDCSJ): applied patch supplied by Bob Covill. Mbrolltimelag: fixed so that the program works with data formats for which the roll source is the survey records. Mbauvloglist: added capability to merge navigation from external files. -----> 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 mess up bathymetry gridding and plotting. It's important to update installations to 5.4.2163. 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) Format 88 (MBF_RESON7KR): fixed crash when generating sidescan from pings with no valid beams. Format 201 (MBF_HYSWEEP1): fixed crash when generating sidescan from pings with no valid beams. Build system: Altered so the configure script works with standard options. -----> 5.4.2161 (January 21, 2014) MBedit: fixed use of beamflag setting macros that were messed up yesterday. -----> 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) Release 5.4.2159. -----> 5.4.2158 (January 18, 2014) Many changes, including: - Support for new format of lidar data - Fixes to support swath data with sub-cm lateral resolution - Fix so that mbnavadjust works when built with shared libraries. - this involved changes to the contouring code in the mbaux library. - Augmentation of the AUV mission planning capability - Improvement to mbm_grdplot output for maps of small areas - Fixes to the configure build system - now allows MB-System to be built using an externally installed libproj or the proj library bundled with MB-System - using --disable-gsf now works properly to build without any use of or entanglement with libgsf. -----> 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 sound speed values in regular depth ranges. This macro uses mbctdlist to extract the sound speed values embedded in swath data files is intended for use with mapping data from submerged platforms (e.g. ROVs and AUVs) carrying CTD or sound speed sensors. -----> 5.4.2155 (October 13, 2013) MBvelocitytool: Fixed problems with bad calculations after loading more than one swath data. MBgrdtiff, mbm_grdtiff: Added capability to output a *.tfw "world" file parallel to the GeoTiff image. Some software does not recognize the coordinate system information embedded in the GeoTiff file. MBsegygrid: Added capability for simple time domain low-pass filtering. MBrphsbias: Added incomplete new program that will, when complete, use a brute force multidimensional search obtain optimized estimates for bias parameters 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) MBkongsbergpreprocess, MB7kpreprocess, MBhysweeppreprocess, mbprocess: Fixed errors in navigation interpolation introduced in 5.4.2152. Format 84 (MBF_XTFR8101): Fixed initialization of the storage data structure. Committed from CCGS Sir Wilfrid Laurier at 116d 04.4876' W, 68d 57.30' N. -----> 5.4.2153 (September 22, 2013) Format 201 (Hysweep HSX): fixed sign error in handling of pitch values. -----> 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. Eliminated possibility of negative headings being inserted into the storage data structure. Format 222: Inserted initial implementation of SEA SwathPlus sxp data format (format id 222) contributed by David Finlayson with minor changes. This format support is still developmental. 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) Many *.c files: hundreds of small changes to eliminate compiler warning messages on various types of systems. 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) 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) Buildsystem: More tweaking of configure.ac file, including making the comments output more sensible. -----> 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) Buildsystem: Added src/mbgrdviz/Makefile.in and src/mbeditviz/Makefile.in to the subversion source archive. Format 201 (Hysweep HSX): Changed mbr_rt_hysweep1() in mbr_hysweep1.c so that survey records without navigation and/or attitude data do not have an error set. This means that data missing nav and/or attitude will still be processable. Format 121 (GSF): Now recognizes and appropriately treats null values for position, attitude, speed, and sonar depth. -----> 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) 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) Build system: Further modification to the src/mbview/Makefile.am file. -----> 5.4.2138 (August 18, 2013) Build system: Further modifications to the Makefile.am files. MBopts: Now allows users to specify the tide model used by OTPS. Also now works with all three variants of the OTPS package. MBareaclean: Fixed memory allocations problems. MBgrdviz: Added capability to launch mbnavedit and mbvelocitytool on selected swath data (contributed by Christian Ferreira). -----> 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) 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) 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) Heading and nav interpolation (src/mbaux/mb_spline.c): Fixed function mb_linear_interp_degrees() so that negative latitude values are allowed. Mbkongsbergpreprocess: Added checking so that interpolated heading and navigation are in the correct domains. -----> 5.4.2133 (July 29, 2013) Heading and nav interpolation (src/mbaux/mb_spline.c): Modified function mb_linear_interp_degrees() so that return values must be in the range 0.0 <= value < 360.0 to fix bad heading values near due north. Mbclean: added -Ttolerance option which will recast the timestamps of edit events read from edit save files to match the pingtimes, where the tolerance value in seconds defines how close the timestamps must be to be considered the same. This is used to override timestamp differences greater than 0.0011 seconds that can arise when edits are extracted from one set of files (perhaps processed 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) Format 88 (Reson s7k): Fixed layout of snippet backscatter into sidescan in the near-nadir region. Format 88 (Reson s7k): Mbprocess now routinely recreates multibeam sidescan during processing. This allows backscatter from beams flagged as bad to be excluded from the multibeam sidescan. Mbinfo: Fixes to XML output from mbinfo (Christian Ferreira) Format 201 (Hysweep): Substantially changed i/o logic to handle the many different variants of data logged through Hysweep. Format 201 (Hysweep): Augmented to handle sidescan data in conjunction with multibeam bathymetry. The i/o module will lay the raw sidescan out on the bathymetry to generate "processed" sidescan. That will be included in any output file as MSS records (an MB-System extension to the HSX format), which can be corrected and filtered in the usual way. Format 88 (Reson s7k): Fixed bug in which sidescan generated from backscatter records was flipped port to starboard. Also fixed layout of backscatter in the near-nadir region. -----> 5.4.2129 (July 8, 2013) Build system: Attempted to implement changes to the build system suggested by Kurt Schwehr and Hamish Bowman. Mbrolltimelag: Augmented to allow specification of the time lag interval used in correllation calculations with arbitrary start and end times. Mbnavlist: Fixed problems with outputting attitude data from some variants of Kongsberg data. Mbgrid: Changed the convergence criteria for the zgrid interpolation algorithm to simply be that the largest change in the grid value is no more than 1 mm. Formats 56 and 57: Augmented handling of Kongsberg EM1002 data to recognize and fix erroneous transmit and receive beamwidth values. Mbprocess and mbvelocitytool: Augmented raytracing code to handle high angle 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) Mblist: Fixed bug that flagged as bad all sidescan pixels with negative values. src/mbio/projections.h and src/utilities/levitus.h: Removed from svn version control as these are created during the build process. Build system: Implemented changes to the build system contributed by Kurt Schwehr that enable building MB-System without support for GSF or inclusion of the GSF source code from SAIC. This optional removal of GSF support addresses the lack of a proper open source or free software license for the GSF source code distribution from SAIC. MB-System distributions that include GSF code or require the GSF library cannot be included in official open source package collections such as Debian. Mbgrid: Changed the usage of the zgrid interpolation by mbgrid. Release 5.3.1989 included changes to speed up interpolation by calculating a smooth model for a low resolution grid and then resampling this onto the full resolution grid. This approach has the problem that the low resolution interpolation can work poorly near data. Mbgrid still does low resolution interpolation as part of the slope estimation stage of algorithms 5 and 6 and as part of background interpolation, but once again does the primary interpolation stage at full resolution. -----> 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 from mbsystem/src/mbsystem_config.h to mbsystem/src/mbio/mb_config.h. Mbm_route2mission: added support for more than one type of survey behavior in an AUV mission as controlled by waypoint type in the route files exported from mbgrdviz. Moved program hsdump to mbhsdump. Fixed some potential buffer overflows and other errors identified by Hamish Bowman. 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) Configure.cmd: Added -DBYTESWAPPED to the recommended pre-options for the configure script on Macs. MBF_EM710RAW (format 58) and MBF_EM710MBA (format 59): Added EM2045 to the list of supported Kongsberg multibeam sonars (also known as the EM2040D). -----> 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. The man page and web page documentation have been moved into the source tree. The old install_makefiles build system has been updated to still work. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.3 RELEASE NOTES: ------------------------------------------------------------------------------- -----> 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) 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 building MB-System. The easy way for automake to handle executable scripts is to just copy them to the bin directory; renaming the scripts is harder to set up. -----> 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) Mbprocess: Fixed bug in mbprocess in which angle rotation calculations mixed degrees and radians when attitude is merged as part of an external navigation stream. (Contributed by Bob Covill) Mbsvplist: Added -T option to output CSV delimited table (contributed by Suzanne O'Hara) -----> 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: MBF_SWPLSSXI - 221 MBF_SWPLSSXP - 222 The new files include: mbio/mbsys_swathplus.c mbio/mbsys_swathplus.h mbio/mbr_swplssxi.c mbio/mbr_swplssxp.c -----> 5.3.2055 (May 7, 2013) Many files: fixed issues that result in compiler warnings. Mb7k2ss: Fixed problem that overwrote the first extracted sidescan line. Mbgrid: Added gridding algorithm 6, called footprint weighted mean. This differs from algorithm 5, called footprint slope weighted mean, in that it omits the use of the local slope, and thus requires only a single pass through the data. Format 121 (GSF): Added fix from Christian Ferreira to reset the depth_corrector value to zero if necessary -----> 5.3.2053 (April 4, 2013) Mb7k2ss: Fixed line breakouts so that the first line is output separate from the second. Formats 162, 163, 168, 169 (text xyz variants): Fixed i/o modules to handle files with leading white space before the first column. Mbset: Added -N option to turn off merging of navigation from MBnavadjust and also remove the *.na0 files. Mbgrid, mbmosaic, mbm_grid: Fixed documentation descriptions of the options controlling the spline interpolation, particularly the tension. Mbm_grdtiff: Fixed the image display program called in the tiff-creating script created by mbm_grdtiff. 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) Formats 58 and 59 (mbf): The calculation of "sidescan" from raw backscatter samples has been improved. The sidescan can now be successfully recalculated by mbprocess following application of bathymetry edits. Mbprocess: Recalculation of Konsberg multibeam sidescan now enabled for formats 58 (mbf_em710raw) and 59 (mbf_em710mba) with command mbset -PSSRECALCMODE:1. Mbedit: soundings originally flagged by the sonar now return to that state if they are unflagged and then reflagged interactively. Mbgrdviz: Disabled "goaway" buttons in dialogs to minimize crashes. Mbeditviz: Disabled "goaway" buttons in dialogs to minimize crashes. Mbm_grdplot: Updated macros to derive system defaults from mbdefaults. Mbm_grdtiff: Updated macros to derive system defaults from mbdefaults. Mbm_histplot: Updated macros to derive system defaults from mbdefaults. Mbm_grd3dplot: Updated macros to derive system defaults from mbdefaults. Mbm_vrefcheck: Updated macros to derive system defaults from mbdefaults. Mbm_plot: Updated macros to derive system defaults from mbdefaults. -----> 5.3.2042 (March 12, 2013) MBkongsbergpreprocess: Fixed calculation of transmit time for sector subpings. Format 58 (mbf_em710raw): Improved translation of bottom pick parameters to beam flags. MBgrdviz: Added export of routes to Hypack lnw format and to degrees + decimal minutes format. -----> 5.3.2017 (March 3, 2013) Mb7k2ss: Program exits if topography grid specified but reading the file fails. -----> 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) Format 88 (mbf_reson7kr): Fixed some debugging print statements of hexadecimal values. Mbm_route2mission: Added command line control of multibeam sonar settings. Mbprocess: Fixed handling of tide data with just one value. Mbeditviz: Fixed calculation of corrected attitude and position for pings at start and end of files.Previously badly mislocated pings happened unpredictably. Mbfilter: Fixed handling of nonfatal read errors. Format 94 (mbf_l3xseraw): Made storage available for sound speed profiles much larger to handle some ridiculous data samples. Mbauvloglist: Added code to output readable date and time values if desired. mbm_xbt: Fixed code to more generally handle actual headers in Sippican MK12 data. mbaux/mb_spline.c: Fixed extrapolation error in linear interpolation code. Formats 162, 163, 168, 169 (xyz, yxz, xyt, yxt): Augmented code to handle text triples with NaN values. Mbotps: made /usr/local/otps the default location for the OSU Tidal Prediction Software (OTPS) Format 21 (mbf_hsatlraw): Fixed failure to initialize the internal storage structure. -----> 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) Mbkongsbergpreprocess: Fixed bug causing seg faults on Linux -----> 5.3.2011 (January 17, 2013) Format 88 (mbf_reson7kr): Removed debug messages left in by mistake -----> 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. Mbgrid: Changed the weighted footprint algorithm to correctly use the beamwidth scaling parameter set with the -W option. -----> 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.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) Mbkongsbergpreprocess: Fixed -D option to put output files in the specified directory. -----> 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 the previous SVP. If mode=1, then only the first instance of each unique SVP will be output, even through multiple files referenced through a datalist structure. If mode=2, then all SVPs will be output even if they are duplicates (equivalent to the -D option). The -D option is retained for compatibility. Format 88 (mbf_reson7kr): MB-System now recognizes files with a *.7k suffix as Reson multibeam data in format 88. Usually Reson data are logged to files with a *.s7k suffix. Mbm_route2mission: Updated the calculation of the number of photos to be taken during a Dorado-class AUV bottom photography mission. Formats 58 (mbf_em710raw) and 59 (mbf_em710mba): Added support for for the "Extraparameters" datagram. Formats 58 (mbf_em710raw) and 59 (mbf_em710mba): Changed the encoding of binary values in the format 58 and 59 files written by MB-System to be little-endian (Intel byte order). The Kongsberg format specification allows byte encoding to be little or big-endian, and previously MB-System has consistently used big-endian. Mblist: Fixed bug regarding the output of transmit pulse length values. Mbprocess: Altered mbprocess so that input SVP files are checked for zero thickness layers. -----> 5.3.2004 (December 12, 2012) Mbsvplist: Added -S option to output surface sound speed from survey data rather Mb7kpreprocess: Changed lever arm correction specified with the -D option to involve three dimensions rather than just two. Format 88 (mbf_reson7kr): Fixed so that mbctdlist and mbsvplist can output surface sound speed values from Reson 7k data. Format 88 (mbf_reson7kr): Fixed so that the storage of bathymetry acrosstrack and alongtrack distance values in bathymetry (7006) records is correct. MB-System has output incorrect 7006 records since the Reson 7k format (88) was first supported. The error was that the acrosstrack and alongtrack distance values were transposed relative to the format specification and the data output by the PDS2000 datalogger (a reality that only became apparent when I finally had access to a sample of PDS2000-logged data). The format 88 i/o module has been augmented to detect if data being read derives from pre-fix versions of MB-System, and to fix the data if necessary. The existence of this error and its fix should be invisible to users, except that data written by pre-fix MB-System will probably import to other software packages with the acrosstrack and alongtrack distances switched. Mbmosaic: Fixed azimuthal priority weighting so that directional mosaicing is more reliable. -----> 5.3.2000 (Navember 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 seg faulting). Mbmosaic: fixed bug in the use of the azimuth weighting factor. -----> 5.3.1999 (Navember 13, 2012) Mbm_route2mission: Added multibeam pulse length as a command line argument. Mbnavadjust: Added capability to solve for a z-offset model in which each survey has a uniform or constant z-offset, and then reset all ties automatically using those z-offsets. Format 88 (mbf_reson7kr): Fixed bug that caused seg faults with pings that have no valid soundings. -----> 5.3.1998 (Navember 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 properly. Mbmosaic: added checks for valid topography grid file. Mbprocess: Fixed rotation calculations so that side-looking and up looking mapping data can be handled properly. Mbm_route2mission: added handling of third specified altitude value in AUV missions. Mbeditviz: Fixed rotation calculations so that side-looking and up looking mapping data can be handled properly. Formats 56 (mbf_em300raw) and 57 (mbf_em300mba): added support for asynchronous attitude output, in particular by mbnavlist -K18. -----> 5.3.1995 (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 angles and data priorities. Mbmosaic: substantially rewrote the calculation of apparent grazing angle for sidescan data to be more reliable and to optionally use a topographic model supplied by a topography grid (specified with the -T option). Mb7k2ss: removed functions associated with laying out sidescan on a 3D topographic model. These functions are now found in src/mbaux/mb_intersectgrid.c. Format 88 (mbf_reson7kr) and mb7kpreprocess: added support for multibeam sidescan derived from either the backscatter records or the snippet records. The snippets are generally better, and are the default source when . The program mb7kpreprocess can be set to generate the multibeam sidescan from either record type. The multibeam sidescan is stored using MB-System-only "processed sidescan" records as an MB-System-specific extension to the 7k format. libmbaux: added functions to the mbaux library that locate the intersection of arbitrary vectors from a sonar platform with a topographic grid. This code is located in src/mbaux/mb_intersectgrid.c, and includes functions formerly found in src/utilities/mb7k2ss.c. These functions are now used to lay sidescan out on a seafloor topographic model and to calculate the apparent grazing angles needed for angle-based priority calculation in mbmosaic. Mbgrid: fixed -Cclip[/mode] option so that -C0/3 will in fact fully interpolate the resulting grid. Format 88 (mbf_reson7kr): fixed travel time and angle calculation for current generation data using v2detectionsetup data records. Mbgrid and mbmosaic: Added -Rfactor option that will allow users to specify that the output grid extent will be the data extent expanded by a multiplicitive 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) Mbm_grdplot & mbm_grdtiff: Fixed application of strict color table bounds in mbm_grdplot and mbm_grdtiff. mb7k2ss: Added -Q option so that sidescan lines can be constructed based on the times starting and ending waypoints were reached. Format 71 (mbf_mbldeoih): Fixed scaling of sidescan values to handle data with small values. Mbgrid and mbmosaic: Fixed the zgrid interpolation code, and also changed the usage so that the interpolation stages will proceed much more rapidly. This is now accomplished for large grids by iteratively calculating a smooth Laplacian model for a low resolution grid and then resampling this onto the desired full resolution grid using bilinear interpolation. -----> 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. MBeditviz: Fixed region selection to include topography min and max within that region. Reson 7k data (format 88, mbf_reson7kr): fixed calculation of beam angles from 7026 7k Detection records. MBnavadjust: the tie (or block) view now honors the "With Selected Survey" and "With Selected File" display modes. MB7kpreprocess: Added control for the use or nonuse of attitude sensor time delay data embedded in MBARI "Bluefin Navigation" records. MB7k2ss: Added option to define sidescan line start and end points using a list of times generated using mbroutetime (duplicating an option of mbextractsegy). MB7k2ss: When extracting sidescan data from 7k data files to separate format 71 files, use navigation, heading, sonar depth, and attitude data from multibeam data records in the 7k data file (previously these values derived from asynchronous navigation, heading, attitude, etc, records). -----> 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 are binned and averaged into 1-degree wide "pseudo-beams" to allow reasonable (both visually and computationally) contouring. Added MBIO function mb_sonartype() that returns the type of sonar associated with some data, using the definitions: #define MB_SONARTYPE_UNKNOWN 0 #define MB_SONARTYPE_ECHOSOUNDER 1 #define MB_SONARTYPE_MULTIBEAM 2 #define MB_SONARTYPE_SIDESCAN 3 #define MB_SONARTYPE_INTERFEROMETRIC 4 Added function to mbnavadjust that will estimate vertical offset between surveys and then set relevant ties accordingly. Fixed some plotting defaults for mbm_histplot. 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) 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. Fixed mbotps so that it handles requests for sound speed models on locations that are dry land in the Topex mdoels more gracefully. Fixed minor info printing issue with mbnavadjust (now doesn't report failure to invert unless there is a failure to invert). Improved performance of navigation and attitude merging for both mb7kpreprocess and mbkongsbergpreprocess Added new functionality to mbkongsbergpreprocess (contributed by Suzanne O'Hara): -Added -D argument to allow users to set new directory for output files; original code always created output in input directory. This is a problem where users should not be modifying original directories. Using this flag allows the user to use the datalist option and is easier than copying the original mb58 data to a different directory or to using a script that loops through all the data using the -D option -Added -C flag to output counts. Current code always outputs many rows of information that can be confusing. The default now is to work silently unless there is a problem. -----> 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. 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) Augmented support for L3 XSE format (94) so that data from recent SeaBeam 3000 and SeaBeam 3050 multibeams can be processed. Added option to mbinfo to generate output in XML (contributed by Christian Ferreira) Augmented the i/o module for Reson 7k data to work with data files that do not include the 7006 bathymetry records but instead include the raw detection 7027 records. Altered mbnavlist so that longitude and latitude values are output with a precision about equivalent to 0.1 mm, the same as mblist and mbinfo. Altered mbprocess so that navigation shifts and offsets are applied to merged navigation. Navigation derived from mbnavadjust is not affected. Added new program mbkongsbergpreprocess, which reads data from a third generation Kongsberg multibeam sonar (e.g. EM122, EM302, EM710), interpolates the asynchronous navigation, heading, and attitude onto the multibeam data, and writes a new file with that information correctly embedded in the multibeam survey data. The input files may be in the vendor format MBF_EM710RAW (format id 58) or the MB-System extended format MBF_EM710MBA (format id 59); the output files will always be in the MB-System extended format MBF_EM710MBA (format id 59). Updated GSF library to new release 3.04 from SAIC. Removed local($[) = 0 initializations from all perl macros for compatibility with the current version of perl (some macros were missed when this was done before 5.3.1955). Fixed problem with mbprocess in which merged roll and pitch data were not applied to the bathymetry unless the bathymetry was being recalculated by raytracing. Added ability to change the read and write buffers for file i/o, initially just for Reson 7k and Kongsberg current generation data. This allows one to tune for the highest throughput file i/o for a given situation (e.g. 10 MB buffers achieve 5-10% faster throughput on the MBARI network). Altered i/o module mbr_image83p.c for Imagenex DeltaT data so that if no roll or pitch data are stored, the sonar is treated as if it is pointed down rather than horizontal. Also fixed the module so that the profile tile angle parameter is used correctly. -----> 5.3.1955 (May 16, 2012) Removed ($[) = 0 initializations from all perl macros for compatibility with the current version of perl. Updated PROJ4 to the 4.8.0 release. Added code for a new i/o module reading (but not yet writing) Benthos 1624 sidescan data in the XTF format. This read-only i/o module has a format id of 211. This code has been contributed by Jens Renken (MARUM/University of Bremen). The intent is to complete the i/o module to allow full processing of the Benthos 1624 data. Added a new macro, mbm_bpr, to translate pressure data from a Seabird SBE53 pressure sensor used as a Bottom Pressure Recorder (BPR) into tidal data that can be used to correct swath bathymetry data. Changed default Postscript viewer for Linux or Mac to be gv rather than Ghostview. Added option to mbinfo (-X1) to generate output in the json format. If the -O option is used to make metadata files, then the addition of -X1 will cause the output files to be named "*_inf.json" rather than "*.inf". Suzanne O'Hara (LDEO) contributed this improvement. Augmented mbsvplist with option -C which causes the program to output the number of unique SVPs in each file to stdout. Suzanne O'Hara (LDEO) contributed this improvement. Fixed multiple problems with mbcontour and the underlying contouring library that were producing crashes in many circumstances. Updated the MBARI AUV mission generator mbm_route2mission to reflect current operational parameters for the MBARI Mapping AUV. Applied fixes to the Marine Sonics sidescan i/o module (mbr_mstiffss.c) contributed by Val Schmidt of UNH/CCOM. Changed the color table in mbnavadjust to eliminate yellow contours, which are difficult to see. Added output of potential temperature to mbctdlist. Altered subbottom section plots generated by mbextractsegy. The first cut plots generated when mbextractsegy is used to extract subbottom data into segy files are broken into multiple section plots for long files (representing survey lines if extracted according to a route file). Previously, all section plots for a given line had a time sweep encompassing the data for the entire line. Now, if the total sweep exceeds 1 second, then the sections plots will be generated using only the sweep required for each section alone. Improved the robustness of calculating longitude latitude bounds for segy data using mbsegyinfo. Added capability to mbsegygrid to grid and plot subbottom sections based on distance between the end points of a survey line. This approach to plotting subbottom sections removes the impact of speed variations and deemphasizes data where the sonar platform moved slowly or stopped. -----> 5.3.1941 (March 6, 2012) Fixed sidescan filtering with mbfilter. The filtered sidescan output in format 71 files had incorrect acrosstrack locations. Fixed problems with sidescan generation for current generation Kongsberg data (formats 58 and 59). The code previously tended to choose too small of a pixel size, resulting in a sidescan swath narrower than the real swath width. Fixed swath contouring and track plotting by mbcontour and mbm_plot. Subtle changes in the GMT pslib resulted in contours and tracks only partly plotting in some Postscript devices. The MB-System code now explicitly chooses when to call stroke operations in the Postscript, rather than leaving that up to pslib. Fixed format 24 (mbf_hsldeoih) so that certain old files with extra bytes in some comment records can be read correctly. Added output of raw values from current generation Kongsberg data (formats 58 and 59) to mblist. -----> 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 the navigation resolution in the output of mbinfo, and thus in inf files. This affects mbr_mbldeoih.c, mbsys_ldeoih.c mbsys_ldeoih.h in src/mbio, and mbinfo.c and mblist.c in src/utilities. Add importing and display of "vector" data in mbview and mbgrdviz. The vector files are GMT-style segmented files of lon, lat, topography value triples. These are displayed as lines colored according to the value. Controls for setting the color tables still have to be added. Changed mbgrid so that any background (option -K) is calculated first, before significant memory is allocated. This avoids crashes due to attempted forks that overrun available memory. Fixed beamwidth calculation for Reson 7k data. Fix in mbr_reson7kr.c and mbsys_reson7k.c. Fixed overflow during iterative search for beam angle values in mbr_em710raw.c Added capability to mbauvloglist to output angle values in degrees rather than radians. Added code to mbnavadjust to detect when the uncertainty ellipsoid of one or more ties contains a zero value that will cause the inversion to fail. In this case, the program prints out which ties are problematic, and declines to calculate the inversion. Fixed beamwidth values stored in fbt files. Added JSON output option to mbinfo. This addition provided by Suzanne O'Hara of LDEO/IEDA. Added graceful exit to mbm_grdplot when a call to grdinfo fails. Fix provided by Hamish Bowman of the University of Otago. 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) Added preliminary support for HYSWEEP HSX format as MBIO format 201. Added program mbhysweeppreprocess to preprocess the HSX data. Fixed bug in mb_lever() function in mb_angle.c. GSF 3.03 update. -----> 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 as having valid soundings but actually have zero ranges and NaN bathymetry, acrosstrack distance, and alongtrack distance values. Formats 58 and 59 (third generation Kongsberg multibeam data): Fixes to the handling of attitude ecords, particularly with regard to writing the records. -----> 5.3.1909 (November 16, 2011) Program mbnavlist: Fixed attitude record output so that use of -K18, -K55, -K56, or -K57 results in output lines for all attitude records, even when position or heading data are not available for interpolation. Formats 58 and 59 (third generation Kongsberg multibeam data): Fixed the i/o modules to successfully output attitude and netattitude records identified as MB_DATA_ATTITUDE1, MB_DATA_ATTITUDE2, or MB_DATA_ATTITUDE3. -----> 5.3.1907 (November 9, 2011) Program mblist: Added output of beam bottom detection algorithm (amplitude or phase) to mblist. One can now use Q and q as valid output values that can be included in the arguments to the -O option. Program mbnavlist: Added ability to output navigation data keyed to primary or ancilliary attitude data. For instance, use of the -K18 option will cause the mbnavlist output to occur for all attitude samples in the primary attitude data stream. The timestamps will be those of the attitude records, and any position, speed, or sonar depth values requested will be interpolated onto the attitude timestamps. Program mbm_route2mission: Enabled the generation of AUV missions in which multibeam beamformed data ("water column") are recorded in addition to bathymetry and backscatter. Program mb7kpreprocess: Fixed integration of MBARI AUV INS log data into the processing of Reson 7k data. Program mbrolltimelag: Fixed a bug that rarely produced a failure of time lag correlation calculation. Third generation Kongsberg data (formats 58 & 59: Fixed handling of different attitude records, in that the code now recognizes multiple sources of roll, pitch, and heave when they appear in a datastream. The data records identified as the primary attitude source are identified as type MB_DATA_ATTITUDE (18) while ancilliary records will be identified as MB_DATA_ATTITUDE1 (55), MB_DATA_ATTITUDE2 (56), or MB_DATA_ATTITUDE3(57). -----> 5.3.1906 (September 28, 2011) Program mbnavadjust: Added -D option to invert foreground (normally black) and background (normally white) colors in the interactive plots Format 88 MBF_RESON7KR (Reson 7k multibeam data): Fixed deallocation of MBF_RESON7KR data structures. Program mb7kpreprocess: Fixed some filtering code in mb7kpreprocess. Program mbrolltimelag: Added -K option to mbrolltimelag - this duplicates the new -K option in mbnavlist and is used when mbrolltimelag calls mbnavlist to extract the roll time series. Program mbnavlist: Augmented mbnavlist to allow extraction of data keyed to data records other than navigation or survey data. A new -Kkind option allows users to specify output at the times of attitude, heading, or other record types. Programs mbedit, mbeditviz, mbnavedit, mbclean, mbprocess: Added ability to disable file locking using the program mbdefaults and the .mbio_defaults file in the user's home directory. If a user disables file locking by running mbdefaults -U0 then the programs mbedit, mbeditviz, mbnavedit, mbclean, and mbprocess will not set new file locks and will ignore any existing file locks. In short, a user can disable the entire file locking mechanism in MB-System. New macros mbm_multicopy, mbm_multidatalist, mbm_multiprocess: Added three new macros authored by Christian Ferreira. These are mbm_multicopy, mbm_multidatalist, and mbm_multiprocess. All three are used to execute tasks on large numbers of swath files by starting multiple processes in parallel. The mbm_multicopy macro accomplishes copying of files from one format to another. The mbm_multidatalist macro accomplishes the creation of ancilliary files. The mbm_multiprocess macro accomplishes processing with mbprocess. These all require the Parallel-Forkmanager Perl module available from www.cpan.org. Program mbclean: Added flagging by acrosstrack distance to mbclean. Also added esf file locking for compatibility with mbedit and mbeditviz, and fixed handling of old edits. Program mbgrid: Fixed a problem with the footprint algorithm of mbgrid that sometimes left holes that could not be filled by interpolation. Macro mbm_route2mission: Added ability to mix constant altitude and constant depth behaviors within a single AUV mission to mbm_route2mission. Format 88 MBF_RESON7KR (Reson 7k multibeam data): Fixes to handling of asynchronous attitude data in format 88 (Reson s7k) and calculation of time lag estimates. Program mbextractsegy: Adjustments to the default plots of segy data by mbextractsegy. Macro mbm_route2mission: Fixes to generation of MBARI AUV missions by mbm_route2mission. Format 88 MBF_RESON7KR (Reson 7k multibeam data): Fixed extraction of raw, asynchronous attitude data from Reson 7k data using rollpitchheave records (e.g. from the MARUM AUV), which in turn fixes the calculation of attitude time lag estimates using mbrolltimelag. Program mb7kpreprocess: Fixed application of time lag model by mb7kpreprocess for the case of Reson 7k data using rollpitchheave records (e.g. from the MARUM AUV). Program mblist: Added -UN option to mblist that ignores output of lines associated with zero longitude or latitude values. This option will be used by mbdatalist to create *.fnv files. Format 71 MBF_LDEOIH (generic swath): Provided a means to continue using the old definition of swath format MBF_LDEOIH (format 71) for fbt files. Users can now use mbdefaults to set the format 71 version that will be generated when fbt files are created by mbdatalist and mbprocess. If mbdefaults -Fold is executed, the .mbio_defaults file in the user's home directory will be altered so that all new fbt files are in the old format. The purpose of this backwards compatibility is to allow users to take advantage of the Fledermaus capability for editing bathymetry in MB-System processing environments. This involved changes to mbcopy as well as to the MBF_LDEOIH i/o module. Program mbnavadjust: Changed the swath data import code so that sections will be created even when all beams have been flagged as bad. This is to allow surveys to remain intact, with no breaks, because the concept of a continuous survey is increasingly important in MBnavadjust. Also altered the status displays and listings to show survey id along with file and section id's. Format 71 MBF_LDEOIH (generic swath): Updated the definition of swath format MBF_LDEOIH (format 71), which is used for the "fast bathymetry" or *.fbt files in MB-System processing environments. The previous form of *.fbt files had a serious limitation in that bathymetry from multibeams operated near the seafloor in deep water did not represent the full numerical resolution of those data. The updated format allows for depth and distance resolution to 0.001 m even in the deep ocean. Old *.fbt files are read transparently, but newly written files will be in the new form. IMPORTANT: In order to avoid compatibility issues, all users operating on the same projects should upgrade to this version or higher once one user upgrades. Format 88 MBF_RESON7KR (Reson 7k multibeam data): Updated support for Reson 7k data to include the "1022" record. We still don't know what this is, but the code now reads and writes it without complaint. Program mbinfo: Fixed mbinfo handling of swath files with no good data (Thanks Suzanne O'Hara) MBIO function mb_get_format(): Changed mb_get_format() function in mb_format.c so that formats are inferred from parameter files if they exist. Program mbnavadjust: Supplemented informational output to stdout from MBnavadjust. Format 71 MBF_LDEOIH (generic swath): Started development of new version of format 71 (mbf_ldeoih). Program mb7kpreprocess: Fixed translation of beam quality values into MB-System beam flags by mb7kpreprocess. Program mbextractsegy: Fixed calculation of line breaks by mbextractsegy. MBIO function mb_get_format(): Augmented mb_get_format() in mb_format.c to look for the format id value in mbprocess parameter files before trying to make sense of file suffixes. Program mbedit: Fixed MBedit's handling of files not conforming to the MB-System filename suffix convention. Macro mbm_xyplot: Allow users of mbm_xyplot to specify both axis annotation with the -B option and axis labeling with the -L option. Program mbeditviz: Implemented workaround for MBeditviz crash problem on Poseidon Linux. MBeditviz would shut down whenever a second map view was requested with an Xserver error named GLXBadContextTag. Previously, the OpenGL rendering within X11/Motif widgets has been implemented with the graphics calls always sent through the X11 window server. I have now set the code to allow direct rendering through hardware when that is possible. For reasons I do not understand, this change results in MBeditviz no longer crashing on my Poseidon Linux test machine. Programs mbedit, mbnavedit, mbeditviz: Fixed font issue for MBedit, MBnavedit, and MBeditviz by using courier rather than monaco as a fixed-width font for the available file list widgets. Program mbprocess: Added support for the "Rolling Deck to Repository" (R2R) navigation format as both an MB-System format (format id 172) and an mbprocess navigation merging format (NAVFORMAT=10) Macros mbm_grdplot and mbm_grdtiff: Modified mbm_grdplot and mbm_grdtiff so that the -Y option strictly enforces the colormap min max bounds set with the -Z option. Formats 132 MBF_EDGJSTAR and 133 MBF_EDGJSTR2 (Edgetech Jstar): Fixed support for Edgetech Jstar files (formats 132 and 133) so that the output of mb7k2jstar and mbprocess are compatible with Edgetech programs. Programs mbedit, mbeditviz, and mbnavedit: Added file locking to mbedit, mbeditviz, and mbnavedit. All three programs can now load datalists and display lists of files available for editing. These lists show whether the file has been previously edited and if the file is locked. Locked files cannot be loaded or edited. As before, mbprocess also locks files during processing and skips files that are locked by other programs. The program mbdatalist can be used to detect (-S) and remove (-Y) orphan file locks in files referenced by datalist structures. Program mbprocess: Fixed bug in mbprocess.c involving parsing of NMEA GGA strings when reading in navigation for merging with survey data. Program mbnavadjust: Changed MBnavadjust to allow more file modes, in turn allowing more control over which data has the most influence over the navigation solutions. In addition to the previously existing modes (Fixed, Good, Poor), surveys can now be set to FixedXY and FixedZ modes where the navigation of the files so identified will have the specified coordinates fixed (unadjusted) and the other coordinate(s) treated as Good. In particular, this allowed us to simultaneously adjust navigation from overlapping MBARI Mapping AUV and ABE surveys in which the Mapping AUV pressure depth was clearly more accurate than the ABE vehicle depths. By setting the MBARI data to mode FixedZ, we were able to force the solution to adjust the ABE navigation to match the Mapping AUV vertical reference, while still allowing lateral (XY) adjustments of all the AUV navigation. Program mbnavadjust: Changed MBnavadjust to output user, cpu, and time of changes to project files and as comments to the adjusted navigation files. Also changed mbprocess to handle comments in adjusted navigation files. Program mbm_copy: Fixed -C option of mbm_copy. Format 192 MBF_IMAGEMBA (Imagenex DeltaT): Fixed i/o module for extended format Imagenex DeltaT data (format 192) by removing code that recalculated bathymetry unnecessarily. Program mbdatalist: Added -Y option to mbdatalist to remove any leftover lock files. Parsing *.inf files: Fixed bug in parsing file start and end times in *.inf files. MBIO functions mb_defaults(), mb_env(), and mb_lonflip(): Changed mb_defaults(), mb_env(), and mb_lonflip() functions to always return MB_SUCCESS status even when ~/.mbio_defaults file does not exist. Working with system defaults hould not be an error. Program mbeditviz: Changed mbeditviz_import_file() function in mbeditviz_prog.c to reset global status to MB_SUCCESS on entry. Program mbclean: Incomplete implementation of Dana Yoerger's changes to mbclean. Not yet tested. Program mbnavedit: Increased verbosity of mbnavedit for -X option. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.2 RELEASE NOTES: ------------------------------------------------------------------------------- -----> 5.2.1880 (December 30, 2010) Augmented mbotps to output tide in both time_d tide and year month day hour minute seconds tide using a -Atideformat command line option. Added new kluge processing option to mb7kpreprocess (-K2) that zeros alongtrack angles. This fixes some recent sample Reson 7k data. Recast lever arm calculation due to roll and pitch rotations in mb_angle.c. More changes to the handling of current generation Kongsberg data in mbr_em710raw.c. Fixed handling of beam alongtrack distance values during bathymetry recalculation by raytracing. Improved beam info display in mbeditviz. Fixed mbnavadjust recalculation of the 3D cross-correlation function after changing the vertical offset. Changed mbr_image83p.c, mbr_imagemba.c, and mbsys_imae83p.c so that calculation of beam angles happens during the first read of the data. Replaced strsep() with strtok() in mbr_edgjstar.c. This is to allow MB-System to be more easily built on Solaris systems. Fixed mbset so that it recognizes sidescan cutting commands (SSCUTNUMBER, SSCUTDISTANCE, SSCUTSPEED). -----> 5.1.3beta1875 Altered -P option in mbsvplist. Previously this option (which turns on bathymetry recalculation by raytracing in mbprocess using the water sound speed models extracted from the data files) set the raytracing to correct the takeoff angles for the difference between the sound speed used for beamforming (surface sound velocity or SSV) and the sound speed at the sonar depth in the water sound speed model. Now, mbsvplist sets mbprocess to leave the takeoff angles unchanged. This is more more consistent with the expectation that raytracing through the original sound speed model should yield values matching the original bathymetry. Altered mbprocess bathymetry recalculation by raytracing to better handle cases where large heave values bring the sonar array above the nominal water line. In this case, a static heave offset is calculated, raytracing is done from the top of the water sound speed model, and the heave offset is added to the raytracing result. Improved the autopicking function of mbnavadjust. Fixed a bug in handling the per-beam heave values in current generation Kongsberg data (formats 58 & 59). Changed mbm_route2mission to allow command line argument control of AUV speed during ascent/descent, survey lines, and transit lines. Also added control of the "deltaDepthRestart" value controlling how far up the AUV should float after an altitude abort before resuming the mission. More changes to support of Kongsberg current generation multibeam data in formats 58 and 59. As previously noted, the angles used to recalculate bathymetry from raw travel times by raytracing are estimated by iteratively seeking to match the original bathymetry reported by the sonar. These angles are estimated when data are first read as format 58 and then embedded in format 59 data (presumably when mbcopy is used to translate format 58 files to format 59)for later use by mbprocess. The default algorithm matches the original bathymetry to within about 0.1% altitude by calculating an effective heave for each ping and takeoff angles for each beam. A second algorithm (which can only be activated by uncommenting an #ifdef statement in mbr_em710raw.c) matches the orginal bathymetry by modifying both the takeoff angles and the travel time measurement - this achieves matching of the original bathymetry to about 0.02% of altitude. Use of the second algorithm is not recommended because modifying the fundamental observations (travel times) to match the sonar's calculation 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 The function mb_get_info() now properly applies the lonflip value. This in turn allows mbgrid to infer correct bounds in situations where the lonflip is important (e.g. data across the +/-180 degree boundary when lonflip is -1 or 1). Changed MBnavadjust so that an "Inversion Smoothing" value replaces a no-longer-used "Inversion Precision" value. This value, accessible under the Options dialog, sets the importance of smoothing in the adjusted navigation model. The default is 4.00, and possible ranges are 0.10 to 10.0, where the smoothing penalty weight applied to the first and second derivatives of the adjusted navigation perturbation is ten raised to this power. Added support for Kongsberg EM2040 multibeam in formats 58 and 59. Changed MBnavadjust so that default settings for section length and contour interval are appropriate for high resolution surveys such as those produced by AUV's equipped with >100 kHz multibeams. Fixed plotting macros mbm_plot, mbm_grdplot, mbm_xyplot, mbm_grd3dplot so that the calls to display postscript graphics using gv in the output plotting scripts scale plots to fit on the screen. Fixed mbm_route2mission to use proper camera control when generating mission scripts for the MBARI Benthic Imaging AUV. Added -W option to set the desired swath width of sidescan output from mb7k2ss. Updated the i/o module supporting OMG HDCS (the John Hughes Clarke format) to handle HDCS version 4. These mods contributed by Bob Covill. Fixed mb7kpreprocess to check for and ignore repeated ancilliary and survey data records. Update GSF code to version 3.02, released 28 September 2010. Set MBeditviz to resolve format id's in output parameter files when filenames do not follow known suffix conventions. Added support for a number of new data records in the Reson 7k data format, following the 19 June 2009 addendum to the 7k format version 1.00 specification. Changed mb_malloc() calls in mb_format.c and mb_buffer.c to mb_mallocd() calls for greater debugging capability. Added some debugging statements to mbprocess.c. Changed mbm_grdplot macro to use the variable names embedded in seismic section GMT grid files generated by mbsegygrid. Improved autopicking in MBnavadjust to the point where it is actually useful. Also fixed bug that caused eventual seg faults when analyzing many crossings in a single session. Fixes to Reson s7k (format 88) support allowing mbnavlist to use position records as navigation channel 3. This in turn allows mbrolltimelag to work with Reson 7k data collected by MARUM (University of Bremen). Added file name and line output to debug messages in mbr_l3xseraw.c to aid in later work to fully support the current XSE data format. Set mbrolltimelag to only attempt to generate a variable time lag model plot if more than one robust time lag values have been generated. Updating in preparation for beta release version 5.1.3beta1874. -----> 5.1.3beta1862 Moved src/mbaux/mb_rt.c to src/mbio/mb_rt.c and made this raytracing code part of libmbio rather than libmbaux. Fixed deallocation of raytracing data in mbprocess. Added source type flag (CW or chirp) definition to src/mbio/mb_status.h Add mb_io_pulses() function definition to src/mbio/mb_io.h as a pointer for functions in i/o modules that extract source type (CW or chirp) for individual beams. Added mb_pulses() function calls to src/mbio/mb_define.h and src/mbio/mb_access.c. Added mbsys_simrad3_pulses() function to i/o module for current generation Kongsberg (Simrad) data in src/mbio/mbsys_simrad3_pulses(). Altered i/o module for current generation Kongsberg (Simrad) data so that bathymetry calculation using raytracing works correctly. This involves src/mbio/mbr_em710raw.c and src/mbio/mbsys_simrad3.c. The problem is that the current raw beam and angle datagram stores travel times and angles uncorrected for motion and attitude. My attempts to properly calculate the attitude and motion compensation have not succeeded (as measured by succeeding in replicating the original bathymetry when used with the original sound speed model). This version achieves accurate estimation of the compensated angles for each sounding by finding a ray (through iteration) that replicates the original sounding position by raytracing through the original sound speed model. The depth difference is stored as a per-beam heave correction, and the angles are stored normally. This calculation is done only on the raw data format 58. When mbcopy is used to translate the data to the processing format 59, the compensated angles are stored in extended bathymetry datagrams. This scheme suffices to allow full processing of the data, but is not satisfying in that I clearly still do not fully understand the raw data format Fixed issues with a number of manual pages. -----> 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 Slight modification to mbm_grdplot map annotation scheme (degrees + minutes for maps up to 4 degrees across where only degrees shown before for maps wider than 1 degree). Changes to mbm_route2mission to accomodate new capability of MBARI Mapping AUV to record full water column data from the Reson 7125 multibeam. Move mb_mergesort() function prototype from mb_esf.c to mb_define.h. MBnavadjust augmented with capability to check for new crossings and to recalculate overlap coverage of existing crossings after inversions. Users can also toggle previously analyzed crossing to "unset" status. MB7kpreprocess augmented to handle Reson 7111 data sample from NGDC. Fixed incorrect listing MB_DATA defines in mb_status.h. Added per-beam heave data to mbsys_simrad3 ping structure to support bathymetry recalculation for EM710, EM302, EM122 data. Defined new processed bathymetry record for use in format 59, and set code to transparently read the old record and write only the new record. Mostly fixed handling of attitude data in bathymetry recalculation. There still seems to be a problem with handling heading data. -----> 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 Fixed problem where mb7kpreprocess made beams that should have been null valid but flagged. Fixed bug that caused mbclean to fail to actually flag some beams identified for flagging. Added button to zero all z offsets on crossings for cases where tidal corrections have been made before data were imported into a mbnavadjust project. Fixed mbgetesf manual page. Fixed mode control in mbgetesf so one can extract the complete beam flag state from a swath file. MBgetesf is now used by MBeditviz to get the original beam flag state of raw swath bathymetry when processed files are read. Fixed sorting of beamflag edit events in edit save file data as used by MBedit, MBeditviz, MBclean, MBareaclean, and MBprocess. This fixes a problem wherein some edits performed by MBeditviz were dropped by 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 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 Updated mb7k2ss man page. Fixed bug in mbrolltimelag regarding popen/pclose use. Fixed bug in mb_process.c file locking. Fixed mbotps man page.Fixed bug in MBeditviz and added hot keys for editing (only partially successful because it's hard to reliably get the keyboard focus onto the rendering OpenGL widget. Fixed mbotps man page. Augmented MBnavadjust to allow referencing high resolution bathymetry (e.g. AUV surveys) to lower resolution bathymetry (e.g. hull mounted multibeam surveys). The navigation of specified files (typically the data collected from the surface where GPS is available) can be fixed so that everything else floats and is adjusted relative to those data. mbprocess - improved error reporting to show why files are not being processed. mbmosaic - fixed aspects of the footprint calculation, particularly fixing a bug that prevented footprints from being fully covered. Added -S option to mbprocess for debugging file status values used to determine whether processed data files are "out of date". Greatly improved mbnavadjust by adding a interim solution for a smooth navigation adjustment model fitting ties to fixed (immovable) data and by making all of the internal crossing and tie conventions consistent. MBnavadjust now outputs version 3.0 nvh project files, but will transparently read and translate earlier version nvh project files. -----> 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. This will allow us (and users) to more precisely track code changes relative to the beta releases. Fixed support of Reson 7k data (format 88) to work with MARUM AUV data. Includes changes to mb7kpreprocess. Fixed 64 bit issues with Simrad, Reson 7k, and L3 XSE data (formats 58, 59, 88, 94). Fixed 64 bit issues with mbnavedit, mbclean, and mbneptune2esf. Added buttons to MBedit to immediately go to the start or end of the data. Fixed sidescan beamwidths used by the Edgetech Jstar format i/o modules (formats 132 & 133). Fixed memory management errors in MBgrdviz and mbfilter. Fixed more 64 bit and memory management issues in MBeditviz and MBgrdviz. Added a plot reset button and an ability to autoscale on unflagged soundings only in the MBeditviz 3D sounding cloud display. Fixed handling of site and route points far from the display view in MBgrdviz. Put actual (but still incomplete) text into the MBeditviz man page. 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: ------------------------------------------------------------------------------- Fixed pixel calculation algorithm in mbmosaic. Previously, sidescan data from each pixel were being treated as extending over a larger area than is correct. Ressurected program mbfilter with an new implementation. Allows low pass, high pass, and contrast enhancement filtering of amplitude and sidescan data. Implemented so that filtered data are stored in ancilliary files ending in *.ffa (amplitude) and *.ffs (sidescan). The data type selection options of mbswath, mbm_plot, and mbmosaic all now allow users to select filtered data. Improved handling current generation Simrad multibeam data (e.g. EM710, EM122) through formats 58 (MBF_EM710RAW) and 59 (MBF_EM710MBA). There still seems to be a problem with calculating the takeoff angles for recalculating bathymetry by raytracing, probably due to a problem interpolating the correct roll and pitch values. Changed processing kluge 004. Previously kluge 004 caused mbprocess to not output survey data with time stamps prior to the last good ping. Now the dropped data will have time stamps prior to or equal to that of the last good ping. Fixed problem reading and writing format 16 (MBF_SBSIOSWB) data on little-endian systems. Added support for new ROV Doc Ricketts navigation data as format 165. Added a Gaussian mean smoothing algorithm to MBnavedit. This is primarily intended for smoothing USBL or LBL based navigation of submerged platforms (e.g. ROVs or submersibles). Altered the install_makefiles perl script used to generate the makefiles during installation of MB-System. The install_makefiles script now automatically determines whether the local architecture is big or little "endian". Consequently, the "BYTESWAPPED" parameter no longer needs to be set in install_makefiles, and has been removed. The "GRAPHICAL" parameter has also been removed. Now, install_makefiles builds the graphical utilities only if the Motif libraries and header file location are specified with the MOTIFLIBs and MOTIFINCDIR parameters. Also, install_makefiles now allows users to specify the use of independent installations of the GSF and PROJ4 libraries. By default, the versions of these libraries distributed with MB-System will be built and used. Fixed bug in mbedit in which the view mode switched spontaneously after loading a new file and advancing the view buffer. Improved efficiency of attitude interpolation when reading Simrad multibeam data. This greatly improves the speed at which Simrad multibeam data files are read and processed. Fixed bug in mbm_grdplot which sometimes produces broken color tables. Updated GSF library code to GSF release 3.01. Fixed bug in EM710 support (format 59) involving netattitude datagrams. Changed licensing from GPL version 2 to GPL version 3. -----> 5.1.2beta07 Fixed MB-System compatibility with GMT 4.5.0 Fixed mbps memory handling. MBgrdviz now displays ping/shot numbers when navigation is picked. MBextractsegy now embeds line numbers into the output segy files. -----> 5.1.2beta08 Fixed mbauvloglist to work with all MBARI AUV logs. Fixed mbm_route2mission so that the AUV mission segment duration always corresponds to the actual mission segment length. Added file locking to the mbprocess system. Now, when mbprocess starts working on a swath file, it creates a *.lck file parallel to the swath file and deletes the *.lck file when processing is complete. Other instances of mbprocess will skip a locked file. This allows users to run multiple instances of mbprocess on multiple machines on the same datalist structure. This crude sort of parallel processing can greatly speed up reprocessing of large datasets. This locking functionality will be extended to the processing tools mbedit, mbeditviz, and mbnavedit in the future. -----> 5.1.2beta09 Fixed bug in SeaBeam 2112 support that misplaced some sidescan data on little-endian machines. Fixed the mbview library so that MBgrdviz will enable display of routes, sites, and navigation on all open windows when such data is loaded into one of the windows. Fixed cause of frequent MBgrdviz crashes when displaying multiple windows. Implemented timed background plotting in MBgrdviz so that full resolution displays automatically appear within a few seconds of the end of mouse interactions. Previously one had to click the "Full" button to get a full resolution view. At this point, the redisplay fails to happen occasionally. Greatly increased speed of reading third generation Simrad data (formats 58 & 59, EM710, EM302, EM122). -----> 5.1.2beta11 Fixed mb7k2ss to avoid creating shadow zones in the extracted sidescan. Fixed support for dual-head Simrad EM3002 data (formats 56 and 57). Changed mbdatalist so that the -Z option (create datalistp.mb-1 datalist file referencing an input datalist with the $PROCESSED tag set) can be executed in conjunction with creating ancilliary files with the -O or -N options. -----> 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 will now be built and installed in the bin directory. Rooted through the entire codebase fixing obvious failure points for 64-bit compilation. Most of the issues identified so far relate to storing address values in variables declared as "int". Completed moving the code base into subversion hosted at Lamont by first updating the subversion archive to 5.1.2beta11 and then committing the copious mods related to the 64-bit cleanup. Changed the suffix of the Perl source files in src/macros from ".perl" to ".pl". Changed the section name for the MB-System man pages from "l" to "1" for programs and "3" for libraries and functions. This is in line with common practice and follows a similar change by GMT. Modified support for Edgetech JSTAR sidescan/subbottom files (formats 132 & 133) to work with a new data sample from GEOMAR. MB-System can now automatically distinguish between low frequency (132) and high frequency (133) sidescan data. Modified support for Reson 7k multibeams (format 88) to work with a new data sample from GEOMAR. Altered interpretation of initial beam quality flags, improving initial beamflags. Fixed problems with survey generation in mbgrdviz. Improved read-only support for XTF format Reson 8XXX data (format 84 MBF_XTFR8101), but still don't have time stamping of attitude data correct. Augmented edit save file format and beam flag handling in order to deal successfully with multiple head multibeams that produce multiple pings with identical time stamps. This affects mbprocess, mbedit, mbeditviz, mbclean, and mbareaclean. Added program mbotps to generate open ocean tidal models at specified times and locations using the Oregon State Tidal Prediction Software (OTPS) package. This program will build whether OTPS is installed or not, but will only work if the OTPS programs are installed and in the user's path. The OTPS predictions are based on global barotropic inverse tidal solutions obtained with OTIS and available for download at: http://www.coas.oregonstate.edu/research/po/research/tide/ Added program mbsegypsd to calculate sonograms from segy time series data. Sonograms are 2D displays of power spectral density (PSD) functions (y-axis) 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 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 int-size variables rather than a pointer-size FILE variable, and declare mbview instance parameters as size_t rather than int so that passing these values through Xt event notify function calls as pointer values is clean. Also changed casting of pointer values to long for debug printing so that the pointer values are now casted to size_t values. This should allow for compatibility with Windows 64 bit builds, 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 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 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 Incorporates all changes listed above. Fixed memory management bug for formats 56 and 57 (Simrad EM3002 etc). ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.1.1 RELEASE NOTES: ------------------------------------------------------------------------------- Fixed longstanding error in src/mbio/mb_angle.c in the application of roll and pitch angles. Previously, the pitch rotation was applied first, which is incorrect, but only produced obvious errors with large pitch values. Now roll is applied first, and the translation between sonar coordinates and raytracing coordinates is correct. Ping number, and more importantly for seismic data, shot number annotation of navigation tracks is now supported by mbm_grdplot. Improved handling of navigation plotting and annotation by mbcontour, mbm_plot, and mbm_grdplot. It is now easier to specify time, ping number, and filename annotation of navigation tracks. Major modifications have been made to MBnavadjust. MBnavadjust now picks offsets in z (depth) as well as x (longitude) and y (latitude). An autopicking algorithm has been implemented, and a display of the optimal navigation adjustment model added as well. The acrosstrack view of MBedit now shows the real alongtrack positions of the soundings. Fixed bug in mbsys_gsf.c that incorrectly calculated the alongtrack distance of sidescan samples in "snippet" sidescan data contained in GSF format (121) multibeam data. On occasion this bug produced egregiously wrong alongtrack values. Fixed bug in mbgrid that caused failure to write Arc Ascii grids with option -G4. Augmented i/o module for XSE format (94) to support current version of SeaBeam 2112 sonars on WHOI ships. This data format now has an MB-System extension to its multibeam records that includes interpolated navigation values. Previously only asynchronous navigation was handled. Fixed bug in old Simrad i/o module regarding EM121A data. Added prototype of MBeditviz, a tool that combines 3D bathymetry editing and patch test capability. MBeditviz can be started from MBgrdviz. Any selected files (using navigation selection) will be loaded. Fixed further issues with the XSE format i/o module. Added swath file copy function to mbdatalist. Fixed calculation of grazing angles in mblist by adding sonar depth to the calculation. Added some additional large format page sizes to the plot macros mbm_plot, mbm_grdplot, mbm_grd3dplot, mbm_xyplot, and mbm_histplot. Added mblist capability to output tables using column delimiters other than tabs (e.g. commas to make csv files). Modified mbnavedit so that any nav points that repeat previous lon and lat values will be automatically flagged as bad. Fixed footprint calculation in mbmosaic, correcting problems in sidescan mosaic creation. Altered mbm_utm to work with comma delimited input data as well as white space delimited data. Updated proj library to current version 4.5.0. Updated gsf to the current version 2.07. Sidescan extracted from MBARI Mapping AUV data can now be laid out on a topography grid rather than laid out with a flat bottom assumption (mb7k2ss). The sidescan and amplitude correction scheme (mbbackangle & mbprocess) can now use a topography grid to calculate grazing angles. Altered several programs so that sidescan data can have valid zero or negative values. Stopped applying a shift to Simrad sidescan and amplitude values to force them to be positive. Added decimation feature to mblist, mbnavlist, and mbsegylist. Also added and/or fixed the delimiter, segment, and binary output features for all three listing programs. Added mbcopy capability to merge bathymetry and beam flags from a third "merge" swath file. This is a Gordon Keith contribution. MB-System programs will now recognize filename suffixes of the form ".MB***" as well as ".mb***". Capitalized versions of many vendor format suffixes are also supported. Fixed error in mblist manual page. Fixed mbswath handling of time gap errors that made plotting of single beam data problematic. Fixed problem with processing mgd77 data. Can now use mbedit to process single beam echosounder bathymetry. Made checking for data min maxes and bounds more robust to improve parsing through large databases. Added some generic gain values to mblist as part of the "raw" list. To do this, added mb_gains() function to MBIO. This is currently defined for SeaBeam 2112, Simrad, and Reson 7k multibeams. Added new program mbabsorption to calculate the sound absorption of seawater as a function of salinity, pH, temperature, depth, and frequency. Changed macro mbm_grdplot so that the -T option causes the coastline to be drawn without grayscale filling of dry areas. To obtain the previously default behavior, add -MTG128. Added support for newer Simrad multibeam data (e.g. EM710) in vendor format MBF_EM710RAW (format id 58) and processing format MBF_EM710MBA (format id 59) Updated format MBF_OMGHDCSJ (151), which supports the John Hughes Clark HDCS (SwathEd) format, to handle all of John's "version 3" data. John's "version 4" format is not yet supported. Added calculation and use of three dimensional covariance in the xyz nav offsets used by mbnavadjust. Added processing kluge006 to mbprocess. This "kluge" allows users to change the sonar draft value without changing the calculated bathymetry. This fixes a problem in which Atalante Simard data were exported by Caris into GSF with an incorrect sonar draft. Added program mbtime to allow command line conversion between calendar times and unix time values. Fixed mbprocess so that changes to the sonar depth/draft derived from mbnavadjust are output to the processed data. Previously the bathymetry was corrected, but not the sonar depth/draft. Fixed formats 58/59 to support EM302, EM122 in addition to EM710. Also supported "network attitude" datagram as source of attitude. Changed mbnavadjust inversion to use simplistic iterative relaxation rather than a full matrix solver. This targeted solver is faster and avoids some bad behavior around survey starts and ends. Fixed mbedit scaling for swath widths less than 6 m. Added formats 191 and 192 to support Imagenex Delta T multibeams. Format 191 supports the 83P vendor format and format 192 is an extended processing format. This format also supports data from the Odom ES3 multibeam sonar. Lengthened filename char arrays in mbedit, mbnavedit, and mbvelocitytool to prevent possible overflows with large paths. Updated the GSF code to new GSF version 2.09 Fixed support of UNB OMG HDCS format 151 to handle situation where ancillary sidescan files are missing. Added new program mbctdlist to allow mblist style text output of CTD data from swath files. Initially relevant only to Reson 7k format data. Applied patches to mbgrid and mbmosaic to handle lonflipping of bounds in projected coordinates. Added format 26 to support Hydrosweep DS data format used by SOPAC. Fixed support for EM302 sonars. Augmented mbgrid footprint gridding algorithm. When used with the -F5 option, mbgrid now does a first pass, low resolution grid to provide a local slope estimate. During the second pass, final gridding, individual beam footprints are tilted to reflect the local slope, increasing the high-resolution fidelity of the resulting topographic model. Enhanced the patch test capability of mbeditviz. MBeditviz can now be used to model time lag as well as roll, pitch, and heading bias. In order to use the time lag function, users must place files parallel to each swath file containing time series of attitude, heading, and sonardepth. These files contain the full asynchronous times series for heading, sonardepth, roll, and pitch and the synchronous time series for roll and pitch (asynchronous means the raw sensor data sampled more frequently than the sonar ping rate, and synchronous means the sensor data sampled at ping times). Each time series file uses epoch times in seconds as the first column. These files are: *.ath - asynchronous heading - time heading *.ats - asynchronous sonardepth - time sonardepth *.ata - asynchronous attitude - time roll pitch *.sta - synchronous attitude - time roll pitch Asynchronous data are not available in all formats. When available, the asynchronous data can be extracted using mbnavlist. The synchronous attitude can be extracted using mblist. Added support for EM12D data in the Caraibes netcdf form as format 76. Contributed by Gordon Keith. Removed a number of obsolete programs and macros from the distribution. The following are no longer distributed with MB-System: mbanglecorrect mbbackangleold mbbath mbcleanold mbeditold mbfilter mbgetmask mbmask mbmerge mbm_dslnavfix.perl mbm_fmtvel.perl mbm_vrefcheck.perl mbm_rollerror.perl mbnaveditold mbsmooth mbtide mbunclean ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.1.0 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.1.0 release of MB-System contains both bug fixes and new capabilities relative to the 5.0.9 release. A typo in the mbgrid man page was fixed. A catastrophic error in the i/o module for the MBF_ASCIIYXZ format was fixed. The proj library was updated to use code from the Proj 4.4.9 release. The proj and GSF libraries internal to MB-System have been renamed libmbproj and libmbgsf to avoid name conflicts with proj and gsf in package managers like fink for MacOsX. Fixed mbprocess problem with per-beam heave values when applying rotational bathymetry correction - previously did not initialize heave values for non-null but flagged beams. A minor change to mbbackangle to output the slope correction status (-Q) in the coments in the output file. Altered mbbackangle so that it outputs at least one table, even if there are no survey pings in a file. This prevents mbprocess from failing on data files with no survey pings. Also altered mbbackangle so that it outputs a single global correction table based on all of the input data. This can be used for uniform correction of sidescan and amplitude data.s A new program mbrolltimelag calculates the cross-correlation between roll data and the difference between the seafloor slope and the roll. If there is a time lag in the roll data, then the two series should have a cross correlation maximum at a nonzero time lag. New macro mbm_histplot for simple histogram plots. MBgrdviz now has a profile display capability. Profiles can be displayed and exported from two point picks, selected routes, and selected navigation. The profile view is enabled from the view menu. Fixed problems with output of ESRI ARC ascii grids from mbgrid and mbmosiac. Added interactive control over the target of precision of the navigation inversion in MBnavadjust. Added output of Winfrog pts file to mbm_route2mission. Added output of Winfrog pts file to mbgrdviz. MBedit now automatically chooses appropriate acrosstrack and vertical annotation intervals when files are opened. MBextractsegy now will extract subbottom data to segy files in sequential line files based on waypoints in a route file. The program generates a plotting shellscript that will in turn generate profile plots of the segy data. Long lines will be broken up into multiple plots. Updated manual page for mbm_route2mission. A bug in mbgrdtiff has been fixed that mislocated the geoTIFF images by 1/2 pixel, thanks to Gordon Keith. The plotting macros mbm_plot, mbm_grdplot, mbm_xyplot, mbm_3dgrdplot, and mbm_histplot all now use the current GMT default parameter PLOT_DEGREE_FORMAT rather than the old DEGREE_FORMAT. Upgraded the mbsystem/gsf code to GSF version 2.0.4. Since the libgsf code now has #ifdef statements allowing compilation under MacOSX, the code contained in MB-System no longer has modifications relative to the generic GSF releases. Added support for Simrad EM710 data in formats 56 and 57. Fixed byte count problem with comment records in format 94 (XSE data). Added GMT_end() calls to all programs calling gmtlib and pslib functions so that GMT "advisory file locking" does not system() calls to GMT programs. Put (void *) casts into qsort() calls to avoid compiler warnings. The macro mbm_grdplot now handles calls for a linear plot with decreasing x values (e.g. using -Jx-0.01/20 to specify the projection). A new edit mode called "grab" has been added to MBedit. In this mode, the user drags a rectangle on the ping display. When the mouse is released, all unflagged beams within that rectangle are flagged. All MB-System programs that read or write grids have been altered so that they will work with GMT 4.1.3 built in the default fashion (i.e. GMT built with "advisory file locking" enabled). Fixed mbgrdtiff so that it creates geographic GeoTIFF images with the longitude bounds consistent with the user's default or specified lonflip value. MBlist can now print out values associated with the port-most and starboard-most non-null beams and pixels. Use the special '=' or '+' characters in the -O option. Support was added for a new MBARI ROV navigation format (format id 170) Support was added for SEGY seismic data as single beam format (id = 160). Heading values are stored in an unused space in the trace header - this is an MB-System specific modification that will only be found in segy files generated by mbextractsegy. Ping number, and more importantly for seismic data, shot number annotation of navigation tracks is now supported by mbcontour and mbm_plot. Fixed problem reading some Simrad multibeam data with slightly broken bathymetry records. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.9 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.9 release of MB-System is purely a bug fix release, and includes only a few changes relative to the 5.0.8 release. The macros mbm_grdtiff, mbm_grd2arc, mbm_grd3dplot, mbm_grdinfo, mbm_grdtiff, mbm_grd2geovrml, and mbm_grdcut have been fixed to work properly with the output of the GMT 4.1 version of grdinfo. The code in src/mbio/mb_swap.c has been fixed so it will compile using the Solaris cc compiler. MBprocess had been fixed so that it will read navigation formats using julian days properly. MBnavedit has been altered so that speed and acceleration weighting values in the smooth inversion function can be less than 1.0. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.8 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.8 release of MB-System includes several changes relative to the 5.0.7 release. MB-System 5.0.8 requires GMT 4.1 in order to build successfully. The format 75 (MBF_MBNETCDF) i/o module has been altered to handle multiple pings with the same time stamp without breaking the beam edit (edit save file) scheme, which depends upon unique time stamps. When multiple pings with the same time stamp are encountered, the subsequent pings have multiples of 2 msec added so that each has a detectably unique time stamp. This issue relates to Thompson Seafalcon II multibeam data; this sonar collects five simultaneous acrosstrack swathes. Since this is a deep water sonar, the maximum 10 msec time addition should not introduce excessive error in navigation or other aspects of the data. The Edgetech Jstar format is now supported through the new MB-System formats 132 and 133. The Jstar format is relevant to Edgetech FSDW systems (and related sonar products). The FSDW systems include chirp subbottom profiler and dual frequency chirp sidescan sonar. Format 132 treats the low frequency sidescan as survey data, and format 133 treats the high frequency sidescan as survey data. Incorrect trace scaling of subbottom and sidescan data in the Reson 7k format (format 88) has been fixed. A new program called mb7k2jstar has been added that extracts Edgetech subbottom and sidescan data from Reson 7k format (88) files and writes that data in Edgetech Jstar (132/133) format files. The comments in the install_makefiles script has been updated to show the correct parameters needed to build MB-System on a current Solaris system. A feature to apply longitude and latitude offsets to navigation data has been added to MBnavedit. The program mbextractsegy can now extract subbottom profiler data in segy format from both Reson 7k files (format 88) and Edgetech Jstar files (formats 132 and 133). MBprocess kluge005 has been defined to cause survey data timestamps to be replaced by the timestamps of the corresponding merged navigation records. This allows timestamps fixed using MBnavedit to be inserted into processed data. The program mbsegygrid can now apply a simple time-varying gain to traces before gridding. This gain may begin at either the start of each trace or at the seafloor arrival time. The user may also set the length of time the gain is applied; samples after the end of the gain window are zeroed. The method for determining the best altitude value to be used in correcting amplitude and sidescan data has been improved in programs mbbackangle and mbbprocess. The program mbgrid once again uses the Zgrid algorithm for thin plate spline interpolation. The code allows for the GMT Surface algorithm to be used instead by compiling with a -DUSESURFACE compile flag. The macros mbm_grdplot and mbm_grd3dplot have been altered so that histogram equalization will work even if grdhisteq returns a smaller number of valid intervals than requested. The capability of plotting amplitude vs. grazing angle histograms from mbbackangle results has been fixed for sidescan data. A further significant architectural change was implemented for release 5.0.8 in order to support data formats that have no explicit maximum number of beams or pixels. The memory management of arrays used to hold bathymetry, amplitude, and sidescan data has been made dynamic. Now, when data records are encountered that include larger numbers of beams or pixels than will fit in the arrays previously allocated, those arrays are reallocated to the required size. This is handled automati- cally for all of the internal arrays used by MBIO functions. Of course, applications using MBIO must allocate arrays that are passed into functions like mb_read, mb_get_all, and mb_get to be populated by the desired data. In order for these arrays to be managed dynamically, the application must first register each array by passing the location of the array pointer to a new function called mb_register_array. The program MBgrdtiff has been altered so that the geoTiff images produced are more generally portable. A program called mbrolltimelag has been written to analyze attitude time lag. This macro extracts raw attitude and apparent slope values from multibeam data, and then calculates the cross correlation between roll and apparent slope over a specified range of time lags. If there is a an attitude time lag, then the bathymetry collected over a planar bottom should be dominated by a jitter that is correlated, with a time lag, with the roll signal. The format 56 (vendor Simrad multibeam format) i/o module has been altered to support data logged on byteswapped platforms (e.g. Windows Intel PC's.). The Simrad multibeam formats 56 and 57 now support recently introduced raw angle/range and water column imagery datagrams. These i/o modules also now handle cases where the beams listed in a sidescan datagram do not exactly match the beams listed in the corresponding bathymetry datagram differently than before. Previously the entire ping would have been dropped. Now, the ping is preserved but the raw sidescan samples are not used to generate binned sidescan. The program mbdatalist has been augmented to allow users to easily identify some problems with swath data files and the processing parameters specified in parameter files. The -n and -o options are used to generate ancillary files for all swath files referenced through a recursive datalist structure. These options now invoke mbinfo with the -n option, causing the "inf" files to include listings of easily identified data problems. The -q option of mbdatalist now extracts and lists these data problems as well as problems with the processing parameters.The possible data problems include: No survey data found Zero longitude or latitude in survey data Instantaneous speed exceeds 25 km/hr Average speed exceeds 25 km/hr Sounding depth exceeds 11000 m Unsupported Simrad datagram To populate the "inf" files of existing datalist structures with data problem notices, use mbdatalist with the -n option. The program mbvelocitytool now allows users to interactively set the center as well as the range of the water sound speed model plot window. Fixed mbm_plot so that it calculates reasonable plot bounds at high latitudes. The program mbset now accepts '=' as well as ':' as separators between parameter names and values in -P option arguments (as suggested by Bob Covill). The install_makefiles script has been altered so that the editable parameters are located towards the top of the file rather than below the documentation of example settings for different operating systems. The program mbareaclean now incorporates a mean filter as well as a median filter (contributed by Gordon Keith). The program mbmosaic will now mosaic grazing angle or acrosstrack slope as well as amplitude or sidescan data (contributed by Gordon Keith). The program mblist will now output some format specific values from Simrad multibeams (formats 56 and 57). In particular, some system parameters, raw amplitude values, and raw sidescan samples may now be output (Contributed by Gordon Keith). A new macro called mbm_makedatalist can easily generate a datalist referencing all identifiable swath files in a specified directory. There is a known but not understood bug in MBnavedit. When built on SUSE 10 systems, use of the smooth inversion function causes the first line of the output edited navigation to have NaN values for the longitude and lattitude. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.7 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.7 release of MB-System includes several changes relative to the 5.0.6 release. MBprocess and MBset now support merging sonar depth (or draft) from separate time series files. This is controlled by the SONARDEPTHMODE, SONARDEPTHFILE, and SONARDEPTHFORMAT mbprocess parameters. A bug in mbgrid has been fixed that affected the footprint gridding algorithm used with bathymetry from sonars on submerged platforms. MBedit has new view options. The default is the the traditional waterfall view. Users may now also view the soundings from an alongtrack view perspective and an acrosstrack view perspective without static vertical offsets between pings. The view mode is controlled from the View menu and from keyboard macros (characters '2', '3', and '4'). The 5.0.6 release mistakenly left the code in mbr_em300raw.c in debug mode, causing copious stderr output when reading raw Simrad data (format 56). This has been corrected. Problems with the output in debug mode of mbr_em300raw.c and mbr_em300mba.c have been fixed. The handling of the tickinfo string in the plot macros mbm_plot, mbm_grdplot, mbm_grd3dplot, and mbm_xyplot have been fixed. The orientation of the filename annotation by mbcontour has been fixed, and control over that orientation has been added to mbcontour and mbm_plot. Fixed problem of uninitialized data in mbr_mbpronav.c. Fixed problem with occasional incorrect scaling of sonar depth in mbldeoih format (71) data. Fixed problem in which sonar depth could be calculated from implausible pressure values in some single beam or navigation formats. Improved handling of interpolated asynchronous data, especially sonar depth, in Reson 7k data (format 88). A capability to interpolate over repeated values was added to mbnavedit. Fixed a problem with the beam footprint gridding algorithm in mbgrid that caused beam footprints to be miscalculated for submerged sonars. Fixed MBgrdviz crashes related to route data by fixing problem with allocation and deallocation of route arrays in the mbview library. Moved tide correction to end of processing tasks so that it doesn't mess up grazing angle calculations for amplitude and sidescan correction. Added option to mbm_grdplot allowing the user to specify a separate grid file to be contoured. This code was contributed by Gordon Keith. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.6 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.6 release of MB-System includes several changes relative to the 5.0.5 release. The man page for mbprocess has been updated with full documentation of the navigation formats supported for merging by mbprocess. The merging of heading and attitude data from navigation files has been fixed. The ability to merge attitude data from a separate file has been added to mbprocess, and the mbprocess and mbset man pages have been updated. A problem producing ascii grids from mbgrid and mbmosaic has been identified, and a fix suggested by Gordon Keith adopted. A problem with the -D option of mblist has been identified, and a fix suggested by Gordon Keith adopted. A new program called mbneptune2esf has been contributed by Gordon Keith. MBneptune2esf imports manual data flagging performed using Simrad's NEPTUNE software and flags those beams in the corresponding MB-System files. A new program called mbauvnavusbl has been added to the distribution. MBauvnavusbl reads a primary navigation file (usually from a submerged platform swath survey) and also reads secondary navigation (e.g. USBL fixes). The program calculates position offsets between the raw survey navigation and the secondary navigation every 3600 seconds (10 minutes), and then linearly interpolates and applies this adjustment vector for each primary navigation position. The adjusted navigation is output. The ability to annotate tracklines on swath plots with the swath filenames has been added to mbm_plot and mbcontour. The annotation occurs at the beginning of the data associated with each file. This option can be used most simply by specifying -NF in mbm_plot. The suggestion and initial implementation were contributed by Gordon Keith. A problem with setting file paths in parameter files in the different directories associated with recursive datalists has been fixed. The nature of and fix to this bug were determined by Gordon Keith. Fixed makefiles to link libpsl.a with all programs making libgmt.a calls. This was necessitated by changes to the GMT4.0 release relative to the GMT4.0beta release. Implemented latest GSF release (2.0.3). Fixed, but not satisfactorily, a problem reading some older EM3000 data with the current format 56 i/o module. Added release version of simple grid visualization demo mbgrdviz. Improved the ability of mbgrid to embed background datasets. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.5 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.5 release of MB-System includes several changes relative to the 5.0.4 release. The program mbgrid can now obtain background data from GMT grid files using grd2xyz as well as through raster databases using grdraster. See the -Kbackground option documentation in the mbgrid manual page. The macro mbm_xbt has been substantially updated. The -G option of mbinfo now avoids reporting zero starting positions (it always ignored zero positions for the reported data bounds). Provides read-only support for Edgetech sidescan and subbottom profiler data in the new Reson 6046 format (format id 88). A new program mbextractsegy allows for the extraction of subbottom profiler data into separate files in the SEGY format (this can apply only to data formats that incorporate subbottom data in with swath sonar data, and at present only supports format 88). A new program mbsegyinfo is a utility for reading a segy format seismic data file and outputting some basic statistics. The table generated shows the filename, data counts, navigation totals, time and navigation of the first and last data records, minimum and maximum data values, and the geographic bounding box of the data. A new program mbsegylist is a utility to output specified header values from segy seismic data files to stdout. The option -Ooutput_format is used to control the type and order of values output. By default, mbsegylist produces ASCII files in spreadsheet style, with data columns separated by tabs. Alternatively, the output can be binary, with each field represented as a double precision float (-A option). A new program mbsegygrid generates grids from subbottom profiler data (and seismic reflection data, and potentially other seismic data) in the SEGY format. These grids can then be displayed using GMT (through mbm_grdplot if desired). The program mbm_plot now works properly when start and end times are specified using the -MMB and -MME options. A bug involving the handling of edit save filenames by mbset and mbprocess has been fixed. Errors in handling Simrad datagrams and edit save files on byteswapped machines (e.g. Intel or AMD processors) have been fixed. The program mbdatalist has a new option -Z which causes a standard "datalistp.mb-1" file to be created. This is a convenience file that applies the $PROCESSED flag to be applied to the swath files referenced in a datalist named "datalist.mb-1". Problems with the creation of amplitude vs. grazing angle correction tables using mbbackangle, and the use of those tables by mbprocess, have been fixed. The default settings for mbbackangle and amplitude vs. grazing angle correction by mbprocess have been changed. The default angle mode for raytracing has been changed so that starting angles are adjusted using Snell's Law for the difference between the SSV and the initial depth in the SVP. This change affects mbvelocitytool, mbsvplist, mbset, and mbprocess. The program mbsvplist now has an option -P that not only outputs SVPs in a swath file to individual ancillary SVP files (as with the -O option), but also sets the first SVP output file to be used by mbprocess to recalculate the bathymetry. 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: ------------------------------------------------------------------------------- The version 5.0.4 release of MB-System includes several changes relative to the 5.0.3 release. All of the interactive tools (MBedit, MBnavedit, MBvelocitytool, MBnavadjust) have been changed to require linking with the Motif 2.0 or later library (or compatible open source versions such as OpenMotif or LessTif). The MB-System distribution is now compatible with GMT 4.0b. There have been minor changes to the pslib and gmtlib APIs, so it is necessary to specify the linked version of GMT in the mbsystem/install_makefiles script. Set: $GMTVERSION = "4.0"; if you are using GMT 4.0b, or set: $GMTVERSION = "3.4"; if you are still using GMT 3.4 MBnavadjust has a significant new feature in which the contours displayed by the Nav Err window can be pre-generated. This greatly increases the speed with which the bathymetry crossings can be analyzed. A "Flag View" feature has been added to MBedit, allowing users to flag all of the beams in the current display. Key macros have also been defined for both the "Flag View" and "Unflag View" buttons. The raw Hydrosweep DS format (format 21) i/o module now estimates travel times from the bathymetry when data files lacking travel time records are read. This allows users to recalculate bathymetry by raytracing even if the travel times are not recorded. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.3 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.3 release of MB-System includes two bug fixes relative to the 5.0.2 release. We have fixed a bug in the i/o modules for Simrad multibeam data (formats 56 and 57) that caused a failure to gracefully handle unsupported datagrams on byteswapped systems (e.g. Intel processors running Linux). We have fixed a bug that caused edit save files to be incorrectly read on byteswapped systems (e.g. Intel processors running Linux). We have fixed a bug in the i/o modules for binary SeaBeam 2100 data (formats 42 and 43) that caused data to be written incorrectly on byteswapped systems (e.g. Intel processors running Linux). ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.2 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.2 release of MB-System includes two bug fixes relative to the 5.0.1 release. We have fixed a bug in the i/o module for Elac Bottomchart data in the XSE format (94) in which the sonar depth was added to bathymetry values when new data files were written. We have also fixed problems related to reading and writing SeaBeam 2100 data in the binary formats 42 and 43. ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.1 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0.1 release of MB-System includes two bug fixes relative to the 5.0.0 release. The program mbgrid has been fixed so that it compiles correctly under Red Hat Linux. The program mbcopy has been fixed so that time and space bounds are successfully applied to pings with a time gap error. Also, the distribution now has a top directory name of mbsystem-5.0.1 rather than just mbsystem. This will allow users to unpack the distribution in the target location without overwriting an existing older MB-System installation. Users can then rename the directory to mbsystem or create a soft link to mbsystem-5.0.1 named mbsystem (e.g. ln -s mbsystem-5.0.1 mbsystem). ------------------------------------------------------------------------------- MB-SYSTEM VERSION 5.0.0 RELEASE NOTES: ------------------------------------------------------------------------------- The version 5.0 release of MB-System includes a number of changes and improvements relative to the version 4 releases. The most significant changes include: A new approach to managing data processing. - Many tools - one output file. In previous versions of MB-System, each processing program read an input swath data file and produced an output swath data file. This "serial" processing scheme generally produced a large number of intermediate data files. MB-System version 5.0 features the integration of the editing and analysis tools with a single program, mbprocess, that outputs processed data files. The new "parallel" processing scheme covers bathymetry data processing, but does not yet incorporate the sidescan processing capabilities. All of the old tools and capabilities are still part of the distribution. - Recursive datalists. The lists of data files used by gridding and plotting programs can now be recursive, making it simpler to manage data from many different surveys. - Automatic format identification. MB-System programs will now attempt to automatically identify the swath data format based on the filename suffix. - Extended inf files. Users can generate inf files by directing the output of mbinfo to a file named by adding an ".inf" suffix to the swath data file name. Several programs can parse inf files, if they exist, to quickly obtain data locations or ranges. This feature speeds operations such as gridding, mosaicing, and automated plotting. New tools. - mbnavadjust. This new tool allows users to adjust poorly navigated surveys by matching features in overlapping swathes. It is particularly useful for processing surveys conducted from submerged platforms. - mbprocess. This new tool performs a variety of processing tasks and produces a single output processed swath data file. The program mbprocess can apply bathymetry edits from mbedit and mbclean, navigation edits from mbnavedit, sound velocity profile changes from mbvelocitytool, and a variety of other corrections. - mbset. This new tool allows users to create and modify the parameter files used to control the operation of mbprocess. - mbdatalist. This new tool allows users to list the files referenced by a recursive datalist structure. It can also be used to create the ancillary ".inf", ".fbt", and ".fnv" files for all of the data files referenced in a recursive datalist structure. - mbsvplist. This new tool lists water sound velocity profiles embedded in swath data files, creating secondary files that can be read into MBvelocitytool. - mbareaclean. This new tool identifies and flags artifacts in swath sonar bathymetry data within a specified area of interest. The area is divided into a grid with square cells or bins, and the data are grouped according to these bins. Once all of data are read, statistical tests are applied to the soundings within each bin. Improved bathymetry and navigation editors. - MBedit and MBnavedit now swallow data files whole rather than reading in limited size buffers. - MBedit now outputs beam edit events rather than an entire swath file. The edits are applied by MBprocess. - MBnavedit now outputs the edited navigation rather than an entire swath file. The edited navigation is merged using MBprocess. - Both editors show the position of the currently displayed data within the entire data file. - MBnavedit has two navigation modeling modes relevant to swath data collected using poorly navigated ROVs and towfishes. One mode applies a dead reckoning model with interactively set drifts, and the other involves inverting for an optimally smooth navigation by penalizing speed and acceleration. Support for Projected Coordinate Systems - MB-System now incorporates the source code for the PROJ.4 Cartographic Projections library, providing support for (apparently) all commonly used geodetic coordinate systems. PROJ.4 was developed by Gerald Evenden (then of the USGS), and was obtained from the www.remotesensing.org website. - A large number of commonly used projected coordinate systems (e.g. UTM) are defined in a file (mbsystem/share/projections.dat) distributed with MB-System. These include all of the standard UTM zones, all of the standard state plate coordinate systems, and most of the European Petroleum Survey Group (EPSG) coordinate systems (also including UTM). - MB-System can now handle swath data that is navigated in a supported projected coordinate system. In particular, data files that are navigated with UTM eastings and northings instead of longitude and latitude can now be plotted and processed with MB-System. - The programs mbgrid and mbmosaic can now output grids and mosaics in any of the projected coordinate systems specified in mbsystem/share/projections.dat. - The TIFF images generated with mbm_grdtiff and mbgrdtiff now fully conform to the GeoTIFF standard, providing that the source grids or mosaics were generated using mbgrid or mbmosaic in either Geographic coordinates, UTM coordinates, or any of the EPSG coordinate systems specified in the projections.dat file. This means, for instance, that GeoTIFF images generated with mbgrdtiff will be properly georeferenced when they are imported into ESRI ArcGIS or other GIS packages. Restructuring the code. - All of the C code now conforms to the ANSI C standard. - The underlying input/output library (MBIO) has been substantially rewritten. The structure has been streamlined, simplifying both future development and support of the existing code. The MBIO API has been greatly modified. Handling of old Simrad multibeam data. - Vendor format data from the old Simrad multibeams (pre- 1997 sonars) are now supported by a single format id (51) rather than a separate format id for each sonar model. The old format id's are automatically aliased to 51, so existing shellscripts will continue to work. - Sidescan data from old Simrad multibeams (pre-1997 sonars) are now handled in the same manner as data from the newer sonars (e.g. EM3000, EM3000, EM120). The raw samples in the vendor data format are binned, averaged, and interpolated into a 1024 pixel sidescan swath. This binned sidescan is not saved in the vendor format, so it is recommended that the data be copied to an extended format (57) that stores both bathymetry beam flags and processed sidescan. Format 57 is also used for processing data from the current Simrad multibeam sonars. Streamlining of MB-System Default Parameters. - Prior to version 5.0, the MB-System defaults set by mbdefaults included the format id, a control for ping averaging, longitude and latitude bounds for windowing by area, and begin and end times for windowing in time. These values are no longer set in the .mbio_defaults file or controlled by mbdefaults. As noted above, the format id is automatically identified from the filename when possible. When filenames do not match one of the recognized structures, users must specify the format using the relevant programs -Fformat option. The controls for ping averaging and windowing in time and space are rarely used, and must now be explicitly set in command line arguments. New Data Formats - Furuno HS10 multibeam bathymetry is supported as format 171. - SeaBeam 2120 multibeam data in the L3 Communications XSE format are supported as format 94 (already used to support Elac Bottomchart MkII XSE data). - Raw STN Atlas multibeam data generated by the upgraded Hydrosweep DS2 multibeam on the R/V Ewing are supported by read-only format 182. Processing is supported using the augmented read-write format 183. - The IFREMER netCDF multibeam archiving data format is supported as format 75. Similarly, the IFREMER netCDF navigation archiving data format is supported as format 167. - The STN Atlas processing data format SURF is supported as format 181. At present, SURF is supported as a read-only format. This allows plotting and gridding of the SURF data, but not processing. Writing or translating the SURF data to allow processing will be supported in a later version. - The Hawaii Mapping Research Group's new MR1 format is supported as format 64. This format is used to disseminate data from both the HMRG interferometric sonars (e.g. MR1) and the WHOI DSL 120 deep-towed inteferometric sonar. This format has been supported by including the code for the HMRG library libmr1pr in the MB-System library. Thanks to Roger Davis and HMRG for making the code available under the GPL.