GeoTiff Data Component

1.0 hrs
Run online using:
  1. Jupyter
  2. Lab
     Jupyter logo.png

    Mark Piper at University of Colorado Boulder.


GeoTiff is a Python library for accessing data and metadata from a GeoTIFF file through an API or a BMI.

The bmi-geotiff library accepts a filepath or an URL to a GeoTIFF file. Data are loaded into an xarray DataArray using the experimental open_rasterio method. The API is wrapped with a Basic Model Interface (BMI), which provides a standard set of functions for coupling with data or models that also expose a BMI.

More information on GeoTiff can found in its documentation:

Classroom organization
This lab includes examples of using the GeoTiff data component in a Jupyter Notebook, in a shell script, and in a Python program. Try editing these examples to download, open, and display data from other GeoTIFF files.

Learning objectives
  • Use an application programming interface (API) for a Python library
  • Use a Basic Model Interface (BMI)
Key concepts
  • Access data through a data component
  • Understand the difference between an API and a BMI, as well as their relative strengths

Lab notes

This lab can be run on the lab (for educators) and jupyter (for general use) instances of the OpenEarthscape JupyterHub: just click one of the links under the Run online using heading at the top of this page, then run the notebook in the "CSDMS" kernel.

If you don't already have a JupyterHub account, follow the instructions to sign up at If you're an educator, you can get JupyterHub accounts for students--please contact us through the CSDMS Help Desk:

If run locally, see installation instructions in the bmi-geotiff repository:

This work is supported by the National Science Foundation under Award No. 1831623, Community Facility Support: The Community Surface Dynamics Modeling System (CSDMS).

  • Piper, M. (2021). CSDMS GeoTIFF data component (Version 0.2.3) (Computer software).
  • Tucker, G. E., Hutton, E. W. H., Piper, M. D., Campforts, B., Gan, T., Barnhart, K. R., Kettner, A. J., Overeem, I., Peckham, S. D., McCready, L., and Syvitski, J., 2022: CSDMS: a community platform for numerical modeling of Earth surface processes, Geosci. Model Dev., 15, 1413–1439,