Next / Previous / Contents / Shipman's homepage

7. Operation of the programs

Here are the programs in this system. All are written in Python. For full documentation and source files in “literate programming” form, see the internal maintenance specification.


The current data compiler for MAPS data, used starting with the 2013 MAPS field season. See Section 3.1, “MAPS 2013 protocol”.

For operation, see Section 7.1, “Running the data compilers”.


Compiler for MAPS data, used in the 2006-2012 field seasons. See Section 3.2, “MAPS 2006 protocol”.


Handles the older 2004–2005 MAPS protocol. See Section 3.3, “MAPS 2004 protocol”; operation is described in Section 7.1, “Running the data compilers”.


The current MAWS data compiler; see Section 3.5, “MAWS 2007 protocol”.


Compiler for the 2004-2006 MAWS field seasons; see Section 3.6, “MAWS 2004 protocol”.


This script reads a dBASE V database file and prints a report showing the names, types, and lengths of the fields. See Section 7.2, “The dbfstruct script: Show dBASE V file structure”.


This script takes as input any dBASE V (.dbf) file, and writes to its standard output stream a flat representation of the file, with every field padded to its maximum length so that the fields align vertically with each other. See Section 7.3, “The dbflatten script: Flatten a dBASE V file”.


Using a flattened version of the Shipstat.dbf authority file, this script looks up a location code or station number and prints a list of all the station numbers and station codes in the same location. It is especially useful just before entering a new MAPS set, showing what codes are known and how to spell them correctly. See Section 7.4, “The showstas script: Look up station codes”.


Like showstas, but uses the MAWS stations file instead of the MAPS version. See Section 7.5, “The showmaws script: Looking up MAWS station codes”.

7.1. Running the data compilers

Each data compiler reads one specific format of raw banding data files and writes a flat file suitable for delivery to IBP. The name of the flat file will be “f.ban”, where f is the name of the input file.

Flattened versions of the authority files must reside in the same directory as the raw banding data files. A “flattened version” of a file is the output of the flatten script run against a dBASE V .dbf file. See Section 7.3, “The dbflatten script: Flatten a dBASE V file”.

The table below shows which authority files are used by each data compiler. For the origin and format of IBP's supplied authority files, see Section 2, “Authority files”.

ProtocolStations authoritySpecies authority
MAPS 2013 stations.txt spcode04.txt
MAPS 2006 stations.txt spcode04.txt
MAPS 2004 stations.txt spcode04.txt
MAPS 1998 stations.txt spcode98.txt
MAWS 2007 shipmaws.txt spcode02.txt
MAWS 2004 shipmaws.txt spcode02.txt

Note that the name of the input file must conform to certain conventions: the file name contains the year and also indicates the location or station where the data were taken. See Section 6.2, “Batch file naming scheme”.

To run a data compiler, use a command of this form (for example, for the version 7 script):

$ iband8 rawFile

where rawFile is the name of the raw file.

If the program detects any errors, it will write them to the standard error stream, and also to a file named iband.log. There are two classes of messages: errors and warnings. If there are errors, you should correct them and continue running the file through the data compiler until there are no errors reported; when a line is flagged with an error, that line's data are not written to the output file.

Warnings are issued in situations where that data record is not right, but the problem is not considered irrecoverable. In that case, the record is written to the output. Examples of warnings: unknown species codes; unknown station codes.

For example, this command:

$ iband8 yose-2013-2

expects the raw data in a file called yose-2006-2, and writes a flat output file to yose-2006-2.ban.