{ "cells": [ { "cell_type": "markdown", "id": "4cb0f486-9005-4fb6-b725-9f63d305b812", "metadata": {}, "source": [ "# Thinking through CESM data access\n", "\n", "We want to read a large number of netCDF files, combine them to form a single dataset, and then analyze that. How do we think about it?\n", "\n", "In pseudocode we want\n", "```python\n", "# loop over every file and read in metadata\n", "datasets = [xr.open_dataset(file) for file in files]\n", "# optionally make modifications\n", "preprocessed = [preprocess(dataset) for dataset in datasets]\n", "# combine to create a single dataset\n", "combined = xr.combine_XXX(preprocessed, ...)\n", "```\n", "\n", "Xarray's [`open_mfdataset`](https://docs.xarray.dev/en/stable/generated/xarray.open_mfdataset.html#xarray.open_mfdataset) implements this pattern with the option of parallelizing the loop over all files using `dask`. This can be quite handy." ] }, { "cell_type": "markdown", "id": "72c4c5db-fbe2-4772-ace9-7435647075d0", "metadata": { "tags": [] }, "source": [ "## Creating a new data pipeline\n", "\n", "### First create a list of files\n", "\n", "The `glob` package is good for this ([docs](https://docs.python.org/3/library/glob.html))\n", "\n", "> The glob module finds all the pathnames matching a specified pattern according to the rules used by the Unix shell, although results are returned in arbitrary order. No tilde expansion is done, but *, ?, and character ranges expressed with [] will be correctly matched. \n", "\n", "```{important}\n", "- The tilde `~` is not expanded to the user's home directory. Use [`os.path.expanduser`](https://docs.python.org/3/library/os.path.html#os.path.expanduser) for that.\n", "- The list of files returned by `glob` is not sorted ! Use [`sorted`](https://docs.python.org/3/library/functions.html#sorted) to sort the list.\n", "```\n", "\n", "Here's a list of files: these are timeseries files with output for years 1850-2100, and 50 ensemble members." ] }, { "cell_type": "code", "execution_count": 1, "id": "aeca51e1-7553-443a-8579-c43932a40e31", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.011.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.012.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.019.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1071.004.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1171.009.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1151.008.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.018.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.014.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1111.006.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.013.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.018.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.015.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.016.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1091.005.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.020.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.015.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.013.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.017.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.011.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1011.001.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.011.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.018.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.018.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.014.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.013.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.019.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.015.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.016.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1131.007.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.012.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.020.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1051.003.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1191.010.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.016.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.013.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.014.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.019.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.011.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.016.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.012.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.015.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.019.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.017.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.014.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1231.017.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1301.020.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.020.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1251.017.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1031.002.cam.h1.PRECT.18500101-21001231.nc',\n", " '/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/b.e21.BHISTsmbb.f09_g17.LE2-1281.012.cam.h1.PRECT.18500101-21001231.nc']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import glob\n", "\n", "files = glob.glob(\n", " \"/glade/scratch/anukesh/CESM-LE/PRECT/ENSEMBLE/PRECT/*smbb**h1**18500101-21001231*\"\n", ")\n", "files" ] }, { "cell_type": "markdown", "id": "0956b136-1705-484e-bdb9-0df8492fa56c", "metadata": {}, "source": [ "There are 50 files, one per ensemble member" ] }, { "cell_type": "code", "execution_count": 2, "id": "caddcf0b-0caf-44b9-b0cb-97e65b9de01e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(files)" ] }, { "cell_type": "markdown", "id": "57f470ba-c9d1-4b78-8357-1844b1a11a9c", "metadata": { "tags": [] }, "source": [ "### Start by opening a single file" ] }, { "cell_type": "code", "execution_count": 3, "id": "1ceb31c0-1498-495d-840d-62710e300582", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset>\n", "Dimensions: (time: 8761, bnds: 2, lon: 288, lat: 192)\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", "Dimensions without coordinates: bnds\n", "Data variables:\n", " time_bnds (time, bnds) object ...\n", " PRECT (time, lat, lon) float32 ...\n", "Attributes: (12/13)\n", " CDI: Climate Data Interface version 2.0.2 (https://mpimet.m...\n", " Conventions: CF-1.0\n", " source: CAM\n", " case: b.e21.BHISTsmbb.f09_g17.LE2-1251.011\n", " logname: sunseon\n", " host: mom1\n", " ... ...\n", " topography_file: /mnt/lustre/share/CESM/cesm_input/atm/cam/topo/fv_0.9x...\n", " model_doi_url: https://doi.org/10.5065/D67H1H0V\n", " time_period_freq: day_1\n", " history: Wed May 17 11:54:18 2023: cdo selvar,PRECT tmp.nc PREC...\n", " NCO: netCDF Operators version 5.0.3 (Homepage = http://nco....\n", " CDO: Climate Data Operators version 2.0.1 (https://mpimet.m...
<xarray.DataArray 'PRECT' (time: 8761, lat: 192, lon: 288)>\n", "[484448256 values with dtype=float32]\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 87.17 88.12 89.06 90.0\n", "Attributes:\n", " long_name: Total (convective and large-scale) precipitation rate (liq...\n", " units: m/s\n", " cell_methods: time: mean
<xarray.DataArray 'PRECT' (time: 8761, lat: 192, lon: 288)>\n", "dask.array<xarray-<this-array>, shape=(8761, 192, 288), dtype=float32, chunksize=(1825, 192, 288), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 87.17 88.12 89.06 90.0\n", "Attributes:\n", " long_name: Total (convective and large-scale) precipitation rate (liq...\n", " units: m/s\n", " cell_methods: time: mean
<xarray.Dataset>\n", "Dimensions: (time: 8761, ensemble: 3, bnds: 2, lon: 288, lat: 192)\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", "Dimensions without coordinates: ensemble, bnds\n", "Data variables:\n", " time_bnds (ensemble, time, bnds) object dask.array<chunksize=(1, 8761, 2), meta=np.ndarray>\n", " PRECT (ensemble, time, lat, lon) float32 dask.array<chunksize=(1, 8761, 16, 32), meta=np.ndarray>\n", "Attributes: (12/13)\n", " CDI: Climate Data Interface version 2.0.2 (https://mpimet.m...\n", " Conventions: CF-1.0\n", " source: CAM\n", " case: b.e21.BHISTsmbb.f09_g17.LE2-1011.001\n", " logname: sunseon\n", " host: mom2\n", " ... ...\n", " topography_file: /mnt/lustre/share/CESM/cesm_input/atm/cam/topo/fv_0.9x...\n", " model_doi_url: https://doi.org/10.5065/D67H1H0V\n", " time_period_freq: day_1\n", " history: Wed May 17 11:17:29 2023: cdo selvar,PRECT tmp.nc PREC...\n", " NCO: netCDF Operators version 5.0.3 (Homepage = http://nco....\n", " CDO: Climate Data Operators version 2.0.1 (https://mpimet.m...
<xarray.Dataset>\n", "Dimensions: (time: 8761, bnds: 2, lon: 288, lat: 192)\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", "Dimensions without coordinates: bnds\n", "Data variables:\n", " time_bnds (time, bnds) object dask.array<chunksize=(8761, 2), meta=np.ndarray>\n", " PRECT (time, lat, lon) float32 dask.array<chunksize=(8761, 16, 32), meta=np.ndarray>\n", "Attributes: (12/13)\n", " CDI: Climate Data Interface version 2.0.2 (https://mpimet.m...\n", " Conventions: CF-1.0\n", " source: CAM\n", " case: b.e21.BHISTsmbb.f09_g17.LE2-1251.011\n", " logname: sunseon\n", " host: mom1\n", " ... ...\n", " topography_file: /mnt/lustre/share/CESM/cesm_input/atm/cam/topo/fv_0.9x...\n", " model_doi_url: https://doi.org/10.5065/D67H1H0V\n", " time_period_freq: day_1\n", " history: Wed May 17 11:54:18 2023: cdo selvar,PRECT tmp.nc PREC...\n", " NCO: netCDF Operators version 5.0.3 (Homepage = http://nco....\n", " CDO: Climate Data Operators version 2.0.1 (https://mpimet.m...
<xarray.Dataset>\n", "Dimensions: (time: 8761, bnds: 2, lon: 288, lat: 192, ensemble: 3)\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", "Dimensions without coordinates: bnds, ensemble\n", "Data variables:\n", " time_bnds (time, bnds) object dask.array<chunksize=(8761, 2), meta=np.ndarray>\n", " PRECT (ensemble, time, lat, lon) float32 dask.array<chunksize=(1, 8761, 16, 32), meta=np.ndarray>\n", "Attributes: (12/13)\n", " CDI: Climate Data Interface version 2.0.2 (https://mpimet.m...\n", " Conventions: CF-1.0\n", " source: CAM\n", " case: b.e21.BHISTsmbb.f09_g17.LE2-1011.001\n", " logname: sunseon\n", " host: mom2\n", " ... ...\n", " topography_file: /mnt/lustre/share/CESM/cesm_input/atm/cam/topo/fv_0.9x...\n", " model_doi_url: https://doi.org/10.5065/D67H1H0V\n", " time_period_freq: day_1\n", " history: Wed May 17 11:17:29 2023: cdo selvar,PRECT tmp.nc PREC...\n", " NCO: netCDF Operators version 5.0.3 (Homepage = http://nco....\n", " CDO: Climate Data Operators version 2.0.1 (https://mpimet.m...
<xarray.DataArray 'PRECT' (ensemble: 3, time: 8761, lat: 192, lon: 288)>\n", "dask.array<concatenate, shape=(3, 8761, 192, 288), dtype=float32, chunksize=(1, 8761, 16, 32), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 87.17 88.12 89.06 90.0\n", "Dimensions without coordinates: ensemble\n", "Attributes:\n", " long_name: Total (convective and large-scale) precipitation rate (liq...\n", " units: m/s\n", " cell_methods: time: mean
Client-6ae07e09-3c6e-11ee-81c8-3cecef1b11f8
\n", "Connection method: Cluster object | \n", "Cluster type: dask_jobqueue.PBSCluster | \n", " \n", "
\n", " Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/dcherian/casper/proxy/45848/status\n", " | \n", "\n", " |
f59e9f61
\n", "\n", " Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/dcherian/casper/proxy/45848/status\n", " | \n", "\n", " Workers: 0\n", " | \n", "
\n", " Total threads: 0\n", " | \n", "\n", " Total memory: 0 B\n", " | \n", "
Scheduler-7028ad57-67ed-4993-a974-e3a9b95111fb
\n", "\n", " Comm: tcp://10.12.206.35:45783\n", " | \n", "\n", " Workers: 0\n", " | \n", "
\n", " Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/dcherian/casper/proxy/45848/status\n", " | \n", "\n", " Total threads: 0\n", " | \n", "
\n", " Started: Just now\n", " | \n", "\n", " Total memory: 0 B\n", " | \n", "
Client-6ae5eeca-3c6e-11ee-81c8-3cecef1b11f8
\n", "Connection method: Cluster object | \n", "Cluster type: dask_jobqueue.PBSCluster | \n", " \n", "
\n", " Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/dcherian/casper/proxy/45848/status\n", " | \n", "\n", " |
f59e9f61
\n", "\n", " Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/dcherian/casper/proxy/45848/status\n", " | \n", "\n", " Workers: 0\n", " | \n", "
\n", " Total threads: 0\n", " | \n", "\n", " Total memory: 0 B\n", " | \n", "
Scheduler-7028ad57-67ed-4993-a974-e3a9b95111fb
\n", "\n", " Comm: tcp://10.12.206.35:45783\n", " | \n", "\n", " Workers: 0\n", " | \n", "
\n", " Dashboard: https://jupyterhub.hpc.ucar.edu/stable/user/dcherian/casper/proxy/45848/status\n", " | \n", "\n", " Total threads: 0\n", " | \n", "
\n", " Started: Just now\n", " | \n", "\n", " Total memory: 0 B\n", " | \n", "
<xarray.Dataset>\n", "Dimensions: (time: 8761, bnds: 2, lon: 288, lat: 192, ensemble: 50)\n", "Coordinates:\n", " * time (time) object 2000-01-01 00:00:00 ... 2023-12-31 00:00:00\n", " * lon (lon) float64 0.0 1.25 2.5 3.75 5.0 ... 355.0 356.2 357.5 358.8\n", " * lat (lat) float64 -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n", "Dimensions without coordinates: bnds, ensemble\n", "Data variables:\n", " time_bnds (time, bnds) object dask.array<chunksize=(1825, 2), meta=np.ndarray>\n", " PRECT (ensemble, time, lat, lon) float32 dask.array<chunksize=(1, 1825, 192, 288), meta=np.ndarray>\n", "Attributes: (12/13)\n", " CDI: Climate Data Interface version 2.0.2 (https://mpimet.m...\n", " Conventions: CF-1.0\n", " source: CAM\n", " case: b.e21.BHISTsmbb.f09_g17.LE2-1011.001\n", " logname: sunseon\n", " host: mom2\n", " ... ...\n", " topography_file: /mnt/lustre/share/CESM/cesm_input/atm/cam/topo/fv_0.9x...\n", " model_doi_url: https://doi.org/10.5065/D67H1H0V\n", " time_period_freq: day_1\n", " history: Wed May 17 11:17:29 2023: cdo selvar,PRECT tmp.nc PREC...\n", " NCO: netCDF Operators version 5.0.3 (Homepage = http://nco....\n", " CDO: Climate Data Operators version 2.0.1 (https://mpimet.m...