Skip to content


Repository files navigation



license PyPI Python3 GoogleGroup documentation Travis Coveralls Requirements Status Anaconda-Server Version Anaconda-Server Downloads


Docker Pulls microbadger

COAL is a Python library for processing hyperspectral imagery from remote sensing devices such as the Airborne Visible/InfraRed Imaging Spectrometer (AVIRIS) and AVIRIS-Next Generation enabling scientific analysis of Coal and Open-pit surface mining impacts on American Lands.

Introduction and Context

Mountain-top Mining (MTM) is a method of open surface mining with the primary aim of exploring and exploiting coal seams present within the land and solid earth (LSE) on mountaintops. Amongst other surface mining activities, MTM is known to be an extremely destructive mining procedure predominantly limited to the spatial boundaries of the Southern Appalachians (Eastern Kentucky, West Virginia and very small sections of Virginia and Tennessee). MTM is known to have caused irreparable damage to mountain landscapes and significant immediate and longer-term damage to key streams and watersheds. Larger afield, the rest of the U.S.A has some extensive surface mining in various places for exploitation of resources such as gravel/sand, various metals, other minerals and even radioactive materials, etc. Several studies have provided important scientific understanding related to the local, regional and state-level impacts of such environmentally destructive practices, however a similar understanding on the national and continental levels are very much lacking.

Project Motivation & Statement

COAL provides a suite of algorithms (written in Python) to identify, classify, characterize, and quantify (by reporting a number of key metrics) the direct and indirect impacts of MTM and related destructive surface mining activities across the continental U.S.A (and further afield).

More information on COAL can be seen at the Project Website as well as the docs directory.




The Python COAL package pycoal can be installed from the cheeseshop

pip3 install pycoal


Anaconda-Server Version Anaconda-Server Downloads

or from conda

conda install -c conda-forge pycoal


or from source

git clone && cd pycoal
python3 install


Docker Pulls microbadger

Docker greatly simplifies installation of pycoal and the environment. The image can be installed from Dockerhub as follows

docker pull capstonecoal/coal:latest

Additionally, if you are developing the image and wish to build it locally, you can run the following


  1. Install Docker.
  2. Build from files in this directory:
docker build -t capstonecoal/coal .


Start up an image and attach to it

docker run -t -i -d --name coalcontainer capstonecoal/coal /bin/bash
docker attach --sig-proxy=false coalcontainer

pycoal is located in /coal and is almost ready to run. You just need to grab some data.


Travis Coveralls

COAL uses the popular nose testing suite for unit tests.

You can run the COAL tests simply by running


Additonally, click on the build sticker at the top of this readme to be directed to the most recent build on travis-ci.


See the quickstart documentation.

If you would like to run the examples yourself, head over to the examples module.

WARNING Running the examples requires additional downloads. Ensure you have sufficient storage (~20 GB).



COAL documentation can be found at Readthedocs however you can also build documentation manually.

$ cd docs/source && make html

Documentation can then be located in _build/html/index.html

Community and Development



Questions, concerns, and general communication is all encouraged in our Slack organization.

Mailing list


To become involved or if you require help using the project request to join our mailing list.

Issue Tracker

If you have issue using COAL, please log a ticket in our Github issue tracker.


COAL is licensed under the license a copy of which ships with this source code.