diff --git a/listEns b/listEns --- a/listEns +++ b/listEns @@ -2,9 +2,9 @@ #====================================================================== # L I S T E N S # doc: Sat Jan 18 18:41:49 2003 -# dlm: Sun Aug 15 10:29:12 2010 +# dlm: Wed Jan 5 06:09:49 2011 # (c) 2003 A.M. Thurnherr -# uE-Info: 34 35 NIL 0 0 72 2 2 4 NIL ofnI +# uE-Info: 191 73 NIL 0 0 72 2 2 4 NIL ofnI #====================================================================== # Print useful info from the ensemble list or dump ensembles to @@ -32,9 +32,11 @@ # Mar 2, 2009: - added # of valid bin-1 vels to non-ANTS output # Jul 30, 2009: - NaN => nan # Aug 15, 2010: - BUG: usage typo +# Dec 10, 2010: - changed ANTS output to time/date instead of UNIX time +# Jan 5, 2011: - added -b # Notes: -# - -E outputs data in earth coordinates +# - -E outputs data in earth coordinates, unless -b is set also # - -E output is always in ANTS format, ignoring -A # - no soundspeed correction @@ -45,16 +47,16 @@ die("Usage: $0 [-A)nts] [-Q)uiet (errcheck only)] " . "[-f)ields <[name=]FIELD[,...]>] " . - "[write -E)nsemples [-M)agnetic ] [min -p)ercent-good <#>]] " . + "[write -E)nsemples [-M)agnetic ] [min -p)ercent-good <#>] [keep -b)eam coords]] " . "[-r)ange ] [in-w)ater ensembles only] " . "\n") - unless (&Getopts("AE:f:M:p:Qr:w") && $#ARGV >= 0); + unless (&Getopts("AbE:f:M:p:Qr:w") && $#ARGV >= 0); print(STDERR "WARNING: magnetic declination not set!\n") if defined($opt_E) && !defined($opt_M); die("$0: illegal option combination\n") - if ($opt_Q && $opt_A) || ((defined($opt_M) || defined($opt_p)) && !defined($opt_E)); + if ($opt_Q && $opt_A) || ((defined($opt_M) || defined($opt_p) || defined($opt_b)) && !defined($opt_E)); ($first_ens,$last_ens) = split(',',$opt_r) if defined($opt_r); @@ -101,6 +103,9 @@ die("$ARGV[0]: only beam and earth coordinates implemented so far\n"); } + die("$ARGV[0]: -b only makes sense for beam-coordinate data\n") + if ($opt_b && !$beamCoords); + if ($opt_A) { # select output fmt: ANTS unless ($opt_Q) { printf("#ANTS#PARAMS# N_ensembles{%d}\n",scalar(@{$dta{ENSEMBLE}})); @@ -183,9 +188,10 @@ if ($dta{ENSEMBLE}[$e]->{PERCENT_GOOD}[$b][2] < $opt_p); undef($dta{ENSEMBLE}[$e]->{VELOCITY}[$b][3]) if ($dta{ENSEMBLE}[$e]->{PERCENT_GOOD}[$b][3] < $opt_p); - @v = velInstrumentToEarth(\%dta,$e, - velBeamToInstrument(\%dta, - @{$dta{ENSEMBLE}[$e]->{VELOCITY}[$b]})); + @v = $opt_b ? @{$dta{ENSEMBLE}[$e]->{VELOCITY}[$b]} : + velInstrumentToEarth(\%dta,$e, + velBeamToInstrument(\%dta, + @{$dta{ENSEMBLE}[$e]->{VELOCITY}[$b]})); } else { @v = velApplyHdgBias(\%dta,$e,@{$dta{ENSEMBLE}[$e]->{VELOCITY}[$b]}); }