This site is ARCHIVED and will NO LONGER BE UPDATED.
For updated Tutorial material, please visit the Pythia landsat-ml cookbook.
For Topic Examples, head over to the HoloViz Examples website.


Machine learning and visualization in Python for Earth science

Python offers a wide variety of open-source libraries covering a huge range of functionality, but it can be difficult to work out which libraries are suitable for which tasks. The EarthML project helps to:

  • Demonstrate how to use Python tools for machine learning and analysis in the earth sciences

  • Identify libraries suitable for working with earth-science data

  • Make improvements to these libraries as needed to help improve earth-science workflows

EarthML contains no code of its own, only tutorials and examples showing how to use packages like:

  • Data libraries:

    • Intake: Cleanly loading data from various sources.

    • XArray: Processing gridded (n-dimensional) data structures.

    • Pandas: Processing columnar (tabular) data structures.

    • Dask: Parallelism and performance at scale.

  • Visualization libraries:

    • hvPlot: Simple data-centric API for plotting, building on:

      • Bokeh: Interactive browser-based plotting.

      • HoloViews: Easy construction of Bokeh plots for datasets.

      • GeoViews: HoloViews with earth-specific projections.

      • Datashader: Rendering large datasets into images for display in browsers.

    • Panel: Dashboards, apps, and widgets for any library’s plots.

  • Other tools:

    • Jupyter: Reproducible notebooks (source code for all examples on this site).

    • Cartopy: Geographic coordinate reference systems.

    • Dask: Parallelism and performance at scale.

  • ML tools: (representative only – use any you like!)

The EarthML Tutorial offers a general-purpose overview of the concepts and tools involved, and the Topics section shows examples of how these tools may be used to perform machine learning and related tasks in the Earth sciences, such as:

Carbon Flux
Heat and Trees
Walker Lake

Please feel free to report issues or contribute code.

Running the EarthML projects

The EarthML topic examples are included among the many examples available on examples.pyviz.org. Each project is encapsulated in a reproducible project that includes an environment specification, an optional intake data catalog as well as notebooks and any other necessary assets.

Instructions for running these projects with anaconda-project can found in the examples.pyviz User Guide.