diff --git a/README.md b/README.md index 99dbc07..ce94803 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@
- Project Pythia Logo + NSF-Unidata Logo
- Unidata Logo + MetPy Logo
-**:warning: THIS COOKBOOK IS UNDER CONSTRUCTION :warning:** - # MetPy Cookbook [![nightly-build](https://github.com/ProjectPythia/metpy-cookbook/actions/workflows/nightly-build.yaml/badge.svg)](https://github.com/ProjectPythia/metpy-cookbook/actions/workflows/nightly-build.yaml) diff --git a/_config.yml b/_config.yml index 456568d..b600780 100644 --- a/_config.yml +++ b/_config.yml @@ -3,7 +3,7 @@ title: The MetPy Cookbook author: MetPy Maintainers -logo: pythia.png +logo: _static/metpy_150x150.png email: support-python@unidata.ucar.edu copyright: "2024" diff --git a/_static/NSF-Unidata_lockup_horizontal_2023_light.png b/_static/NSF-Unidata_lockup_horizontal_2023_light.png new file mode 100644 index 0000000..1feddb8 Binary files /dev/null and b/_static/NSF-Unidata_lockup_horizontal_2023_light.png differ diff --git a/_static/metpy_150x150.png b/_static/metpy_150x150.png new file mode 100644 index 0000000..d14a6c8 Binary files /dev/null and b/_static/metpy_150x150.png differ diff --git a/_toc.yml b/_toc.yml index 6b267e6..01735d7 100644 --- a/_toc.yml +++ b/_toc.yml @@ -6,21 +6,23 @@ parts: - file: notebooks/how-to-cite - caption: The MetPy Gallery chapters: - - file: notebooks/notebook-template - title: What organization + - file: notebooks/synoptic/index + title: Synoptic Analysis sections: - - glob: notebooks/gallery/* - - file: notebooks/gallery/index1 - title: do we want - - file: notebooks/gallery/index2 - title: for these "chapters"? - - caption: Skew-T Notebooks - chapters: - - file: notebooks/Foundational_Sounding - - file: notebooks/Advanced_Sounding - - file: notebooks/Skew-T_Hodograph_Inset - - file: notebooks/Skew-T_Layout_Hodograph - - file: notebooks/Skew-T_Analysis - - file: notebooks/Sounding_LCL_Dataset - - file: notebooks/Sounding_Plotter - - file: notebooks/Sounding_Calculations + - glob: notebooks/synoptic/* + - file: notebooks/skewt/index + title: Skew-T Analysis + sections: + - glob: notebooks/skewt/* + - file: notebooks/convective/index + title: Convective Calculations + sections: + - glob: notebooks/convective/* + - file: notebooks/specialty/index + title: Specialty Plotting + sections: + - glob: notebooks/specialty/* + - file: notebooks/declarative/index + title: Simplified Plotting + sections: + - glob: notebooks/declarative/* diff --git a/notebooks/MUCAPE.ipynb b/notebooks/convective/MUCAPE.ipynb similarity index 99% rename from notebooks/MUCAPE.ipynb rename to notebooks/convective/MUCAPE.ipynb index f2c2a3a..ac460d1 100644 --- a/notebooks/MUCAPE.ipynb +++ b/notebooks/convective/MUCAPE.ipynb @@ -1,5 +1,17 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": { + "cell_marker": "\"\"\"", + "lines_to_next_cell": 0 + }, + "source": [ + "Most-Unstable Convective Available Potential Energy (MUCAPE)\n", + "======================\n", + "Calculate MUCAPE on a grid of netCDF data using MetPy." + ] + }, { "cell_type": "code", "execution_count": 10, @@ -35,7 +47,7 @@ "source": [ "## opening NetCDF file using xarray \n", "\n", - "ds = xr.open_mfdataset(\"/home/jovyan/metpy-cookbook/NETCDF_FILE.nc\",combine = \"nested\", concat_dim=\"time\",decode_times=True)" + "ds = xr.open_dataset(\"NETCDF_FILE.nc\", decode_times=True)" ] }, { diff --git a/NETCDF_FILE.nc b/notebooks/convective/NETCDF_FILE.nc similarity index 100% rename from NETCDF_FILE.nc rename to notebooks/convective/NETCDF_FILE.nc diff --git a/notebooks/TCPW.ipynb b/notebooks/convective/TCPW.ipynb similarity index 99% rename from notebooks/TCPW.ipynb rename to notebooks/convective/TCPW.ipynb index d1d8e8a..ee436f0 100644 --- a/notebooks/TCPW.ipynb +++ b/notebooks/convective/TCPW.ipynb @@ -1,5 +1,17 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": { + "cell_marker": "\"\"\"", + "lines_to_next_cell": 0 + }, + "source": [ + "Total Column Precipitable Water (TCPW)\n", + "======================\n", + "Calculate TCPW on a grid of netCDF data using MetPy." + ] + }, { "cell_type": "code", "execution_count": 10, @@ -26,7 +38,7 @@ "source": [ "## opening NetCDF file using xarray \n", "\n", - "ds = xr.open_mfdataset(\"/home/jovyan/metpy-cookbook/NETCDF_FILE.nc\",combine = \"nested\", concat_dim=\"time\",decode_times=True)" + "ds = xr.open_dataset(\"NETCDF_FILE.nc\", decode_times=True)" ] }, { diff --git a/notebooks/convective/index.md b/notebooks/convective/index.md new file mode 100644 index 0000000..9c97b6f --- /dev/null +++ b/notebooks/convective/index.md @@ -0,0 +1,3 @@ +# Convective Calculations + +This section covers how to perform a variety of calculations around analyzing convection and severe weather. \ No newline at end of file diff --git a/notebooks/gallery/miller_composite.ipynb b/notebooks/convective/miller_composite.ipynb similarity index 100% rename from notebooks/gallery/miller_composite.ipynb rename to notebooks/convective/miller_composite.ipynb diff --git a/notebooks/gallery/Declarative_300hPa.ipynb b/notebooks/declarative/Declarative_300hPa.ipynb similarity index 100% rename from notebooks/gallery/Declarative_300hPa.ipynb rename to notebooks/declarative/Declarative_300hPa.ipynb diff --git a/notebooks/gallery/declarative_500_hPa.ipynb b/notebooks/declarative/declarative_500_hPa.ipynb similarity index 100% rename from notebooks/gallery/declarative_500_hPa.ipynb rename to notebooks/declarative/declarative_500_hPa.ipynb diff --git a/notebooks/declarative/index.md b/notebooks/declarative/index.md new file mode 100644 index 0000000..b4d0939 --- /dev/null +++ b/notebooks/declarative/index.md @@ -0,0 +1,3 @@ +# MetPy's Simplified Plotting Interface + +TBD \ No newline at end of file diff --git a/notebooks/gallery/index1.md b/notebooks/gallery/index1.md deleted file mode 100644 index d77b797..0000000 --- a/notebooks/gallery/index1.md +++ /dev/null @@ -1 +0,0 @@ -# a potential entry? \ No newline at end of file diff --git a/notebooks/gallery/index2.md b/notebooks/gallery/index2.md deleted file mode 100644 index ca23be9..0000000 --- a/notebooks/gallery/index2.md +++ /dev/null @@ -1 +0,0 @@ -# a different category, perhaps? \ No newline at end of file diff --git a/notebooks/Advanced_Sounding.ipynb b/notebooks/skewt/Advanced_Sounding.ipynb similarity index 100% rename from notebooks/Advanced_Sounding.ipynb rename to notebooks/skewt/Advanced_Sounding.ipynb diff --git a/notebooks/Foundational_Sounding.ipynb b/notebooks/skewt/Foundational_Sounding.ipynb similarity index 99% rename from notebooks/Foundational_Sounding.ipynb rename to notebooks/skewt/Foundational_Sounding.ipynb index 49f8205..c10ba9d 100644 --- a/notebooks/Foundational_Sounding.ipynb +++ b/notebooks/skewt/Foundational_Sounding.ipynb @@ -1,12 +1,5 @@ { "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\"Project" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -14,13 +7,6 @@ "# MetPy Skew-T Cookbook" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -45,7 +31,7 @@ "| Concepts | Importance | Notes |\n", "| --- | --- | --- |\n", "| [Intermediate NumPy](https://foundations.projectpythia.org/core/numpy/intermediate-numpy.html)| Necessary | |\n", - "| [Matplotlib Basis](https://foundations.projectpythia.org/core/matplotlib/matplotlib-basics.html) | Necessary |\n", + "| [Matplotlib Basics](https://foundations.projectpythia.org/core/matplotlib/matplotlib-basics.html) | Necessary |\n", "\n", "- **Time to learn**: 30 minutes\n" ] @@ -609,8 +595,7 @@ "> [Unidata Main Website](https://www.unidata.ucar.edu)
\n", "> [Unidata GitHub](https://github.com/Unidata)
\n", "> [Unidata YouTube Channel](https://www.youtube.com/user/unidatanews)
\n", - "> [Matplotlib Documentation](https://matplotlib.org)
\n", - "> [Unidata Python Training](https://unidata.github.io/python-training/)
\n" + "> [Matplotlib Documentation](https://matplotlib.org)
\n" ] } ], diff --git a/notebooks/Skew-T_Analysis.ipynb b/notebooks/skewt/Skew-T_Analysis.ipynb similarity index 100% rename from notebooks/Skew-T_Analysis.ipynb rename to notebooks/skewt/Skew-T_Analysis.ipynb diff --git a/notebooks/Skew-T_Hodograph_Inset.ipynb b/notebooks/skewt/Skew-T_Hodograph_Inset.ipynb similarity index 100% rename from notebooks/Skew-T_Hodograph_Inset.ipynb rename to notebooks/skewt/Skew-T_Hodograph_Inset.ipynb diff --git a/notebooks/Skew-T_Layout_Hodograph.ipynb b/notebooks/skewt/Skew-T_Layout_Hodograph.ipynb similarity index 100% rename from notebooks/Skew-T_Layout_Hodograph.ipynb rename to notebooks/skewt/Skew-T_Layout_Hodograph.ipynb diff --git a/notebooks/Sounding_Calculations.ipynb b/notebooks/skewt/Sounding_Calculations.ipynb similarity index 100% rename from notebooks/Sounding_Calculations.ipynb rename to notebooks/skewt/Sounding_Calculations.ipynb diff --git a/notebooks/Sounding_LCL_Dataset.ipynb b/notebooks/skewt/Sounding_LCL_Dataset.ipynb similarity index 100% rename from notebooks/Sounding_LCL_Dataset.ipynb rename to notebooks/skewt/Sounding_LCL_Dataset.ipynb diff --git a/notebooks/Sounding_Plotter.ipynb b/notebooks/skewt/Sounding_Plotter.ipynb similarity index 100% rename from notebooks/Sounding_Plotter.ipynb rename to notebooks/skewt/Sounding_Plotter.ipynb diff --git a/notebooks/skewt/index.md b/notebooks/skewt/index.md new file mode 100644 index 0000000..0287880 --- /dev/null +++ b/notebooks/skewt/index.md @@ -0,0 +1,10 @@ +# Skew-T Analysis + +The Skew-T Log-P diagram, or "Skew-T\" for short, is a type of plot specific +to meteorology that is frequently used in the analysis of vertical profiles of +temperature and humidity. For instance, the data collected by weather balloons +in 12-hourly soundings are often shown with such plots, as they foster an +understanding of e.g. the stability of the atmosphere above a location. + +The units in this chapter show ways to use MetPy to generate skew-T plots and +customize them with various pieces of information. diff --git a/notebooks/gallery/Hovmoller_Diagram.ipynb b/notebooks/specialty/Hovmoller_Diagram.ipynb similarity index 100% rename from notebooks/gallery/Hovmoller_Diagram.ipynb rename to notebooks/specialty/Hovmoller_Diagram.ipynb diff --git a/notebooks/gallery/Observational_Data_Cross_Section.ipynb b/notebooks/specialty/Observational_Data_Cross_Section.ipynb similarity index 100% rename from notebooks/gallery/Observational_Data_Cross_Section.ipynb rename to notebooks/specialty/Observational_Data_Cross_Section.ipynb diff --git a/notebooks/gallery/Smoothing_Contours.ipynb b/notebooks/specialty/Smoothing_Contours.ipynb similarity index 100% rename from notebooks/gallery/Smoothing_Contours.ipynb rename to notebooks/specialty/Smoothing_Contours.ipynb diff --git a/notebooks/specialty/index.md b/notebooks/specialty/index.md new file mode 100644 index 0000000..56a86e8 --- /dev/null +++ b/notebooks/specialty/index.md @@ -0,0 +1,3 @@ +# Specialty Plotting + +This section shows how to accomplish some specialty plotting, such as cross-sections and smoothing, using MetPy. \ No newline at end of file diff --git a/notebooks/gallery/250hPa_Hemispheric_Plot.ipynb b/notebooks/synoptic/250hPa_Hemispheric_Plot.ipynb similarity index 100% rename from notebooks/gallery/250hPa_Hemispheric_Plot.ipynb rename to notebooks/synoptic/250hPa_Hemispheric_Plot.ipynb diff --git a/notebooks/gallery/500hPa_Absolute_Vorticity_winds.ipynb b/notebooks/synoptic/500hPa_Absolute_Vorticity_winds.ipynb similarity index 100% rename from notebooks/gallery/500hPa_Absolute_Vorticity_winds.ipynb rename to notebooks/synoptic/500hPa_Absolute_Vorticity_winds.ipynb diff --git a/notebooks/gallery/500hPa_Vorticity_Advection.ipynb b/notebooks/synoptic/500hPa_Vorticity_Advection.ipynb similarity index 100% rename from notebooks/gallery/500hPa_Vorticity_Advection.ipynb rename to notebooks/synoptic/500hPa_Vorticity_Advection.ipynb diff --git a/notebooks/gallery/850hPa_Frontogenesis.ipynb b/notebooks/synoptic/850hPa_Frontogenesis.ipynb similarity index 100% rename from notebooks/gallery/850hPa_Frontogenesis.ipynb rename to notebooks/synoptic/850hPa_Frontogenesis.ipynb diff --git a/notebooks/gallery/850hPa_QVectors.ipynb b/notebooks/synoptic/850hPa_QVectors.ipynb similarity index 100% rename from notebooks/gallery/850hPa_QVectors.ipynb rename to notebooks/synoptic/850hPa_QVectors.ipynb diff --git a/notebooks/gallery/850hPa_Temperature_Advection.ipynb b/notebooks/synoptic/850hPa_Temperature_Advection.ipynb similarity index 100% rename from notebooks/gallery/850hPa_Temperature_Advection.ipynb rename to notebooks/synoptic/850hPa_Temperature_Advection.ipynb diff --git a/notebooks/gallery/Ageostrophic_Wind_Example.ipynb b/notebooks/synoptic/Ageostrophic_Wind_Example.ipynb similarity index 100% rename from notebooks/gallery/Ageostrophic_Wind_Example.ipynb rename to notebooks/synoptic/Ageostrophic_Wind_Example.ipynb diff --git a/notebooks/gallery/Analytic_300hPa_Trough.ipynb b/notebooks/synoptic/Analytic_300hPa_Trough.ipynb similarity index 100% rename from notebooks/gallery/Analytic_300hPa_Trough.ipynb rename to notebooks/synoptic/Analytic_300hPa_Trough.ipynb diff --git a/notebooks/gallery/Differential_Temperature_Advection.ipynb b/notebooks/synoptic/Differential_Temperature_Advection.ipynb similarity index 100% rename from notebooks/gallery/Differential_Temperature_Advection.ipynb rename to notebooks/synoptic/Differential_Temperature_Advection.ipynb diff --git a/notebooks/Geostrophic_Wind_And_Few_More.ipynb b/notebooks/synoptic/Geostrophic_Wind_And_Few_More.ipynb similarity index 99% rename from notebooks/Geostrophic_Wind_And_Few_More.ipynb rename to notebooks/synoptic/Geostrophic_Wind_And_Few_More.ipynb index 36fdf0c..40242c4 100644 --- a/notebooks/Geostrophic_Wind_And_Few_More.ipynb +++ b/notebooks/synoptic/Geostrophic_Wind_And_Few_More.ipynb @@ -1,5 +1,18 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": { + "cell_marker": "\"\"\"", + "lines_to_next_cell": 0 + }, + "source": [ + "Geostrophic Wind and Other Calcuations\n", + "======================================\n", + "\n", + "Demonstrate a variety of calculations in MetPy." + ] + }, { "cell_type": "code", "execution_count": 1, @@ -37,7 +50,7 @@ "source": [ "## opening NetCDF file using xarray \n", "\n", - "ds = xr.open_mfdataset(\"/home/jovyan/metpy-cookbook/NETCDF_FILE.nc\",combine = \"nested\", concat_dim=\"time\",decode_times=True)" + "ds = xr.open_dataset(\"../convective/NETCDF_FILE.nc\", decode_times=True)" ] }, { diff --git a/notebooks/gallery/Isentropic_Interpolation.ipynb b/notebooks/synoptic/Isentropic_Interpolation.ipynb similarity index 100% rename from notebooks/gallery/Isentropic_Interpolation.ipynb rename to notebooks/synoptic/Isentropic_Interpolation.ipynb diff --git a/notebooks/gallery/PV_baroclinic_isobaric.ipynb b/notebooks/synoptic/PV_baroclinic_isobaric.ipynb similarity index 100% rename from notebooks/gallery/PV_baroclinic_isobaric.ipynb rename to notebooks/synoptic/PV_baroclinic_isobaric.ipynb diff --git a/notebooks/gallery/Upperair_Obs.ipynb b/notebooks/synoptic/Upperair_Obs.ipynb similarity index 100% rename from notebooks/gallery/Upperair_Obs.ipynb rename to notebooks/synoptic/Upperair_Obs.ipynb diff --git a/notebooks/gallery/Wind_Shear_Vectors_Example.ipynb b/notebooks/synoptic/Wind_Shear_Vectors_Example.ipynb similarity index 100% rename from notebooks/gallery/Wind_Shear_Vectors_Example.ipynb rename to notebooks/synoptic/Wind_Shear_Vectors_Example.ipynb diff --git a/notebooks/synoptic/index.md b/notebooks/synoptic/index.md new file mode 100644 index 0000000..bfbd904 --- /dev/null +++ b/notebooks/synoptic/index.md @@ -0,0 +1,3 @@ +# Synoptic Analysis + +This section covers how to perform a variety of analyses traditionally used in synoptic meteorolgy, ranging from basic plots on isobaric surfaces to Q-vectors and frontogenesis. \ No newline at end of file diff --git a/notebooks/gallery/xarray_500hPa_map.ipynb b/notebooks/synoptic/xarray_500hPa_map.ipynb similarity index 100% rename from notebooks/gallery/xarray_500hPa_map.ipynb rename to notebooks/synoptic/xarray_500hPa_map.ipynb diff --git a/pythia.png b/pythia.png deleted file mode 100644 index 8d49fc2..0000000 Binary files a/pythia.png and /dev/null differ diff --git a/unidata.png b/unidata.png deleted file mode 100644 index f625061..0000000 Binary files a/unidata.png and /dev/null differ