--- a/listHdr
+++ b/listHdr
@@ -2,9 +2,9 @@
#======================================================================
# L I S T H D R
# doc: Sat Jan 18 18:41:49 2003
-# dlm: Wed Nov 9 12:25:36 2016
+# dlm: Tue Aug 8 16:25:46 2017
# (c) 2003 A.M. Thurnherr
-# uE-Info: 65 0 NIL 0 0 72 10 2 4 NIL ofnI
+# uE-Info: 102 39 NIL 0 0 72 10 2 4 NIL ofnI
#======================================================================
# Print useful info from the RDI BB header
@@ -40,6 +40,9 @@
# - updated IO library name
# - adapted to [ADCP_tools_lib.pl]
# Nov 9, 2016: - BUG: no error on missing files
+# Aug 7, 2017: - added LAG_LENGTH
+# - added AMBIGUITY_VELOCITY
+# Aug 8, 2017: - added -l)ong listing
use Getopt::Std;
@@ -47,8 +50,8 @@
$ADCP_tools_minVersion = 1.4;
require "$ADCP_TOOLS/ADCP_tools_lib.pl";
-die("Usage: $0 [-s)ummary] <PD0 file[...]>\n")
- unless (&getopts('s') && @ARGV);
+die("Usage: $0 [-s)ummary] [-l)ong listing] <PD0 file[...]>\n")
+ unless (&getopts('ls') && @ARGV);
if ($opt_s) {
print("#!/usr/bin/perl -S list\n");
@@ -67,7 +70,7 @@
my($id) = $ARGV[0];
$id =~ s/00[0-9]\.000//; # leave just deployment name for std RDI files
$id =~ s@^.*/([^/]+)@\1@;
- printf("%s %d %d %d %g %d %.1f\n",
+ printf("%s %d %.1f %d %g %d %.1f\n",
$id,$hdr{SERIAL_NUMBER},$hdr{BEAM_FREQUENCY},
$hdr{N_BINS},$hdr{BLANKING_DISTANCE},$hdr{BIN_LENGTH},
$hdr{TRANSMITTED_PULSE_LENGTH});
@@ -85,12 +88,19 @@
printf("\tINSTRUMENT_TYPE\t\t\t= %s\n",$hdr{INSTRUMENT_TYPE});
}
printf("\tCPU_SERIAL_NUMBER\t\t= %s\n",$hdr{CPU_SERIAL_NUMBER})
- unless ($hdr{INSTRUMENT_TYPE} eq 'Explorer');
+ if ($opt_l && ($hdr{INSTRUMENT_TYPE} ne 'Explorer'));
printf("\tFIRMWARE\t\t\t= %d.%d\n",$hdr{CPU_FW_VER},$hdr{CPU_FW_REV});
- printf("\tBEAM_FREQUENCY\t\t\t= %d kHz\n",$hdr{BEAM_FREQUENCY});
- printf("\tBEAM_ANGLE\t\t\t= %d deg\n",$hdr{BEAM_ANGLE});
- printf("\tN_BEAMS\t\t\t\t= %d\n",$hdr{N_BEAMS});
- printf("\tN_DEMODS\t\t\t= %d\n",$hdr{N_DEMODS}) if defined($hdr{N_DEMODS});
+ printf("\tBEAM_FREQUENCY\t\t\t= %.1f kHz\n",$hdr{BEAM_FREQUENCY});
+ printf("\tBEAM_ANGLE\t\t\t= %d deg\n",$hdr{BEAM_ANGLE}) if $opt_l;
+ printf("\tN_BEAMS\t\t\t\t= %d\n",$hdr{N_BEAMS}) if $opt_l;
+ printf("\tTRANSMIT_LAG_DISTANCE\t\t= %g m\n",$hdr{TRANSMIT_LAG_DISTANCE}) if $opt_l;
+ printf("\tLAG_LENGTH\t\t\t= %d\n",$hdr{LAG_LENGTH}) if $opt_l;
+ printf("\tN_DEMODS\t\t\t= %d\n",$hdr{N_DEMODS}) if $opt_l && defined($hdr{N_DEMODS});
+ printf("\tSPEED_OF_SOUND\t\t\t= %d m/s [%s]\n",
+ $hdr{SPEED_OF_SOUND},
+ $dta->{SPEED_OF_SOUND_CALCULATED} ? 'from sensors' : 'from settings');
+ printf("\tAMBIGUITY_VELOCITY\t\t= %g m/s\n",
+ ambiguity_velocity($hdr{BEAM_FREQUENCY},$hdr{BEAM_ANGLE},$hdr{SPEED_OF_SOUND},$hdr{TRANSMIT_LAG_DISTANCE}));
printf("\tSensors\t\t\t\t: ");
printf("PRESSURE ") if ($hdr{PRESSURE_SENSOR_AVAILABLE});
@@ -101,27 +111,32 @@
printf("ROLL ") if ($hdr{ROLL_SENSOR_AVAILABLE});
print("\n");
- printf("\tFlags\t\t\t\t: ");
- printf("XDUCER_HEAD_ATTACHED ") if ($hdr{XDUCER_HEAD_ATTACHED});
- printf("CONVEX_BEAM_PATTERN ") if ($hdr{CONVEX_BEAM_PATTERN});
- printf("CONCAVE_BEAM_PATTERN ") if ($hdr{CONCAVE_BEAM_PATTERN});
- print("\n");
-
-
- print(" File Format:\n");
+ if ($opt_l) {
+ printf("\tFlags\t\t\t\t: ");
+ printf("XDUCER_HEAD_ATTACHED ") if ($hdr{XDUCER_HEAD_ATTACHED});
+ printf("CONVEX_BEAM_PATTERN ") if ($hdr{CONVEX_BEAM_PATTERN});
+ printf("CONCAVE_BEAM_PATTERN ") if ($hdr{CONCAVE_BEAM_PATTERN});
+ print("\n");
+ }
- printf("\tNUMBER_OF_DATA_TYPES\t\t= %d\n",$hdr{NUMBER_OF_DATA_TYPES});
- printf("\tFIXED_LEADER_BYTES\t\t= %3d bytes\n",$hdr{FIXED_LEADER_BYTES});
- printf("\tENSEMBLE_BYTES\t\t\t= %3d bytes\n",$hdr{ENSEMBLE_BYTES});
- printf("\tHEADER_BYTES\t\t\t= %3d bytes\n",$hdr{HEADER_BYTES});
- printf("\tVARIABLE_LEADER_BYTES\t\t= %3d bytes\n",$hdr{VARIABLE_LEADER_BYTES});
- printf("\tVELOCITY_DATA_BYTES\t\t= %3d bytes\n",$hdr{VELOCITY_DATA_BYTES});
- printf("\tCORRELATION_DATA_BYTES\t\t= %3d bytes\n",$hdr{CORRELATION_DATA_BYTES});
- printf("\tECHO_INTENSITY_DATA_BYTES\t= %3d bytes\n",$hdr{ECHO_INTENSITY_DATA_BYTES});
- printf("\tPERCENT_GOOD_DATA_BYTES\t\t= %3d bytes\n",$hdr{PERCENT_GOOD_DATA_BYTES});
- printf("\tBT_DATA_BYTES\t\t\t= %3d bytes\n",$hdr{BT_DATA_BYTES})
- if ($hdr{BT_PRESENT});
-
+ if ($opt_l) {
+ print(" File Format:\n");
+ printf("\tNUMBER_OF_DATA_TYPES\t\t= %d\n",$hdr{NUMBER_OF_DATA_TYPES});
+ printf("\tFIXED_LEADER_BYTES\t\t= %3d bytes\n",$hdr{FIXED_LEADER_BYTES});
+ printf("\tENSEMBLE_BYTES\t\t\t= %3d bytes\n",$hdr{ENSEMBLE_BYTES});
+ printf("\tHEADER_BYTES\t\t\t= %3d bytes\n",$hdr{HEADER_BYTES});
+ printf("\tVARIABLE_LEADER_BYTES\t\t= %3d bytes\n",$hdr{VARIABLE_LEADER_BYTES});
+ printf("\tVELOCITY_DATA_BYTES\t\t= %3d bytes\n",$hdr{VELOCITY_DATA_BYTES})
+ if defined($hdr{VELOCITY_DATA_BYTES});
+ printf("\tCORRELATION_DATA_BYTES\t\t= %3d bytes\n",$hdr{CORRELATION_DATA_BYTES})
+ if defined($hdr{CORRELATION_DATA_BYTES});
+ printf("\tECHO_INTENSITY_DATA_BYTES\t= %3d bytes\n",$hdr{ECHO_INTENSITY_DATA_BYTES})
+ if defined($hdr{ECHO_INTENSITY_DATA_BYTES});
+ printf("\tPERCENT_GOOD_DATA_BYTES\t\t= %3d bytes\n",$hdr{PERCENT_GOOD_DATA_BYTES})
+ if defined($hdr{PERCENT_GOOD_DATA_BYTES});
+ printf("\tBT_DATA_BYTES\t\t\t= %3d bytes\n",$hdr{BT_DATA_BYTES})
+ if ($hdr{BT_PRESENT});
+ }
print(" Coordinate System:\n");
@@ -159,15 +174,13 @@
print(" Bin Setup:\n");
printf("\tN_BINS\t\t\t\t= %d\n", $hdr{N_BINS});
printf("\tBLANKING_DISTANCE\t\t= %g m\n", $hdr{BLANKING_DISTANCE});
- printf("\tTRANSMIT_LAG_DISTANCE\t\t= %g m\n",
- $hdr{TRANSMIT_LAG_DISTANCE});
printf("\tDISTANCE_TO_BIN1_CENTER\t\t= %g m\n",
$hdr{DISTANCE_TO_BIN1_CENTER});
printf("\tBIN_LENGTH\t\t\t= %g m\n", $hdr{BIN_LENGTH});
printf("\tTRANSMITTED_PULSE_LENGTH\t= %g m\n",
$hdr{TRANSMITTED_PULSE_LENGTH});
- printf("\tRL_FIRST_BIN\t\t\t= %d\n", $hdr{RL_FIRST_BIN});
- printf("\tRL_LAST_BIN\t\t\t= %d\n", $hdr{RL_LAST_BIN});
+ printf("\tRL_FIRST_BIN\t\t\t= %d\n", $hdr{RL_FIRST_BIN}) if $opt_l;
+ printf("\tRL_LAST_BIN\t\t\t= %d\n", $hdr{RL_LAST_BIN}) if $opt_l;
print(" Water-Track Setup:\n");