listHdr
changeset 39 3bddaa514ef5
parent 37 40d85448debf
child 42 80d039881d2c
--- 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");