Resource Gallery
Your First Python Tutorial
Author: Xdev Team
Affiliation: NCAR
A tutorial for getting started with Python aimed at scientists with experience in at least one other coding language. Designed to teach you Python, not package specific syntax.
Your First Python Tutorial
Author: Xdev Team
Affiliation: NCAR
A tutorial for getting started with Python aimed at scientists with experience in at least one other coding language. Designed to teach you Python, not package specific syntax.
Unidata Python Workshop - Jupyter Notebooks Introduction
Author: Anonymous
Affiliation: Unidata
Jupyter notebooks are a great way to have code, output, images, video, and other information in one place. Notebooks are an ideal tool for the student, research scientist, and even software developer. In this lesson we will go over the basic features of Jupyter notebooks and how to use them.
Unidata Python Workshop - Jupyter Notebooks Introduction
Author: Anonymous
Affiliation: Unidata
Jupyter notebooks are a great way to have code, output, images, video, and other information in one place. Notebooks are an ideal tool for the student, research scientist, and even software developer. In this lesson we will go over the basic features of Jupyter notebooks and how to use them.
The Climate Laboratory
Author: Brian Rose
Affiliation: University of Albany
A hands on approach to climate physics and climate modeling. Fundamental climate processes are introduced through interactive and reproducible Python-based modeling exercises. This JupyterBook serves as a course textbook at the University of Albany.
The Climate Laboratory
Author: Brian Rose
Affiliation: University of Albany
A hands on approach to climate physics and climate modeling. Fundamental climate processes are introduced through interactive and reproducible Python-based modeling exercises. This JupyterBook serves as a course textbook at the University of Albany.
Earth Data Science
Author: Earth Lab
Affiliation: University of Colorado Boulder
This site contains open, tutorials and course materials covering topics including data integration, GIS and data intensive science.
Geohackweek 2019
Author: eScience Institute
Affiliation: University of Washington
Geohackweek is a 5-day hackweek to be held at the University of Washington eScience Institute. Tutorials from the hackweek are available for everyone to follow (participants and non-participants alike).
Geohackweek 2019
Author: eScience Institute
Affiliation: University of Washington
Geohackweek is a 5-day hackweek to be held at the University of Washington eScience Institute. Tutorials from the hackweek are available for everyone to follow (participants and non-participants alike).
Data Analysis with Python- Zero to Pandas
Author: Jovian.ai
"Data Analysis with Python: Zero to Pandas" is a practical and beginner-friendly introduction to data analysis covering the basics of Python, Numpy, Pandas, Data Visualization, and Exploratory Data Analysis.
MTH271- Mathematical Computing with Data
Author: Jay Gopalakrishnan
Affiliation: Portland State University
In this course, we will have multiple occasions to procure, analyze, and visualize data. We will study mathematical and statistical techniques to discern patterns in complex data. We shall do so in an ecosystem of python computing modules developed by open-source enthusiasts worldwide.
ATSC301- Atmospheric Radiation and Remote Sensing
Author: Philip Austin
Affiliation: University of British Columbia
This course teaches radiation and remote sensing, but also covers: how to write clear, documented and tested code that can ingest, manipulate and display data, and how to turn equations into computer algorithms in Python.
ATSC301- Atmospheric Radiation and Remote Sensing
Author: Philip Austin
Affiliation: University of British Columbia
This course teaches radiation and remote sensing, but also covers: how to write clear, documented and tested code that can ingest, manipulate and display data, and how to turn equations into computer algorithms in Python.
Dani Arribas-Bel Course Repositories
Author: Dani Arribas-Bel
Affiliation: University of Liverpool Department of Geography and Planning
A collection of courework repositories for various data science classes taught by Dani Arribas-Bel.
Cartopy Documentation
Author: UK Met Office
Cartopy is a Python package designed for geospatial data processing in order to produce maps and other geospatial data analyses.
Cartopy Gallery
Author: UK Met Office
Visual examples demonstrating some of the functionality of Cartopy, particularly its matplotlib interface.
Contextily Documentation
Author: Dani Arribas-Bel & Contexily Contributors
contextily is a small Python 3 (3.6 and above) package to retrieve tile maps from the internet. It can add those tiles as basemap to matplotlib figures or write tile maps to disk into geospatial raster files. Bounding boxes can be passed in both WGS84 (EPSG:4326) and Spheric Mercator (EPSG:3857).
Contextily Documentation
Author: Dani Arribas-Bel & Contexily Contributors
contextily is a small Python 3 (3.6 and above) package to retrieve tile maps from the internet. It can add those tiles as basemap to matplotlib figures or write tile maps to disk into geospatial raster files. Bounding boxes can be passed in both WGS84 (EPSG:4326) and Spheric Mercator (EPSG:3857).
Dask
Author: Dask core developers
Dask provides advanced parallelism for analytics, enabling performance at scale for the tools you love.
Dask Tutorial
Author: Dask Developers
Dask is a parallel computing library that scales the existing Python ecosystem. This tutorial will introduce Dask and parallel data analysis more generally.
GeoCAT Tutorial
Author: GeoCat
Affiliation: NCAR
The examples below show GeoCAT-comp functions being utilized in real-world use cases. They also demonstrate how GeoCAT-comp can be used to make plots with Matplotlib (using Cartopy) and PyNGL (work in progress).
GeoPandas Gallery
Author: GeoPandas developers
Examples that show off the functionality in GeoPandas. They highlight many of the things you can do with this package, and show off some best-practices.
GeoPandas Gallery
Author: GeoPandas developers
Examples that show off the functionality in GeoPandas. They highlight many of the things you can do with this package, and show off some best-practices.
GeoPandas Gallery
Author: GeoPandas developers
Examples that show off the functionality in GeoPandas. They highlight many of the things you can do with this package, and show off some best-practices.
hvPlot Gallery
Author: HoloViz developers
Incomplete Reference Gallery containing some small examples of different plot types using hvPlot.
Matplotlib
Author: the Matplotlib development team
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
Matplotlib Tutorial
Author: the Matplotlib development team
This page contains more in-depth guides for using Matplotlib. It is broken up into beginner, intermediate, and advanced sections, as well as sections covering specific topics.
Matplotlib Gallery
Author: the Matplotlib development team
This gallery contains examples of the many things you can do with Matplotlib.
MetPy Tutorial
Author: MetPy developers
Affiliation: Unidata
This collection of tutorials (under development) demonstrates the use of MetPy to perform common meteorological tasks.
Unidata Python Workshop- MetPy
Author: Anonymous
Affiliation: Unidata
MetPy is a modern meteorological open-source toolkit for Python. It is a maintained project of Unidata to serve the academic meteorological community. MetPy consists of three major areas of functionality: plots, calculations, and file i/o.
MetPy Gallery
Author: MetPy Developers
Affiliation: Unidata
Examples of using a variety of MetPy’s functionality together.
Unidata Gallery
Author: Anonymous
Affiliation: Unidata
Check out detailed examples for atmospheric science and meteorology, from data analysis to publication-quality figures.
Unidata MetPy Mondays
Author: Anonymous
Affiliation: Unidata
A weekly video series showing how to use MetPy or other Python libraries to solve problems relevant to geoscience applications.
Numpy Tutorials
Author: NumPy
A curated collection of external resources teaching numpy from beginner to advanced uses.
Unidata Numpy Workshop
Author: Anonymous
Affiliation: Unidata
Unidata Numpy tutorial that covers how to create an array of ‘data’, perform basic calculations on this data using python math functions, and slice and index the array.
Unidata Numpy Workshop
Author: Anonymous
Affiliation: Unidata
Unidata Numpy tutorial that covers how to create an array of ‘data’, perform basic calculations on this data using python math functions, and slice and index the array.
Pandas
Author: Pandas Development Team
Pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language.
Rasterio
Author: MapBox
Geographic information systems use GeoTIFF and other formats to organize and store gridded raster datasets such as satellite imagery and terrain models. Rasterio reads and writes these formats and provides a Python API based on Numpy N-dimensional arrays and GeoJSON.
Rasterio Tutorial
Author: MapBox
This document explains how to use Rasterio to read existing files and to create new files. Some advanced topics are glossed over to be covered in more detail elsewhere in Rasterio’s documentation.
Siphon
Author: Siphon Contributors
Affiliation: Unidata
Siphon is a collection of Python utilities for downloading data from remote data services. Much of Siphon’s current functionality focuses on access to data hosted on a THREDDS Data Server. It also provides clients to a variety of simple web services.
Siphon Tutorial
Author: Anonymous
Affiliation: Unidata
An overview on Siphon from the Unidata Python Workshop that: uses Siphon to access a THREDDS catalog, filters data, and uses Siphon to perform remote data access.
Siphon Gallery
Author: Siphon Contributors
Affiliation: Unidata
Examples of using Siphon’s functionality.
WRF-Python
Author: Anonymous
Affiliation: NCAR
A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.
WRF-Python Gallery
Author: Anonymous
Affiliation: NCAR
Examples of how wrf-python can be used to make plots with matplotlib (with basemap and cartopy) and PyNGL. None of these examples make use of xarray’s builtin plotting functions, since additional work is most likely needed to extend xarray in order to work correctly.
WRF-Python Gallery
Author: Anonymous
Affiliation: NCAR
Examples of how wrf-python can be used to make plots with matplotlib (with basemap and cartopy) and PyNGL. None of these examples make use of xarray’s builtin plotting functions, since additional work is most likely needed to extend xarray in order to work correctly.
Unidata Xarray Workshop
Author: Anonymous
Affiliation: Unidata
An introduction to Xarray through the Unidata Python Workshop that asks, "What is XArray and how does XArray fit in with Numpy and Pandas?"" by creating a DataArray, openning netCDF data using XArray, and subsetting the data.
Xarray Tutorial
Author: Xarray Developers
A collection of tutorials provided by the Xarray developers.
Python Programming for Earth Science Students
Author: Lisa Tauxe, Hanna Asefaw, Brendan Cych
Affiliation: Scripps Institution of Oceanography
Python Programming for Earth Science Students
Python for Geosciences
Author: Nikolay Koldunov
Affiliation: Alfred Wegener Institute for Polar and Marine Research
This is a short overview of how Python is used in science and particularly in geosciences targeting people who already know programming (e.g. Matlab).
Environmental Data Science Book
Author: EDS book community
Affiliation: Environmental Data Science Book
A living, open and community-driven resource to showcase and support computational notebooks for collaborative, reproducible and transparent Environmental Science
Your First Python Tutorial - Reading in a .txt File
Author: Project Pythia, Julia Kent
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series designed to teach you Python, not package specific syntax. This lessons covers setting up a work environment and opening a .txt file. The content to follow along with this video is hosted on the Xdev Python Tutorial website.
Your First Python Tutorial - Creating a Data Dictionary
Author: Project Pythia, Julia Kent
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series designed to teach you Python, not package specific syntax. This lessons covers creating a data dictionary. The content to follow along with this video is hosted on the Xdev Python Tutorial website.
Your First Python Tutorial - Writing Functions
Author: Project Pythia, Julia Kent
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series designed to teach you Python, not package specific syntax. This lessons covers how to write and call functions in Python. The content to follow along with this video is hosted on the Xdev Python Tutorial website.
Your First Python Tutorial - Creating Your Own Package
Author: Project Pythia, Julia Kent
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series designed to teach you Python, not package specific syntax. This lessons covers how to create and call modules and packages. The content to follow along with this video is hosted on the Xdev Python Tutorial website.
Your First Python Tutorial - Using a Built-In Package and Publishing Your Package
Author: Project Pythia, Julia Kent
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series designed to teach you Python, not package specific syntax. This lessons covers how to use your first external buil-in package, `math`, and how to publish your package. The content to follow along with this video is hosted on the Xdev Python Tutorial website.
Python Tutorial Seminar Series - Jupyter Notebooks
Author: Project Pythia, Kevin Paul
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing JupyterLab and Jupyter Notebooks.
Python Tutorial Seminar Series - Numpy
Author: Project Pythia, A Kootz
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `numpy`. The content to follow along with this video is hosted on this Numpy Google Collab.
Python Tutorial Seminar Series - Matplotlib
Author: Project Pythia, Anissa Zacharias
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `matplotlib`. The content to follow along with this video is hosted on this Matplotlib Tutorial GitHub Repository.
Python Tutorial Seminar Series - Object Oriented Programming
Author: Project Pythia, A Kootz
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing Object Oriented Programming. The content to follow along with this video is hosted in this Object Oriented Programming Tutorial GitHub Repository.
Python Tutorial Seminar Series - Cartopy
Author: Project Pythia, Michaela Sizemore
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `cartopy`. The content to follow along with this video is hosted in this Cartopy Tutorial GitHub Repository.
Python Tutorial Seminar Series - Git and GitHub
Author: Project Pythia, Kevin Paul
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the tools Git and GitHub. The content to follow along with this tutorial is hosted in this Git and GitHub Demo GitHub Repository.
Python Tutorial Seminar Series - Pandas
Author: Project Pythia, Max Grover, Drew Camron
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `pandas`. The content to follow along with this video is hosted in this Pandas Tutorial GitHub Repository.
Python Tutorial Seminar Series - Xarray Part 1
Author: Project Pythia, Anderson Banihirwe
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `xarray`. This is the first lesson of a two part series. The content to follow along with this video is hosted in this Xarray Tutorial GitHub Repository.
Python Tutorial Seminar Series - Xarray Part 2
Author: Project Pythia, Anderson Banihirwe
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `xarray`. This is the second lesson of a two part series. The content to follow along with this video is hosted in this Xarray Tutorial GitHub Repository.
Python Tutorial Seminar Series - Dask Part 1
Author: Project Pythia, Anderson Banihirwe
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `dask`. This is the first lesson of a two part series. The content to follow along with this video is hosted in this Xarray Tutorial GitHub Repository.
Python Tutorial Seminar Series - Dask Part 2
Author: Project Pythia, Anderson Banihirwe
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing the Python Package `dask`. This is the second lesson of a two part series. The content to follow along with this video is hosted in this Xarray Tutorial GitHub Repository.
Python Tutorial Seminar Series - Plotting with GeoCAT
Author: Project Pythia, Anissa Zacharias
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing advanced plotting techniques and highlighting tools developed by GeoCAT. The content to follow along with this video is hosted in this Plotting with GeoCat GitHub Repository.
Python Tutorial Seminar Series - GeoCAT-Comp
Author: Project Pythia, A Kootz
Affiliation: NCAR
Recording from the Python Tutorial Seminar Series introducing `geocat-comp`. The content to follow along with this video is hosted in this GeoCat-Comp GitHub Repository.
The Pythia Foundations Book
Author: Project Pythia
Brought to you by Project Pythia, this growing collection covers the foundational skills everyone needs to get started with scientific computing in the open-source Python ecosystem.
Pythia Foundations - Getting started with Python
Author: Project Pythia
This chapter of the Pythia Foundations book covers Python spin-up for new users. Here you will look at your first Python code and learn to run/install Python on various platforms.
Pythia Foundations - Getting started with Jupyter
Author: Project Pythia
This chapter of the Pythia Foundations book covers Python spin-up using Jupyter. Here you will learn about the JupyterLab interface and markdown formatting.
Pythia Foundations - Getting started with GitHub
Author: Project Pythia
This chapter of the Pythia Foundations book covers GitHub: what it is, basic version control, and how to open a pull request.
Pythia Foundations - Numpy
Author: Project Pythia
This chapter of the Pythia Foundations book covers the Python package NumPy: NumPy basics, intermediate NumPy, and NumPy broadcasting.
Pythia Foundations - Matplotlib
Author: Project Pythia
This chapter of the Pythia Foundations book covers basics of the Python package Matplotlib.
Pythia Foundations - Cartopy
Author: Project Pythia
This chapter of the Pythia Foundations book introduces the Python package Cartopy, a package designed for geospatial data processing and used for its ability to produce maps.
Pythia Foundations - Datetime
Author: Project Pythia
This section of the Pythia Foundations book contains tutorials on dealing with times and calendars in scientific Python, beginning with use of the datetime standard library.
Pythia Foundations - Pandas
Author: Project Pythia
This section of the Pythia Foundations book covers Pandas, a very powerful library for working with tabular data (i.e. anything you might put in a spreadsheet – a common data type in the geosciences).
Pythia Foundations - Data Formats
Author: Project Pythia
This section of the Pythia Foundations book covers how to interact in Python with data file formats in widespread use in the geosciences, such as NetCDF.
Pythia Foundations - Xarray
Author: Project Pythia
This section of the Pythia Foundations book contains tutorials on using Xarray. Xarray is used widely in the geosciences and beyond for analysis of gridded N-dimensional datasets.
Pythia Foundations - Xarray
Author: Project Pythia
This section of the Pythia Foundations book contains tutorials on using Xarray. Xarray is used widely in the geosciences and beyond for analysis of gridded N-dimensional datasets.
Plotting Earth Science Data
Author: Michael Nguyen
A guide to analyze and plot Earth Science data for Scientist of all programming skill levels, using L-1 data product from CYGNSS mission as an example.