{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Calculating Climatology and Departures from Monthly Time Series\n", "===============================================================\n", "\n", "Author: [Tom Vo](https://github.com/tomvothecoder/)\n", "\n", "Date: 05/27/22\n", "\n", "Last Updated: 09/26/22 (v0.3.3)\n", "\n", "Related APIs:\n", "\n", "* [xarray.Dataset.temporal.climatology()](../generated/xarray.Dataset.temporal.climatology.rst)\n", "* [xarray.Dataset.temporal.departures()](../generated/xarray.Dataset.temporal.departures.rst)\n", "\n", "The data used in this example can be found through the [Earth System Grid Federation (ESGF) search portal](https://aims2.llnl.gov/metagrid/search)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview\n", "\n", "Suppose we have two netCDF4 files for air temperature data (`tas`).\n", "\n", " - File 1: Monthly frequency from 1850-01-16 to 2014-12-16\n", " - We want to calculate the annual and seasonal cycle climatologies and departures using this file.\n", " - File 2: Hourly frequency from 2010-01-01 to 2015-01-01 (subset).\n", " - We want to calculate the daily cycle climatologies and departures using this file." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2018-11-28T20:51:35.958210Z", "start_time": "2018-11-28T20:51:35.936966Z" } }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import xcdat\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Open Sample Datasets\n", "\n", "We are using xarray's OPeNDAP support to read a netCDF4 dataset files directly from their source. The data is not loaded over the network until we perform operations on it (e.g., temperature unit adjustment).\n", "\n", "More information on the xarray's OPeNDAP support can be found [here](https://docs.xarray.dev/en/stable/user-guide/io.html#opendap)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### File 1: Monthly Frequency" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2018-11-28T20:51:36.072316Z", "start_time": "2018-11-28T20:51:36.016594Z" } }, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n",
"Dimensions: (time: 1980, bnds: 2, lat: 145, lon: 192)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 1850-01-16T12:00:00 ... 2014-12-16T12:00:00\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
"Dimensions without coordinates: bnds\n",
"Data variables:\n",
" time_bnds (time, bnds) datetime64[ns] 1850-01-01 1850-02-01 ... 2015-01-01\n",
" lat_bnds (lat, bnds) float64 -90.0 -89.38 -89.38 ... 89.38 89.38 90.0\n",
" lon_bnds (lon, bnds) float64 -0.9375 0.9375 0.9375 ... 357.2 357.2 359.1\n",
" tas (time, lat, lon) float32 -27.19 -27.19 -27.19 ... -25.29 -25.29\n",
"Attributes: (12/49)\n",
" Conventions: CF-1.7 CMIP-6.2\n",
" activity_id: CMIP\n",
" branch_method: standard\n",
" branch_time_in_child: 0.0\n",
" branch_time_in_parent: 87658.0\n",
" creation_date: 2020-06-05T04:06:11Z\n",
" ... ...\n",
" version: v20200605\n",
" license: CMIP6 model data produced by CSIRO is li...\n",
" cmor_version: 3.4.0\n",
" _NCProperties: version=2,netcdf=4.6.2,hdf5=1.10.5\n",
" tracking_id: hdl:21.14100/af78ae5e-f3a6-4e99-8cfe-5f2...\n",
" DODS_EXTRA.Unlimited_Dimension: time<xarray.Dataset>\n",
"Dimensions: (time: 14608, lat: 145, bnds: 2, lon: 192)\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 2010-01-01T03:00:00 ... 2015-01-01\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 ... 352.5 354.4 356.2 358.1\n",
" height float64 ...\n",
"Dimensions without coordinates: bnds\n",
"Data variables:\n",
" lat_bnds (lat, bnds) float64 dask.array<chunksize=(145, 2), meta=np.ndarray>\n",
" lon_bnds (lon, bnds) float64 dask.array<chunksize=(192, 2), meta=np.ndarray>\n",
" tas (time, lat, lon) float32 dask.array<chunksize=(913, 145, 192), meta=np.ndarray>\n",
" time_bnds (time, bnds) datetime64[ns] 2010-01-01T01:30:00 ... 2015-01-01...\n",
"Attributes: (12/49)\n",
" Conventions: CF-1.7 CMIP-6.2\n",
" activity_id: CMIP\n",
" branch_method: standard\n",
" branch_time_in_child: 0.0\n",
" branch_time_in_parent: 87658.0\n",
" creation_date: 2020-06-05T04:54:56Z\n",
" ... ...\n",
" version: v20200605\n",
" license: CMIP6 model data produced by CSIRO is li...\n",
" cmor_version: 3.4.0\n",
" _NCProperties: version=2,netcdf=4.6.2,hdf5=1.10.5\n",
" tracking_id: hdl:21.14100/b79e6a05-c482-46cf-b3b8-83b...\n",
" DODS_EXTRA.Unlimited_Dimension: time<xarray.DataArray 'tas' (time: 4, lat: 145, lon: 192)>\n",
"array([[[-31.00774765, -31.00774765, -31.00774765, ..., -31.00774765,\n",
" -31.00774765, -31.00774765],\n",
" [-29.65324402, -29.685215 , -29.71771049, ..., -29.55809784,\n",
" -29.58923149, -29.62030983],\n",
" [-28.88215446, -28.98016167, -29.07778549, ..., -28.58658791,\n",
" -28.68405914, -28.78241539],\n",
" ...,\n",
" [-31.36740303, -31.31291962, -31.25907516, ..., -31.54325676,\n",
" -31.47868538, -31.42434502],\n",
" [-31.88631248, -31.86421967, -31.84326553, ..., -31.95551682,\n",
" -31.93475533, -31.91006279],\n",
" [-32.83132172, -32.83132172, -32.83132172, ..., -32.83132172,\n",
" -32.83132172, -32.83132172]],\n",
"\n",
" [[-53.70133972, -53.70133972, -53.70133972, ..., -53.70133972,\n",
" -53.70133972, -53.70133972],\n",
" [-50.02594376, -50.07233047, -50.11901093, ..., -49.88347626,\n",
" -49.93112564, -49.97804642],\n",
" [-49.16661835, -49.29807281, -49.42589951, ..., -48.75580978,\n",
" -48.89396286, -49.03115463],\n",
"...\n",
" [ -1.05963409, -1.05649328, -1.05370045, ..., -1.06824732,\n",
" -1.06510675, -1.06242192],\n",
" [ -1.06418574, -1.06315029, -1.06234932, ..., -1.06742334,\n",
" -1.06604695, -1.06509995],\n",
" [ -1.12615526, -1.12615526, -1.12615526, ..., -1.12615526,\n",
" -1.12615526, -1.12615526]],\n",
"\n",
" [[-48.71931076, -48.71931076, -48.71931076, ..., -48.71931076,\n",
" -48.71931076, -48.71931076],\n",
" [-45.70309448, -45.74006271, -45.77688599, ..., -45.59179306,\n",
" -45.62841034, -45.664814 ],\n",
" [-44.89496231, -44.9999733 , -45.10230255, ..., -44.5642662 ,\n",
" -44.67589569, -44.78623962],\n",
" ...,\n",
" [-18.21715736, -18.16695976, -18.11590195, ..., -18.38574219,\n",
" -18.32255554, -18.27195358],\n",
" [-18.61506462, -18.59276581, -18.57180786, ..., -18.68408012,\n",
" -18.66509819, -18.64017296],\n",
" [-19.34391594, -19.34391594, -19.34391594, ..., -19.34391594,\n",
" -19.34391594, -19.34391594]]])\n",
"Coordinates:\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
" * time (time) object 0001-01-01 00:00:00 ... 0001-10-01 00:00:00\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: climatology\n",
" freq: season\n",
" weighted: True\n",
" dec_mode: DJF\n",
" drop_incomplete_djf: True<xarray.DataArray 'time' (time: 4)>\n",
"array([cftime.DatetimeProlepticGregorian(1, 1, 1, 0, 0, 0, 0, has_year_zero=True),\n",
" cftime.DatetimeProlepticGregorian(1, 4, 1, 0, 0, 0, 0, has_year_zero=True),\n",
" cftime.DatetimeProlepticGregorian(1, 7, 1, 0, 0, 0, 0, has_year_zero=True),\n",
" cftime.DatetimeProlepticGregorian(1, 10, 1, 0, 0, 0, 0, has_year_zero=True)],\n",
" dtype=object)\n",
"Coordinates:\n",
" height float64 2.0\n",
" * time (time) object 0001-01-01 00:00:00 ... 0001-10-01 00:00:00\n",
"Attributes:\n",
" bounds: time_bnds\n",
" axis: T\n",
" long_name: time\n",
" standard_name: time\n",
" _ChunkSizes: 1<xarray.DataArray 'tas' (time: 4, lat: 145, lon: 192)>\n",
"array([[[-38.74568939, -38.74568939, -38.74568939, ..., -38.74568939,\n",
" -38.74568939, -38.74568939],\n",
" [-36.58245468, -36.61849976, -36.65530777, ..., -36.47352982,\n",
" -36.50952148, -36.54521942],\n",
" [-35.74017334, -35.84892654, -35.95645142, ..., -35.40914154,\n",
" -35.51865387, -35.62909698],\n",
" ...,\n",
" [-32.0694809 , -32.01528931, -31.96115875, ..., -32.24432373,\n",
" -32.18037796, -32.1263504 ],\n",
" [-32.59425354, -32.57166672, -32.55008316, ..., -32.66543961,\n",
" -32.64432526, -32.61899185],\n",
" [-33.51273727, -33.51273727, -33.51273727, ..., -33.51273727,\n",
" -33.51273727, -33.51273727]],\n",
"\n",
" [[-56.2096405 , -56.2096405 , -56.2096405 , ..., -56.2096405 ,\n",
" -56.2096405 , -56.2096405 ],\n",
" [-52.31330872, -52.36031723, -52.40692902, ..., -52.16948318,\n",
" -52.21759415, -52.26473999],\n",
" [-51.48299408, -51.61407852, -51.74102783, ..., -51.06825256,\n",
" -51.20875549, -51.34703445],\n",
"...\n",
" [ -4.15014648, -4.13455486, -4.11836147, ..., -4.20478487,\n",
" -4.18330002, -4.16762114],\n",
" [ -4.25911999, -4.25162458, -4.24448299, ..., -4.28251314,\n",
" -4.2763319 , -4.26777029],\n",
" [ -4.44926548, -4.44926548, -4.44926548, ..., -4.44926548,\n",
" -4.44926548, -4.44926548]],\n",
"\n",
" [[-38.29449081, -38.29449081, -38.29449081, ..., -38.29449081,\n",
" -38.29449081, -38.29449081],\n",
" [-36.35746002, -36.39224243, -36.42734528, ..., -36.25349045,\n",
" -36.28746796, -36.32162476],\n",
" [-35.58590698, -35.68638992, -35.78586197, ..., -35.27788162,\n",
" -35.38057709, -35.48319244],\n",
" ...,\n",
" [-24.59911537, -24.54461861, -24.49049377, ..., -24.7778244 ,\n",
" -24.71206665, -24.65720177],\n",
" [-25.07014275, -25.04795647, -25.027174 , ..., -25.13942909,\n",
" -25.1194191 , -25.09457588],\n",
" [-25.95426178, -25.95426178, -25.95426178, ..., -25.95426178,\n",
" -25.95426178, -25.95426178]]])\n",
"Coordinates:\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
" * time (time) object 0001-02-01 00:00:00 ... 0001-11-01 00:00:00\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: climatology\n",
" freq: season\n",
" weighted: True\n",
" custom_seasons: ['JanFebMar', 'AprMayJun', 'JulAugSep', 'OctNovDec']<xarray.DataArray 'tas' (time: 12, lat: 145, lon: 192)>\n",
"array([[[-28.21442795, -28.21442795, -28.21442795, ..., -28.21442795,\n",
" -28.21442795, -28.21442795],\n",
" [-27.14847946, -27.17834282, -27.20867348, ..., -27.06005478,\n",
" -27.08879089, -27.11763954],\n",
" [-26.4435463 , -26.53694916, -26.62967873, ..., -26.1612587 ,\n",
" -26.25445938, -26.34812355],\n",
" ...,\n",
" [-31.93053436, -31.87295341, -31.81675529, ..., -32.11352158,\n",
" -32.04728317, -31.99032974],\n",
" [-32.46694946, -32.44190598, -32.41777802, ..., -32.543293 ,\n",
" -32.52000809, -32.4929657 ],\n",
" [-33.39895248, -33.39895248, -33.39895248, ..., -33.39895248,\n",
" -33.39895248, -33.39895248]],\n",
"\n",
" [[-37.97247314, -37.97247314, -37.97247314, ..., -37.97247314,\n",
" -37.97247314, -37.97247314],\n",
" [-35.9917984 , -36.02771759, -36.06422424, ..., -35.88243866,\n",
" -35.91858673, -35.9542923 ],\n",
" [-35.13148499, -35.23939133, -35.34668732, ..., -34.80545044,\n",
" -34.91286087, -35.02162933],\n",
"...\n",
" [-24.97770691, -24.91987419, -24.86286926, ..., -25.1666317 ,\n",
" -25.09855843, -25.03938293],\n",
" [-25.40159607, -25.37743568, -25.3551445 , ..., -25.47573471,\n",
" -25.45422173, -25.42788887],\n",
" [-26.30274582, -26.30274582, -26.30274582, ..., -26.30274582,\n",
" -26.30274582, -26.30274582]],\n",
"\n",
" [[-27.46326065, -27.46326065, -27.46326065, ..., -27.46326065,\n",
" -27.46326065, -27.46326065],\n",
" [-26.38991165, -26.42050743, -26.45174217, ..., -26.30039787,\n",
" -26.32954788, -26.35881042],\n",
" [-25.6327858 , -25.72666359, -25.82057571, ..., -25.35087395,\n",
" -25.44388771, -25.53768921],\n",
" ...,\n",
" [-29.80114746, -29.74719429, -29.69542122, ..., -29.973629 ,\n",
" -29.90939331, -29.85676384],\n",
" [-30.31214523, -30.29234123, -30.27323341, ..., -30.3752346 ,\n",
" -30.35642242, -30.3335495 ],\n",
" [-31.22587013, -31.22587013, -31.22587013, ..., -31.22587013,\n",
" -31.22587013, -31.22587013]]])\n",
"Coordinates:\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
" * time (time) object 0001-01-01 00:00:00 ... 0001-12-01 00:00:00\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: climatology\n",
" freq: month\n",
" weighted: True<xarray.DataArray 'tas' (time: 365, lat: 145, lon: 192)>\n",
"dask.array<truediv, shape=(365, 145, 192), dtype=float64, chunksize=(1, 145, 192), chunktype=numpy.ndarray>\n",
"Coordinates:\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 ...\n",
" * time (time) object 0001-01-01 00:00:00 ... 0001-12-31 00:00:00\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: climatology\n",
" freq: day\n",
" weighted: True<xarray.DataArray 'tas' (time: 1977, lat: 145, lon: 192)>\n",
"array([[[ 4.34326172, 4.34326172, 4.34326172, ..., 4.34326172,\n",
" 4.34326172, 4.34326172],\n",
" [ 3.86720657, 3.8577919 , 3.85103607, ..., 3.88219452,\n",
" 3.87863541, 3.87652969],\n",
" [ 4.2077713 , 4.16518402, 4.11819077, ..., 4.32532883,\n",
" 4.28820419, 4.24903488],\n",
" ...,\n",
" [-12.20487785, -12.16464233, -12.10724449, ..., -12.2838459 ,\n",
" -12.24758339, -12.22140503],\n",
" [-12.55296707, -12.54230881, -12.52475929, ..., -12.58355713,\n",
" -12.5769062 , -12.56380463],\n",
" [-12.51847076, -12.51847076, -12.51847076, ..., -12.51847076,\n",
" -12.51847076, -12.51847076]],\n",
"\n",
" [[ -3.24290466, -3.24290466, -3.24290466, ..., -3.24290466,\n",
" -3.24290466, -3.24290466],\n",
" [ -3.34371567, -3.36968613, -3.38976288, ..., -3.2491684 ,\n",
" -3.28220749, -3.31663132],\n",
" [ -3.67527008, -3.71800995, -3.75824356, ..., -3.5437355 ,\n",
" -3.59187698, -3.63333511],\n",
"...\n",
" [ 0.38942909, 0.4767437 , 0.56199265, ..., 0.10713196,\n",
" 0.19812012, 0.29603195],\n",
" [ -0.33409309, -0.26799774, -0.2053833 , ..., -0.50570869,\n",
" -0.47422981, -0.41047096],\n",
" [ -0.21318245, -0.21318245, -0.21318245, ..., -0.21318245,\n",
" -0.21318245, -0.21318245]],\n",
"\n",
" [[ 10.28124619, 10.28124619, 10.28124619, ..., 10.28124619,\n",
" 10.28124619, 10.28124619],\n",
" [ 9.61903381, 9.61942673, 9.61753845, ..., 9.61211777,\n",
" 9.61251068, 9.61755753],\n",
" [ 9.96759415, 9.97954178, 9.98497772, ..., 9.94213486,\n",
" 9.95424652, 9.96336365],\n",
" ...,\n",
" [ 5.24849892, 5.38485527, 5.50936508, ..., 4.77218628,\n",
" 4.9283905 , 5.09534836],\n",
" [ 4.4073925 , 4.46779633, 4.53607178, ..., 4.21307182,\n",
" 4.27819633, 4.33395958],\n",
" [ 2.43467522, 2.43467522, 2.43467522, ..., 2.43467522,\n",
" 2.43467522, 2.43467522]]])\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 1850-03-16T12:00:00 1850-04-16 ... 2014-11-16\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: departures\n",
" freq: season\n",
" weighted: True\n",
" dec_mode: DJF\n",
" drop_incomplete_djf: True<xarray.DataArray 'tas' (time: 1980, lat: 145, lon: 192)>\n",
"array([[[ 1.15587234e+01, 1.15587234e+01, 1.15587234e+01, ...,\n",
" 1.15587234e+01, 1.15587234e+01, 1.15587234e+01],\n",
" [ 1.06294823e+01, 1.06283112e+01, 1.06131477e+01, ...,\n",
" 1.06636086e+01, 1.06529236e+01, 1.06392441e+01],\n",
" [ 1.07633209e+01, 1.07548561e+01, 1.07489014e+01, ...,\n",
" 1.07870865e+01, 1.07799606e+01, 1.07722702e+01],\n",
" ...,\n",
" [-3.13597870e+00, -3.16473389e+00, -3.20427704e+00, ...,\n",
" -3.06773376e+00, -3.09281540e+00, -3.11287689e+00],\n",
" [-3.20626831e+00, -3.22188187e+00, -3.23925400e+00, ...,\n",
" -3.15018845e+00, -3.16690826e+00, -3.19141769e+00],\n",
" [-2.88719559e+00, -2.88719559e+00, -2.88719559e+00, ...,\n",
" -2.88719559e+00, -2.88719559e+00, -2.88719559e+00]],\n",
"\n",
" [[-7.04269409e-02, -7.04269409e-02, -7.04269409e-02, ...,\n",
" -7.04269409e-02, -7.04269409e-02, -7.04269409e-02],\n",
" [ 7.80868530e-03, -7.27844238e-03, -2.19535828e-02, ...,\n",
" 5.26618958e-02, 3.81317139e-02, 2.33840942e-02],\n",
" [ 1.25839233e-01, 1.10904694e-01, 9.38415527e-02, ...,\n",
" 1.70631409e-01, 1.54930115e-01, 1.39518738e-01],\n",
"...\n",
" [ 1.16304569e+01, 1.17625141e+01, 1.18839569e+01, ...,\n",
" 1.11642685e+01, 1.13179016e+01, 1.14805965e+01],\n",
" [ 1.08624706e+01, 1.09229870e+01, 1.09914379e+01, ...,\n",
" 1.06684208e+01, 1.07325172e+01, 1.07883625e+01],\n",
" [ 9.04502106e+00, 9.04502106e+00, 9.04502106e+00, ...,\n",
" 9.04502106e+00, 9.04502106e+00, 9.04502106e+00]],\n",
"\n",
" [[ 9.30399704e+00, 9.30399704e+00, 9.30399704e+00, ...,\n",
" 9.30399704e+00, 9.30399704e+00, 9.30399704e+00],\n",
" [ 8.16454315e+00, 8.16766357e+00, 8.16603851e+00, ...,\n",
" 8.15755844e+00, 8.16147614e+00, 8.16360474e+00],\n",
" [ 7.97850037e+00, 7.98074722e+00, 7.98074722e+00, ...,\n",
" 7.96626663e+00, 7.96974945e+00, 7.97483063e+00],\n",
" ...,\n",
" [ 3.42844009e-01, 4.04024124e-01, 4.52957153e-01, ...,\n",
" 1.59294128e-01, 2.23571777e-01, 2.90761948e-01],\n",
" [ 4.41129684e-01, 4.34568405e-01, 4.77308273e-01, ...,\n",
" 3.87384415e-01, 3.97815704e-01, 4.28163528e-01],\n",
" [ 6.65031433e-01, 6.65031433e-01, 6.65031433e-01, ...,\n",
" 6.65031433e-01, 6.65031433e-01, 6.65031433e-01]]])\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 1850-01-16T12:00:00 ... 2014-12-16T12:00:00\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: departures\n",
" freq: season\n",
" weighted: True\n",
" custom_seasons: ['JanFebMar', 'AprMayJun', 'JulAugSep', 'OctNovDec']<xarray.DataArray 'tas' (time: 1980, lat: 145, lon: 192)>\n",
"array([[[ 1.02746201, 1.02746201, 1.02746201, ..., 1.02746201,\n",
" 1.02746201, 1.02746201],\n",
" [ 1.19550705, 1.18815422, 1.16651344, ..., 1.25013351,\n",
" 1.23219299, 1.2116642 ],\n",
" [ 1.46669388, 1.44287872, 1.42212868, ..., 1.53920364,\n",
" 1.51576614, 1.49129677],\n",
" ...,\n",
" [-3.27492523, -3.30706978, -3.3486805 , ..., -3.19853592,\n",
" -3.22591019, -3.24889755],\n",
" [-3.33357239, -3.35164261, -3.37155914, ..., -3.27233505,\n",
" -3.29122543, -3.31744385],\n",
" [-3.00098038, -3.00098038, -3.00098038, ..., -3.00098038,\n",
" -3.00098038, -3.00098038]],\n",
"\n",
" [[-0.84364319, -0.84364319, -0.84364319, ..., -0.84364319,\n",
" -0.84364319, -0.84364319],\n",
" [-0.5828476 , -0.59806061, -0.61303711, ..., -0.53842926,\n",
" -0.55280304, -0.56754303],\n",
" [-0.48284912, -0.49863052, -0.51592255, ..., -0.43305969,\n",
" -0.45086288, -0.46794891],\n",
"...\n",
" [12.00904846, 12.1377697 , 12.2563324 , ..., 11.55307579,\n",
" 11.70439339, 11.86277771],\n",
" [11.19392395, 11.2524662 , 11.31940842, ..., 11.00472641,\n",
" 11.06731987, 11.12167549],\n",
" [ 9.3935051 , 9.3935051 , 9.3935051 , ..., 9.3935051 ,\n",
" 9.3935051 , 9.3935051 ]],\n",
"\n",
" [[-1.52723312, -1.52723312, -1.52723312, ..., -1.52723312,\n",
" -1.52723312, -1.52723312],\n",
" [-1.80300522, -1.80407143, -1.80956459, ..., -1.79553413,\n",
" -1.79644394, -1.79920959],\n",
" [-1.97462082, -1.97897911, -1.98453903, ..., -1.96074104,\n",
" -1.96693993, -1.97067261],\n",
" ...,\n",
" [ 5.5448761 , 5.60659981, 5.6578846 , ..., 5.35509872,\n",
" 5.42089844, 5.49032402],\n",
" [ 5.68313217, 5.67895317, 5.72336769, ..., 5.62318993,\n",
" 5.63481903, 5.66713715],\n",
" [ 5.93663979, 5.93663979, 5.93663979, ..., 5.93663979,\n",
" 5.93663979, 5.93663979]]])\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 1850-01-16T12:00:00 ... 2014-12-16T12:00:00\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 2.0\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: departures\n",
" freq: month\n",
" weighted: True<xarray.DataArray 'tas' (time: 14600, lat: 145, lon: 192)>\n",
"dask.array<getitem, shape=(14600, 145, 192), dtype=float64, chunksize=(8, 145, 192), chunktype=numpy.ndarray>\n",
"Coordinates:\n",
" * time (time) datetime64[ns] 2010-01-01T03:00:00 ... 2015-01-01\n",
" * lat (lat) float64 -90.0 -88.75 -87.5 -86.25 ... 86.25 87.5 88.75 90.0\n",
" * lon (lon) float64 0.0 1.875 3.75 5.625 7.5 ... 352.5 354.4 356.2 358.1\n",
" height float64 ...\n",
"Attributes:\n",
" operation: temporal_avg\n",
" mode: departures\n",
" freq: day\n",
" weighted: True