Lab-0029
GeoTiff Data Component
Contributor(s)
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: https://bmi-geotiff.readthedocs.io.
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.
Skills
- Use an application programming interface (API) for a Python library
- Use a Basic Model Interface (BMI)
- 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 https://csdms.colorado.edu/wiki/JupyterHub. If you're an educator, you can get JupyterHub accounts for students--please contact us through the CSDMS Help Desk: https://csdms.github.io/help-desk.
Requirements
If run locally, see installation instructions in the bmi-geotiff repository: https://github.com/csdms/bmi-geotiff.
Acknowledgements
This work is supported by the National Science Foundation under Award No. 1831623, Community Facility Support: The Community Surface Dynamics Modeling System (CSDMS).
References
- Piper, M. (2021). CSDMS GeoTIFF data component (Version 0.2.3) (Computer software). https://doi.org/10.5281/zenodo.4721475
- 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, https://doi.org/10.5194/gmd-15-1413-2022.