Unravel: The Next Generation!

The new unravel scripts takes one or more COMPLETE file names. Now you have to feed it the path to the raw file as opposed to the old method of splitting them into subdirectories and line numbers. Also, you can now have your own directory structure and don't need to use subdirectories in the raw directory as was the case in previous versions.

In short, the script will convert raw data into OMG format, do any necessary bathymetric data reductions, present the file to the user for cleaning and then create geo-registered backscatter data with a new_redoss script (except for Submetrix data, in which case the ss is created in the unravel script). You can modify the default behaviour with the following switches.

-force: The default behaviour of the script is to skip files that have been previously converted (this is determined by the existence of a .merged file).  You can use -force to force it to re-convert.
-nozip: The default behaviour of the script is to zip raw files after they've been converted.  The -nozip option over-rides this.  If a zipped file is passed, it will assume you want to re-zip it and will ignore the -nozip option for that file only.
-noclean: The default behaviour of the script is to present the user with a swathed window for each line as it is converted, allowing them to clean on the fly.  You can use -noclean if you would rather convert everything in a big batch run and then clean it all later on.  When -noclean is specified, the ss files are not created.
-forcess: As mentioned above, when -noclean is specified, the ss files are not created.  The -forcess switch will force the creation of ss data despite the fact that the bathy data has not been cleaned.  In this case, you also need to specify a pixel size as the automatic pixel routine can choose an overly coarse pixel resolution if there are wild outliers in the data.
-pixel: Force a pixel size for ss creation, this value is passed to the new_redoss script.
-skipss:  This will skip the creation of the ss.  This will over-ride -forcess if you happen to accidentally specify both.

For Reson systems only:
(-param file.param) ... optionally can provide your own param file if you don't like the vessel configuration in the XTF file  (see notes about vessel configuration file format here)
-svp_dir ... path to directory containing SVP files (see notes about sound velocity profile file format here)
-snippet | -sidescan | -ri_theta:  Specify the data type to pass on to the new_redoss_reson script.

For SeaSWATH systems only:
-param file.param ... must provide your own param file as the vessel config information is not stored in a .sxr file (see notes about vessel configuration file format here)
-svp_dir ... path to directory containing SVP files (see notes about sound velocity profile file format here)

A few warnings:

  1. SIMRAD RAW FILES WARNING: The script will attempt to guess the model number to pass to RT (e.g. em3002, etc), but the script is hardwired to support only a few sonars.
  2. RESON XTF FILES WARNING: You might need to force the sonar type for the xtf2omg_reson command (e.g. -sonar 8125) with older versions

A few features:

  1. It auto-generates the merged, decnav & ss directories as well as the required subdirectories in each. You can now upload the raw data into a raw sub-directory and type
    new_unravel raw/*/*.all
    and go for a nap. That's it. No more hassles of making the required subdirectories and unravel_all scripts. You can also now use command line wildcards, e.g. new_unravel raw/JD1{22,23,24}/*.all (*.xtf for the RESON XTF unravelling script).
  2. You can zip raw files to save space, it'll know to unzip them (and zip 'em back up). You can pass the zipped filename or the unzipped filename...up to you. If zipped files are passed, then they will be rezipped after completion. WARNING: only supports gzip for now!
  3. If anything major pukes in the script, it reports errors to a file named 'error.log' in the project directory. Have a look at this file after a big unravel batch to make sure nothing funky happened. In the event of a single faulty line, it'll write out to the error log and skip to the next line.
  4. It checks to make sure you have OMG binaries lying around somewhere in your path.
  5. It checks to make sure you have write permissions in the project directory.

Download the scripts here:


Last modified: June 2nd, 2008, by J. Beaudoin