dump_residual_profiles.pl
author A.M. Thurnherr <athurnherr@yahoo.com>
Sat, 24 Jul 2021 10:35:41 -0400
changeset 56 8f120b9f795a
parent 46 cc6c4309828a
permissions -rw-r--r--
V2.0 - lots of bug fixes - major new features: - dropped CTD scans handled correctly (no more apparent clock drifts) - support for data files collected with Nortek Signature instruments - much improved data editing - significant changes: - no minimum limit for eps_VKE - updated for GMT6 - much better data quality information in summary plots
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    D U M P _ R E S I D U A L _ P R O F I L E S . P L 
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Thu Mar 24 07:55:07 2016
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 42
diff changeset
     4
#                    dlm: Tue May 24 16:35:30 2016
42
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 2016 A.M. Thurnherr
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 42
diff changeset
     6
#                    uE-Info: 46 24 NIL 0 0 72 2 2 4 NIL ofnI
42
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     7
#======================================================================
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
# HISTORY:
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
#	Mar 24, 2016: - created from [plot_residuals.pl]
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
#	Mar 29, 2016: - cleaned up
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 42
diff changeset
    12
#   May 24, 2016: - calc_binDepths() -> binDepths()
42
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
sub dump_residual_profiles($)
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
{
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
	my($odir) = @_;
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
	unless (-d $odir) {
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
		warning(0,"Creating residual-profile output directory ./$odir\n");
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
		my(@dirs) = split('/',$odir);
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
		my($path) = '.';
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
		foreach my $d (@dirs) {
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
			$path .= "/$d";
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
			mkdir($path);
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
		}
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
    }
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
	
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
	return unless ($P{max_depth});
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    30
	@antsNewLayout = ('bin','depth','residual');
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    31
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    32
	for ($ens=$firstGoodEns; $ens<=$lastGoodEns; $ens++) {
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    33
		next unless numberp($LADCP{ENSEMBLE}[$ens]->{CTD_DEPTH});
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    34
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    35
		my($of) = sprintf('>%s/%04d.rprof',$odir,$LADCP{ENSEMBLE}[$ens]->{NUMBER});
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    36
		open(STDOUT,$of) || error("$of: $!\n");
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    37
		undef($antsActiveHeader) unless ($ANTS_TOOLS_AVAILABLE);
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    38
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    39
		&antsAddParams('ensemble',	$LADCP{ENSEMBLE}[$ens]->{NUMBER},
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    40
					   'elapsed',	$LADCP{ENSEMBLE}[$ens]->{ELAPSED},
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    41
					   'CTD_depth',	$LADCP{ENSEMBLE}[$ens]->{CTD_DEPTH},
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    42
					   'CTD_w',		$CTD{W}[$LADCP{ENSEMBLE}[$ens]->{CTD_SCAN}],
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    43
					   'CTD_accel',	$CTD{W_t}[$LADCP{ENSEMBLE}[$ens]->{CTD_SCAN}],
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    44
					   'ADCP_tilt',	$LADCP{ENSEMBLE}[$ens]->{TILT});
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    45
46
cc6c4309828a V1.3beta1
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 42
diff changeset
    46
	  	my(@bindepth) = binDepths($ens);
42
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    47
		for ($bin=$LADCP_firstBin-1; $bin<=$LADCP_lastBin-1; $bin++) {
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    48
			next unless ($bin+1>=$outGrid_firstBin && $bin+1<=$outGrid_lastBin);
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    49
		  	next unless numberp($LADCP{ENSEMBLE}[$ens]->{W}[$bin]);
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    50
		  	my($bi) = $bindepth[$bin]/$opt_o;
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    51
			my($res) = ($ens < $LADCP_atbottom) ? 
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    52
						$LADCP{ENSEMBLE}[$ens]->{SSCORRECTED_OCEAN_W}[$bin] - $DNCAST{MEDIAN_W}[$bi] :
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    53
						$LADCP{ENSEMBLE}[$ens]->{SSCORRECTED_OCEAN_W}[$bin] - $UPCAST{MEDIAN_W}[$bi];
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    54
			&antsOut($bin,$bindepth[$bin],$res);
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    55
	    			 
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    56
        }
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    57
	    &antsOut('EOF'); open(STDOUT,'>&2');
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    58
    }
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    59
}
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    60
f7690c7b92e0 V1.2beta6
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    61
1; # return true on require