资源说明:Multibeam sonar processing
MB-SYSTEM README FILE: ---------------------- Version: $Id$ ---------------------- This file is located at the top of the MB-System directory structure. This directory structure contains the source code of the MB-System software package for processing and display of swath sonar data. MB-SYSTEM VERSION 5 DESCRIPTION: ------------------------------- MB-System is a software package consisting of programs which manipulate, process, list, or display swath sonar bathymetry, amplitude, and sidescan data. This software is distributed freely (and for free) in the form of source code for Unix platforms. The heart of the system is an input/output library called MBIO which allows programs to work transparently with any of a number of supported swath sonar data formats. This approach has allowed the creation of "generic" utilities which can be applied in a uniform manner to sonar data from a variety of sources. Most of the programs are command-line tools, but the package does include graphical tools for editing swath bathymetry, editing navigation, modeling bathymetry calculation, and adjusting survey navigation. MB-SYSTEM VERSION 5 RELEASE DATES: ----------------------------------------- * 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 AUTHORS: ----------------- David W. Caress (caress@mbari.org) Monterey Bay Aquarium Research Institute 7700 Sandholdt Road Moss Landing, CA 95039 Dale N. Chayes (dale@ldeo.columbia.edu) Lamont-Doherty Earth Observatory of Columbia University Rte 9W Palisades, NY 10964 MB-SYSTEM COPYRIGHT, LICENSING AND CAVEAT: ----------------------------------------- MB-System Copyright (C) 1993-2012 by David W. Caress (caress@mbari.org) Monterey Bay Aquarium Research Institute Moss Landing, CA 95039 Dale N. Chayes (dale@ldeo.columbia.edu) Lamont-Doherty Earth Observatory Palisades, NY 10964mbbackangle.manl All Rights Reserved All Wrongs Remembered The MB-System source code is distributed under the GNU General Public License as formulated by the GNU Project. Early MB-System distributions were described as "public domain", which meant there was no restrictions whatsoever on the use of the code. For over a decade we have adopted the more restrictive GNU GPL license in order to insure that anyone who distributes software based in whole or in part on MB-System also distributes the modified MB-System source code and any additional source code. The GNU GPL also prohibits the distribution of proprietary executables linked with MB-System libraries unless the source code is also distributed. We waive this restriction on distributing proprietary compiled programs for specific software products if and only if those software products meet the following two conditions: 1) The software product was created, sold, and delivered to customers using source code derived from MB- System release 4.6 distributions. 2) The software product was sold and delivered to customers prior to January 1, 2001. The MB-System does not come with any warranties, nor is it guarenteed to work on your computer or to do anything useful. The user assumes full responsibility for the use of this system. In particular, David W. Caress, Dale N. Chayes, the Lamont-Doherty Earth Observatory of Columbia University, the Monterey Bay Aquarium Research Institute, or any other individuals or organizations involved in the design and maintenance of the MB-System software package are NOT responsible for any damage that may follow from correct or incorrect use of these programs. MB-SYSTEM VERSION 5.3 RELEASE NOTES: ------------------------------------------ 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 Ðdargument 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 optiona 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 Ðo 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 po
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。