Skip to content

Instantly share code, notes, and snippets.

@andersy005
Last active August 9, 2019 22:34
Show Gist options
  • Select an option

  • Save andersy005/292c68bd65ab492f31eca73cc9a3d67a to your computer and use it in GitHub Desktop.

Select an option

Save andersy005/292c68bd65ab492f31eca73cc9a3d67a to your computer and use it in GitHub Desktop.
INTAKE-ESM
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# zarr-ification of CESM-LE for AWS"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"warnings.filterwarnings(\"ignore\")\n",
"import os\n",
"import shutil\n",
"\n",
"import yaml\n",
"\n",
"import xarray as xr\n",
"\n",
"import intake\n",
"from distributed.utils import format_bytes\n",
"from operator import mul\n",
"from functools import reduce\n",
"import dask"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Spinup cluster"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0d38113b248142cba6be2440a62a91a9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox(children=(HTML(value='<h2>NCARCluster</h2>'), HBox(children=(HTML(value='\\n<div>\\n <style scoped>\\n .…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from ncar_jobqueue import NCARCluster\n",
"cluster = NCARCluster(memory=\"150GB\")\n",
"cluster.adapt(minimum=5, maximum=50, wait_count=60)\n",
"cluster"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table style=\"border: 2px solid white;\">\n",
"<tr>\n",
"<td style=\"vertical-align: top; border: 0px solid white\">\n",
"<h3>Client</h3>\n",
"<ul>\n",
" <li><b>Scheduler: </b>tcp://10.12.203.5:40166\n",
" <li><b>Dashboard: </b><a href='http:localhost:8777/proxy/33483/status' target='_blank'>http:localhost:8777/proxy/33483/status</a>\n",
"</ul>\n",
"</td>\n",
"<td style=\"vertical-align: top; border: 0px solid white\">\n",
"<h3>Cluster</h3>\n",
"<ul>\n",
" <li><b>Workers: </b>0</li>\n",
" <li><b>Cores: </b>0</li>\n",
" <li><b>Memory: </b>0 B</li>\n",
"</ul>\n",
"</td>\n",
"</tr>\n",
"</table>"
],
"text/plain": [
"<Client: scheduler='tcp://10.12.203.5:40166' processes=0 cores=0>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from dask.distributed import Client\n",
"dask.config.set({'distributed.dashboard.link': 'http:localhost:8777/proxy/{port}/status'})\n",
"client = Client(cluster) # Connect this local process to remote workers\n",
"client"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Connect to intake-esm database"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>resource</th>\n",
" <th>resource_type</th>\n",
" <th>direct_access</th>\n",
" <th>experiment</th>\n",
" <th>case</th>\n",
" <th>component</th>\n",
" <th>stream</th>\n",
" <th>variable</th>\n",
" <th>date_range</th>\n",
" <th>member_id</th>\n",
" <th>file_fullpath</th>\n",
" <th>file_basename</th>\n",
" <th>file_dirname</th>\n",
" <th>ctrl_branch_year</th>\n",
" <th>year_offset</th>\n",
" <th>sequence_order</th>\n",
" <th>has_ocean_bgc</th>\n",
" <th>grid</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>CTRL:GLADE:posix:/glade/collections/cdg/data/c...</td>\n",
" <td>posix</td>\n",
" <td>True</td>\n",
" <td>CTRL</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005</td>\n",
" <td>atm</td>\n",
" <td>cam.h1</td>\n",
" <td>T200</td>\n",
" <td>18000101-18991231</td>\n",
" <td>0</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.180001...</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>NaN</td>\n",
" <td>1448.0</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>CTRL:GLADE:posix:/glade/collections/cdg/data/c...</td>\n",
" <td>posix</td>\n",
" <td>True</td>\n",
" <td>CTRL</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005</td>\n",
" <td>atm</td>\n",
" <td>cam.h1</td>\n",
" <td>T200</td>\n",
" <td>08000101-08991231</td>\n",
" <td>0</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.080001...</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>NaN</td>\n",
" <td>1448.0</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>CTRL:GLADE:posix:/glade/collections/cdg/data/c...</td>\n",
" <td>posix</td>\n",
" <td>True</td>\n",
" <td>CTRL</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005</td>\n",
" <td>atm</td>\n",
" <td>cam.h1</td>\n",
" <td>T200</td>\n",
" <td>04020101-04991231</td>\n",
" <td>0</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.040201...</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>NaN</td>\n",
" <td>1448.0</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>CTRL:GLADE:posix:/glade/collections/cdg/data/c...</td>\n",
" <td>posix</td>\n",
" <td>True</td>\n",
" <td>CTRL</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005</td>\n",
" <td>atm</td>\n",
" <td>cam.h1</td>\n",
" <td>T200</td>\n",
" <td>10000101-10991231</td>\n",
" <td>0</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.100001...</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>NaN</td>\n",
" <td>1448.0</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>CTRL:GLADE:posix:/glade/collections/cdg/data/c...</td>\n",
" <td>posix</td>\n",
" <td>True</td>\n",
" <td>CTRL</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005</td>\n",
" <td>atm</td>\n",
" <td>cam.h1</td>\n",
" <td>T200</td>\n",
" <td>11000101-11991231</td>\n",
" <td>0</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.110001...</td>\n",
" <td>/glade/collections/cdg/data/cesmLE/CESM-CAM5-B...</td>\n",
" <td>NaN</td>\n",
" <td>1448.0</td>\n",
" <td>0</td>\n",
" <td>True</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" resource resource_type \\\n",
"0 CTRL:GLADE:posix:/glade/collections/cdg/data/c... posix \n",
"1 CTRL:GLADE:posix:/glade/collections/cdg/data/c... posix \n",
"2 CTRL:GLADE:posix:/glade/collections/cdg/data/c... posix \n",
"3 CTRL:GLADE:posix:/glade/collections/cdg/data/c... posix \n",
"4 CTRL:GLADE:posix:/glade/collections/cdg/data/c... posix \n",
"\n",
" direct_access experiment case component stream \\\n",
"0 True CTRL b.e11.B1850C5CN.f09_g16.005 atm cam.h1 \n",
"1 True CTRL b.e11.B1850C5CN.f09_g16.005 atm cam.h1 \n",
"2 True CTRL b.e11.B1850C5CN.f09_g16.005 atm cam.h1 \n",
"3 True CTRL b.e11.B1850C5CN.f09_g16.005 atm cam.h1 \n",
"4 True CTRL b.e11.B1850C5CN.f09_g16.005 atm cam.h1 \n",
"\n",
" variable date_range member_id \\\n",
"0 T200 18000101-18991231 0 \n",
"1 T200 08000101-08991231 0 \n",
"2 T200 04020101-04991231 0 \n",
"3 T200 10000101-10991231 0 \n",
"4 T200 11000101-11991231 0 \n",
"\n",
" file_fullpath \\\n",
"0 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... \n",
"1 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... \n",
"2 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... \n",
"3 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... \n",
"4 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... \n",
"\n",
" file_basename \\\n",
"0 b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.180001... \n",
"1 b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.080001... \n",
"2 b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.040201... \n",
"3 b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.100001... \n",
"4 b.e11.B1850C5CN.f09_g16.005.cam.h1.T200.110001... \n",
"\n",
" file_dirname ctrl_branch_year \\\n",
"0 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... NaN \n",
"1 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... NaN \n",
"2 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... NaN \n",
"3 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... NaN \n",
"4 /glade/collections/cdg/data/cesmLE/CESM-CAM5-B... NaN \n",
"\n",
" year_offset sequence_order has_ocean_bgc grid \n",
"0 1448.0 0 True NaN \n",
"1 1448.0 0 True NaN \n",
"2 1448.0 0 True NaN \n",
"3 1448.0 0 True NaN \n",
"4 1448.0 0 True NaN "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"col = intake.open_esm_metadatastore(collection_name='CESM1-LE')\n",
"col.df.head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9e113c8e970749d089e5599f15e1bfc5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='dataset', max=1, style=ProgressStyle(description_width='initi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "238e71366e03444f9f2ff085f0df3277",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='member', max=40, style=ProgressStyle(description_width='initi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"<xarray.Dataset>\n",
"Dimensions: (hist_interval: 2, lat: 290, levgrnd: 21, levlak: 10, lon: 288, member_id: 40, time: 34676)\n",
"Coordinates:\n",
" * lat (lat) float64 -90.0 -89.06 -89.06 -88.12 ... 89.06 89.06 90.0\n",
" * levgrnd (levgrnd) float64 0.007101 0.02792 0.06226 ... 21.33 35.18\n",
" * time (time) object 2006-01-01 00:00:00 ... 2101-01-01 00:00:00\n",
" * levlak (levlak) float64 0.05 0.6 2.1 4.6 ... 18.6 25.6 34.33 44.78\n",
" * lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8\n",
" * member_id (member_id) int64 1 2 3 4 5 6 7 ... 34 35 101 102 103 104 105\n",
"Dimensions without coordinates: hist_interval\n",
"Data variables:\n",
" area (lat, lon) float32 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" landfrac (lat, lon) float32 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" landmask (lat, lon) float64 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" pftmask (lat, lon) float64 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" topo (lat, lon) float32 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" date_written (time) object dask.array<shape=(34676,), chunksize=(50,)>\n",
" mcdate (time) float64 dask.array<shape=(34676,), chunksize=(50,)>\n",
" mcsec (time) float64 dask.array<shape=(34676,), chunksize=(50,)>\n",
" mdcur (time) float64 dask.array<shape=(34676,), chunksize=(50,)>\n",
" mscur (time) float64 dask.array<shape=(34676,), chunksize=(50,)>\n",
" nstep (time) float64 dask.array<shape=(34676,), chunksize=(50,)>\n",
" time_bounds (time, hist_interval) object dask.array<shape=(34676, 2), chunksize=(50, 2)>\n",
" time_written (time) object dask.array<shape=(34676,), chunksize=(50,)>\n",
" FSNO (member_id, time, lat, lon) float32 dask.array<shape=(40, 34676, 290, 288), chunksize=(1, 50, 290, 288)>\n",
"Attributes:\n",
" NCO: 4.4.2\n",
" Conventions: CF-1.0\n",
" version: cesm1_1_1_alpha01g\n",
" title: CLM History file information\n",
" hostname: tcs\n",
" history: 2019-07-17 19:39:01.150525 xarray.o...\n",
" PFT_physiological_constants_dataset: pft-physiology.c110425.nc\n",
" comment: NOTE: None of the variables are wei...\n",
" revision_id: $Id: histFileMod.F90 40539 2012-09-...\n",
" nco_openmp_thread_number: 1\n",
" case_title: UNSET\n",
" username: mudryk\n",
" Surface_dataset: surfdata_0.9x1.25_simyr1850_c110921.nc\n",
" source: Community Land Model CLM4.0\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3c9f98bb63f14e52868b0c6b5a37a7c1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='dataset', max=1, style=ProgressStyle(description_width='initi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "63a1b3b7b9074851a77393bd45a2e647",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='member', max=40, style=ProgressStyle(description_width='initi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"<xarray.Dataset>\n",
"Dimensions: (hist_interval: 2, lat: 192, levgrnd: 15, levlak: 10, lon: 288, member_id: 40, time: 56941)\n",
"Coordinates:\n",
" * time (time) object 1850-01-01 00:00:00 ... 2006-01-01 00:00:00\n",
" * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
" * levgrnd (levgrnd) float64 0.007101 0.02792 0.06226 ... 21.33 35.18\n",
" * levlak (levlak) float64 0.05 0.6 2.1 4.6 ... 18.6 25.6 34.33 44.78\n",
" * lon (lon) float64 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8\n",
" * member_id (member_id) int64 1 2 3 4 5 6 7 ... 34 35 101 102 103 104 105\n",
"Dimensions without coordinates: hist_interval\n",
"Data variables:\n",
" area (lat, lon) float32 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" date_written (time) object dask.array<shape=(56941,), chunksize=(50,)>\n",
" landfrac (lat, lon) float32 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" landmask (lat, lon) float64 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" mcdate (time) float64 dask.array<shape=(56941,), chunksize=(50,)>\n",
" mcsec (time) float64 dask.array<shape=(56941,), chunksize=(50,)>\n",
" mdcur (time) float64 dask.array<shape=(56941,), chunksize=(50,)>\n",
" mscur (time) float64 dask.array<shape=(56941,), chunksize=(50,)>\n",
" nstep (time) float64 dask.array<shape=(56941,), chunksize=(50,)>\n",
" pftmask (lat, lon) float64 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" time_bounds (time, hist_interval) object dask.array<shape=(56941, 2), chunksize=(50, 2)>\n",
" time_written (time) object dask.array<shape=(56941,), chunksize=(50,)>\n",
" topo (lat, lon) float32 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" FSNO (member_id, time, lat, lon) float32 dask.array<shape=(40, 56941, 192, 288), chunksize=(1, 50, 192, 288)>\n",
"Attributes:\n",
" NCO: 4.4.2\n",
" Conventions: CF-1.0\n",
" version: cesm1_1_1_alpha01g\n",
" title: CLM History file information\n",
" hostname: tcs\n",
" history: 2019-07-17 19:39:47.188425 xarray.o...\n",
" PFT_physiological_constants_dataset: pft-physiology.c110425.nc\n",
" comment: NOTE: None of the variables are wei...\n",
" revision_id: $Id: histFileMod.F90 40539 2012-09-...\n",
" nco_openmp_thread_number: 1\n",
" case_title: UNSET\n",
" username: mudryk\n",
" Surface_dataset: surfdata_0.9x1.25_simyr1850_c110921.nc\n",
" Initial_conditions_dataset: b.e11.B20TRC5CNBDRD.f09_g16.001.clm...\n",
" source: Community Land Model CLM4.0\n"
]
}
],
"source": [
"xr_open = dict(chunks={'time': 50}, decode_times=True, decode_coords=False)\n",
"\n",
"for exp in ['RCP85', '20C']:\n",
" cat = col.search(**{'experiment': exp, 'component': 'lnd', 'stream': 'clm2.h1', 'variable': 'FSNO'})\n",
" q = cat.to_xarray(**xr_open)\n",
" _, ds = q.popitem()\n",
" print(ds)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d2025810cbb645a7abf57008cef30f75",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='dataset', max=1, style=ProgressStyle(description_width='initi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6cb56bd043284d65bcb68db034cb6566",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='member', max=1, style=ProgressStyle(description_width='initia…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"<xarray.Dataset>\n",
"Dimensions: (hist_interval: 2, lat: 290, levgrnd: 21, levlak: 10, lon: 288, time: 34675)\n",
"Coordinates:\n",
" * lat (lat) float64 -90.0 -89.06 -89.06 -88.12 ... 89.06 89.06 90.0\n",
" * levgrnd (levgrnd) float64 0.007101 0.02792 0.06226 ... 21.33 35.18\n",
" * levlak (levlak) float32 0.05 0.6 2.1 4.6 ... 18.6 25.6 34.325 44.775\n",
" * lon (lon) float32 0.0 1.25 2.5 3.75 ... 355.0 356.25 357.5 358.75\n",
" * time (time) object 2006-01-01 00:00:00 ... 2100-12-31 00:00:00\n",
"Dimensions without coordinates: hist_interval\n",
"Data variables:\n",
" area (lat, lon) float32 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" landfrac (lat, lon) float32 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" landmask (lat, lon) float64 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" pftmask (lat, lon) float64 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" topo (lat, lon) float32 dask.array<shape=(290, 288), chunksize=(290, 288)>\n",
" FSNO (time, lat, lon) float32 dask.array<shape=(34675, 290, 288), chunksize=(50, 290, 288)>\n",
" date_written (time) |S8 dask.array<shape=(34675,), chunksize=(50,)>\n",
" mcdate (time) int32 dask.array<shape=(34675,), chunksize=(50,)>\n",
" mcsec (time) int32 dask.array<shape=(34675,), chunksize=(50,)>\n",
" mdcur (time) int32 dask.array<shape=(34675,), chunksize=(50,)>\n",
" mscur (time) int32 dask.array<shape=(34675,), chunksize=(50,)>\n",
" nstep (time) int32 dask.array<shape=(34675,), chunksize=(50,)>\n",
" time_bounds (time, hist_interval) object dask.array<shape=(34675, 2), chunksize=(50, 2)>\n",
" time_written (time) |S8 dask.array<shape=(34675,), chunksize=(50,)>\n",
"Attributes:\n",
" Conventions: CF-1.0\n",
" version: cesm1_1_1_alpha01g\n",
" title: CLM History file information\n",
" hostname: yellowstone\n",
" history: 2019-07-17 19:54:30.966384 xarray.o...\n",
" PFT_physiological_constants_dataset: pft-physiology.c110425.nc\n",
" comment: NOTE: None of the variables are wei...\n",
" revision_id: $Id: histFileMod.F90 40539 2012-09-...\n",
" case_title: UNSET\n",
" nco_openmp_thread_number: 1\n",
" Surface_dataset: surfdata_0.9x1.25_simyr1850_c110921.nc\n",
" source: Community Land Model CLM4.0\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "33425321fe604b9c9909778b4d2231bb",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='dataset', max=1, style=ProgressStyle(description_width='initi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9bb299a204664d47b8f272c82272724e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"HBox(children=(IntProgress(value=0, description='member', max=1, style=ProgressStyle(description_width='initia…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"<xarray.Dataset>\n",
"Dimensions: (hist_interval: 2, lat: 192, levgrnd: 15, levlak: 10, lon: 288, time: 31390)\n",
"Coordinates:\n",
" * lat (lat) float32 -90.0 -89.057594 -88.11518 ... 89.057594 90.0\n",
" * levgrnd (levgrnd) float32 0.007100635 0.027925 ... 21.32647 35.17762\n",
" * levlak (levlak) float32 0.05 0.6 2.1 4.6 ... 18.6 25.6 34.325 44.775\n",
" * lon (lon) float32 0.0 1.25 2.5 3.75 ... 355.0 356.25 357.5 358.75\n",
" * time (time) object 1920-01-01 00:00:00 ... 2005-12-31 00:00:00\n",
"Dimensions without coordinates: hist_interval\n",
"Data variables:\n",
" FSNO (time, lat, lon) float32 dask.array<shape=(31390, 192, 288), chunksize=(50, 192, 288)>\n",
" area (lat, lon) float32 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" date_written (time) |S8 dask.array<shape=(31390,), chunksize=(50,)>\n",
" landfrac (lat, lon) float32 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" landmask (lat, lon) float64 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" mcdate (time) int32 dask.array<shape=(31390,), chunksize=(50,)>\n",
" mcsec (time) int32 dask.array<shape=(31390,), chunksize=(50,)>\n",
" mdcur (time) int32 dask.array<shape=(31390,), chunksize=(50,)>\n",
" mscur (time) int32 dask.array<shape=(31390,), chunksize=(50,)>\n",
" nstep (time) int32 dask.array<shape=(31390,), chunksize=(50,)>\n",
" pftmask (lat, lon) float64 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
" time_bounds (time, hist_interval) object dask.array<shape=(31390, 2), chunksize=(50, 2)>\n",
" time_written (time) |S8 dask.array<shape=(31390,), chunksize=(50,)>\n",
" topo (lat, lon) float32 dask.array<shape=(192, 288), chunksize=(192, 288)>\n",
"Attributes:\n",
" title: CLM History file information\n",
" comment: NOTE: None of the variables are wei...\n",
" Conventions: CF-1.0\n",
" history: 2019-07-17 19:54:32.979149 xarray.o...\n",
" source: Community Land Model CLM4.0\n",
" hostname: yellowstone\n",
" username: adrianne\n",
" version: cesm1_1_1_alpha01g\n",
" revision_id: $Id: histFileMod.F90 40539 2012-09-...\n",
" case_title: UNSET\n",
" case_id: b.e11.B20TRC5CNBDRD.f09_g16.005\n",
" Surface_dataset: surfdata_0.9x1.25_simyr1850_c110921.nc\n",
" Initial_conditions_dataset: b.e11.B20TRC5CNBDRD.f09_g16.001.clm...\n",
" PFT_physiological_constants_dataset: pft-physiology.c110425.nc\n",
" NCO: 4.3.4\n",
" nco_openmp_thread_number: 1\n"
]
}
],
"source": [
"for exp in ['RCP85', '20C']:\n",
" cat = col.search(**{'experiment': exp, 'component': 'lnd', 'stream': 'clm2.h1', 'variable': 'FSNO', 'member_id': list(range(5, 6))})\n",
" q = cat.to_xarray(**xr_open)\n",
" _, ds = q.popitem()\n",
" print(ds)\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:analysis]",
"language": "python",
"name": "conda-env-analysis-py"
},
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment