author | A.M. Thurnherr <ant@ldeo.columbia.edu> |
Tue, 14 Sep 2010 13:34:39 -0400 | |
changeset 4 | fda11de1826e |
child 5 | f41d45fe7ae9 |
permissions | -rwxr-xr-x |
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 |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
4 |
# dlm: Thu Aug 26 19:49:03 2010 |
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 |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
6 |
# uE-Info: 118 24 NIL 0 0 72 2 2 8 NIL ofnI |
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 |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
21 |
# Aug 25, 2010: - rename* funs modified to allow them to be used to |
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 |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
27 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
28 |
#----------- |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
29 |
# TWEAKABLES |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
30 |
#----------- |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
31 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
32 |
# At the beginning of each cast, the clock of the acquisition computer should |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
33 |
# synchronized with the master clock used for timestamping the GPS information. |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
34 |
# The easiest way to accomplish this is by probing an NTP server on the ship |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
35 |
# (if there is one), which can be defined by setting the following variable. |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
36 |
# If there is no such server available, the variable should be set to the |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
37 |
# empty string (set time_server {}), in which case clock synchronization must |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
38 |
# be done differently (e.g. manually). |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
39 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
40 |
set time_server {199.92.161.2}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
41 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
42 |
# 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
|
43 |
# 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
|
44 |
# 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
|
45 |
# 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
|
46 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
47 |
set tty0 {/dev/ttyS0}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
48 |
set tty1 {/dev/ttyS1}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
49 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
50 |
# In case of 2 ADCP heads, babble needs to know which is the master and |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
51 |
# which is the slave. This is accomplished by setting the following variables |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
52 |
# to the corresponding instrument serial numbers (PS0 output). By convention, |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
53 |
# the downlooker is the master. If only a single head is connected, both |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
54 |
# variables are ignored. |
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 master_sn 7877; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
57 |
set slave_sn 1412; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
58 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
59 |
# 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
|
60 |
# a corresponding command file, defined by the following variables. If only |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
61 |
# a single head is connected, the slave_* variable is ignored. |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
62 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
63 |
set master_cmd_file {MASTER.cmd}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
64 |
set slave_cmd_file {SLAVE.cmd}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
65 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
66 |
# For convenience, it is best to use the station number to name the ADCP data |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
67 |
# files, and to indicate whether the data file comes from the master or |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
68 |
# slave. The following variables variables define the printf(3) format |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
69 |
# that is used to create the files names from the station number. If only |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
70 |
# a single head is connected, the slave_* variable is ignored. |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
71 |
# NOTE: Some implementations of the ymodem protocol (notably lrb running |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
72 |
# under Mandrake 8) use lowercase for the downloaded file. It is |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
73 |
# therefore better to use only lowercase characters in the deployment |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
74 |
# names. |
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 |
set master_deployment_name_fmt {%03ddn}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
77 |
set slave_deployment_name_fmt {%03dup}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
78 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
79 |
# 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
|
80 |
# 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
|
81 |
# renamed after downloading. The following variables define the shell |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
82 |
# globbing patterns for the master and slave. For example, the UH BB150 |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
83 |
# 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
|
84 |
# globbing pattern is {*.612}. If only a single head is connected, the |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
85 |
# slave_* variable is ignored. |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
86 |
# NB: For dual-headed LADCP systems it is important that the globs do not |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
87 |
# match both master and slave data files. {*.000} therefore will not |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
88 |
# 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
|
89 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
90 |
set master_download_glob {}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
91 |
set slave_download_glob {}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
92 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
93 |
# 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
|
94 |
# 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
|
95 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
96 |
set stn_format {%03d}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
97 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
98 |
# 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
|
99 |
# 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
|
100 |
# 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
|
101 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
102 |
set raw_dir {../data/raw}; |
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 |
# 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
|
105 |
# 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
|
106 |
# 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
|
107 |
# 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
|
108 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
109 |
set backup_dir {../../backup/raw}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
110 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
111 |
# By default, bbabble will look for standard UN*X ymodem receive |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
112 |
# programs (rb and lrb). If neither of these exist, if neither is in the |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
113 |
# current $PATH, or if options have to be passed (as is the case on some |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
114 |
# Linux distributions to ensure that the downloaded files have consistent |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
115 |
# (upper-)case filenames, the following variable can be set to a non-empty |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
116 |
# string, such as {rb -u} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
117 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
118 |
set ymodem_receive_cmd {} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
119 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
120 |
# 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
|
121 |
# defined by the following variable. |
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 download_timeout 999999; |
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 |
#---------------------------------------------------------------------- |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
126 |
# Semi-Standard Functions |
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 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
129 |
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
|
130 |
global time_server; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
131 |
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
|
132 |
exec sudo rdate -s $time_server; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
133 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
134 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
135 |
proc check_data {file} { # check data file |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
136 |
exec sh -c "scanbb $file"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
137 |
exec sh -c "sed -n '/^zmax/,/^zend/s/ at.*/m/p' `basename $file .000`.scn > /dev/tty"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
138 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
139 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
140 |
proc backup_master_data {stn} { # copy data to network |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
141 |
global master_deployment_name_fmt master_cmd_file backup_dir; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
142 |
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
|
143 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
144 |
if {![file isdirectory $backup_dir]} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
145 |
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
|
146 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
147 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
148 |
set master_dir [format $backup_dir/$master_deployment_name_fmt $stn]; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
149 |
if {![file isdirectory $master_dir]} {exec mkdir $master_dir}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
150 |
exec sh -c "cp [format $master_deployment_name_fmt $stn]* $master_dir"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
151 |
exec sh -c "cp $master_cmd_file* $master_dir"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
152 |
exec sh -c "cp *log $master_dir"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
153 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
154 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
155 |
proc backup_slave_data {stn} { # copy data to network |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
156 |
global slave_deployment_name_fmt slave_cmd_file backup_dir; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
157 |
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
|
158 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
159 |
if {![file isdirectory $backup_dir]} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
160 |
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
|
161 |
} |
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 |
set slave_dir [format $backup_dir/$slave_deployment_name_fmt $stn]; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
164 |
if {![file isdirectory $slave_dir]} {exec mkdir $slave_dir}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
165 |
exec sh -c "cp [format $slave_deployment_name_fmt $stn]* $slave_dir"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
166 |
exec sh -c "cp $slave_cmd_file* $slave_dir"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
167 |
exec sh -c "cp *log $slave_dir"; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
168 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
169 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
170 |
proc rename_master_download_file {target} { # rename after download |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
171 |
global master_download_glob; |
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 {[string length $master_download_glob] == 0} {return} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
174 |
set files [glob -nocomplain $master_download_glob]; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
175 |
set nfiles [llength $files]; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
176 |
if {$nfiles == 0} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
177 |
if {![file exists $target]} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
178 |
error {can't find downloaded master file}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
179 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
180 |
return; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
181 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
182 |
if {$nfiles > 1} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
183 |
send_user {WARNING: Multiple files downloaded from master --- rename, backup, check manually!}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
184 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
185 |
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
|
186 |
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
|
187 |
} |
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 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
190 |
proc rename_slave_download_file {target} { # rename after download |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
191 |
global slave_download_glob; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
192 |
|
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
193 |
if {[string length $slave_download_glob] == 0} {return} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
194 |
set files [glob -nocomplain $slave_download_glob]; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
195 |
set nfiles [llength $files]; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
196 |
if {$nfiles == 0} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
197 |
if {![file exists $target]} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
198 |
error {can't find downloaded slave file}; |
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 |
return; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
201 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
202 |
if {$nfiles > 1} { |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
203 |
send_user {WARNING: Multiple files downloaded from slave --- rename, backup, check manually!}; |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
204 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
205 |
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
|
206 |
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
|
207 |
} |
fda11de1826e
version left on Poseidon at end of P403
A.M. Thurnherr <ant@ldeo.columbia.edu>
parents:
diff
changeset
|
208 |
} |