@ -2,10 +2,7 @@
@@ -2,10 +2,7 @@
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"# 1.0 Basic Variable Extraction"
]
@ -13,11 +10,7 @@
@@ -13,11 +10,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from __future__ import (absolute_import, division, print_function, unicode_literals)\n",
@ -32,9 +25,6 @@
@@ -32,9 +25,6 @@
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true,
"scrolled": false
},
"outputs": [],
@ -45,10 +35,7 @@
@@ -45,10 +35,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 1.0.1 DataArray attributes: 'dims', 'coords', 'attrs'"
]
@ -56,11 +43,7 @@
@@ -56,11 +43,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"print(\"dims: \", p.dims)\n",
@ -71,10 +54,7 @@
@@ -71,10 +54,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 1.0.2 Removing implicit 'squeeze' behavior to preserve single sized dimensions"
]
@ -82,11 +62,7 @@
@@ -82,11 +62,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"p_nosqueeze = getvar(ncfile, \"P\", timeidx=0, squeeze=False)\n",
@ -95,10 +71,7 @@
@@ -95,10 +71,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 1.0.3 Single element metadata"
]
@ -106,11 +79,7 @@
@@ -106,11 +79,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"print (p_nosqueeze[0,0,100,200])\n",
@ -119,10 +88,7 @@
@@ -119,10 +88,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 1.0.4 Disabling/Enabling xarray"
]
@ -130,11 +96,7 @@
@@ -130,11 +96,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf import disable_xarray, enable_xarray\n",
@ -157,20 +119,14 @@
@@ -157,20 +119,14 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"# 2.0 Sequences of Input Files "
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 2.0.1 Combining via the 'cat' method"
]
@ -178,11 +134,7 @@
@@ -178,11 +134,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf import ALL_TIMES\n",
@ -196,10 +148,7 @@
@@ -196,10 +148,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 2.0.2 Combining via the 'join' method"
]
@ -207,11 +156,7 @@
@@ -207,11 +156,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"p_join = getvar(wrflist, \"P\", timeidx=ALL_TIMES, method=\"join\")\n",
@ -220,10 +165,7 @@
@@ -220,10 +165,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"Note how the Time dimension was replaced with the file dimension, due to the 'squeezing' of the Time dimension.\n",
"\n",
@ -234,11 +176,7 @@
@@ -234,11 +176,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf import ALL_TIMES\n",
@ -249,10 +187,7 @@
@@ -249,10 +187,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 2.0.3 Dictionary Sequences"
]
@ -260,11 +195,7 @@
@@ -260,11 +195,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"wrf_dict = {\"label1\" : [ncfile, ncfile],\n",
@ -276,10 +207,7 @@
@@ -276,10 +207,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 2.0.4 Generator Sequences"
]
@ -287,11 +215,7 @@
@@ -287,11 +215,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"def gen_seq():\n",
@ -306,10 +230,7 @@
@@ -306,10 +230,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 2.0.5 Custom Iterable Classes"
]
@ -317,11 +238,7 @@
@@ -317,11 +238,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"class FileGen(object):\n",
@ -334,7 +251,7 @@
@@ -334,7 +251,7 @@
" return self\n",
" \n",
" def next(self):\n",
" if self._i >= self._total:\n",
" if self._i > self._total:\n",
" raise StopIteration\n",
" else:\n",
" val = self.ncfile[self._i]\n",
@ -347,7 +264,7 @@
@@ -347,7 +264,7 @@
"\n",
"obj_gen = FileGen(ncfile, 3)\n",
"\n",
"p_obj_gen = getvar(gen_seq() , \"P\", method=\"join\", squeeze=False)\n",
"p_obj_gen = getvar(obj_ gen, \"P\", method=\"join\", squeeze=False)\n",
"print(p_obj_gen)\n",
"\n",
"del p_obj_gen\n",
@ -356,10 +273,7 @@
@@ -356,10 +273,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"# 3.0 WRF Variable Computational Routines"
]
@ -367,11 +281,7 @@
@@ -367,11 +281,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"wrf_vars = [\"avo\", \"eth\", \"cape_2d\", \"cape_3d\", \"ctt\", \"dbz\", \"mdbz\", \n",
@ -390,10 +300,7 @@
@@ -390,10 +300,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"(Note all of the NaNs in the above routines which produce missing values (e.g. cape_2d). xarray always converts all masked_array missing values to NaN in order to work with pandas. To get back the original missing values in a numpy masked_array, you need to use the 'to_np' method from wrf.)"
]
@ -401,11 +308,7 @@
@@ -401,11 +308,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf import to_np\n",
@ -417,11 +320,7 @@
@@ -417,11 +320,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"keys = [x for x in vard.keys()]\n",
@ -431,20 +330,14 @@
@@ -431,20 +330,14 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 3.1 Interpolation Routines"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 3.1.1 Horizontal Level Interpolation"
]
@ -452,11 +345,7 @@
@@ -452,11 +345,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# 500 MB Heights\n",
@ -472,10 +361,7 @@
@@ -472,10 +361,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 3.1.2 Vertical Cross Section Interpolation"
]
@ -483,11 +369,7 @@
@@ -483,11 +369,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# Pressure using pivot and angle\n",
@ -515,11 +397,7 @@
@@ -515,11 +397,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# Pressure using pivot and angle\n",
@ -570,11 +448,7 @@
@@ -570,11 +448,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# Pressure using pivot and angle\n",
@ -626,10 +500,7 @@
@@ -626,10 +500,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 3.1.3 Interpolate 2D Variable to a Line"
]
@ -637,11 +508,7 @@
@@ -637,11 +508,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# T2 using pivot and angle\n",
@ -685,10 +552,7 @@
@@ -685,10 +552,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"### 3.1.4 Vertical Coordinate Interpolation"
]
@ -696,11 +560,7 @@
@@ -696,11 +560,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf import vinterp, getvar\n",
@ -782,10 +642,7 @@
@@ -782,10 +642,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## 3.2 Lat/Lon to X/Y Routines"
]
@ -793,11 +650,7 @@
@@ -793,11 +650,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf.latlon import xy_to_ll, ll_to_xy \n",
@ -835,9 +688,7 @@
@@ -835,9 +688,7 @@
{
"cell_type": "markdown",
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
"collapsed": true
},
"source": [
"# 4.0 Plotting with Cartopy"
@ -846,11 +697,7 @@
@@ -846,11 +697,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline"
@ -859,11 +706,7 @@
@@ -859,11 +706,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# SLP\n",
@ -905,11 +748,7 @@
@@ -905,11 +748,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# SLP\n",
@ -986,11 +825,7 @@
@@ -986,11 +825,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"# 500 MB Heights and Winds\n",
@ -1043,9 +878,6 @@
@@ -1043,9 +878,6 @@
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true,
"scrolled": false
},
"outputs": [],
@ -1075,11 +907,7 @@
@@ -1075,11 +907,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"# Multi-time Moving Domain Files"
]
@ -1087,11 +915,7 @@
@@ -1087,11 +915,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"import os\n",
@ -1111,11 +935,7 @@
@@ -1111,11 +935,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"p = getvar(ncfiles, \"ctt\", timeidx=ALL_TIMES)"
@ -1124,11 +944,7 @@
@@ -1124,11 +944,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"print (p)\n",
@ -1138,11 +954,7 @@
@@ -1138,11 +954,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"print (p.attrs[\"projection\"])\n"
@ -1151,11 +963,7 @@
@@ -1151,11 +963,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"ncfiles[2].variables[\"XTIME\"][:]\n"
@ -1164,11 +972,7 @@
@@ -1164,11 +972,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"p = getvar(ncfiles, \"P\", timeidx=None, method=\"cat\", meta=True, squeeze=True)\n"
@ -1177,11 +981,7 @@
@@ -1177,11 +981,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"print (p)"
@ -1190,11 +990,7 @@
@@ -1190,11 +990,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"print (type(p.coords[\"Time\"]))"
@ -1203,11 +999,7 @@
@@ -1203,11 +999,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"import datetime\n",
@ -1220,11 +1012,7 @@
@@ -1220,11 +1012,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"wrf_vars = [\"avo\", \"eth\", \"cape_2d\", \"cape_3d\", \"ctt\", \"dbz\", \"mdbz\", \n",
@ -1249,11 +1037,7 @@
@@ -1249,11 +1037,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"import os\n",
@ -1290,11 +1074,7 @@
@@ -1290,11 +1074,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"import os\n",
@ -1335,11 +1115,7 @@
@@ -1335,11 +1115,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf import getvar\n"
@ -1348,22 +1124,14 @@
@@ -1348,22 +1124,14 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from wrf.latlon import xy_to_ll, ll_to_xy \n",
@ -1390,11 +1158,7 @@
@@ -1390,11 +1158,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": [
"from glob import glob\n",
@ -1435,11 +1199,7 @@
@@ -1435,11 +1199,7 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"metadata": {},
"outputs": [],
"source": []
}
@ -1460,9 +1220,9 @@
@@ -1460,9 +1220,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12 "
"version": "2.7.13 "
}
},
"nbformat": 4,
"nbformat_minor": 0
"nbformat_minor": 1
}