Skip to content

Commit

Permalink
Mbm_grdplot, SEGY data, *.all files from submerged platforms
Browse files Browse the repository at this point in the history
Mbm_grdplot: Added colortable 10, which runs from blue to red and can be used for
plots of seismic reflection or subbottom profiler data when the trace signals are
both positive or negative.

SEGY format data: Changed MB-System SEGY traceheader to include a sensordepthtime
float value in bytes 216-219. This will be used to hold the two-way traveltime in
seconds corresponding to the source depth assuming a 1500 m/sec water sound speed.
This value can be used as a trace start delay time in plotting to account for the
source location of subbottom profiler data collected from submerged platforms like
AUVs and ROVs. The MB-System programs mbsegygrid and mbm_grdplot use the source
depth value in meters, but some external packages need the delay time.

SEGY format data: MB-System now recognizes file suffixes *.sgy and *.SGY in addition
to *.segy *.SEGY *.seg and *.SEG

Mbsegyinfo: Fixed calculation and reporting of trace minimum and maximum values.

Mbextractsegy: Now allows output of subbottom analytic data as well as envelope data.
Use of the -S4 command will output three separate segy files, one with the envelope
function, one with the subbottom correlate, and one with the correlate conjugant
(i.e. the Hilbert transform of the correlate). The section plot script generated now
will create plots of all three trace types.

Mbpreprocess and mbprocess: Now support merging navigation and attitude from Schmidt
Ocean Institute RVDAS format ROV navigation.

Mbpreprocess and format MBF_EM710RAW (58): The command --kluge-auv-sentry-sensordepth
now works for format 58 files (3rd generation Kongsberg multibeam data in *.all files)
such that available sensordepth values are embedded in the output format MBF_EM710MBA
(59) files.
  • Loading branch information
dwcaress committed Mar 10, 2024
1 parent 5c70997 commit 6f502e0
Show file tree
Hide file tree
Showing 18 changed files with 1,590 additions and 1,030 deletions.
34 changes: 34 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ or beta, are equally accessible as tarballs through the Github interface.
### MB-System Version 5.8 Releases and Release Notes:
---

- Version 5.8.1beta08 March 10, 2024
- Version 5.8.1beta07 February 24, 2024
- Version 5.8.1beta04 February 16, 2024
- Version 5.8.1beta03 February 8, 2024
Expand All @@ -32,6 +33,39 @@ or beta, are equally accessible as tarballs through the Github interface.

---

#### 5.8.1beta08 (March 10, 2024)

Mbm_grdplot: Added colortable 10, which runs from blue to red and can be used for
plots of seismic reflection or subbottom profiler data when the trace signals are
both positive or negative.

SEGY format data: Changed MB-System SEGY traceheader to include a sensordepthtime
float value in bytes 216-219. This will be used to hold the two-way traveltime in
seconds corresponding to the source depth assuming a 1500 m/sec water sound speed.
This value can be used as a trace start delay time in plotting to account for the
source location of subbottom profiler data collected from submerged platforms like
AUVs and ROVs. The MB-System programs mbsegygrid and mbm_grdplot use the source
depth value in meters, but some external packages need the delay time.

SEGY format data: MB-System now recognizes file suffixes *.sgy and *.SGY in addition
to *.segy *.SEGY *.seg and *.SEG

Mbsegyinfo: Fixed calculation and reporting of trace minimum and maximum values.

Mbextractsegy: Now allows output of subbottom analytic data as well as envelope data.
Use of the -S4 command will output three separate segy files, one with the envelope
function, one with the subbottom correlate, and one with the correlate conjugant
(i.e. the Hilbert transform of the correlate). The section plot script generated now
will create plots of all three trace types.

Mbpreprocess and mbprocess: Now support merging navigation and attitude from Schmidt
Ocean Institute RVDAS format ROV navigation.

Mbpreprocess and format MBF_EM710RAW (58): The command --kluge-auv-sentry-sensordepth
now works for format 58 files (3rd generation Kongsberg multibeam data in *.all files)
such that available sensordepth values are embedded in the output format MBF_EM710MBA
(59) files.

#### 5.8.1beta07 (February 24, 2024)

CMake build system: Fixed ability to set OTPS location in cmake build system.
Expand Down
11 changes: 8 additions & 3 deletions src/macros/mbm_grdplot
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,11 @@ $ncpt = 11;
@cptbg9 = (255, 200, 160, 145, 130, 100, 107, 123, 140, 160, 230);
@cptbb9 = (100, 75, 50, 45, 40, 30, 24, 7, 0, 0, 0);

# color palette 10 - Seismic (blue to white to red)
@cptbr10 = ( 0, 51, 102, 153, 204, 255, 255, 255, 255, 255, 255);
@cptbg10 = ( 0, 51, 102, 153, 204, 255, 204, 153, 102, 51, 0);
@cptbb10 = (255, 255, 255, 255, 255, 255, 204, 153, 102, 51, 0);

# Determine the GMT version
$gmt_version = `gmt --version`;

Expand Down Expand Up @@ -826,7 +831,7 @@ if ($color_control)
($color_style, $color_palette, $ncolors)
= $color_control =~ /(\S+)\/(\S+)\/(\S+)/;
if ($color_palette < 1
|| $color_palette > 9)
|| $color_palette > 10)
{
$color_palette = 1;
}
Expand All @@ -840,7 +845,7 @@ if ($color_control)
($color_style, $color_palette) = $color_control
=~ /(\S+)\/(\S+)/;
if ($color_palette < 1
|| $color_palette > 9)
|| $color_palette > 10)
{
$color_palette = 1;
}
Expand Down Expand Up @@ -1716,7 +1721,7 @@ elsif ($color_mode)
if ($color_mode)
{
# deal with single colormap (not sealevel)
if ($color_palette < 8)
if ($color_palette < 8 || $color_palette == 10)
{
# set selected color palette
eval "\@cptbr = \@cptbr$color_palette;";
Expand Down
39 changes: 22 additions & 17 deletions src/man/man1/mbextractsegy.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH mbextractsegy 1 "3 June 2013" "MB-System 5.0" "MB-System 5.0"
.TH mbextractsegy 1 "10 March 2024" "MB-System 5.0" "MB-System 5.0"
.SH NAME
\fBmbextractsegy\fP \- extracts subbottom profiler, center beam reflection,
or seismic reflection data from swath data supported by MB-System and
Expand Down Expand Up @@ -195,27 +195,32 @@ be the input swath filename with ".segy" appended.
.B \-S
\fIsampleformat\fP
.br
Sets the sample format desired for use in the output SEGY file. Options include:
Sets the sample format desired for use in the output SEGY data, which in turn
determines how many SEGY files are output. Each SEGY file will contain one
trace per ping (or shot); outputting multiple traces per ping creates
multiple SEGY files. The options for \fIsampleformat\fP include:
MB_SEGY_SAMPLEFORMAT_NONE 1
MB_SEGY_SAMPLEFORMAT_TRACE 2
MB_SEGY_SAMPLEFORMAT_ENVELOPE 3
MB_SEGY_SAMPLEFORMAT_ANALYTIC 4
.br
MB_SEGY_SAMPLEFORMAT_TRACE implies that the seismic trace is in the original,
most raw form with both positive and negative values.
MB_SEGY_SAMPLEFORMAT_ANALYTIC implies that the trace has been
been transformed from the original time series to an analytic signal containing
both real and imaginary parts. Both the real and imaginary signals
are stored in the SEGY file. MB_SEGY_SAMPLEFORMAT_ENVELOPE implies that the
analytic signal has been reduced back to a single real, positive-only envelope
signal by taking the magnitude of the real and imaginary parts at every sample.
It is important to note that this option only sets the desired sample format, and
the program may find it necessary to store the data in an alternate form. For
instance, if the user specifies MB_SEGY_SAMPLEFORMAT_TRACE or
MB_SEGY_SAMPLEFORMAT_ANALYTIC but the swath file only contains envelope data,
the data will be written in the envelope form. The default value of
MB_SEGY_SAMPLEFORMAT_NONE allows the program to choose the most appropriate
sample format.
The input seismic traces may be in three forms. The most basic form is a single
acoustic or seismic signal time series with positive and negative values.
An analytic signal is complex with the real and imaginary parts represented by
two traces with positive and negative values. An envelope signal is calculated
as the magnitude of an analytic signal and so forms a single positive-only trace.
The \fIsampleformat\fP sets the form of the output trace stored in one or more
output SEGY files. If the output sample format differs from the input, then
\fBmbextractsegy\fP must make the implied transformation. The default value of
MB_SEGY_SAMPLEFORMAT_NONE to output data in the existing form. In the case of an
output MB_SEGY_SAMPLEFORMAT_TRACE, a single trace is output. If the input is an
analytic time series, then the output will be a single trace comprised of the
real part of the signal. In the case of MB_SEGY_SAMPLEFORMAT_ENVELOPE, if the
input is an analytic time series, then the single trace output will be an
envelope function calculated from the analytic time series. In the case of
MB_SEGY_SAMPLEFORMAT_ANALYTIC, then there will be three traces (and three
SEGY files) output, the real part of the analytic data, the imaginary part
of the analytic data, and the envelope function calculated from the analytic data.
.TP
.B \-U
\fIrangethreshold\fP
Expand Down
7 changes: 6 additions & 1 deletion src/man/man1/mbm_grdplot.1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.TH mbm_grdplot 1 "11 May 2021" "MB-System 5.0" "MB-System 5.0"
.TH mbm_grdplot 1 "10 March 2024" "MB-System 5.0" "MB-System 5.0"
.SH NAME
\fBmbm_grdplot\fP \- Create an executable shellscript which will generate
a GMT map of gridded data in a GMT grd file or image data in a georeferenced
Expand Down Expand Up @@ -1188,6 +1188,11 @@ color palette 9 \- Sealevel 2
green: 255 200 160 145 130 100 107 123 140 160 230
blue: 100 75 50 45 40 30 24 7 0 0 0

color palette 10 \- Seismic (blue to white to red)
red: 0 51 102 153 204 255 255 255 255 255 255
green: 0 51 102 153 204 255 204 153 102 51 0
blue: 255 255 255 255 255 255 204 153 102 51 0

The Haxby colors have been adapted from a palette
developed by Dr. William Haxby of the Lamont-Doherty
Earth Observatory; this palette is pleasing to the
Expand Down
6 changes: 3 additions & 3 deletions src/mbio/mb_access.c
Original file line number Diff line number Diff line change
Expand Up @@ -1920,7 +1920,7 @@ int mb_extract_segytraceheader(int verbose, void *mbio_ptr, void *store_ptr, int
fprintf(stderr, "dbg2 dummy1: %f\n", mb_segytraceheader_ptr->dummy1);
fprintf(stderr, "dbg2 dummy2: %f\n", mb_segytraceheader_ptr->dummy2);
fprintf(stderr, "dbg2 dummy3: %f\n", mb_segytraceheader_ptr->dummy3);
fprintf(stderr, "dbg2 dummy4: %f\n", mb_segytraceheader_ptr->dummy4);
fprintf(stderr, "dbg2 sensordepthtime: %f\n", mb_segytraceheader_ptr->sensordepthtime);
fprintf(stderr, "dbg2 soundspeed: %f\n", mb_segytraceheader_ptr->soundspeed);
fprintf(stderr, "dbg2 distance: %f\n", mb_segytraceheader_ptr->distance);
fprintf(stderr, "dbg2 dummy7: %f\n", mb_segytraceheader_ptr->roll);
Expand Down Expand Up @@ -2025,7 +2025,7 @@ int mb_extract_segy(int verbose, void *mbio_ptr, void *store_ptr, int *samplefor
fprintf(stderr, "dbg2 dummy1: %f\n", mb_segytraceheader_ptr->dummy1);
fprintf(stderr, "dbg2 dummy2: %f\n", mb_segytraceheader_ptr->dummy2);
fprintf(stderr, "dbg2 dummy3: %f\n", mb_segytraceheader_ptr->dummy3);
fprintf(stderr, "dbg2 dummy4: %f\n", mb_segytraceheader_ptr->dummy4);
fprintf(stderr, "dbg2 sensordepthtime:%f\n", mb_segytraceheader_ptr->sensordepthtime);
fprintf(stderr, "dbg2 soundspeed: %f\n", mb_segytraceheader_ptr->soundspeed);
fprintf(stderr, "dbg2 distance: %f\n", mb_segytraceheader_ptr->distance);
fprintf(stderr, "dbg2 dummy7: %f\n", mb_segytraceheader_ptr->roll);
Expand Down Expand Up @@ -2114,7 +2114,7 @@ int mb_insert_segy(int verbose, void *mbio_ptr, void *store_ptr, int kind, void
fprintf(stderr, "dbg2 dummy1: %f\n", mb_segytraceheader_ptr->dummy1);
fprintf(stderr, "dbg2 dummy2: %f\n", mb_segytraceheader_ptr->dummy2);
fprintf(stderr, "dbg2 dummy3: %f\n", mb_segytraceheader_ptr->dummy3);
fprintf(stderr, "dbg2 dummy4: %f\n", mb_segytraceheader_ptr->dummy4);
fprintf(stderr, "dbg2 sensordepthtime:%f\n", mb_segytraceheader_ptr->sensordepthtime);
fprintf(stderr, "dbg2 soundspeed: %f\n", mb_segytraceheader_ptr->soundspeed);
fprintf(stderr, "dbg2 distance: %f\n", mb_segytraceheader_ptr->distance);
fprintf(stderr, "dbg2 roll: %f\n", mb_segytraceheader_ptr->roll);
Expand Down
4 changes: 2 additions & 2 deletions src/mbio/mb_define.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
#include <stdint.h>

/* Define version and date for this release */
#define MB_VERSION "5.8.1beta07"
#define MB_VERSION_DATE "24 February 2024"
#define MB_VERSION "5.8.1beta08"
#define MB_VERSION_DATE "10 March 2024"

/* CMake supports current OS's and so there is only one form of RPC and XDR and no mb_config.h file */
#ifdef CMAKE_BUILD_SYSTEM
Expand Down
3 changes: 2 additions & 1 deletion src/mbio/mb_format.c
Original file line number Diff line number Diff line change
Expand Up @@ -2169,7 +2169,8 @@ int mb_get_format(int verbose, char *filename, char *fileroot, int *format, int
i = strlen(filename) - 4;
else
i = 0;
if ((suffix = strstr(&filename[i], ".seg")) != NULL || (suffix = strstr(&filename[i], ".SEG")) != NULL)
if ((suffix = strstr(&filename[i], ".seg")) != NULL || (suffix = strstr(&filename[i], ".SEG")) != NULL
|| (suffix = strstr(&filename[i], ".sgy")) != NULL || (suffix = strstr(&filename[i], ".SGY")) != NULL)
suffix_len = 4;
else
suffix_len = 0;
Expand Down
Loading

0 comments on commit 6f502e0

Please sign in to comment.