{ "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, "id": "3e0347aa-dc94-4383-87f4-25cede999180", "metadata": {}, "outputs": [], "source": [ "## importing all the packages we might need later for our calculation\n", "import metpy.calc as mpcalc\n", "import xarray as xr\n", "import numpy as np\n", "from metpy.calc import cape_cin, surface_based_cape_cin, dewpoint_from_specific_humidity, parcel_profile,relative_humidity_from_specific_humidity,most_unstable_cape_cin, precipitable_water \n", "from metpy.units import units\n", "import matplotlib.pyplot as plt\n", "import cartopy.crs as ccrs\n", "import cartopy.feature as cfeature" ] }, { "cell_type": "code", "execution_count": null, "id": "5ca9c7db-b26c-4fa0-985a-b72780cb31db", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 11, "id": "54f03a63-d5e5-4115-8f8e-ee005918663f", "metadata": {}, "outputs": [], "source": [ "## opening NetCDF file using xarray \n", "\n", "ds = xr.open_dataset(\"NETCDF_FILE.nc\", decode_times=True)" ] }, { "cell_type": "code", "execution_count": 12, "id": "2f996028-ab1f-44f4-a169-81f9e2fc40a1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset> Size: 2MB\n", "Dimensions: (time: 1, lev: 23, lat: 41, lon: 71)\n", "Coordinates:\n", " * time (time) datetime64[ns] 8B 2019-06-08\n", " * lon (lon) float64 568B -130.5 -129.5 -128.5 ... -62.5 -61.5 -60.5\n", " * lat (lat) float64 328B 20.5 21.5 22.5 23.5 24.5 ... 57.5 58.5 59.5 60.5\n", " * lev (lev) float64 184B 1e+03 975.0 950.0 925.0 ... 300.0 250.0 200.0\n", "Data variables:\n", " H (time, lev, lat, lon) float32 268kB dask.array<chunksize=(1, 23, 41, 71), meta=np.ndarray>\n", " OMEGA (time, lev, lat, lon) float32 268kB dask.array<chunksize=(1, 23, 41, 71), meta=np.ndarray>\n", " PS (time, lat, lon) float32 12kB dask.array<chunksize=(1, 41, 71), meta=np.ndarray>\n", " QV (time, lev, lat, lon) float32 268kB dask.array<chunksize=(1, 23, 41, 71), meta=np.ndarray>\n", " SLP (time, lat, lon) float32 12kB dask.array<chunksize=(1, 41, 71), meta=np.ndarray>\n", " T (time, lev, lat, lon) float32 268kB dask.array<chunksize=(1, 23, 41, 71), meta=np.ndarray>\n", " U (time, lev, lat, lon) float32 268kB dask.array<chunksize=(1, 23, 41, 71), meta=np.ndarray>\n", " V (time, lev, lat, lon) float32 268kB dask.array<chunksize=(1, 23, 41, 71), meta=np.ndarray>\n", "Attributes: (12/33)\n", " CDI: Climate Data Interface version 1.9.8 (...\n", " Conventions: CF-1\n", " History: Original file generated: Tue Jun 18 21...\n", " Comment: GMAO filename: d5124_m2_jan10.inst3_3d...\n", " Filename: MERRA2_400.inst3_3d_asm_Np.20190608.nc4\n", " Institution: NASA Global Modeling and Assimilation ...\n", " ... ...\n", " RangeBeginningTime: 00:00:00.000000\n", " RangeEndingDate: 2019-06-08\n", " RangeEndingTime: 21:00:00.000000\n", " history_L34RS: 'Created by L34RS v1.4.3 @ NASA GES DI...\n", " CDO: Climate Data Operators version 1.9.8 (...\n", " cdo_openmp_thread_number: 12
<xarray.Dataset> Size: 942kB\n", "Dimensions: (time: 1, lev: 23, lat: 28, lon: 60)\n", "Coordinates:\n", " * time (time) datetime64[ns] 8B 2019-06-08\n", " * lon (lon) float64 480B -125.5 -124.5 -123.5 ... -68.5 -67.5 -66.5\n", " * lat (lat) float64 224B 23.5 24.5 25.5 26.5 27.5 ... 47.5 48.5 49.5 50.5\n", " * lev (lev) float64 184B 1e+03 975.0 950.0 925.0 ... 300.0 250.0 200.0\n", "Data variables:\n", " H (time, lev, lat, lon) float32 155kB dask.array<chunksize=(1, 23, 28, 60), meta=np.ndarray>\n", " OMEGA (time, lev, lat, lon) float32 155kB dask.array<chunksize=(1, 23, 28, 60), meta=np.ndarray>\n", " PS (time, lat, lon) float32 7kB dask.array<chunksize=(1, 28, 60), meta=np.ndarray>\n", " QV (time, lev, lat, lon) float32 155kB dask.array<chunksize=(1, 23, 28, 60), meta=np.ndarray>\n", " SLP (time, lat, lon) float32 7kB dask.array<chunksize=(1, 28, 60), meta=np.ndarray>\n", " T (time, lev, lat, lon) float32 155kB dask.array<chunksize=(1, 23, 28, 60), meta=np.ndarray>\n", " U (time, lev, lat, lon) float32 155kB dask.array<chunksize=(1, 23, 28, 60), meta=np.ndarray>\n", " V (time, lev, lat, lon) float32 155kB dask.array<chunksize=(1, 23, 28, 60), meta=np.ndarray>\n", "Attributes: (12/33)\n", " CDI: Climate Data Interface version 1.9.8 (...\n", " Conventions: CF-1\n", " History: Original file generated: Tue Jun 18 21...\n", " Comment: GMAO filename: d5124_m2_jan10.inst3_3d...\n", " Filename: MERRA2_400.inst3_3d_asm_Np.20190608.nc4\n", " Institution: NASA Global Modeling and Assimilation ...\n", " ... ...\n", " RangeBeginningTime: 00:00:00.000000\n", " RangeEndingDate: 2019-06-08\n", " RangeEndingTime: 21:00:00.000000\n", " history_L34RS: 'Created by L34RS v1.4.3 @ NASA GES DI...\n", " CDO: Climate Data Operators version 1.9.8 (...\n", " cdo_openmp_thread_number: 12