{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The observed circulation\n", "\n", "... work in progress." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import xarray as xr\n", "import cartopy.crs as ccrs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The CFSR climatology datasets\n", "\n", "We pre-computed 30-year seasonal and monthly climatologies from the 6-hourly CFSR dataset, see [Computing seasonal and monthly means from CFSR data](computing-seasonal.html).\n", "\n", "Here we'll use those datasets to make some nice reference figures." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "local_path = '/nfs/roselab_rit/data/cfsr_climatology/'\n", "\n", "path = local_path" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load the seasonal data:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n", "Dimensions: (lat: 361, lon: 720, lev: 40, season: 4)\n", "Coordinates:\n", " * lat (lat) float32 -90.0 -89.5 -89.0 -88.5 -88.0 ... 88.5 89.0 89.5 90.0\n", " * lon (lon) float32 -180.0 -179.5 -179.0 -178.5 ... 178.5 179.0 179.5\n", " * lev (lev) float32 -2e-06 2e-06 10.0 20.0 ... 925.0 950.0 975.0 1e+03\n", " * season (season) object 'DJF' 'JJA' 'MAM' 'SON'\n", "Data variables:\n", " g (season, lev, lat, lon) float32 dask.array<chunksize=(4, 40, 361, 720), meta=np.ndarray>\n", " pmsl (season, lat, lon) float32 dask.array<chunksize=(4, 361, 720), meta=np.ndarray>\n", " pwat (season, lat, lon) float32 dask.array<chunksize=(4, 361, 720), meta=np.ndarray>\n", " q (season, lev, lat, lon) float32 dask.array<chunksize=(4, 40, 361, 720), meta=np.ndarray>\n", " t (season, lev, lat, lon) float32 dask.array<chunksize=(4, 40, 361, 720), meta=np.ndarray>\n", " tsfc (season, lat, lon) float32 dask.array<chunksize=(4, 361, 720), meta=np.ndarray>\n", " u (season, lev, lat, lon) float32 dask.array<chunksize=(4, 40, 361, 720), meta=np.ndarray>\n", " v (season, lev, lat, lon) float32 dask.array<chunksize=(4, 40, 361, 720), meta=np.ndarray>\n", " w (season, lev, lat, lon) float32 dask.array<chunksize=(4, 40, 361, 720), meta=np.ndarray>
<xarray.Dataset>\n", "Dimensions: (lat: 361, lon: 720, lev: 40, month: 12)\n", "Coordinates:\n", " * lat (lat) float32 -90.0 -89.5 -89.0 -88.5 -88.0 ... 88.5 89.0 89.5 90.0\n", " * lon (lon) float32 -180.0 -179.5 -179.0 -178.5 ... 178.5 179.0 179.5\n", " * lev (lev) float32 -2e-06 2e-06 10.0 20.0 ... 925.0 950.0 975.0 1e+03\n", " * month (month) int64 1 2 3 4 5 6 7 8 9 10 11 12\n", "Data variables:\n", " g (month, lev, lat, lon) float32 dask.array<chunksize=(12, 40, 361, 720), meta=np.ndarray>\n", " pmsl (month, lat, lon) float32 dask.array<chunksize=(12, 361, 720), meta=np.ndarray>\n", " pwat (month, lat, lon) float32 dask.array<chunksize=(12, 361, 720), meta=np.ndarray>\n", " q (month, lev, lat, lon) float32 dask.array<chunksize=(12, 40, 361, 720), meta=np.ndarray>\n", " t (month, lev, lat, lon) float32 dask.array<chunksize=(12, 40, 361, 720), meta=np.ndarray>\n", " tsfc (month, lat, lon) float32 dask.array<chunksize=(12, 361, 720), meta=np.ndarray>\n", " u (month, lev, lat, lon) float32 dask.array<chunksize=(12, 40, 361, 720), meta=np.ndarray>\n", " v (month, lev, lat, lon) float32 dask.array<chunksize=(12, 40, 361, 720), meta=np.ndarray>\n", " w (month, lev, lat, lon) float32 dask.array<chunksize=(12, 40, 361, 720), meta=np.ndarray>
<xarray.DataArray 'v' (season: 4, lev: 40, lat: 361)>\n", "dask.array<mean_agg-aggregate, shape=(4, 40, 361), dtype=float32, chunksize=(4, 40, 361), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * lat (lat) float32 -90.0 -89.5 -89.0 -88.5 -88.0 ... 88.5 89.0 89.5 90.0\n", " * lev (lev) float32 -2e-06 2e-06 10.0 20.0 ... 925.0 950.0 975.0 1e+03\n", " * season (season) object 'DJF' 'JJA' 'MAM' 'SON'
<xarray.DataArray (lat: 361, season: 4, lev: 40)>\n", "dask.array<mul, shape=(361, 4, 40), dtype=float32, chunksize=(361, 4, 39), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * lat (lat) float32 -90.0 -89.5 -89.0 -88.5 -88.0 ... 88.5 89.0 89.5 90.0\n", " * lev (lev) float32 -2e-06 2e-06 10.0 20.0 ... 925.0 950.0 975.0 1e+03\n", " * season (season) object 'DJF' 'JJA' 'MAM' 'SON'