Coder Social home page Coder Social logo

synopticmet's Introduction

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.

synopticmet's People

Contributors

evans36 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.