ijaguirre / SynopticMet

Jupyter Notebook-based labs for undergraduate synoptic meteorology courses.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Synoptic Meteorology Labs

Release v0.1, February 2023
Clark Evans and Michael Vossen

This repository contains a set of twelve labs designed for a first-semester undergraduate course in synoptic meteorology, focusing on introductory concepts, atmospheric balances, kinematic properties, atmospheric stability, and fronts, jets, and cyclones. Each lab is currently provided in Microsoft Word format, each of which is supported by one or more Jupyter Notebooks. The Jupyter Notebooks introduce students to accessing and plotting meteorological data (surface and upper-air observations, skew-T ln-p diagrams, and model data) using modern Python tools.

If you are hosting a JupyterHub, or if your students have Jupyter Notebook installed locally (e.g., as part of an Anaconda Python distribution), then nbgitpuller can be used to generate a link that downloads this repository into a working Notebook environment.

The Jupyter Notebooks cover the following Python-related topics:

  • Lab 1 (Meteorological Data): Remotely accessing and decoding METAR and upper-air data; remotely accessing and plotting geostationary satellite data.
  • Lab 2 (Isoplething Upper-Air Data): Remotely accessing and generating station plots of upper-air observations.
  • Lab 3 (Isoplething Surface Data): Remotely accessing and generating station plots of surface and upper-air observations.
  • Lab 4 (Horizontal Advection): Contouring model-derived upper-air data; remotely accessing and plotting geostationary satellite data.
  • Lab 5 (Hypsometric Equation): Remotely accessing, objectively analyzing, and contouring METAR observations; remotely accessing and generation station plots of upper-air observations; contouring model-derived upper-air data.
  • Lab 6 (Geostrophic Balance): Remotely accessing and generating station plots of upper-air observations; contouring model-derived upper-air data; computing and plotting the ageostrophic wind.
  • Lab 7 (Thermal Wind): Remotely accessing and generating skew-T, ln-p diagrams of upper-air observations; contouring model-derived upper-air data.
  • Lab 8 (Fronts): Remotely accessing, objectively analyzing, and contouring METAR observations; contouring model-derived upper-air data.
  • Lab 9 (Jets and Other Force Balances): Computing and plotting the ageostrophic wind and divergence from model data; contouring model-derived upper-air data.
  • Lab 10 (Kinematic Properties): Computing and plotting vertical vorticity from model data; contouring model-derived upper-air data; remotely accessing and plotting geostationary satellite data.
  • Lab 11 (Sounding Applications): Remotely accessing and generating skew-T, ln-p diagrams of upper-air observations.
  • Lab 12 (Sounding-Based Stability Analysis): Remotely accessing and generating skew-T, ln-p diagrams of upper-air observations.

Planned future additions/updates include:

  • Adding the locally hosted datasets supporting Labs 3-10 to this repository. Alternatively, these data can be downloaded using the notebooks provided in the Scripts directory of this repository, or the notebooks may be rewritten to download the data straight from a cloud provider. We did not take this approach so as to avoid having ~10 local copies of the same (large) files.
  • Adding labs for a second-semester undergraduate course in synoptic meteorology (frontogenesis/frontolysis, quasi-geostrophic theory, isentropic analysis, isentropic potential vorticity). We expect to make these available in mid-2023.
  • Reworking each lab so that it is fully self-contained in Jupyter Notebooks. Some current lab elements, such as asking students to circle a feature or region on a map that is provided to them or that they create, are not well-suited to the current functionality of Jupyter Notebooks.
  • Reworking labs which reference local data to reference cloud-based data. Since we use The Littlest JupyterHub for our local JupyterHub instance, we're currently stuck on Python 3.7. This has prevented us from updating the Notebooks to use the herbie package's remote GRIB access and subsetting tools.

The primary packages used by these Jupyter Notebooks are cartopy, MetPy, siphon, and xarray. The JupyterHub on which these notebooks were first deployed runs Python 3.7.12, cartopy 0.20.0, MetPy 1.2.0, siphon 0.9, and xarray 0.20.2. It is likely that these notebooks will work with newer versions of each package with few, if any, changes.

Comments, questions, etc.: evans36-at-uwm-dot-edu.

About

Jupyter Notebook-based labs for undergraduate synoptic meteorology courses.


Languages

Language:Jupyter Notebook 98.3%Language:Python 1.7%