The Mixing Zephyr Pages
Survey Code Manual Pages for RADv1.2
This html document is designed to be used with any html reader, a la
mosaic, netscape, linx, etc. It covers the details of how to use the navigation
software included with the RAD distribution. This code was originally developed
by Bruce Howe at APL, University of Washington. It was designed for surveying
in transponder locations used in the Moving Ship Tomography experiments that he
has been involved in. It has been modified (read bootstrapped) to be used in the location of Alvin transponders. Any bugs/features/inaccuracies are the fault
of the Bootstrapper, Christian B. Parker (MG&G Group, UW Oceanography).
This Documentation is written for rad v1.2, which was the current version of
things as of 7/8/95. Although the 1.2 denomination would indicate a robust
platform, you can expect the same user friendliness of windows 1.0 (who ever
actually used that?)....further enhancements should markedly improve the
interface, making alot of this documentation out of date...oh well!!!
Table of Contents
The programs discussed in this information index will be loosely referred to as
the "crunch programs", which are a collection of fortran routines and shell
scripts, using the particular file naming sequence used by B. Howe, the original
developer of the survey code. There are two different modes that these programs
run in, the "survey" and "mooring motion" modes. The "survey" mode is used
to take surface survey data to solve for the locations of up to 5 transponders
in a given net. Future enhancements will include the ability to solve for
eight different transponder locations, which is more than enough transponders
for the purposes of Alvin Group operations.
The crunching code is designed to be used in a UNIX environment, with a very
strict filenaming setup, which will be delineated below. Currently supported
platforms are:
- DEC Ultrix 4.2
- DEC OSF/1 v2.0
- SunOS 4.1.3 (Solaris 1.1)
The source code (fortran) has been included with this distribution, so there
should be no problems running the code on other platforms, provided you have
a fortran (f77) compiler, and are running a UNIX workstation.
Back to Table of Contents
Because the development of this code iniated as a porting effort, it has
evolved (for better or worse) from the file structure/shell script
implementation of Bruce Howe's to the current implementation, which is
basically an extension of Bruce's convention as things got further developed
on the Mixing Zephyr I cruise of May 95. There are also several environment
variables needed to run all the associated shell scripts.
Put the following at the end of your .cshrc:
##########BEGIN RAD ENV VARIABLES####################
setenv RAD /elcapitan/zephyr/RAD
setenv RAD_CRUNCH /elcapitan/zephyr/RAD/src/fortran/progs
setenv RAD_DIVES /elcapitan/zephyr/RAD/NAV_95/dives
setenv RAD_SURVEY /elcapitan/zephyr/RAD/NAV_95/survey
setenv RAD_CRUNCH_SHELL /elcapitan/zephyr/RAD/src/fortran/shell_scripts
##########END RAD ENV VARIABLES#######################
These environment variables assume that RAD has been untarred in the
directory /elcapitan/zephyr. The file structure below assumes that the
RAD distribution is installed in /elcapitan/zephyr....later there will be
an installation script that will fix paths, etc, but for now this should
be done by hand.
Back to Table of Contents
In the following discusion, it is assumed that you have put the above
environment variables into your .cshrc. Thus the top level discussed,
/RAD, will in fact be the $RAD directory, or in our example,
/elcapitan/zephyr/RAD in absolute terms. The structure is given below, with
slightly informative comments (There may be other directories in the
distribution, but they are not directly related to the crunching code)
RAD/
NAV_95/ The Directory containing nav files.
dives/ Directory containing RAD related files.
mm/ Mooring Motion directory (linked to RAD/
crunch_data/mm/).
malv/ Directory that B. Howe's Shell scripts look
for in mooring motion mode.
survey/ Survey directory (linked to RAD/crunch_data/
survey/).
malv/ Directory that B. Howe's Shell scripts look
for in survey mode.
bin/
osf/ osf binaries.
sunOS/ SunOS 4.1.3 binaries.
ultrix4.2/ ultrix v4.2 binaries.
rad shell script which starts RAD (GUI interface)
crunch_data/ like it sounds.
mm/ Directory for B. Howe's shell scripts (linked
to /RAD/NAV_95/dives/mm.
survey/ Directory for B. Howe's shell scripts (linked
to /RAD/NAV_95/survey.
man/ documentation.
src/ Source directory for all programs.
fortran/ Directory containing subdirectories with all
of B. Howe's programs.
lib/ Library.
progs/ Fortran Code, and shell scripts called by
"Master" shell script.
shell_scripts/ "Master" shell scripts for mooring motion and
survey mode located here.
src/ source code for the library in #RAD/src/fortran/
lib.
gmt/ gmt routines.
m_files/ files related to rad (GUI interface, etc)
matlab 4.2c required to use these.
perl_scripts/ various perl scripts that were used to get input
files into the right format for running B.
Howe's code, running the code, etc.
tmp/ temporary directory
Back to Table of Contents
The files discussed below are those required/created by B. Howe's code, before
and after running the crunch. These are for the "survey" mode. The files
should be located in $RAD/crunch_data/survey/malv. The difference for mooring motion is that the
directory these files should be located in is $RAD/crunch_data/mm/malv, and 1 file is different
(discussed below).
Listed below are the files necsessary to run a crunch in "survey" mode; these
files are need to be located in $RAD/crunch_data/survey/malv/ in order for
the crunch to proceed:
1 root 17266 Jul 8 17:26 fmalv3
1 root 332 Jul 8 17:26 insv72.alvxa
1 root 333 Jul 8 17:26 insv72.alvxb
1 root 145 Jul 8 17:26 malvig.dat
1 root 431 Jul 8 17:26 svelmalv.dat
1 root 317 Jul 8 17:26 wtsurvmalv.2
fmalv3 -- Travel Time Data File
This is the input file for the crunching code. It's format is: decimal day, x, y, z,
(flag), tt1, tt2, tt3, tt4, (flag), (flag), (flag). All flags must be in integer format,
and all flags are zero, except for the last three flags on the first line of the file,
which are set to 1. The travel times are 1-way travel times, and the columnar order
corresponds to the initial guess file in malvig.dat.
It is very important that the travel times correspond to the initial guess file, as mistakes
of this sort lead to poor solutions.
insv72.alvxa -- Crunch Parameter File (Forward Pass)
This file is a parameter file for the crunch. It is fairly self-explanatory, given
the comments included in it. The most important line that may need modification (depending
upon your situation) is the "error line", or the seventh line in the file. It is here
that one gives estimates for the errors associated with the position of the interrogator
(ex = 200, ey = 200, ez=2 .....all errors in meters) These high values are used when
a survey is done using Alvin dive data. These errors should be much smaller for a surface
survey (P-code gps is absolutely accurate to ~4m).
insv72.alvxb -- Crunch Parameter File (Reverse Pass)
Basically the same as insv72.alvxa, but for the reverse pass. The only difference should
be in the file names ("b" instead of "a")
malvig.dat -- Initial Guess File
This is the initial geuss for the transponder locations. The first line is the origin for
the X-Y grid, in decimal latitude and longitude. Longitudes west and Lattitudes south are
given negative values. The next line is the number of transponders. The rest of the file is of
the format:
(X) ex (Y) ey (Z) ez (time offset) et
which describes the location of each transponder. The order is significant (ie. the first
xp location corresponds to the location of the first column of travel times in the
fmalv3 file.
svelmalv.dat -- Sound Velocity Profile
Self explanatory. First line is number of intervals in file, subsequent lines are
depth and sound velocity. This can be edited for a given area based on CTD work, or previous
sound velocity profiles used in the area. The calculations are very sensitive to the profile,
so care should be taken to make the profile accurate.
wtsurvmalv.2 -- Another parameter file
First line, middle number, is number of transponders, n. The next n lines are error lines,
and the final two lines in the file must match the errors given in
insv72.alvxa. Only the number of transponders
and the final two lines should change (although it is also important that the "n" lines after
the first line must match the number of transponders).
Back to Table of Contents
The files that remain in the "malv" directory after the crunch are shown below. The files with
the same names are unchanged. Important new files are binvr.alvxi,
bralvxi, the "mm" files (1-7) and the two files
osv72.alvx{a,b}.
1 root 2844 Jun 30 12:53 binvr.alvxi
1 root 1987 Jun 30 12:53 bralvxi
1 root 17266 Jun 29 12:42 fmalv3
1 root 21534 Jun 30 12:53 fmalv3.alvxe
1 root 0 Jun 30 12:53 fmalv3.res
1 root 18430 Jun 30 12:52 fmalv4
1 root 332 Jun 29 12:40 insv72.alvxa
1 root 333 Jun 29 12:40 insv72.alvxb
1 root 15339 Jun 30 12:53 listfile
1 root 8157 Jun 30 12:53 log.crunch
1 root 87 Jun 30 12:53 log.list
1 root 145 Jun 29 12:39 malvig.dat
1 root 17460 Jun 30 12:53 mmsalvxe.1.dat
1 root 17460 Jun 30 12:53 mmsalvxe.2.dat
1 root 17460 Jun 30 12:53 mmsalvxe.3.dat
1 root 17460 Jun 30 12:53 mmsalvxe.4.dat
1 root 17460 Jun 30 12:53 mmsalvxe.5.dat
1 root 17460 Jun 30 12:53 mmsalvxe.6.dat
1 root 0 Jun 30 12:53 mmsalvxe.7.dat
1 root 486431 Jun 30 12:52 osv72.alvxa
1 root 486431 Jun 30 12:53 osv72.alvxb
1 root 431 Jun 29 12:39 svelmalv.dat
1 root 317 Jun 29 12:40 wtsurvmalv.2
The bralvxi
file has the final computed locations of the tranponders, along with errors for each coordinate.
The locations are given in lat/lon, x/y, and relative x/y. The "mm"
files give {time, x, y, z, ex, ey, ez, time offset, et} for each time step. The numeric
file designation refers to that particular transponder (ie mmsalvxe.1.dat has the computed
locations of xp1 for each time step.) The file binvr.alvxi is a binary version of bralvxi,
and is used by the mooring motion mode as locations for the transponders. The only difference
between running a "survey" crunch vs. a "mooring motion" crunch is that this location files must
be copied to $RAD/crunch_data/mm/malv and renamed "survey.binvr.alvxi". Then everything should
proceed without any problems using B. Howe's shell scripts (decribed below). The files
osv72.alvx{a,b} are diagnostic files that are written during
the crunch. It is useful to "tail -f" these files (a is for the forward pass and b is for the
reverse pass) in order to make sure that the crunch is converging correctly. The format here
is that for each time step, 8 records are printed....the third column is the inputed data (travel
times, and position) and the fifth column is the calculated value. The sixth column is the
error associated with the calculated value, and the seventh column is the percentage of this
error that the calculated value is different from the observed value (standard dev).
The calculated value should always be less than 1 std dev from the observed value (otherwise
the input data is incorrect, or something is wrong with the travel times, such as not having
the travel time in the travel time column 1 match the first transponder location in the initial
guess file.
Back to Table of Contents
Listed below are the two "master" shell scripts that control the survey and mooring mode crunch,
respectively. These should run the crunch assuming the files are set up as shown above. These
scripts are located in $RAD/src/fortran/shell_scripts.
1 cbp 1327 Jun 16 11:02 c.sm.amode.m.alv -- Begins Mooring Motion Crunch
1 cbp 1327 Jun 16 11:02 c.sm.amode.s.alv -- Begins Survey Crunch
Back to Table of Contents
Survey mode is used to "survey" in the location of Alvin's acoustic
transponders. This is done in two steps. First, after the transponders have
been deployed, a surface survey is conducted. This consists of moving to
specific points around the transponder net and interrogating the net. These
specific locations should be at least the water depth away from each transponder,
with the optimal geometry being an equilateral triangle around each transponder,
although some positions may serve "double duty" and be ok for interrogating more
than one transponder. We can then crunch in the "preliminary" location of the
transponders, based on the travel times collected, and tie the net into the
"real" GPS coordinate frame. The second step consists of using Alvin dive data
to better locate the transponder locations. This eliminates the uncertainty
of ray tracing through the water column, and also has the benifit of less acoustic
noise, making the travel time data, in general, more clean.
The section below will deal with taking a set of surface survey data recorded
with Athena (the Alvin Groups surveying code) and changing it into the
appropriate format for use with the rad crunching code.
Back to Table of Contents
MORP Home | Mixing Zephyr Home | Search the Mixing Zephyr Pages
The Mixing Zephyr Pages
Maintained by Russ McDuff (mcduff@ocean.washington.edu)
Copyright (©) 1995,1996 University of Washington; Copyright Notice
Content Last Modified 9/26/95
Page Last Built 8/4/96