{ "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, "id": "75321594-8039-4f1a-85f3-b292d69be83a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_459/2639708157.py:10: DeprecationWarning: Please import `gaussian_filter` from the `scipy.ndimage` namespace; the `scipy.ndimage.filters` namespace is deprecated and will be removed in SciPy 2.0.0.\n", " from scipy.ndimage.filters import gaussian_filter\n" ] } ], "source": [ "import metpy.calc as mpcalc\n", "import xarray as xr\n", "import numpy as np\n", "from metpy.calc import geostrophic_wind\n", "from metpy.calc import q_vector\n", "from metpy.units import units\n", "import matplotlib.pyplot as plt\n", "import cartopy.crs as ccrs\n", "import cartopy.feature as cfeature\n", "from scipy.ndimage.filters import gaussian_filter" ] }, { "cell_type": "code", "execution_count": 2, "id": "6a902c37-5034-4908-8fc2-501727d1357c", "metadata": {}, "outputs": [], "source": [ "## opening NetCDF file using xarray \n", "\n", "ds = xr.open_dataset(\"../convective/NETCDF_FILE.nc\", decode_times=True)" ] }, { "cell_type": "code", "execution_count": 3, "id": "6ed072ca-b162-4d57-a223-de1ee39f3f6d", "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
<xarray.DataArray 'H' (time: 1, lev: 23, lat: 28, lon: 60)> Size: 155kB\n", "dask.array<getitem, shape=(1, 23, 28, 60), dtype=float32, chunksize=(1, 23, 28, 60), chunktype=numpy.ndarray>\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", "Attributes:\n", " standard_name: edge_heights\n", " long_name: edge_heights\n", " units: m\n", " fmissing_value: 1000000000000000.0\n", " vmax: 1000000000000000.0\n", " vmin: -1000000000000000.0