Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Benthic Terrain Modeler

A set of tools useful in the analysis of benthic terrain. Includes tools for geomorphology and classification.


ArcGIS 10.1 or greater. ArcGIS 10.0 is also supported, but only as a toolbox, as the Python Add-in was introduced at 10.1. Spatial Analyst Extension. The Arc-Chord Ratio tool also requires Geostatistical Analyst and 3D Analyst.


The current release of the Add-in, Toolbox and demonstration data is available on ArcGIS Online


  • Unzip the BTM zip file to your desired location.
  • Close any existing ArcMap sessions.
  • Double-click the btm.esriaddin file in your workspace, which will install both the graphical user interface and the toolbox into ArcGIS.
  • In addition to the user interface, you can also add the tools to ArcToolbox. Open the ArcToolbox window and pin it to the display. Right-click on the ArcToolbox top folder in the window and select Add Toolbox. Navigate to where you unzipped BTM and add the file btm.pyt.
  • To view important documentation on each script right-click on that script in the BTM toolset and select Item Description as well as Properties.
  • Click on the Add Data button in ArcMap and proceed to add your bathymetry data to your ArcMap session. You may now run the BTM tools on your data.


To get the latest source, clone this repository, and run to create an installable btm.esriaddin.


Install the Python Add-in btm.esriaddin, to access the graphical tools. The Python toolbox can be added by navigating to a path containing btm.pyt. All of the tools also support being run directly from the command-line (here btm is installed to the users directory in 'btm'):

cd %HOME%\btm\Install\toolbox\scripts
python e:\\bathy5m 5 10 e:\\bpi_fine

Downloading from Source

To download from GitHub, clone as with any other repository, with the additional step of updating the submodules to get the datatype package.

git clone
git submodule update --init --recursive


Nose tests are included which perform basic checks. To run, first install nose:

$ pip install nose

Then, run nose from the top-level directory:

$ nosetests

Note that the tests run against actual data, and may take upwards of ten minutes to complete on modern hardware. Also note that when running the tests from the repository, Git will list the metadata file updates as being changes. These can safely be ignored, you can instruct Git to ignore them with the command:

git update-index --assume-unchanged tests/data/*.tif.xml


We ask that you use the following citation for this software:

Wright, D.J., Pendleton, M., Boulware, J., Walbridge, S., Gerlt, B., Eslinger, D., Sampson, D., and Huntley, E. 2012. ArcGIS Benthic Terrain Modeler (BTM), v. 3.0, Environmental Systems Research Institute, NOAA Coastal Services Center, Massachusetts Office of Coastal Zone Management. Available online at