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

1. Introduction

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: 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

2. File Structure/Environment Variables

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.

2.1 Environment Variables

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

2.2 Directory Structure

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)
  NAV_95/			The Directory containing nav files.
    dives/			Directory containing RAD related files.

      mm/			Mooring Motion directory (linked to RAD/
        malv/			Directory that B. Howe's Shell scripts look 
				  for in mooring motion mode.
    survey/			Survey directory (linked to RAD/crunch_data/
      malv/			Directory that B. Howe's Shell scripts look
				  for in survey mode. 
    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/

    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

2.3 File Structure (Survey mode and Mooring Motion mode)

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).

2.3.1 Before the Crunch!

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
  • insv72.alvxa -- Crunch Parameter File (Forward Pass)
  • insv72.alvxb -- Crunch Parameter File (Reverse Pass)
  • malvig.dat -- Initial Guess File
  • svelmalv.dat -- Sound Velocity Profile
  • wtsurvmalv.2 -- Another parameter file Back to Table of Contents

    2.3.2 After the Crunch!

    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

    3. Shell Scripts to Control the Crunch

    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 -- Begins Mooring Motion Crunch
    1 cbp          1327 Jun 16 11:02 -- Begins Survey Crunch
    Back to Table of Contents

    4. Survey Mode

    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.

    4.1 Surface Survey Example

    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.

    4.1.1 Surface Data Collection

    Back to Table of Contents

    MORP Home | Mixing Zephyr Home | Search the Mixing Zephyr Pages

    The Mixing Zephyr Pages
    Maintained by Russ McDuff (
    Copyright (©) 1995,1996 University of Washington; Copyright Notice
    Content Last Modified 9/26/95
    Page Last Built 8/4/96