Skip to content

Releases: dwcaress/MB-System

5.7.6beta33

05 May 09:34
c59be5b
Compare
Choose a tag to compare
5.7.6beta33 Pre-release
Pre-release

5.7.6beta33 (May 5, 2020)

Mbnavadjust: Changed handling of fixed surveys when updating the project grid
or applying the solution. Previously the files of fixed surveys were ignored,
even if they previously had been adjusted before being set to fixed. Now, the
unchanged *.na0 file will be output and the navadjust state will be updated
so that mbprocess will apply the unchanged navigation.

Mbcopy: A compile failure occurs for src/utilities/mbcopy.cc on Windows as
reported by Joaquim Luis. The issue is that under Visual Studio C++ some
external symbols referenced in the mbsys_simrad.h header file are not
available to the C++ code in mbcopy.cc. This is not true for clang or gcc.
The symbols in question are double arrays holding the beam angles for different
operation modes of the Simrad multibeams supported by this i/o module.
The solution attempted here is to move the array definitions to mbsys_simrad.c
and to provide a non-standard function to access pointers to those arrays. By
non-standard I mean this does not fit with the normal set of MBIO API functions,
and does not exist for i/o modules generally. The function mbsys_simrad_beamangles()
has been added to mbsys_simrad.c and the prototype in mbsys_simrad.h is wrapped
with extern "C" so it can be called from mbcopy.cc.

Mbcopy: The current processing model for old Simrad multibeam data in format 51
is to first use mbcopy to translate it the extended second generation Kongsberg
format 57, and then process it as one would more modern data. It was discovered
that this translation was failing to properly copy navigation records. This
was fixed.

Format MBF_EMOLDRAW (51): Because the compile error referenced above involved
1990's era Simrad multibeam data in format 51, it was necessary to test processing
of such data. This revealed that recent changes to program logic from using
MB_YES/MB_NO/MB_MAYBE values to bool variables (true/false) had broken the basic
data record reading logic for the MBF_EMOLDRAW i/o module. This has been fixed.

Build system for Qt5 based tools: Improved the build system handling of Qt5
programs. The test program enabled by running configure with the --enable-qt
option has been renamed mbgrdvizqt, but still resides in src/qttest. The
approach now is to do the following:
(1) The configure script creates the Qt project file src/qttest/mbgrdvizqt.pro
and then modifies the values of variables specifying the required MB-System
and GMT libraries and headers.
(2) The configure script runs qmake in src/qttest to generate a Makefile named
src/qttest/Makefile.qmake
(3) The configure script generates a Makefile in src/qttest that in turn will
run make itself using Makefile.qmake for targets all, install, uninstall,
and clean.
This approach now works on a Mac. It's time to test on Linux.

5.7.6beta32

22 Apr 09:10
ff6658c
Compare
Choose a tag to compare
5.7.6beta32 Pre-release
Pre-release

Mbgrid: Fixed failure of the two gridding algorithm using beam footprints in
which the footprint size blows up at low grazing angles. The fix is to not
use soundings for which the grazing angle is less than five degrees.

Mbgrid and mbmosaic: Replaced int values with bool values where appropriate.

Build system: Added option to enable building tools based on Qt5 to the autotools
build system. If the configure script is given the --enable-qt option, it
checks if Qt5 has been installed, and if so, determines the compiler and linker
flags required to build tools using Qt5. At present, the only Qt5 based code
is in the directory src/qttest, and this code does not successfully compile
and run. Therefore it is not recommended to run configure with the --enable-qt
option. However, the build system is now ready to support Qt5 based tools as
they are developed.

Mbgrdtiff: Paul Wessel contributed a new version of mbgrdtiff that constructs
the image by a direct call to the grdimage module. This version will only build
and work with GMT 6.1 and later. The original code included code building the
image, duplicating functionality in grdimage. The new version is now
mbsystem/src/gmt/mbgrdtiff.c
and the original version
mbsystem/src/gmt/mbgrdtifforg.c.
The build system has been augmented to check the GMT version and build mbgrdtiff
from the original when that is <6.1 and the new file when that is >= 6.1.

General (mb_define.h, mb_format.c, mb_format.h): Added definition of format=-2
as recursive imagelists. Analagous to datalists, this construct supports timestamped
lists of single or stereo photographs. Like datalists, the imagelists can be
recursive. This is a precursor to bringing into MB-System tools for processing
seafloor photography collected during surveys, particularly for photomosaicing.

Mbsslayout and future photomosaicing: The parameters use to define convergence
when intersecting a vector with a topography model in mb_intersectgrid.c have
been improved, yielding more accurate intersection locations for backscatter samples
or source image pixels when laying out sidescan or photography data.

Mbnavedit: Changed minimum range of draft (sensordepth) plot to be +/- 0.05 meters.

Mbeditviz: Fixed problem with preserving changes to edits that are recorded in
*.esf files.

Mbtrnpp: merged recent changes by Kent Headley to the source files in
src/mbtrn, src/mbtrnav, and src/mbtrnutils.

Mbset: changed output to clearly indicate when parameter files are created
(or not) or modified (or not). This involved adding a function
mb_pr_compare() to mb_process.c that can be used in mbset.c to check
whether the modified process parameter structure actually differs from
the original structure.

Formats MBF_OICGEODA (141) and MBF_OICMBARI (142): Fixed support for old OIC
format DSL120 interferometric sonar data. Processing of these data now works
with mbpreprocess and mbprocess again. The sidescan data were compromised
by treating unsigned amplitude values as signed, and treating null samples as
valid.

Testing: Reinstated OSX test build as part of the Travis CI runs triggered by
commits to the Github repository.

Code style: Kurt Schwehr is systematically altering the code to conform to best
practices and adding build tests. The improvements included in this beta release
include work on mbview and programs using mbview, the auxilliary library in src/mbaux, particularly including mb_cheb.c, mb_intersectgrid.c, and mb_zgrid.c,
and on mbedit.

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

5.7.6beta31

02 Mar 08:23
73b9a47
Compare
Choose a tag to compare
5.7.6beta31 Pre-release
Pre-release

5.7.6beta31 (March 2, 2020)

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

Mbeditviz: The program now keeps only a limited number of esf (edit save file)
files open for writing rather than opening esf files for all loaded swath files.
The program was failing when the total number of open files exceeded the operating
system maximum (1024 on MacOs and CentOs). The default maximum number of open
esf files is now 25.

Mbeditviz: Colorized flagged soundings the same as for mbedit (filtered == blue,
manually edited == red).

Format 233 (MBF_WISSLR): Corrected use of ev_offset and az_offset (across and
alongtrack distance offsets at the optical head) in preprocessing. Also added
a capability to apply Snell's law type tweak to the lidar pulse angles throuhg
mbpreprocess (--kluge-beam-tweak=value).

Code style: Kurt Schwehr is systematically altering the code to conform to best
practices and adding build tests. The improvements included in this beta release
include work on mbview and programs using mbview.

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

5.7.6beta30

20 Feb 15:17
32489c9
Compare
Choose a tag to compare
5.7.6beta30 Pre-release
Pre-release

5.7.6beta30 (February 20, 2020)

Mbprocess, mbfilter, mbvoxelclean, mbclean, mbinfo, mbdatalist: Fixed bugs in
handling of status values returned by functions that caused early program
termination.

Code style: Kurt Schwehr is systematically altering the code to conform to best
practices and adding build tests. The improvements included in this beta release
include work on mbview and programs using mbview.

5.7.6beta29

17 Feb 10:40
77a511e
Compare
Choose a tag to compare
5.7.6beta29 Pre-release
Pre-release

5.7.6beta29 (February 13, 2020)

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

Mbcopy: Fixed bug in parsing the end time values specified with the -E option.

Code style: Kurt Schwehr is systematically altering the code to conform to best
practices and adding build tests. The improvements included in this beta release
include work on mbview and programs using mbview: mbgrdviz, mbeditviz, mbnavadjust.

5.7.6beta28

14 Feb 06:06
7017709
Compare
Choose a tag to compare
5.7.6beta28 Pre-release
Pre-release

5.7.6beta28 (February 13, 2020)

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

Format 233 (MBF_WISSLR): Embedded fix for timing glitch in early WiSSL data.

Mbotps: Discovered that the path length for the temporary files written by
mbotps must be less than 100 characters or the OTPS program predict_tide will
fail. Altered the filenames used for these temporary files to be as short as
possible.

mbvoxelclean: Fixed datalist reading logic.

mbprocess: Fixed bug introduced in 5.7.6beta27 that caused mbprocess to exit
in the middle of processing files referenced by a datalist.

Code style: Kurt Schwehr is systematically altering the code to conform to best
practices and adding build tests. The improvements included in this beta release
include work on mbedit, mbnavedit, and mbnavadjust.

5.7.6beta27

04 Feb 02:02
1463890
Compare
Choose a tag to compare
5.7.6beta27 Pre-release
Pre-release

5.7.6beta27 (February 3, 2020)

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

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

5.7.6beta26

02 Feb 08:23
60aa831
Compare
Choose a tag to compare
5.7.6beta26 Pre-release
Pre-release

Format 181 (MBF_SAMESURF): Fixed compiler warnings, including warnings from a
mismatch of 32 bit and 64 bit integer pointers due to the early 1990's vintage
of this contributed library.

mbpreprocess: Fixed error in calculating lever arms that resulted in incorrect
static offsets to bathymetry calculated at the preprocess stage using platform models.
Fixes are in src/mbio/mb_platform.c.

mbotps: The tidal correction program has been recast to use the current global
atlas tidal model from the Oregon State University Tide Group. This model is
called tpxo9_atlas - the model files must be obtained from OSU now as they are
no longer available for anonymous download. When the MB-System documentation is
updated to include the steps required to obtain and install the tidal model,
we will output a formal 5.7.6.

Code style: Kurt Schwehr is systematically altering the code to conform to best
practices and adding build tests. The improvements included in this beta release
include cleaning up the SURF format library, work on mbedit, mbnavadjust, and
the GMT modules mbswath, mbcontour, and mbgrdtiff.

5.7.6beta25

20 Jan 19:23
b55bcb6
Compare
Choose a tag to compare
5.7.6beta25 Pre-release
Pre-release

5.7.6beta25 (January 20, 2020)

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

Mbeditviz: Fixed a bug recently introduced (inadvertently) that caused a crash when bringing up the sounding 3D cloud.

Mbm_grd2arc: Fixed failure with GMT 6. Basically, there is a GMT module grdconvert that accomplishes exactly the same task, so this macro is unnecessary. It has been recast to simply call gmt grdconvert. It will be listed as deprecated, but left in the distribution to maintain the viability of old processing scripts.

Code style: Kurt Schwehr is systematically altering the code to conform to best practices and adding build tests. The tests are performed by running
make check
and are executed automatically by the Travis CI service integrated with Github
whenever commits are made to the Github repository. The current changes mostly consist of cleaning up the code of the graphical utilities such as mbedit, mbnavedit, mbnavadjust.

5.7.6beta24

16 Jan 06:49
8db1377
Compare
Choose a tag to compare
5.7.6beta24 Pre-release
Pre-release

Build system: The configure.ac file now uses the AX_CXX_COMPILE_STDCXX(11) macro
to require that the code conform to the C++11 standard. Some preprocessor
directives have been added to src/utilities/mbprocess.cc to handle the case of
building with gcc 4.8.1 through 4.8.5, which has errors in implementing structure
constructors consistent with this standard. Also, instances of isnan() calls
throughout the codebase have been changed to std::isnan(), and in these cases
the "#include <math.h>" has been replaced by "#include <cmath". The order of
libraries in src/mbtrn/Makefile.am has been changed so that libmframe.la is
installed before libr7kr.la (which depends on libmframe.la). With respect to
libproj, configure.ac now checks for Proj 4 vs Proj 6 using
proj_normalize_for_visualization() for the Proj 6 API and pj_init_plus() for
the Proj 4 api. Since proj_normalize_for_visualization() did not get added to the
Proj 6 API until release 6.1.0, this means that the deprecated Proj 4 api
will continue to be used when building with Proj releases 5.0 through 6.0.
In practice, the build system sets preprocessor values that determine at compile
time which Proj API is used by the functions in src/mbio/mb_proj.c.

Code style: Kurt Schwehr is systematically altering the code to conform to best practices and adding build tests. The tests are performed by running
make check
and are executed automatically by the Travis CI service integrated with Github
whenever commits are made to the Github repository.