python-awips/examples/notebooks/NEXRAD_Level3_Radar.ipynb

634 lines
575 KiB
Text
Raw Normal View History

2018-10-17 11:03:04 -06:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Python-AWIPS Tutorial Notebook"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"\n",
"# Objectives\n",
"\n",
"* Use python-awips to connect to an edex server\n",
"* Define and filter data request for radar data\n",
"* Plot NEXRAD 3 algorithm, precipitation, and derived products (not base data)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Table of Contents\n",
"\n",
"[1 Imports](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#imports)<br> \n",
"[2 EDEX Connection](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#edex-connection)<br> \n",
"[3 Investigate Data](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#investigate_data)<br> \n",
"&nbsp;&nbsp;&nbsp;&nbsp;[3.1 Available Locations](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#available-locations)<br> \n",
"&nbsp;&nbsp;&nbsp;&nbsp;[3.2 Available Parameters](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#available-parameters)<br> \n",
"&nbsp;&nbsp;&nbsp;&nbsp;[3.3 Radar Product IDs and Names](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#radar-product-ids-and-names)<br> \n",
"[4 Function: make_map()](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#function-make-mapy)<br> \n",
"[5 Plot the Data!](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#plot-the-data)<br> \n",
"[6 See Also](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#see-also)<br> \n",
"&nbsp;&nbsp;&nbsp;&nbsp;[6.1 Related Notebooks](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#related-notebooks)<br> \n",
"&nbsp;&nbsp;&nbsp;&nbsp;[6.2 Additional Documentation](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#additional-documentation)<br> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1 Imports\n",
"\n",
"The imports below are used throughout the notebook. Note the first import is coming directly from python-awips and allows us to connect to an EDEX server. The subsequent imports are for data manipulation and visualization. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"from awips.dataaccess import DataAccessLayer\n",
"import matplotlib.pyplot as plt\n",
"import cartopy.crs as ccrs\n",
"import numpy as np\n",
"from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Top](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2 EDEX Connection\n",
"\n",
"First we establish a connection to Unidata's public EDEX server. This sets the proper server on the **DataAccessLayer**, which we will use numerous times throughout the notebook."
]
},
2018-10-17 11:03:04 -06:00
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"DataAccessLayer.changeEDEXHost(\"edex-cloud.unidata.ucar.edu\")\n",
"request = DataAccessLayer.newDataRequest(\"radar\")"
]
},
{
"cell_type": "markdown",
2018-10-17 11:03:04 -06:00
"metadata": {},
"source": [
"[Top](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3 Investigate Data\n",
"\n",
"Now that we've created a new radar data request, let's take a look at what locations and parameters are available for our current request."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.1 Available Locations\n",
"\n",
"We can take a look at what \"locations\" are available for our radar request. For radar, we'll see that radar station names are returned when looking at the availalbe location names.\n",
"\n",
"For this example we'll use Morehead City, NC as our region of interest. You can easily look up other station IDs and where they are using [this NWS webpage](https://radar.weather.gov/station/KMHX/standard)."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": true
},
2018-10-17 11:03:04 -06:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['kabr', 'kabx', 'kakq', 'kama', 'kamx', 'kapx', 'karx', 'katx', 'kbbx', 'kbgm', 'kbhx', 'kbis', 'kblx', 'kbmx', 'kbox', 'kbro', 'kbuf', 'kbyx', 'kcae', 'kcbw', 'kcbx', 'kccx', 'kcle', 'kclx', 'kcrp', 'kcxx', 'kcys', 'kdax', 'kddc', 'kdfx', 'kdgx', 'kdix', 'kdlh', 'kdmx', 'kdox', 'kdtx', 'kdvn', 'kdyx', 'keax', 'kemx', 'kenx', 'keox', 'kepz', 'kesx', 'kevx', 'kewx', 'keyx', 'kfcx', 'kfdr', 'kfdx', 'kffc', 'kfsd', 'kfsx', 'kftg', 'kfws', 'kggw', 'kgjx', 'kgld', 'kgrb', 'kgrk', 'kgrr', 'kgsp', 'kgwx', 'kgyx', 'khdc', 'khdx', 'khgx', 'khnx', 'khpx', 'khtx', 'kict', 'kicx', 'kiln', 'kilx', 'kind', 'kinx', 'kiwa', 'kiwx', 'kjax', 'kjgx', 'kjkl', 'klbb', 'klch', 'klgx', 'klnx', 'klot', 'klrx', 'klsx', 'kltx', 'klvx', 'klwx', 'klzk', 'kmaf', 'kmax', 'kmbx', 'kmhx', 'kmkx', 'kmlb', 'kmob', 'kmpx', 'kmqt', 'kmrx', 'kmsx', 'kmtx', 'kmux', 'kmvx', 'kmxx', 'knkx', 'knqa', 'koax', 'kohx', 'kokx', 'kotx', 'kpah', 'kpbz', 'kpdt', 'kpoe', 'kpux', 'krax', 'krgx', 'kriw', 'krlx', 'krtx', 'ksfx', 'ksgf', 'kshv', 'ksjt', 'ksox', 'ksrx', 'ktbw', 'ktfx', 'ktlh', 'ktlx', 'ktwx', 'ktyx', 'kudx', 'kuex', 'kvax', 'kvbx', 'kvnx', 'kvtx', 'kvwx', 'kyux', 'pabc', 'pacg', 'paec', 'pahg', 'paih', 'pakc', 'papd', 'phki', 'phkm', 'phmo', 'phwa', 'rkjk', 'rksg', 'tadw', 'tatl', 'tbna', 'tbos', 'tbwi', 'tclt', 'tcmh', 'tcvg', 'tdal', 'tday', 'tdca', 'tden', 'tdfw', 'tdtw', 'tewr', 'tfll', 'thou', 'tiad', 'tiah', 'tich', 'tids', 'tjfk', 'tjua', 'tlas', 'tlve', 'tmci', 'tmco', 'tmdw', 'tmem', 'tmia', 'tmke', 'tmsp', 'tmsy', 'tokc', 'tord', 'tpbi', 'tphl', 'tphx', 'tpit', 'trdu', 'tsdf', 'tsju', 'tslc', 'tstl', 'ttpa', 'ttul']\n"
2018-10-17 11:03:04 -06:00
]
}
],
"source": [
"available_locs = DataAccessLayer.getAvailableLocationNames(request)\n",
"available_locs.sort()\n",
"print(available_locs)\n",
"\n",
"# Set our location to Morehead City (kmhx)\n",
"request.setLocationNames(\"kmhx\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.2 Available Parameters\n",
"\n",
"Next, let's look at the parameters returned from the available parameters request. If we look closely, we can see that some of the parameters appear different from the others."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['134', '135', '141', '153', '154', '159', '161', '163', '165', '166', '169', '170', '172', '173', '176', '177', '32', '37', '56', '57', '58', '81', '99', 'CC', 'CZ', 'Composite Refl', 'Correlation Coeff', 'DAA', 'DHR', 'DPA', 'DPR', 'DUA', 'DVL', 'Diff Reflectivity', 'Digital Hybrid Scan Refl', 'Digital Inst Precip Rate', 'Digital Precip Array', 'Digital Vert Integ Liq', 'EET', 'Enhanced Echo Tops', 'HC', 'HHC', 'HV', 'HZ', 'Hybrid Hydrometeor Class', 'Hydrometeor Class', 'KDP', 'MD', 'ML', 'Melting Layer', 'Mesocyclone', 'OHA', 'One Hour Accum', 'One Hour Unbiased Accum', 'Reflectivity', 'SRM', 'STA', 'STI', 'Specific Diff Phase', 'Storm Rel Velocity', 'Storm Total Accum', 'Storm Track', 'User Select Accum', 'V', 'VIL', 'Velocity', 'Vert Integ Liq', 'ZDR']\n"
]
}
],
"source": [
2018-10-17 11:03:04 -06:00
"availableParms = DataAccessLayer.getAvailableParameters(request)\n",
"availableParms.sort()\n",
"print(availableParms)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 3.3 Radar Product IDs and Names\n",
2018-10-17 11:03:04 -06:00
"\n",
"As we saw above, some parameters seem to be describing different things from the rest. The DataAccessLayer has a built in function to parse the available parameters into the separate **Product IDs** and **Product Names**. Here, we take a look at the two different arrays that are returned when parsing the *availableParms* array we just recieved in the previous code cell."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['134', '135', '141', '153', '154', '159', '161', '163', '165', '166', '169', '170', '172', '173', '176', '177', '32', '37', '56', '57', '58', '81', '99']\n",
"['Composite Refl', 'Correlation Coeff', 'Diff Reflectivity', 'Digital Hybrid Scan Refl', 'Digital Inst Precip Rate', 'Digital Precip Array', 'Digital Vert Integ Liq', 'Enhanced Echo Tops', 'Hybrid Hydrometeor Class', 'Hydrometeor Class', 'Melting Layer', 'Mesocyclone', 'One Hour Accum', 'One Hour Unbiased Accum', 'Reflectivity', 'Specific Diff Phase', 'Storm Rel Velocity', 'Storm Total Accum', 'Storm Track', 'User Select Accum', 'Velocity', 'Vert Integ Liq']\n"
]
}
],
"source": [
2018-10-17 11:03:04 -06:00
"productIDs = DataAccessLayer.getRadarProductIDs(availableParms)\n",
"productNames = DataAccessLayer.getRadarProductNames(availableParms)\n",
"print(productIDs)\n",
"print(productNames)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Top](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4 Function: make_map()\n",
"\n",
"In order to plot more than one image, it's easiest to define common logic in a function. Here, a new function called **make_map** is defined. This function uses the [matplotlib.pyplot package (plt)](https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.html) to create a figure and axis. The coastlines (continental boundaries) are added, along with lat/lon grids."
]
},
2018-10-17 11:03:04 -06:00
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def make_map(bbox, projection=ccrs.PlateCarree()):\n",
" fig, ax = plt.subplots(figsize=(16, 16),\n",
" subplot_kw=dict(projection=projection))\n",
" ax.set_extent(bbox)\n",
" ax.coastlines(resolution='50m')\n",
" gl = ax.gridlines(draw_labels=True)\n",
" gl.top_labels = gl.right_labels = False\n",
" gl.xformatter = LONGITUDE_FORMATTER\n",
" gl.yformatter = LATITUDE_FORMATTER\n",
" return fig, ax"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Top](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
2018-10-17 11:03:04 -06:00
"metadata": {},
"source": [
"## 5 Plot the Data!\n",
"\n",
"Here we'll create a plot for each of the Radar Product Names from our *productNames* array from the [previous section](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html#Radar-Product-IDs-and-Names)."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"scrolled": false
},
2018-10-17 11:03:04 -06:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:10:43\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_464_464\n",
"Prod : Composite Refl\n",
"Range: 5.0 to 30.0 (Unit : dBZ )\n",
2018-10-17 11:03:04 -06:00
"Size : (464, 464)\n",
"\n"
]
},
{
"data": {
"image/png": "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
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"No levels found for Correlation Coeff\n",
"No levels found for Diff Reflectivity\n",
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_230_360_0.0_359.0\n",
"Prod : Digital Hybrid Scan Refl\n",
"Range: -25.5 to 31.0 (Unit : dBZ )\n",
2018-10-17 11:03:04 -06:00
"Size : (230, 360)\n",
"\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvgAAAMlCAYAAAAG9YemAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdd3hUZdrH8e+ZPukdSAgECE16rxHpoGJBAcF1YVcUFF0VG7iuuipie10b9obu2sUuKCBNQWkC0msogZDeJpl+3j9O5iSB0NMI9+e6chFmzpzzTGL5nWfu534UVVURQgghhBBC1A+G2h6AEEIIIYQQoupIwBdCCCGEEKIekYAvhBBCCCFEPSIBXwghhBBCiHpEAr4QQgghhBD1iKm2B3AiI0aMULOysmp7GOIk3G43FoultochqoH8buuv8+V36/f72bNnD0ajkWbNmqEoiv6cw+Fg9+7dJCQkEBMTc87XKiws5PDhw7Ru3fqcz1Vb3G43+fn5OBwOkpKSzvo8hYWFHDp0iLZt21bd4MQ5OV/+nRVn7lx/t+vWrftRVdURlT1XZwN+VlYWa9eure1hiJNYunQpl1xySW0PQ1QD+d1Wr4cffpiXXnqJkJCQ0/oKDQ095TE2m61CCD6R8+l363Q6ufrqqwkNDeV///sfZrNZf27Hjh2MHDmSq666in/+85+n9d5P5Pfff2fixImsWbPmnM5Tm5YuXcpXX31F48aNueeee876PLfddhvx8fE88MADVTg6cS7Op39nxZk519+toignnOGoswFfCCHqq9tvv50lS5bg8Xh48cUXUVWVoqKiSr8yMzPZt2/fCZ8vKiqisLAQj8dz0huC0NBQ+vTpQ9OmTWv77Z82m83Gl19+yXXXXUefPn147733aN++PQCtW7dm5cqVXHrppaSlpfHyyy9jNBrP6jo9e/ZEVVV+++03+vTpU5VvoUZt2bKF4cOHn/Xr/X4/8+bNY+nSpVU3KCFErZCAL4QQNSwmJoaFCxcyZcoUpkyZwn/+8x8GDhx4TrPHHo8Hh8NxwpuA3Nxcvv/+e1JSUnj66ae59tprufrqq6ukxKU6BUL+W2+9xcCBA7nrrru47777MJlMNGzYkKVLl3LNNdcwatQoZs2aRZcuXc74Goqi8Pe//5133nnnvA74W7du5aKLLjrr169atYro6GhatWpVhaMSQtQGWWQrhBC1wGq18u677zJt2jSmTJlCly5dePfdd3E6nWd1PrPZTEREBI0bN6ZNmzZ0796dSy65hMsvv5zrrruOW265hS+++IKOHTsyefJkFi5cSIsWLRgyZAivv/46GRkZVfwOq46iKNx0002sW7eOpUuX0rt3bzZv3gxAWFgY33//PRdffDFXXnkl/fv355NPPsHj8ZzRNS677DI+/vhjiouLq+MtVDufz0dBQQFNmjQ563N88cUXXHvttVU4KiFEbZGAL4QQtURRFG688Ua2bt3Kk08+yaeffkpUVBRt27bl0ksv5dZbb+WZZ57hs88+Y+3atWRlZaGq6jld02AwMGbMGD799FOOHDnCrbfeytKlS2nVqhUDBw7klVde4ciRI1X0DqtWkyZN+PHHH5kyZQoDBw7kiSeewOv1YrFYmDFjBnv37mX69Om89tprJCUl8eijj5Kenn7Sc27ZsoWbb76ZlJQUxowZg8Fwfv5v0el00rZt27P+FKioqIiPPvqIsWPHVvHIhBC1QUp0hBCilhkMBkaMGMGIESMoKioiNTWV1NRU9u3bR2pqKqtWrdL/7vV6SUpKolmzZsf92axZM8LDw0/7ukFBQYwePZrRo0dTUlLCTz/9xGeffcY///lPOnTowJgxYxg9ejQJCQnV+O7PTGA2f/jw4UyePJl58+bptfkmk0l/P3/++Sdz5szRb5Zuv/12evXqhaIo+P1+fvjhB1544QW2bNnCLbfcwo4dO4iLi6vtt3fWSkpKzqk855lnnmHw4MHSPUeIekICvhBC1CEhISG0b99eX0x6rLy8vONuAJYsWaL/3WQyVRr+k5KSaN68+Qmva7fbufLKK7nyyitxuVwsXLiQzz77jIcffpiLLrqIa6+9lmuuuYbExMTqeutnJDCbX1ltPkCHDh147bXXmD17Nu+++y7XX389UVFRjBw5ko8//piwsDDuvPNOxo4dWy9aEDqdTtq1a3dWrw0sUv7jjz+qeFRCiNoiAV8IIc4jERERdO7cmc6dOx/3nKqq5OTk6MF/3759bN++nfnz55Oamkp6ejqvvvrqKXsvW61WLr/8ci6//HLcbjeLFy/ms88+47HHHqNVq1Z62D+XfutV4WSz+QGRkZFMnz6dO++8k/nz5/PTTz/x7rvv0rdv3/O2JWZlzmUG/6GHHuLmm28+p/p9IUTdIgFfCCHqCUVRiI6OJjo6mu7dux/3/O7du1m6dCmdOnXi5ZdfZvDgwac8p8ViYeTIkYwcORKPx8PPP//M559/To8ePWjWrBnXXnst11577Uk/Hahup5rNB60M6rLLLuOyyy6rtXFWJ6/Xe0blWQGbNm3i+++/Z8eOHdUwKiFEbTk/VxMJIYQ4Y8nJySQnJ/Pkk08yefJkxo0bx6FDh0779WazmeHDh/Pmm29y5MgRnnjiCfbu3UufPn3o1q0bs2fPZvfu3dX4Dk6ssk47GzdurJWx1IaQkBB+/fXXM3qNqqrcc889/Otf/zqrmwMhRN0lAV8IIS4wV155JVu2bKF169Z07tyZZ555BrfbfUbnMJlMDBkyhNdee43Dhw/z7LPPcujQIVJSUujcuTOPP/54rcwKl++0M3z4cHr27MmLL77I0aNHa3wsNSk0NPSMN6j68ccfOXDgADfffHP1DEoIUWsk4AshxAUoKCiIRx99lN9++40lS5bQqVMnFi9efFbnMhqNDBw4kDlz5nDo0CFefPFFMjIyGDRoEB06dODRRx9l69atVfwOTiwwm3/o0CEee+wx1q5dS+vWrRk+fDjvv/8+hYWFNTaWmhIaGsrKlSvxer2ndbzX6+Wee+7h6aefxmw2V/PohBA1TQK+EEJcwJKTk/n+++/1sp3Ro0fz8ccfn/WMt9Fo5OKLL+bFF1/k4MGDvPbaa+Tm5jJ8+HAuuugiHn74Yf78889K+/mrqkpxcTFHjhxhx44dpKWlndN7M5lMeqg/fPgwf/vb3/jss89o3Lgx1113Hd9+++0Zf3JRVxmNRpKSkli/fv1pHf/ee+8RExPDqFGjqnlkQojaIAFfCCEucIqi6GU7gwcP5uOPP6ZNmza0a9eO2267jXnz5pGdnX3G5zUYDPTr14///Oc/7N+/n3feeQeHw8GoUaNo06YNKSkpdOrUiWbNmhEVFYXZbCYmJoYuXbowatQo2rVrR35+fpW8x6CgID3U79mzhwEDBvDUU0+RkJDALbfcwq+//nrOm4jVtgEDBpxWmU5RUREPPfQQzz77bL3qJCSEKCMBXwghBKCF4GnTpvHVV1+RlZXF+++/T9OmTXnrrbdo1qwZXbp0Yfr06Xz33XdnHLwNBgO9e/fm2WefZd++fXz88cfMmjWLuXPn8vPPP7Nr1y6Ki4spLi4mPT2dnTt3MmjQID7//PMqf58xMTHccsst/PLLL6xZs4YmTZowceJEbrrpJjweT5Vfr6aMHDmSd955h4KCgpMe98wzzzBo0KBKOy0JIeoHCfhCCCGOYzQa6datG/feey8//PAD2dnZvPLKK0RHR/P888/TuHFjevXqxYwZM/jpp59wOBynfW5FUejSpQsXX3wxnTt3plmzZkRHRx/Xm/+GG27ggw8+qOq3VkFSUhIzZ85kw4YNHD16lBEjRpCXl1et16wuI0eOZNCgQYwfPx6fz1fpMYFNrWbNmlXDoxNC1CQJ+EIIIU7JbDbTp08f/vnPf7Jo0SIyMzN5+umnsVqtPP744zRo0ICUlBQeeughli5ditPpPOdrXnrppWzevJn9+/dXwTs4uZCQEL766ivat29Pnz592Lt3b7Vfszq88MILuFwu7rvvvkqff+ihh7jpppto2rRpDY9MCFGTZKMrIYQQZ8xmszFgwAAGDBjAv//9bxw
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_920_360_0.0_359.0\n",
"Prod : Digital Inst Precip Rate\n",
"Range: nan to nan (Unit : m*sec^-1 )\n",
2018-10-17 11:03:04 -06:00
"Size : (920, 360)\n",
"\n"
]
},
{
"data": {
"image/png": "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
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
"Name : kmhx_0.0_131_131\n",
2018-10-17 11:03:04 -06:00
"Prod : Digital Precip Array\n",
"Range: 190.0 to 1690.0 (Unit : count )\n",
"Size : (131, 131)\n",
2018-10-17 11:03:04 -06:00
"\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAMlCAYAAADXN9T/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACqs0lEQVR4nOzdd3xN9+PH8ddJJGbsKLGpGStir9o79qrWqNqztWlRX3u3Sm2lVimtWVortth7FlGUir1FkvP7I+RHrYTce3KT9/PxuA9y7+ee875uk953zudzjmGaJiIiIiIiIgBOVgcQEREREZGoQwVBRERERETCqCCIiIiIiEgYFQQREREREQmjgiAiIiIiImFiWR3gdSpXrmxeu3bNsv0HBgbi6upq2f4l/PReOQ69V44hJrxPpmly9+5dbt26xc2bN3FxcSFx4sQkSZKEuHHjWh0v3ML7XoWEhHDo0CE8PT1xcXGxQ7IX3blzhytXrpA1a1a77zuqiAnfV9FBTHqf9u7d+4dpmpVf9ViULQjXrl1jz549lu3f19eX0qVLW7Z/CT+9V45D75VjiGnvU3BwMDt27ODXX3/l119/JTAwkLp161KnTh0KFiyIYRhWR3yt8L5X06ZN4/fff+e3336zfahXOHnyJNWrV7f0/+tWi2nfV44qJr1PhmEkf91jmmIkIiIxmrOzMyVKlGDs2LGcO3eOn3/+GWdnZ5o2bUq6dOno3Lkzvr6+BAcHWx31nU2bNo1WrVpZtv/06dNz4cIFh/43FIlJVBBERESeMgwDb29vhgwZwokTJ/jjjz9IkSIFXbt2JVWqVLRq1YrVq1fz+PFjq6OG28GDB7l8+TKVKlWyLEOcOHFImjQp//zzj2UZRCT8VBBEREReI2fOnHz99dfs27cPPz8/smfPzuDBg0mZMiVDhw61Ol64TJ8+nRYtWuDs7GxpjowZM3Lu3DlLM4hI+KggiIiIhEPGjBlp06YNXl5exI8fn0KFClkd6a0ePnzI/PnzadGihdVRSJ8+Pf7+/lbHEJFwUEEQEREJhw0bNpAnTx7u37/P4cOHKV++vNWR3mrx4sUUKlSI9OnTW5bh/PnztGjRgrVr1/Lhhx9alkNEwk8FQURE5A3u3r1L+/btadasGRMmTODHH38kSZIkVscKFysXJ//777906dKF/Pnz4+HhwenTpylWrJglWUQkYlQQREREXmPz5s3kyZOHx48fc/jwYapWrWp1pHA7ceIEp06dwsfHx277vHr1KnPnzuWTTz4hZ86cABw7dozBgweTOHFiu+UQkfcTZa+DICIiYrU///yTq1evcvv2bTZu3EjVqlWJHTu21bHCZcaMGTRr1symF0YLCgpi586drFmzhjVr1vDXX39RtmxZKleuzKhRo/Dw8LDZvkXEdnQEQURE5DUGDx7MxYsXqVSpEuPHj8fDw4NWrVqxceNGQkJCrI73WoGBgfz000+0bNnSJtu/f/8+PXr0wN3dnY4dOxIcHMyYMWO4evUqv/76K61bt1Y5EHFgKggiImJ3hw4dYt68eVbHCJckSZKElYIDBw6QNWtWunbtSrp06ejRowcHDhzANE2rY75g2bJl5MyZkyxZskT6tv/44w9y5crF5cuXOXz4MAcOHGDYsGF89NFHuLq6Rvr+RMT+VBBERMTudu3axaeffspXX30V5T5cv0natGnp0aMH+/fv588//8TV1ZXatWuTK1cu5s+fb3W8MLZYnBwQEECTJk1o27YtkydPZu7cuaRJkyZS9yEiUYMKgoiI2F3SpEkpUaIE69ev57PPPuPJkydWR4qwnDlzMmTIEM6ePcvIkSPp3bu31ZEAOHfuHPv376dOnTqRsj3TNJkzZw65c+cmRYoUHDlyxNKrMouI7akgiIiI3aVIkYI7d+6wfv16rl27Ro0aNbh3757Vsd6JYRhUrVqVhw8fcunSJavjMGPGDD755BPixInz3ts6d+4clSpVYuzYsaxcuZIxY8YQP378SEgpIlGZCoKIiNhdkSJFAFi9ejVLly4lderUlClThqtXr1qc7N0YhkGRIkXYuXOnpTmCgoL48ccfI2Vx8vHjxylWrBjlypVj165dFChQIBISiogjUEEQERG7ixUrFuPHj6dbt24EBgYybdo0qlatSrFixfjrr7+sjvdOokJBWL16NenSpSNXrlzvtZ1z585RsWJFRo4cSa9evWx6qlQRiXpUEERExBIfffQRRYoUYeDAgRiGwcCBA+nZsyelSpViz549VseLsKhQECJjcfKlS5coX748ffr0oUmTJpGUTEQciQqCiIhY5rvvvuO3335jxIgRALRu3ZrJkydTtWpVVq9ebXG6iClYsCD79++3bMH1pUuX2Lp1Kw0bNnznbVy7do0KFSrQunVr2rdvH4npRMSRqCCIiIhlUqZMycaNG5k5cybDhg0DoEaNGixdupTPPvuMWbNmWRswAhImTEiGDBk4fPiwJfv/8ccfadCgwTsvIr59+zaVKlWiVq1a9OrVK5LTiYgjiWV1ABERidlSp07Nxo0bKVu2LCEhIXz11VcUK1YMX19fqlSpwj///EOfPn0wDMPqqG/l7OyMk5P9f/cWEhLCjBkzWLx48Ttvo2/fvnh5eTFkyJBITCYijkgFQURELOfh4fFCSejXrx/Zs2dn27ZtVK1alUuXLjF+/HicnZ2tjvpapmni7+9P+vTp7b7v9evXkyRJEry9vd/p+cHBwSxevJjt27c7RBETEdvSFCMREYkSUqVKxcaNG1mwYAEDBw4EQovDpk2bOHHiBPXr1+fhw4cWp3y9W7duAZA4cWK77/t9Fydv3boVDw8PMmfOHImpRMRRqSCIiEiU8WxNwqJFixgwYACmaZIoUSJWr15NnDhxqFChAjdu3LA65iv5+/uTIUMGu/8GPjg4mFWrVtGoUaN33sbixYupV69eJKYSEUemgiAiIlHKBx98wMaNG1myZElYSXB1dWXu3LkUKVKEEiVK8Pfff9tk33/++Se5c+emefPm/PDDD+zdu5fAwMBwPff8+fOWTC86e/YsKVKkIEmSJO/0/JCQEJYsWULdunUjOZmIOCqtQRARkSgnRYoUbNy4kXLlyhESEsKgQYNwcnJi9OjReHh4ULx4cX7//Xdy584dqfs9dOgQnp6eFCtWjF27djF58mTOnDlDnjx5KFSoEIUKFaJw4cJkzpz5pSMFz44g2NuxY8fw9PR85+fv3LmTpEmTkj179khMJSKOTAVBRESiJHd3d9avX0/58uUJCQlhyJAhGIZB165d8fDwoFy5cixatIjSpUtH2j4DAgLIly8frVu3pnXr1gDcu3ePffv24efnx9KlS+nbty/37t2jYMGCYaWhUKFCli1QPnbsGDlz5nzn52t6kYj8lwqCiIhEWf8tCcOGDcMwDBo1akSKFClo0KABEyZMoEGDBpGyv4CAALJmzfrCfQkSJKBUqVKUKlUq7L4rV66we/du/Pz8GD9+PLt37+b+/fssWrQoUnJExNGjRylfvvw7Pdc0TZYsWcLKlSsjOZWIODIVBBERidKSJ0/+QkkYMWIEhmFQtmxZ1q5dS7Vq1bh8+TJdunR5730FBATg7u7+1nEpU6bEx8cHHx8fIHQev7+/P+nSpXvvDBF17Nixd37te/bsIU6cOOTKlSuSU4mII9MiZRERifKSJUvG+vXrWbduHT169MA0TQDy5s3Ltm3bmDRpEj179iQkJOS99hPegvBfTk5OZMqUiVix7P97txMnTrzz+oFni5N17QMReZ6OIIiIRHGmaVKlShVu3bpFggQJXnlzc3N77WPPj3F1dbX65byzpEmTsm7dOipWrEi3bt0YM2YMhmGQPn16tm3bRo0aNWjatCkzZ85859cZEhLCo0ePIjm57Tx+/Bh3d3fc3Nwi/FzTNFm8eLEl06JEJGpTQRARieIMw+CTTz6hZcuWdO7cmWLFinHv3r0Xbv/880/Y3+/evfvS48/uNwzjjSUiWbJklC9fnsDAwChZJpImTcratWupUqUK1atXZ+rUqaROnZpkyZKxbt06Pv74Y6pVq8aSJUtImDBhhLdfv35
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_460_360_0.0_359.0\n",
"Prod : Digital Vert Integ Liq\n",
"Range: 0.0 to 4.4601254 (Unit : kg*m^-2 )\n",
2018-10-17 11:03:04 -06:00
"Size : (460, 360)\n",
"\n"
]
},
{
"data": {
"image/png": "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
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_346_360_0.0_359.0\n",
"Prod : Enhanced Echo Tops\n",
"Range: nan to nan (Unit : m )\n",
"Size : (346, 360)\n",
"\n"
]
},
{
"data": {
"image/png": "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
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_920_360_0.0_359.0\n",
"Prod : Hybrid Hydrometeor Class\n",
"Range: 1.0 to 1.0 (Unit : count )\n",
2018-10-17 11:03:04 -06:00
"Size : (920, 360)\n",
"\n"
]
},
{
"data": {
"image/png": "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
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"No levels found for Hydrometeor Class\n",
"No levels found for Melting Layer\n",
"\n",
"Recs : 0\n",
"\n",
"Recs : 0\n",
2018-10-17 11:03:04 -06:00
"\n",
"Recs : 0\n",
2018-10-17 11:03:04 -06:00
"No levels found for Reflectivity\n",
"No levels found for Specific Diff Phase\n",
"No levels found for Storm Rel Velocity\n",
"\n",
"Recs : 0\n",
"\n",
"Recs : 0\n",
"No levels found for User Select Accum\n",
2018-10-17 11:03:04 -06:00
"No levels found for Velocity\n",
"\n",
"Recs : 1\n",
"Time : 2024-05-22 21:15:18\n",
2018-10-17 11:03:04 -06:00
"Name : kmhx_0.0_116_116\n",
"Prod : Vert Integ Liq\n",
"Range: nan to nan (Unit : kg*m^-2 )\n",
2018-10-17 11:03:04 -06:00
"Size : (116, 116)\n",
"\n"
]
},
{
"data": {
"image/png": "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
2018-10-17 11:03:04 -06:00
"text/plain": [
"<Figure size 1152x1152 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# suppress a few warnings that come from plotting\n",
2018-10-17 11:03:04 -06:00
"warnings.filterwarnings(\"ignore\",category =RuntimeWarning)\n",
"warnings.filterwarnings(\"ignore\",category =UserWarning)\n",
2018-10-17 11:03:04 -06:00
"\n",
"# Cycle through all of the products to try and plot each one\n",
2018-10-17 11:03:04 -06:00
"for prod in productNames:\n",
" \n",
" request.setParameters(prod)\n",
" availableLevels = DataAccessLayer.getAvailableLevels(request)\n",
" \n",
" # Check the available levels, if there are none, then skip this product\n",
2018-10-17 11:03:04 -06:00
" if availableLevels:\n",
" request.setLevels(availableLevels[0])\n",
" else:\n",
" print(\"No levels found for \" + prod)\n",
" continue\n",
"\n",
" cycles = DataAccessLayer.getAvailableTimes(request, True)\n",
" times = DataAccessLayer.getAvailableTimes(request)\n",
"\n",
" if times:\n",
" print()\n",
" response = DataAccessLayer.getGridData(request, [times[-1]])\n",
" print(\"Recs : \", len(response))\n",
" \n",
" if response:\n",
" grid = response[0]\n",
" else:\n",
" continue\n",
" data = grid.getRawData()\n",
" lons, lats = grid.getLatLonCoords()\n",
" \n",
" print('Time :', str(grid.getDataTime()))\n",
" flat = np.ndarray.flatten(data)\n",
" print('Name :', str(grid.getLocationName()))\n",
" print('Prod :', str(grid.getParameter()))\n",
" print('Range:' , np.nanmin(flat), \" to \", np.nanmax(flat), \" (Unit :\", grid.getUnit(), \")\")\n",
" print('Size :', str(data.shape))\n",
" print()\n",
"\n",
" cmap = plt.get_cmap('rainbow')\n",
" bbox = [lons.min()-0.5, lons.max()+0.5, lats.min()-0.5, lats.max()+0.5]\n",
" fig, ax = make_map(bbox=bbox)\n",
" cs = ax.pcolormesh(lons, lats, data, cmap=cmap)\n",
" cbar = fig.colorbar(cs, extend='both', shrink=0.5, orientation='horizontal')\n",
" cbar.set_label(grid.getParameter() +\" \" + grid.getLevel() + \" \" \\\n",
" + grid.getLocationName() + \" (\" + prod + \"), (\" + grid.getUnit() + \") \" \\\n",
" + \"valid \" + str(grid.getDataTime().getRefTime()))\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Top](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6 See Also\n",
"\n",
"\n",
"### 6.1 Related Notebooks\n",
"\n",
"* [Grid Levels and Parameters](https://unidata.github.io/python-awips/examples/generated/Grid_Levels_and_Parameters.html)\n",
"\n",
"\n",
"### 6.2 Additional Documention\n",
"\n",
"**python-awips**\n",
"\n",
"- [DataAccessLayer.changeEDEXHost()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.changeEDEXHost)\n",
"- [DataAccessLayer.newDataRequest()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.newDataRequest)\n",
"- [DataAccessLayer.getRadarProductIDs()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductIDs)\n",
"- [DataAccessLayer.getRadarProductNames()](http://unidata.github.io/python-awips/api/DataAccessLayer.html#awips.dataaccess.DataAccessLayer.getRadarProductNames)\n",
"\n",
"**matplotlib**\n",
"\n",
"- [matplotlib.pyplot()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.html)\n",
"- [matplotlib.pyplot.axes()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.axes.html)\n",
"- [matplotlib.pyplot.figure()](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.figure.html)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Top](https://unidata.github.io/python-awips/examples/generated/NEXRAD_Level3_Radar.html)\n",
"\n",
"---"
]
2018-10-17 11:03:04 -06:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": false,
"skip_h1_title": true,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": false,
"toc_window_display": false
2018-10-17 11:03:04 -06:00
}
},
"nbformat": 4,
"nbformat_minor": 4
2018-10-17 11:03:04 -06:00
}