CRUISE_SETUP.expect
author A.M. Thurnherr <athurnherr@yahoo.com>
Fri, 03 Jul 2020 10:25:08 -0400
changeset 12 5e67754f6457
parent 6 1ab5767c18dd
permissions -rwxr-xr-x
V1.6: no more master/slave terminology
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     1
#======================================================================
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     2
#                    C R U I S E _ S E T U P . E X P E C T 
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     3
#                    doc: Wed Mar 10 21:14:18 2004
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
     4
#                    dlm: Fri Jul  3 10:21:32 2020
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     5
#                    (c) 2004 A.M. Thurnherr
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
     6
#                    uE-Info: 39 32 NIL 0 0 72 2 2 8 NIL ofnI
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     7
#======================================================================
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     8
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
     9
#--------
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    10
# HISTORY
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    11
#--------
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    12
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    13
# Mar 10, 2004: - created during NBP0402
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    14
# Apr  4, 2004: - final version NBP0402
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    15
# Jun 15, 2004: - adapted to BB150/Workhorse setup
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    16
# Jun 16, 2004: - ditto
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    17
# Jun 19, 2004: - BUG: could not handle multiple BB150 data files
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    18
# Jan 19, 2006: - updated documentation
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    19
#		- allowed for empty-string time_server
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    20
# Nov  4, 2006: - changed backup dir structure
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    21
# Aug 25, 2010: - rename* funs modified to allow them to be used to ensure
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    22
#		  that downladed file names have correct case
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    23
#		- renamed from DEFAULTS.expect to CRUISE_SETUP.expect
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    24
# Aug 26, 2010: - added ymodem_receive_cmd
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    25
#		- changed default string quotes to {} to prevent Tcl variable
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    26
#		  and command substitutions
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    27
# Oct 18, 2010: - changed comment for ymodem_receive_cmd to account for the
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    28
#		  fact that bbabble now uses the -u option by default
6
1ab5767c18dd typo fix
ladcp@ladcp-mac.local
parents: 5
diff changeset
    29
# Dec 10, 2010: - updated comments
1ab5767c18dd typo fix
ladcp@ladcp-mac.local
parents: 5
diff changeset
    30
#		- made mkProfile default file-checking program
1ab5767c18dd typo fix
ladcp@ladcp-mac.local
parents: 5
diff changeset
    31
#		- made backup dir structure consistent with raw dir structure
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    32
# Jul  3, 2020: - expunged master/slave terminology
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    33
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    34
#-----------
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    35
# TWEAKABLES
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    36
#-----------
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    37
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    38
# At the beginning of each cast, the clock of the acquisition computer should
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    39
# synchronized with the primary clock used for timestamping the GPS information.
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    40
# The best way to accomplish this is to run a NTP daemon (e.g. ntpd) polling
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    41
# an NTP server on the ship.
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    42
# If running ntpd is inconvenient or not possible, the follwing variable can
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    43
# be set to the name of the NTP server, in which case the time is sync'ed
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    44
# at the beginning of each cast with the function set_computer_time (defined
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    45
# below).
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    46
# If there is no NTP server available, the variable should be set to the
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    47
# empty string and the clock must be sync'ed manually.
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    48
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
    49
set time_server	{};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    50
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    51
# bbabble needs to know the tty device name(s) of the serial connection(s)
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    52
# to the ADCP head(s). If only one head is connected, tty1 is ignored.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    53
# If two heads are connected, the device names are exchangeable, i.e.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    54
# either instrument can be connected to either port.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    55
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    56
set tty0 {/dev/ttyS0};
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    57
set tty1 {/dev/ttyS1};
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    58
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    59
# In case of 2 ADCP heads, babble needs to know which is of the instruments
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    60
# sends the sync pulses and which instrument receives them. 
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    61
# This is accomplished by setting the following variables
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    62
# to the corresponding instrument serial numbers (PS0 output). By convention,
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    63
# the downlooker sends the sync pulses. If only a single head is connected, both
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    64
# variables are ignored.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    65
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    66
set DL_sn 7877;
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    67
set UL_sn  1412;
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    68
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    69
# Before deployment, every ADCP head has to be programmed by sending it
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    70
# a corresponding command file, defined by the following variables. If only
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    71
# a single head is connected, the UL_* variable is ignored.
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    72
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    73
set DL_cmd_file 	{DOWNLOOKER.cmd};	
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    74
set UL_cmd_file  	{UPLOOKER.cmd};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    75
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    76
# For convenience, it is best to use the station number to name the ADCP data
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    77
# files, and to indicate whether the data file comes from the DL or
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    78
# UL. The following variables variables define the printf(3) format
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    79
# that is used to create the files names from the station number. If only
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    80
# a single head is connected, the UL_* variable is ignored.
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    81
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    82
set DL_deployment_name_fmt	{%03dDL};
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    83
set UL_deployment_name_fmt	{%03dUL};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    84
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    85
# Older RDI instruments (e.g. the BB150) do not allow the data-file name
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    86
# to be defined in the instrument, in which case the files have to be
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    87
# renamed after downloading. The following variables define the shell
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    88
# globbing patterns for the DL and UL. For example, the UH BB150
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    89
# used during CLIVAR P02 generated files with extension .612; the coresponding
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    90
# globbing pattern is {*.612}. If only a single head is connected, the
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    91
# UL_* variable is ignored.
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    92
# NB: For dual-headed LADCP systems it is important that the globs do not
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    93
#     match both DL and UL data files. {*.000} therefore will not
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    94
#     work for dual-head Workhorse systems.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    95
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    96
set DL_download_glob 	{};
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
    97
set UL_download_glob		{};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    98
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
    99
# For consistency it is nicest if low station numbers contain leading
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   100
# zeroes. The following variable defines the corresponding printf(3) format.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   101
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   102
set stn_format {%03d};
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   103
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   104
# The following directory is used to store command files, instrument
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   105
# configurations and ADCP data. Separate subdirectories (named according to
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   106
# stn_format) are used for each cast.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   107
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   108
set raw_dir {../data/raw};
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   109
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   110
# After downloading, the data directory is backed up to the following
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   111
# directory. Make sure that it resides on a different disk than raw_dir.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   112
# Empty string disables backup for testing purposes.
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   113
# NOTE: RELATIVE PATHNAMES MUST START FROM CAST DIR (NOT ACQUISITION DIR)
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   114
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   115
set backup_dir {../../backup/raw};
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   116
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   117
# By default, bbabble will look for standard UN*X ymodem receive
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   118
# programs (rb and lrb) and call the first one it finds with the
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   119
# -u option. If neither of the standard programs exist, if neither is in the
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   120
# current $PATH, or if non-standard options have to be passed the following
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   121
# variable can be set to a non-empty string, such as {/sw/bin/rb -u}
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   122
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   123
set ymodem_receive_cmd {}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   124
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   125
# bbabble can be made to abort downloading after a preset amount of time,
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   126
# defined by the following variable. 
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   127
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   128
set download_timeout 999999;
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   129
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   130
#----------------------------------------------------------------------
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   131
# Semi-Standard Functions
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   132
#----------------------------------------------------------------------
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   133
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   134
# The program for polling an NTP server is different on different
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   135
# UN*X systems. Either rdate or ntpdate should be available. Note
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   136
# that sudo will propt for the login password of the user running
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   137
# the LADCP acquisition, unless it is explicitly set to allow execution
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   138
# of the command without a password.
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   139
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   140
proc set_computer_time {} {				# set computer clock
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   141
	global time_server;
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   142
	if {[string length $time_server] == 0} {return}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   143
	exec sudo rdate -s $time_server;
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   144
#	exec sudo ntpdate -s $time_server;
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   145
}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   146
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   147
#----------------------------------------------------------------------
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   148
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   149
# After the LADCP data files have been downloaded they should be
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   150
# checked. A simple yet effective check consists in estimating the
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   151
# bottom depth (zmax) and end depth (zend) by time-integrating the
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   152
# vertical-velocity measurements. There are two different publicly
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   153
# available programs to accomplish this: scanbb from the UH LADCP
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   154
# software suite, and mkProfile from the perl-utilities available
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   155
# from the LDEO LADCP repository.
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   156
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   157
proc check_data {file} {				# check data file
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   158
	exec sh -c "mkProfile -Q $file 2> `basename $file .000`.profinfo";
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   159
	exec sh -c "cat `basename $file .000`.profinfo > /dev/tty";
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   160
#	exec sh -c "scanbb $file";
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   161
#	exec sh -c "sed -n '/^zmax/,/^zend/s/ at.*/m/p' `basename $file .000`.scn > /dev/tty";
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   162
}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   163
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   164
#----------------------------------------------------------------------
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   165
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   166
# The following two routines backup the DL and UL files from the
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   167
# raw directory. 
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   168
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   169
proc backup_DL_data {stn} {
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   170
	global stn_format DL_deployment_name_fmt DL_cmd_file backup_dir;
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   171
	if {[string length $backup_dir] == 0} {return}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   172
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   173
	if {![file isdirectory $backup_dir]} {
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   174
		error "$backup_dir does not exist relative to [pwd]";
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   175
	}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   176
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   177
	set stnstr [format $stn_format $stn];
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   178
	set cast_dir [format %s/%s $backup_dir $stnstr];
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   179
	if {![file isdirectory $cast_dir]} {exec mkdir $cast_dir};
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   180
	exec sh -c "cp [format $DL_deployment_name_fmt $stn]* $cast_dir";
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   181
	exec sh -c "cp $DL_cmd_file* $cast_dir";
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   182
	exec sh -c "cp *log $cast_dir";
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   183
}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   184
	
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   185
proc backup_UL_data {stn} {				# copy data to network
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   186
	global stn_format UL_deployment_name_fmt UL_cmd_file backup_dir;
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   187
	if {[string length $backup_dir] == 0} {return}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   188
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   189
	if {![file isdirectory $backup_dir]} {
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   190
		error "$backup_dir does not exist relative to [pwd]";
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   191
	}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   192
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   193
	set stnstr [format $stn_format $stn];
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   194
	set cast_dir [format %s/%s $backup_dir $stnstr];
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   195
	if {![file isdirectory $cast_dir]} {exec mkdir $cast_dir};
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   196
	exec sh -c "cp [format $UL_deployment_name_fmt $stn]* $cast_dir";
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   197
	exec sh -c "cp $UL_cmd_file* $cast_dir";
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   198
	exec sh -c "cp *log $cast_dir";
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   199
}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   200
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   201
#----------------------------------------------------------------------
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   202
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   203
# See comments on DL_download_glob and UL_download_glob above.
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   204
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   205
proc rename_DL_download_file {target} {		# rename after download 
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   206
	global DL_download_glob;
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   207
	
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   208
	if {[string length $DL_download_glob] == 0} {return}
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   209
	set files [glob -nocomplain $DL_download_glob];
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   210
	set nfiles [llength $files];
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   211
	if {$nfiles == 0} {
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   212
		if {![file exists $target]} {
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   213
			error {can't find downloaded DL file};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   214
		}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   215
		return;
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   216
        }
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   217
        if {$nfiles > 1} {
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   218
	        send_user {WARNING: Multiple files downloaded from DL --- rename, backup, check manually!};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   219
	}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   220
	if {![string equal [lindex $files end] $target]} {
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   221
		exec mv [lindex $files end] $target;
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   222
	}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   223
}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   224
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   225
proc rename_UL_download_file {target} {		# rename after download
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   226
	global UL_download_glob;
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   227
	
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   228
	if {[string length $UL_download_glob] == 0} {return}
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   229
	set files [glob -nocomplain $UL_download_glob];
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   230
	set nfiles [llength $files];
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   231
	if {$nfiles == 0} {
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   232
		if {![file exists $target]} {
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   233
			error {can't find downloaded UL file};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   234
		}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   235
		return;
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   236
        }
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   237
        if {$nfiles > 1} {
12
5e67754f6457 V1.6: no more master/slave terminology
A.M. Thurnherr <athurnherr@yahoo.com>
parents: 6
diff changeset
   238
	        send_user {WARNING: Multiple files downloaded from UL --- rename, backup, check manually!};
4
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   239
	}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   240
	if {![string equal [lindex $files end] $target]} {
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   241
		exec mv [lindex $files end] $target;
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   242
	}
fda11de1826e version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff changeset
   243
}
5
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   244
f41d45fe7ae9 V1.5 initial release
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents: 4
diff changeset
   245