{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### load the CMIP5 rcp85 RAW files and do some data cleaning\n", "\n", "* lots of trouble with dates till 2300\n", "* can't fix the off-by-12hours trouble when the dates get re-interpreted as cftime" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "from glob import glob\n", "import os, sys\n", "sys.path.append(\"/home2/nhn2/py_packages\")\n", "from myplots.cplot import my_contourf\n", "from tqdm import tqdm\n", "from mytools.LG_xarray_tools import xarray_trend\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [], "source": [ "# lets get started using the 1x1 degree 40 models that Haibo has on kage:\n", "\n", "recompute = False\n", "\n", "scenario ='historical'\n", "#scenario ='rcp85'\n", "var = 'ts'\n", "\n", "path = '/net/stregone/home/naomi/Raws/histPrcp85/*/'+scenario+'/atmos/mon/'+var\n", "\n", "files = glob(path + '/r1i1p1/*.nc')\n", "models=[]\n", "for file in files:\n", " models += [file.split(\"/\")[-7]]\n", "\n", "umodels = sorted(list(set(models)))\n" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0 ACCESS1-0 units = days since 0001-01-01 \t calendar = proleptic_gregorian\n", " 1 ACCESS1-3 units = days since 0001-01-01 \t calendar = proleptic_gregorian\n", " 2 BNU-ESM units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 3 CCSM4 units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 4 CESM1-BGC units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 5 CESM1-CAM5 units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 6 CESM1-CAM5-1-FV2 units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 7 CESM1-FASTCHEM units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 8 CESM1-WACCM units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", " 9 CMCC-CESM units = days since 1850-1-1 \t calendar = standard\n", "10 CMCC-CM units = days since 1850-1-1 \t calendar = standard\n", "11 CMCC-CMS units = days since 1850-1-1 \t calendar = standard\n", "12 CNRM-CM5-2 units = days since 1850-1-1 \t calendar = gregorian\n", "13 CSIRO-Mk3-6-0 units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "14 CanCM4 units = days since 1850-1-1 \t calendar = 365_day\n", "15 CanESM2 units = days since 1850-1-1 \t calendar = 365_day\n", "16 FGOALS-g2 units = days since 0001-01-01 00:00:00 \t calendar = noleap\n", "17 FGOALS-s2 units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "18 FIO-ESM units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "19 GFDL-CM3 units = days since 1860-01-01 00:00:00 \t calendar = noleap\n", "20 GFDL-ESM2M units = days since 1861-01-01 00:00:00 \t calendar = noleap\n", "21 GISS-E2-H units = days since 1850-1-1 \t calendar = 365_day\n", "22 GISS-E2-H-CC units = days since 1850-1-1 \t calendar = 365_day\n", "23 GISS-E2-R units = days since 1850-1-1 \t calendar = 365_day\n", "24 GISS-E2-R-CC units = days since 1850-1-1 \t calendar = 365_day\n", "25 HadCM3 units = days since 1859-12-01 \t calendar = 360_day\n", "26 HadGEM2-AO units = days since 1860-01-01 \t calendar = 360_day\n", "27 HadGEM2-CC units = days since 1859-12-01 \t calendar = 360_day\n", "28 HadGEM2-ES units = days since 1859-12-01 \t calendar = 360_day\n", "29 IPSL-CM5A-LR units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "30 IPSL-CM5B-LR units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "31 MIROC-ESM units = days since 1850-1-1 \t calendar = gregorian\n", "32 MIROC-ESM-CHEM units = days since 1850-1-1 \t calendar = gregorian\n", "33 MIROC4h units = days since 1950-1-1 \t calendar = gregorian\n", "34 MIROC5 units = days since 1850-1-1 \t calendar = noleap\n", "35 MPI-ESM-LR units = days since 1850-1-1 00:00:00 \t calendar = proleptic_gregorian\n", "36 MPI-ESM-MR units = days since 1850-1-1 00:00:00 \t calendar = proleptic_gregorian\n", "37 MPI-ESM-P units = days since 850-1-1 00:00:00 \t calendar = proleptic_gregorian\n", "38 MRI-CGCM3 units = days since 1850-01-01 \t calendar = standard\n", "39 MRI-ESM1 units = days since 1851-01-01 \t calendar = standard\n", "40 NorESM1-M units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "41 NorESM1-ME units = days since 1850-01-01 00:00:00 \t calendar = noleap\n", "42 bcc-csm1-1 units = days since 1850-01-01 \t calendar = noleap\n", "43 bcc-csm1-1-m units = days since 1850-01-01 \t calendar = noleap\n", "44 inmcm4 units = days since 1850-1-1 \t calendar = 365_day\n" ] } ], "source": [ "m_units=[]\n", "m=0\n", "for model in umodels:\n", " path = '/net/stregone/home/naomi/Raws/histPrcp85/'+model+'/'+scenario+'/atmos/mon/'+var\n", " files = sorted(glob(path + '/r1i1p1/*.nc'))\n", " file1 = files[0] \n", " dss = xr.open_dataset(file1,decode_times=False,autoclose=True)\n", " fstr = '{:2} {:18} units = {:40} \\t calendar = {:.20}'\n", " m_units += [dss.time.attrs['units']]\n", " print(fstr.format(m,model,dss.time.attrs['units'],dss.time.attrs['calendar']))\n", " m += 1" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0: ACCESS1-0 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.25, 208.5Mb\n", " 1: ACCESS1-3 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.25, 208.5Mb\n", " 2: BNU-ESM num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=2.77, 61.4Mb\n", " 3: CCSM4 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.25, dy=0.94, 414.1Mb\n", " 4: CESM1-BGC num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.25, dy=0.94, 414.1Mb\n", " 5: CESM1-CAM5 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.25, dy=0.94, 414.1Mb\n", " 6: CESM1-CAM5-1-FV2 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=1.89, 103.6Mb\n", " 7: CESM1-FASTCHEM num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.25, dy=0.94, 414.1Mb\n", " 8: CESM1-WACCM num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=1.89, 103.6Mb\n", " 9: CMCC-CESM num_files=32, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=3.75, dy=3.68, 38.9Mb\n", "10: CMCC-CM num_files=16, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=0.75, dy=0.74, 884.2Mb\n", "11: CMCC-CMS num_files=16, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.85, 146.7Mb\n", "12: CNRM-CM5-2 num_files= 4, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.41, dy=1.39, 256.9Mb\n", "13: CSIRO-Mk3-6-0 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.85, 138.1Mb\n", "14: CanCM4 num_files= 1, 1961-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=2.77, 17.7Mb\n", "15: CanESM2 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=2.77, 61.4Mb\n", "16: FGOALS-g2 num_files=16, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=6.13, 63.2Mb\n", "17: FGOALS-s2 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=1.65, 103.6Mb\n", "18: FIO-ESM num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=2.77, 61.4Mb\n", "19: GFDL-CM3 num_files=30, 1860-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=2.00, 97.5Mb\n", "20: GFDL-ESM2M num_files=29, 1861-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=1.52, 96.8Mb\n", "21: GISS-E2-H num_files= 3, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=2.00, 104.1Mb\n", "22: GISS-E2-H-CC num_files= 3, 1850-01-16T12:00:00 to 2010-12-16T12:00:00, dx=2.50, dy=2.00, 107.4Mb\n", "23: GISS-E2-R num_files= 7, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=2.00, 104.1Mb\n", "24: GISS-E2-R-CC num_files= 7, 1850-01-16T12:00:00 to 2010-12-16T12:00:00, dx=2.50, dy=2.00, 107.4Mb\n", "25: HadCM3 num_files= 6, 1859-12-16T00:00:00 to 2005-12-16T00:00:00, dx=3.75, dy=2.50, 53.9Mb\n", "26: HadGEM2-AO num_files= 1, 1860-01-16T00:00:00 to 2005-12-16T00:00:00, dx=1.88, dy=1.25, 195.2Mb\n", "27: HadGEM2-CC num_files= 6, 1859-12-16T00:00:00 to 2005-11-16T00:00:00, dx=1.88, dy=1.25, 204.6Mb\n", "28: HadGEM2-ES num_files= 6, 1859-12-16T00:00:00 to 2005-11-16T00:00:00, dx=1.88, dy=1.25, 204.6Mb\n", "29: IPSL-CM5A-LR num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=3.75, dy=1.89, 69.1Mb\n", "30: IPSL-CM5B-LR num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=3.75, dy=1.89, 69.1Mb\n", "31: MIROC-ESM num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=2.77, 61.4Mb\n", "32: MIROC-ESM-CHEM num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.81, dy=2.77, 61.4Mb\n", "33: MIROC4h num_files= 7, 1950-01-16T12:00:00 to 2005-12-16T12:00:00, dx=0.56, dy=0.56, 560.8Mb\n", "34: MIROC5 num_files= 1, 1850-01-16T12:00:00 to 2012-12-16T12:00:00, dx=1.41, dy=1.39, 256.4Mb\n", "35: MPI-ESM-LR num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.85, 138.1Mb\n", "36: MPI-ESM-MR num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.85, 138.1Mb\n", "37: MPI-ESM-P num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.88, dy=1.85, 138.1Mb\n", "38: MRI-CGCM3 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.12, dy=1.11, 383.4Mb\n", "39: MRI-ESM1 num_files= 1, 1851-01-16T12:00:00 to 2005-12-16T12:00:00, dx=1.12, dy=1.11, 381.0Mb\n", "40: NorESM1-M num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=1.89, 103.6Mb\n", "41: NorESM1-ME num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.50, dy=1.89, 103.6Mb\n", "42: bcc-csm1-1 num_files= 1, 1850-01-16T12:00:00 to 2012-12-16T12:00:00, dx=2.81, dy=2.77, 64.1Mb\n", "43: bcc-csm1-1-m num_files= 1, 1850-01-16T12:00:00 to 2012-12-16T12:00:00, dx=1.12, dy=1.11, 400.6Mb\n", "44: inmcm4 num_files= 1, 1850-01-16T12:00:00 to 2005-12-16T12:00:00, dx=2.00, dy=1.50, 161.8Mb\n", "8.480175864 Gb\n" ] } ], "source": [ "from ingrid.times import to_pandas, enso2date\n", "ds = []\n", "good_models = []\n", "num = 0\n", "size = 0\n", "#for model in tqdm(umodels):\n", "for model,units in zip(umodels,m_units):\n", " path = '/net/stregone/home/naomi/Raws/histPrcp85/'+model+'/'+scenario+'/atmos/mon/'+var\n", " files = sorted(glob(path + '/r1i1p1/*.nc'))\n", " num_files = np.shape(files)[0] \n", " if num_files:\n", " dss = xr.open_mfdataset(files,decode_times=True,autoclose=True)\n", " #xr.decode_cf(dss)\n", " nt = dss.time.shape[0]\n", " size = size + dss.nbytes\n", " #dss = dss.isel(time=list(np.arange(0,min(nt,1200))))\n", " ds += [dss[var]]\n", " good_models += [model]\n", " dx = (dss.lon[1]-dss.lon[0]).values\n", " dy = (dss.lat[1]-dss.lat[0]).values\n", " tfirst = str(dss.time[0].values)\n", " tlast = str(dss.time[-1].values)\n", " fstr = '{:2g}: {:18} num_files={:2g}, {:.19} to {:.19}, dx={:04.2f}, dy={:04.2f}, {:5.1f}Mb'\n", " print(fstr.format(num,model,num_files,tfirst,tlast,dx,dy,dss.nbytes/ 1e6))\n", " num += 1\n", " else:\n", " print('no files available')\n", "print(size/ 1e9,'Gb')" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 1850-01-16T12:00:00.000000000 \n", "ACCESS1-0 start = 1850-01-16T12:00:00.000000000\n", "1 1850-01-16T12:00:00.000000000 \n", "ACCESS1-3 start = 1850-01-16T12:00:00.000000000\n", "2 1850-01-16T12:00:00.000000000 \n", "BNU-ESM start = 1850-01-16T12:00:00.000000000\n", "3 1850-01-16T12:00:00.000000000 \n", "CCSM4 start = 1850-01-16T12:00:00.000000000\n", "4 1850-01-16T12:00:00.000000000 \n", "CESM1-BGC start = 1850-01-16T12:00:00.000000000\n", "5 1850-01-16T12:00:00.000000000 \n", "CESM1-CAM5 start = 1850-01-16T12:00:00.000000000\n", "6 1850-01-16T12:00:00.000000000 \n", "CESM1-CAM5-1-FV2 start = 1850-01-16T12:00:00.000000000\n", "7 1850-01-16T12:00:00.000000000 \n", "CESM1-FASTCHEM start = 1850-01-16T12:00:00.000000000\n", "8 1850-01-16T12:00:00.000000000 \n", "CESM1-WACCM start = 1850-01-16T12:00:00.000000000\n", "9 1850-01-16T12:00:00.000000000 \n", "CMCC-CESM start = 1850-01-16T12:00:00.000000000\n", "10 1850-01-16T12:00:00.000000000 \n", "CMCC-CM start = 1850-01-16T12:00:00.000000000\n", "11 1850-01-16T12:00:00.000000000 \n", "CMCC-CMS start = 1850-01-16T12:00:00.000000000\n", "12 1850-01-16T12:00:00.000000000 \n", "CNRM-CM5-2 start = 1850-01-16T12:00:00.000000000\n", "13 1850-01-16T12:00:00.000000000 \n", "CSIRO-Mk3-6-0 start = 1850-01-16T12:00:00.000000000\n", "14 1961-01-16T12:00:00.000000000 \n", "CanCM4 start = 1961-01-16T12:00:00.000000000\n", "15 1850-01-16T12:00:00.000000000 \n", "CanESM2 start = 1850-01-16T12:00:00.000000000\n", "16 1850-01-16T12:00:00.000000000 \n", "FGOALS-g2 start = 1850-01-16T12:00:00.000000000\n", "17 1850-01-16T12:00:00.000000000 \n", "FGOALS-s2 start = 1850-01-16T12:00:00.000000000\n", "18 1850-01-16T12:00:00.000000000 \n", "FIO-ESM start = 1850-01-16T12:00:00.000000000\n", "19 1860-01-16T12:00:00.000000000 \n", "GFDL-CM3 start = 1860-01-16T12:00:00.000000000\n", "20 1861-01-16T12:00:00.000000000 \n", "GFDL-ESM2M start = 1861-01-16T12:00:00.000000000\n", "21 1850-01-16T12:00:00.000000000 \n", "GISS-E2-H start = 1850-01-16T12:00:00.000000000\n", "22 1850-01-16T12:00:00.000000000 \n", "GISS-E2-H-CC start = 1850-01-16T12:00:00.000000000\n", "23 1850-01-16T12:00:00.000000000 \n", "GISS-E2-R start = 1850-01-16T12:00:00.000000000\n", "24 1850-01-16T12:00:00.000000000 \n", "GISS-E2-R-CC start = 1850-01-16T12:00:00.000000000\n", "25 1859-12-16T00:00:00.000000000 \n", "['1859-12-16T00:00:00.000000000' '1860-01-16T00:00:00.000000000'\n", " '1860-02-16T00:00:00.000000000' ... '2005-10-16T00:00:00.000000000'\n", " '2005-11-16T00:00:00.000000000' '2005-12-16T00:00:00.000000000'] \n", "HadCM3 start = 1859-12-16T12:00:00.000000000\n", "26 1860-01-16T00:00:00.000000000 \n", "['1860-01-16T00:00:00.000000000' '1860-02-16T00:00:00.000000000'\n", " '1860-03-16T00:00:00.000000000' ... '2005-10-16T00:00:00.000000000'\n", " '2005-11-16T00:00:00.000000000' '2005-12-16T00:00:00.000000000'] \n", "HadGEM2-AO start = 1860-01-16T12:00:00.000000000\n", "27 1859-12-16T00:00:00.000000000 \n", "['1859-12-16T00:00:00.000000000' '1860-01-16T00:00:00.000000000'\n", " '1860-02-16T00:00:00.000000000' ... '2005-09-16T00:00:00.000000000'\n", " '2005-10-16T00:00:00.000000000' '2005-11-16T00:00:00.000000000'] \n", "HadGEM2-CC start = 1859-12-16T12:00:00.000000000\n", "28 1859-12-16T00:00:00.000000000 \n", "['1859-12-16T00:00:00.000000000' '1860-01-16T00:00:00.000000000'\n", " '1860-02-16T00:00:00.000000000' ... '2005-09-16T00:00:00.000000000'\n", " '2005-10-16T00:00:00.000000000' '2005-11-16T00:00:00.000000000'] \n", "HadGEM2-ES start = 1859-12-16T12:00:00.000000000\n", "29 1850-01-16T12:00:00.000000000 \n", "IPSL-CM5A-LR start = 1850-01-16T12:00:00.000000000\n", "30 1850-01-16T12:00:00.000000000 \n", "IPSL-CM5B-LR start = 1850-01-16T12:00:00.000000000\n", "31 1850-01-16T12:00:00.000000000 \n", "MIROC-ESM start = 1850-01-16T12:00:00.000000000\n", "32 1850-01-16T12:00:00.000000000 \n", "MIROC-ESM-CHEM start = 1850-01-16T12:00:00.000000000\n", "33 1950-01-16T12:00:00.000000000 \n", "MIROC4h start = 1950-01-16T12:00:00.000000000\n", "34 1850-01-16T12:00:00.000000000 \n", "MIROC5 start = 1850-01-16T12:00:00.000000000\n", "35 1850-01-16T12:00:00.000000000 \n", "MPI-ESM-LR start = 1850-01-16T12:00:00.000000000\n", "36 1850-01-16T12:00:00.000000000 \n", "MPI-ESM-MR start = 1850-01-16T12:00:00.000000000\n", "37 1850-01-16T12:00:00.000000000 \n", "MPI-ESM-P start = 1850-01-16T12:00:00.000000000\n", "38 1850-01-16T12:00:00.000000000 \n", "MRI-CGCM3 start = 1850-01-16T12:00:00.000000000\n", "39 1851-01-16T12:00:00.000000000 \n", "MRI-ESM1 start = 1851-01-16T12:00:00.000000000\n", "40 1850-01-16T12:00:00.000000000 \n", "NorESM1-M start = 1850-01-16T12:00:00.000000000\n", "41 1850-01-16T12:00:00.000000000 \n", "NorESM1-ME start = 1850-01-16T12:00:00.000000000\n", "42 1850-01-16T12:00:00.000000000 \n", "bcc-csm1-1 start = 1850-01-16T12:00:00.000000000\n", "43 1850-01-16T12:00:00.000000000 \n", "bcc-csm1-1-m start = 1850-01-16T12:00:00.000000000\n", "44 1850-01-16T12:00:00.000000000 \n", "inmcm4 start = 1850-01-16T12:00:00.000000000\n" ] } ], "source": [ "# ok, lets first fix the 360_day models \n", "from datetime import datetime\n", "num = 0\n", "for dss in ds:\n", " #t1 = np.datetime64(dss.time[0].values)\n", " t1 = dss.time[0].values\n", " #if not 'datetime64' in str(type(t1)):\n", " \n", " \n", " print(num,t1,type(t1))\n", " #print(dss.time)\n", " if 'T00:00:00' in str(t1):\n", " print(dss.time.values,type(dss.time.values[0]))\n", " if 'Timestamp' in str(type(dss.time.values[0])):\n", " dt = pd.to_datetime(dss.time.values)\n", " #ds[num]['time'] = np.datetime64(dt) + np.timedelta64(12, 'h')\n", " ds[num]['time'] = dt + np.timedelta64(12, 'h')\n", " else:\n", " ds[num]['time'] = dss.time.values + np.timedelta64(12, 'h')\n", " fstr = '{:18} start = {:20}'\n", " print(fstr.format(umodels[num],ds[num].time[0].values))\n", " num += 1" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reuse existing file: bilinear_145x192_89x179_peri.nc\n", "Reuse existing file: bilinear_145x192_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_192x288_89x179_peri.nc\n", "Reuse existing file: bilinear_192x288_89x179_peri.nc\n", "Reuse existing file: bilinear_192x288_89x179_peri.nc\n", "Reuse existing file: bilinear_96x144_89x179_peri.nc\n", "Reuse existing file: bilinear_192x288_89x179_peri.nc\n", "Reuse existing file: bilinear_96x144_89x179_peri.nc\n", "Reuse existing file: bilinear_48x96_89x179_peri.nc\n", "Reuse existing file: bilinear_240x480_89x179_peri.nc\n", "Reuse existing file: bilinear_96x192_89x179_peri.nc\n", "Reuse existing file: bilinear_128x256_89x179_peri.nc\n", "Reuse existing file: bilinear_96x192_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_60x128_89x179_peri.nc\n", "Reuse existing file: bilinear_108x128_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_90x144_89x179_peri.nc\n", "Reuse existing file: bilinear_90x144_89x179_peri.nc\n", "Reuse existing file: bilinear_90x144_89x179_peri.nc\n", "Reuse existing file: bilinear_90x144_89x179_peri.nc\n", "Reuse existing file: bilinear_90x144_89x179_peri.nc\n", "Reuse existing file: bilinear_90x144_89x179_peri.nc\n", "Reuse existing file: bilinear_73x96_89x179_peri.nc\n", "Reuse existing file: bilinear_145x192_89x179_peri.nc\n", "Reuse existing file: bilinear_145x192_89x179_peri.nc\n", "Reuse existing file: bilinear_145x192_89x179_peri.nc\n", "Reuse existing file: bilinear_96x96_89x179_peri.nc\n", "Reuse existing file: bilinear_96x96_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_320x640_89x179_peri.nc\n", "Reuse existing file: bilinear_128x256_89x179_peri.nc\n", "Reuse existing file: bilinear_96x192_89x179_peri.nc\n", "Reuse existing file: bilinear_96x192_89x179_peri.nc\n", "Reuse existing file: bilinear_96x192_89x179_peri.nc\n", "Reuse existing file: bilinear_160x320_89x179_peri.nc\n", "Reuse existing file: bilinear_160x320_89x179_peri.nc\n", "Reuse existing file: bilinear_96x144_89x179_peri.nc\n", "Reuse existing file: bilinear_96x144_89x179_peri.nc\n", "Reuse existing file: bilinear_64x128_89x179_peri.nc\n", "Reuse existing file: bilinear_160x320_89x179_peri.nc\n", "Reuse existing file: bilinear_120x180_89x179_peri.nc\n" ] } ], "source": [ "# now we will interpolate in (lon,lat)\n", "import xesmf as xe\n", "ds_out = xr.Dataset({'lat': (['lat'], np.arange(-89,89, 2)),\n", " 'lon': (['lon'], np.arange(-179,179,2)),\n", " })\n", "regridder = list(map(lambda x: \n", " xe.Regridder(x, ds_out, 'bilinear',\n", " periodic=True, reuse_weights=True ), ds))" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [], "source": [ "ts_2x2 = list(map(lambda x,y: \n", " x(y.sel(time=slice('1961-01-16', '2005-12-16'))),\n", " regridder,ds))" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [], "source": [ "dsall = xr.concat(ts_2x2,dim='model')\n", "dsall.nbytes / 1e9,'Gb'" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dclim = dsall.groupby('time.month').mean(dim='time')\n", "danom = dsall.groupby('time.month') - dclim\n", "del danom['month']\n", "danom.mean(['lat','lon']).plot()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "gist_info": { "gist_id": null, "gist_url": null }, "kernelspec": { "display_name": "Py3 pangeo", "language": "python", "name": "pangeo" }, "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }