V1.2
authorA.M. Thurnherr <athurnherr@yahoo.com>
Thu, 12 May 2016 10:54:28 -0400
changeset 44 515c353a31bd
parent 43 567b03b9ce8d
child 45 6d49c7420a6c
V1.2
HISTORY
LADCP_VKE
LADCP_w_howto.pdf
LADCP_w_postproc
version.pl
--- a/HISTORY	Wed Apr 06 22:14:46 2016 -0400
+++ b/HISTORY	Thu May 12 10:54:28 2016 -0400
@@ -1,9 +1,9 @@
 ======================================================================
                     H I S T O R Y 
                     doc: Mon Oct 12 16:09:24 2015
-                    dlm: Wed Apr  6 22:14:13 2016
+                    dlm: Thu May 12 10:47:25 2016
                     (c) 2015 A.M. Thurnherr
-                    uE-Info: 112 23 NIL 0 0 72 3 2 4 NIL ofnI
+                    uE-Info: 124 23 NIL 0 0 72 3 2 4 NIL ofnI
 ======================================================================
 
 V1.0:
@@ -109,5 +109,16 @@
 	Apr  6, 2016:
 		- fixed GMT-5 related bug in [LADCP_w_ocean]
 		- increased calibration constant by 20% in [LADCP_VKE]
-		- howto updated
+		- updated howto
+		- published V1.2beta7
+
+	Apr 14, 2016: V1.2beta8
+		- [LADCP_w_postproc] improved warning messages
 
+	Apr 16, 2016:
+		- [LADCP_VKE] allow for nans in LADCP_wspec output
+		- updated [version.pl]
+
+	May 12, 2016:
+		- updated version to 1.2
+		- updated HowTo
--- a/LADCP_VKE	Wed Apr 06 22:14:46 2016 -0400
+++ b/LADCP_VKE	Thu May 12 10:54:28 2016 -0400
@@ -2,9 +2,9 @@
 #======================================================================
 #                    L A D C P _ V K E 
 #                    doc: Tue Oct 14 11:05:16 2014 
-#                    dlm: Wed Apr  6 18:48:09 2016
+#                    dlm: Wed Apr 27 19:03:02 2016
 #                    (c) 2012 A.M. Thurnherr
-#                    uE-Info: 117 59 NIL 0 0 72 2 2 4 NIL ofnI
+#                    uE-Info: 99 45 NIL 0 0 72 0 2 4 NIL ofnI
 #======================================================================
 
 $antsSummary = 'calculate VKE from LADCP-derived vertical-velocity profiles';
@@ -94,6 +94,9 @@
 #				  - define own LADCP_wspec defaults here
 #				  - changed default of -q from 5 to 3
 #	Apr  6, 2016: - cosmetics
+#	Apr 16, 2016: - assertion failed on I98S#153 => modify code to allow nans in LADCP_wspec
+#					output
+#	Apr 27, 2016: - cosmetics (usage message)
 
 ($ANTSLIB) = (`which ANTSlib` =~ m{^(.*)/[^/]*$});
 ($WCALC)   = ($0              =~ m{^(.*)/[^/]*$});
@@ -133,7 +136,7 @@
 			"[-s)urface <layer depth to exclude[${opt_s}m]>",
             "[-g)ap <max depth layer to fill with interpolation[${opt_g}m]>]",
             '[-w)indow <power-of-two input-records[32]>]',
-			'[shortwave -c)utoff <kz or lambda[${opt_c_default}m]>]',						# LADCP_VKE options
+			"[shortwave -c)utoff <kz or lambda[${opt_c_default}m]>]",						# LADCP_VKE options
 			"[e-q)uatorial cutoff <latitude[${opt_q}deg]>] [-l)ow-p0 <cutoff[${opt_l}m^2/s^2/(rad/m)]>]",
 			"[-z) ignore velocities derived from fewer than <N[$opt_z]> samples]",
 			'[o-m)it spectral correction] [spectral-tilt-correction -r)ange <max[0m]>]',
@@ -210,8 +213,10 @@
 	    while (@specrec = &antsFileIn(FROMCLD)) {
 	    	my($i) = ($specrec[$widxf]>0) ? $specrec[$widxf] : 0;
 	    	@{$specbuf[$bufi][$i]} = @specrec;
+#			print(STDERR "specrec[$i] = @specrec\n");
     	}
     	close(FROMCLD);
+#		printf(STDERR "windows up to %d buffered\n",$#{$specbuf[$bufi]});
 
 		$antsBufSkip = @ants_;
     	&antsIn();																	# read next .wprof file
@@ -359,12 +364,14 @@
 						next;
 				}
 			}
-			die("assertion failed") unless numberp($specbuf[$bi][$wi][$f]);
-			$sum += $specbuf[$bi][$wi][$f]; $ns++;
+#			print(STDERR "specbuf[$bi][$wi][$f] = $specbuf[$bi][$wi][$f]\n");
+			if (numberp($specbuf[$bi][$wi][$f])) {
+				$sum += $specbuf[$bi][$wi][$f]; $ns++;
+            }
 			$ants_[$r][$doff] += $specbuf[$bi][$wi][$doff]						# update nspec once per input record
 				if ($f == $fs_fmax);											#	... but for all files
 		}
-		$ants_[$r][$f] = ($ns > 0) ? $sum / $ns : nan;							# update averaged spectral density
+		$ants_[$r][$f] = ($ns > 0) ? $sum/$ns : nan;							# update averaged spectral density
 	}
 }	
 
Binary file LADCP_w_howto.pdf has changed
--- a/LADCP_w_postproc	Wed Apr 06 22:14:46 2016 -0400
+++ b/LADCP_w_postproc	Thu May 12 10:54:28 2016 -0400
@@ -2,9 +2,9 @@
 #======================================================================
 #                    L A D C P _ W _ P O S T P R O C 
 #                    doc: Fri Apr 24 17:15:59 2015
-#                    dlm: Thu Mar 31 05:53:12 2016
+#                    dlm: Thu Apr 14 15:42:51 2016
 #                    (c) 2015 A.M. Thurnherr
-#                    uE-Info: 77 51 NIL 0 0 72 2 2 4 NIL ofnI
+#                    uE-Info: 65 40 NIL 0 0 72 2 2 4 NIL ofnI
 #======================================================================
 
 $antsSummary = 'edit and re-grid LADCP vertical-velocity samples';
@@ -62,6 +62,7 @@
 #				  - removed good_bins() from library as -v allows more control
 #	Mar 16, 2016: - adapted to gmt5
 #   Mar 31, 2016: - changed version %PARAM
+#	Apr 14, 2016: - added profile id to warning messages
 
 ($ANTS)  = (`which ANTSlib` =~ m{^(.*)/[^/]*$});
 ($WCALC) = ($0              =~ m{^(.*)/[^/]*$});
@@ -358,9 +359,9 @@
 
 		$dcwF = &fnr($Udwf); $ucwF = &fnr($Uuwf);
 
-		&antsInfo("WARNING: inconsistent %%outgrid_dz in input files")			# consistency checks
+		&antsInfo("WARNING: #$id: inconsistent %%outgrid_dz in profile #$id")	# consistency checks
 			if (defined($P{outgrid_dz}) && $P{outgrid_dz}!=$opt_o &&!$opt_o_override);
-		&antsInfo("WARNING: inconsistent %%outgrid_minsamp in input files")
+		&antsInfo("WARNING: inconsistent %%outgrid_minsamp in profile #$id")
 			if defined($P{outgrid_minsamp}) && !$opt_k_override &&
 					(( $dual_head && $P{outgrid_minsamp}*2!=$opt_k) ||
 					 (!$dual_head && $P{outgrid_minsamp}!=$opt_k));
@@ -390,21 +391,21 @@
 		my($warned);
 		unless (round($bin_length) == round($P{ADCP_bin_length})) {
 			unless ($warned) {
-				&antsInfo("WARNING: inconsistent ADCP sampling parameters --- using conservative values");
+				&antsInfo("WARNING: inconsistent ADCP sampling parameters in profile #$id --- using conservative values");
 				$warned = 1;
 			}
 			$bin_length = min($bin_length,$P{ADCP_bin_length});
 		}
 		unless (round($pulse_length) == round($P{ADCP_pulse_length})) {
 			unless ($warned) {
-				&antsInfo("WARNING: inconsistent ADCP sampling parameters --- using conservative values");
+				&antsInfo("WARNING: inconsistent ADCP sampling parameters in profile #$id --- using conservative values");
 				$warned = 1;
 			}
 			$pulse_length = min($pulse_length,$P{ADCP_pulse_length});
 		}
 		unless (round($blanking_dist) == round($P{ADCP_blanking_distance})) {
 			unless ($warned) {
-				&antsInfo("WARNING: inconsistent ADCP sampling parameters --- using conservative values");
+				&antsInfo("WARNING: inconsistent ADCP sampling parameters in profile #$id --- using conservative values");
 				$warned = 1;
 			}
 			$blanking_dist = min($blanking_dist,$P{ADCP_blanking_distance});
@@ -538,7 +539,7 @@
 		GMT_psxy('-W1,100/100/255');												# surface layer limit
 			print(GMT "-0.1 $opt_s\n0.07 $opt_s\n");
 		if ($dc_R < 0.3 || !numberp($dc_R)) {										# correlation statistics
-			&antsInfo("WARNING: low dc correlation (r = %.1f) between UL and DL data",$dc_R);
+			&antsInfo("WARNING: low dc correlation (r = %.1f) between UL and DL data in profile #$id",$dc_R);
 			GMT_pstext('-F+f12,Helvetica,white+jBL -Gred');
 		} elsif ($dc_R < 0.5) { 	GMT_pstext('-F+f12,Helvetica,black+jBL -Gyellow'); }
 		else {						GMT_pstext('-F+f12,Helvetica,black+jBL -Ggreen'); }
@@ -550,7 +551,7 @@
 			0.02,0.94*$ymax,100*$dc_esig,100*$dc_rsig) if ($dual_head);
 	if ($dual_head) {
 		if ($uc_R < 0.3 || !numberp($uc_R)) {
-			&antsInfo("WARNING: low uc correlation (r = %.1f) between UL and DL data",$uc_R);
+			&antsInfo("WARNING: low uc correlation (r = %.1f) between UL and DL data in profile #$id",$uc_R);
 			GMT_pstext('-F+f12,Helvetica,white+jBL -Gred');
 		} elsif ($uc_R < 0.5) { 	GMT_pstext('-F+f12,Helvetica,black+jBL -Gyellow'); }
 		else {						GMT_pstext('-F+f12,Helvetica,black+jBL -Ggreen'); }
--- a/version.pl	Wed Apr 06 22:14:46 2016 -0400
+++ b/version.pl	Thu May 12 10:54:28 2016 -0400
@@ -1,9 +1,9 @@
 #======================================================================
 #                    V E R S I O N . P L 
 #                    doc: Tue Oct 13 10:40:57 2015
-#                    dlm: Wed Mar 30 09:27:25 2016
+#                    dlm: Thu May 12 10:46:27 2016
 #                    (c) 2015 A.M. Thurnherr
-#                    uE-Info: 16 29 NIL 0 0 72 0 2 4 NIL ofnI
+#                    uE-Info: 21 46 NIL 0 0 72 0 2 4 NIL ofnI
 #======================================================================
 
 # HISTORY:
@@ -14,9 +14,11 @@
 #	Mar 29, 2016: - updated antsMinLibVersion to 6.6 (libSBE bugs)
 #				  - update tools to 1.5 (obsolete getopts)
 #	Mar 30, 2016: - V1.2beta7
+#	Apr 16, 2016: - V1.2beta8
+#	May 12, 2016: - V1.2
 
 #$VERSION = '1.1';				# Jan  4, 2016
-$VERSION = '1.2beta7';
+$VERSION = '1.2';				# May 12, 2016
 
 $antsMinLibVersion 		= 6.6;
 $ADCP_tools_minVersion 	= 1.5;