{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Using data from AWS\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A significant amount of Earth System Model (ESM) data is publicly available\n",
"online, including data from the CESM Large Ensemble, CMIP5, and CMIP6 datasets.\n",
"For accessing a single file, we can specify the file (typically netcdf or zarr\n",
"format) and its location and then use fsspec (the \"Filesystem Spec+ python\n",
"package) and xarray to create a array.dataset. For several files, the intake_esm\n",
"python module (https://github.com/intake/intake-esm) is particularly nice for\n",
"obtaining the data and put it into an xarray.dataset.\n",
"\n",
"This notebook assumes familiarity with the Tutorial Notebook. It additionally\n",
"shows how to gather data from an ESM collection, put it into a dataset, and then\n",
"create simple plots using the data with ldcpy.\n",
"\n",
"#### Example Data\n",
"\n",
"The example data we use is from the CESM Large Ensemble, member 31. This\n",
"ensemble data has been lossily compressed and reconstructed as part of a blind\n",
"evaluation study of lossy data compression in LENS (e.g.,\n",
"http://www.cesm.ucar.edu/projects/community-projects/LENS/projects/lossy-data-compression.html\n",
"or https://gmd.copernicus.org/articles/9/4381/2016/).\n",
"\n",
"Most of the data from the CESM Large Ensemble Project has been made available on\n",
"Amazon Web Services (Amazon S3), see\n",
"http://ncar-aws-www.s3-website-us-west-2.amazonaws.com/CESM_LENS_on_AWS.htm .\n",
"\n",
"For comparison purposes, the original (non-compressed) data for Ensemble 31 has\n",
"recently been made available on Amazon Web Services (Amazon S3) in the\n",
"\"ncar-cesm-lens-baker-lossy-compression-test\" bucket.\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Add ldcpy root to system path\n",
"# Using kernel 2024b\n",
"import sys\n",
"\n",
"sys.path.insert(0, '../../../')\n",
"\n",
"# Import ldcpy package\n",
"# Autoreloads package everytime the package is called, so changes to code will be reflected in the notebook if the above sys.path.insert(...) line is uncommented.\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"import fsspec\n",
"import intake\n",
"import xarray as xr\n",
"\n",
"import ldcpy\n",
"\n",
"# display the plots in this notebook\n",
"%matplotlib inline\n",
"\n",
"# silence warnings\n",
"import warnings\n",
"\n",
"warnings.filterwarnings(\"ignore\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, specify the filesystem and location of the data. Here we are accessing\n",
"the original data from CESM-LENS ensemble 31, which is available on Amazon S3 in\n",
"the store named _\"ncar-cesm-lens-baker-lossy-compression-test\"_ bucket.\n",
"\n",
"First we listing all available files (which are timeseries files containing a\n",
"single variable) for that dataset. Note that unlike in the TutorialNotebook\n",
"(which used NetCDF files), these files are all zarr format. Both monthly and\n",
"daily data is available.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-FLNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-FLNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-FLUT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-FSNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-FSNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-FSNTOA.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-ICEFRAC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-LHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-PRECL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-PRECSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-PRECSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-PRECT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-PRECTMX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-PSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-Q850.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-SHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-TMQ.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-TREFHT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-TREFHTMN.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-TREFHTMX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-TS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-UBOT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-WSPDSRFAV.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-daily-Z500.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-FLNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-FLNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-FLUT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-FSNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-FSNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-FSNTOA.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-ICEFRAC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-LHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-PRECC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-PRECL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-PRECSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-PRECSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-PSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-Q.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-SHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-T.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-TMQ.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-TREFHT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-TREFHTMN.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-TREFHTMX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-TS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-U.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-V.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-20C-monthly-Z3.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-FLNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-FLNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-FLUT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-FSNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-FSNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-FSNTOA.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-ICEFRAC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-LHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-PRECL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-PRECSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-PRECSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-PRECT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-PRECTMX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-PSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-Q850.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-SHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-TMQ.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-TREFHT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-TREFHTMN.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-TREFHTMX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-TS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-UBOT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-WSPDSRFAV.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-daily-Z500.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-FLNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-FLNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-FLUT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-FSNS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-FSNSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-FSNTOA.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-ICEFRAC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-LHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-PRECC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-PRECL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-PRECSC.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-PRECSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-PSL.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-Q.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-SHFLX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-T.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-TMQ.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-TREFHT.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-TREFHTMN.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-TREFHTMX.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-TS.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-U.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-V.zarr',\n",
" 'ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/cesmle-atm-ens31-RCP85-monthly-Z3.zarr']"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fs = fsspec.filesystem(\"s3\", anon=True)\n",
"stores = fs.ls(\"ncar-cesm-lens-baker-lossy-compression-test/lens-ens31/\")[1:]\n",
"stores[:]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then we select the file from the store that we want and open it as an\n",
"xarray.Dataset using xr.open_zarr(). Here we grab data for the first 2D daily\n",
"variable, FLNS (net longwave flux at surface, in $W/m^2$), in the list (accessed\n",
"by it location -- stores[0]).\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
This data is part of the project 'Blind Evaluation of Lossy Data-Compression in LENS'. Please exercise caution before using this data for other purposes.
"
],
"text/plain": [
" Size: 28GB\n",
"Dimensions: (time: 31390, lat: 192, lon: 288, nbnd: 2)\n",
"Coordinates:\n",
" * lat (lat) float64 2kB -90.0 -89.06 -88.12 -87.17 ... 88.12 89.06 90.0\n",
" * lon (lon) float64 2kB 0.0 1.25 2.5 3.75 ... 355.0 356.2 357.5 358.8\n",
" member_id int64 8B 31\n",
" * time (time) object 251kB 1920-01-01 12:00:00 ... 2005-12-31 12:00:00\n",
" time_bnds (time, nbnd) object 502kB dask.array\n",
"Dimensions without coordinates: nbnd\n",
"Data variables:\n",
" FLNS (time, lat, lon) float32 7GB dask.array\n",
" PRECT (time, lat, lon) float32 7GB dask.array\n",
" TMQ (time, lat, lon) float32 7GB dask.array\n",
" TS (time, lat, lon) float32 7GB dask.array\n",
"Attributes: (12/20)\n",
" Conventions: CF-1.0\n",
" NCO: 4.4.2\n",
" Version: $Name$\n",
" important_note: This data is part of the project 'Blin...\n",
" initial_file: b.e11.B20TRC5CNBDRD.f09_g16.001.cam.i....\n",
" logname: mudryk\n",
" ... ...\n",
" intake_esm_attrs:vertical_levels: 1.0\n",
" intake_esm_attrs:spatial_domain: global\n",
" intake_esm_attrs:start_time: 1920-01-01 12:00:00\n",
" intake_esm_attrs:end_time: 2005-12-31 12:00:00\n",
" intake_esm_attrs:_data_format_: zarr\n",
" intake_esm_dataset_key: atm.20C.daily"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aws_ds = dset_dict[\"atm.20C.daily\"]\n",
"aws_ds = aws_ds.isel(member_id=30)\n",
"aws_ds"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we have datasets for the original and the lossy compressed data for FLNS,\n",
"TMQ, PRECT, and TS, which we can extract into a dataset for each variable:\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# extract the three variables from aws_ds as datasets\n",
"aws_flns = aws_ds[\"FLNS\"].to_dataset()\n",
"aws_tmq = aws_ds[\"TMQ\"].to_dataset()\n",
"aws_ts = aws_ds[\"TS\"].to_dataset()\n",
"aws_prect = aws_ds[\"PRECT\"].to_dataset()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Use _ldcpy_ to compare the original data to the lossy compressed data\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To use ldcpy, we need to group the data that we want to compare (like variables)\n",
"into dataset collections. In the Tutorial Notebook, we used\n",
"ldcpy.open_datasets() to do this as we needed to get the data from the NetCDF\n",
"files. Here we already loaded the data from AWS into datasets, so we just need\n",
"to use ldcpy.collect_datasets() to form collections of the datasets that we want\n",
"to compare.\n",
"\n",
"ldcpy.collect_datasets() requires the following three arguments:\n",
"\n",
"- _varnames_ : the variable(s) of interest to combine across files (typically\n",
" the timeseries file variable name)\n",
"- _list_of_ds_ : a list of the xarray datasets\n",
"- _labels_ : a corresponding list of names (or labels) for each dataset in the\n",
" collection\n",
"\n",
"Note: This function is a wrapper for xarray.concat(), and any additional\n",
"key/value pairs passed in as a dictionary are used as arguments to\n",
"xarray.concat().\n",
"\n",
"We will create 4 collections for ldcpy (one each for FLNS, TMQ, PRECT, and TS)\n",
"and assign labels \"original\" and \"lossy\" to the respective datasets.\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dataset size in GB 27.63\n",
"\n"
]
}
],
"source": [
"# FLNS collection\n",
"col_flns = ldcpy.collect_datasets(\"cam-fv\", [\"FLNS\"], [ds_flns, aws_flns], [\"original\", \"lossy\"])"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dataset size in GB 27.63\n",
"\n"
]
}
],
"source": [
"# TMQ collection\n",
"col_tmq = ldcpy.collect_datasets(\"cam-fv\", [\"TMQ\"], [ds_tmq, aws_tmq], [\"original\", \"lossy\"])"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dataset size in GB 27.63\n",
"\n"
]
}
],
"source": [
"# Ts collection\n",
"col_ts = ldcpy.collect_datasets(\"cam-fv\", [\"TS\"], [ds_ts, aws_ts], [\"original\", \"lossy\"])"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dataset size in GB 27.63\n",
"\n"
]
}
],
"source": [
"# PRECT collection\n",
"col_prect = ldcpy.collect_datasets(\n",
" \"cam-fv\", [\"PRECT\"], [ds_prect, aws_prect], [\"original\", \"lossy\"]\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we have our collections, we can do some comparisons. Note that these\n",
"are large files, so make sure you have sufficient compute/memory.\n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Z+ega7u6ulAUJbGYe+ihh3jhhRd4//33E+/tz33ucxx55JHMmDGDe+65h9tuuy3l10IikUhGQopdiSQDzJs3b1RhCkLAxccdddRRmM1mbr75Zn7zm99w4403pnzfk08+mZdeeol//etffOUrX0n5+omkpKQERVF48803hxRr8WMbN27ko48+YuXKlVxwwQWJ8/G46Ezy4x//mNtvv33UcbW1tWOqR/zII49wySWXcMEFF/CHP/whLfH80EMPAXDJJZcMeb6srIznn3+etrY2WlpaqK2txWw28/vf/35A0mJJSQlms3nYeOaSkhJAJP9dffXViePxEmEzZszAbDazYcOGQddu2LCBmTNnJhLP1q9fj1ar5aCDDhowbvr06RQXF7Nx48Zkn75EIpEkjRS7EskE8t3vfpeVK1dy1113cfnll6dcY/Tiiy/m5z//Od/97nf53Oc+x5QpUwaNeeaZZ/jf//3fTJmcMU477TTuuusu9uzZk/A+DkVcCO4riO+///6M2zQeYQwrV67kkksu4etf/zoPPvhgWkI3EAgkaigvXLhwxLFlZWUJb/V9992Hx+MZIFpPO+007rjjDoqLiwckue1LXV0ddXV1g47rdDpOP/10nnnmGX72s58l3sMNDQ289tprXHfddYmxVVVVRCIR3n//fQ499NDE8a1bt9LZ2TlsRRGJRCIZC1LsSiQTiF6v54477uDLX/4y9957LzfffHPiXDQaHdARa28OPPBAjEYjDoeDf/zjH5x22mkceOCBA5pKbNu2jccee4yPPvooJbF7/PHH8/rrrw9ZCSKTHHHEEVx22WVcdNFFrF27lqOOOgqr1UpzczNvvfUWixYt4sorr2Tu3LnMmDGD73//+6iqSlFREf/61794+eWXM25TVVUVVVVVGZ83zt/+9jcuvvhiDjjgAC6//HLWrFkz4Hz89wrCy/zjH/+Y//73vxx99NEDxj377LN0dXUN69UFUZYOhOfV5XLxwgsv8NBDD3HHHXcM8Kx++9vf5umnn+aoo47iuuuuY/HixUSjURoaGnjppZe44YYbBgjTobj99ts5+OCDOe200/j+97+faCpRUlLCDTfckBh30UUX8etf/5qzzjqLm2++mTlz5rBjxw7uuOMOrFbrkA0zJBKJZKxIsSuRTDBnn302hx56KL/61a+45pprEgk6Pp+P5cuXD3nNtm3bmDlzJgCHHHIIGzZs4Ne//jV//etfufvuu4lEItTU1HD88cfz29/+NiV7IpEIkUhkbE8qSe6//34OO+ww7r//fn7/+98TjUapqqriiCOO4JBDDgHEguBf//oX3/rWt7j88svR6XSccMIJvPLKK0ydOnVc7MwU//73v4lGo3zwwQccccQRg87v3Lkz4T2NRqNEIpEhS8A99NBDWK3WEUNXVFXlnnvuYdeuXWg0Gg488ED+/ve/D0qEs1qtvPnmm9x111388Y9/ZOfOnZjNZqZOncoJJ5wwpDd3X+bOncuqVav43ve+x5e+9CV0Oh3HHXccv/jFLwaU36upqeH999/nxz/+MXfffTfNzc2Ul5ezfPlybr31VubMmTPqvSQSiSRVFHWoT1KJRCKRSCQSiSQPkB3UJBKJRCKRSCR5ixS7EolEIpFIJJK8RYpdiUQikUgkEkneIsWuRCKRSCQSiSRvkWJXIpFIJBKJRJK3SLErkUgkEolEIslbZJ3dGNFolKamJux2e0b63kskEolEIsk+qqrS29tLVVUVGk32fHiqqhIOh8etDrlkZLRaLTqdLinNJsVujKamJmpqaibaDIlEIpFIJGnQ2NiYtZbTwWCQ5uZmvF5vVuaXpIfFYqGyshKDwTDiuJwTuytWrGDFihXU19cDsGDBAm699VZOOeWUIcc3Nzdzww03sG7dOrZt28a1117LPffck/J94/3cGxsbKSgoSNd8iUQikUgk40hPTw81NTWJ7/FME41G2blzJ1qtlqqqKgwGg9wBnmBUVSUYDNLe3s7OnTuZNWvWiF79nBO71dXV3HXXXYlWqH/6058444wz+PDDD1mwYMGg8YFAgNLSUn74wx/y61//Ou37xt+4BQUFUuxKJBKJRDLJyJYADQaDRKNRampqsFgsWbmHJHXMZjN6vZ5du3YRDAYxmUzDjs05sXv66acP+P9Pf/pTVqxYwerVq4cUu3V1ddx7770APPzww0nfJxAIEAgEEv/v6elJ02KJRCKRSCT5TjbjgSXpkezvJKd/c5FIhCeeeAKPx8Py5cszOvedd96Jw+FI/Mh4XYlEIpFIJJL8IyfF7oYNG7DZbBiNRq644gr+/ve/M3/+/Ize46abbsLtdid+GhsbMzq/RCKRSCQSiWTiyUmxO2fOHNavX8/q1au58sorueCCC9i0aVNG72E0GhPxuTJOVyKRSCQSiUTwox/9iAMOOCCla4455hi+/e1vT7gdQ5FzMbsABoMhkaC2bNky3n//fe69917uv//+CbZMIpFIJBKJJL+58cYbueaaa1K65plnnkGv12fJorGRk2J3X1RVHZBMJpFIJBKJRCLJLKqqEolEsNls2Gy2lK4tKirKklVjJ+fCGH7wgx/w5ptvUl9fz4YNG/jhD3/IqlWr+NrXvgaIWNvzzz9/wDXr169n/fr19PX10d7ezvr16zMe9iCRSCQSiUQCQhR6g+EJ+VFVNSVbA4EA1157LWVlZZhMJo488kjef/99AFatWoWiKPznP/9h2bJlGI1G3nzzzUHhA+FwmGuvvRan00lxcTHf+973uOCCCzjzzDMTY/YNY6irq+OOO+7gG9/4Bna7nalTp/LHP/5xgG3f+973mD17NhaLhenTp3PLLbcQCoVS/n2MRs55dltbWznvvPNobm7G4XCwePFiXnzxRU488URANJFoaGgYcM2BBx6YeLxu3Toef/xxamtrE40pJBKJRCKRSDKFLxRh/q3/mZB7b/rxyVgMycu37373uzz99NP86U9/ora2lp/97GecfPLJbN++fcCYX/ziF0yfPh2n08nrr78+YI67776bP//5zzzyyCPMmzePe++9l2effZZjjz12xHv/8pe/5Cc/+Qk/+MEPeOqpp7jyyis56qijmDt3LiAaeq1cuZKqqio2bNjApZdeit1u57vf/W4Kr8jo5JzYfeihh0Y8v3LlykHHUl3lSCQSiUQikeQ7Ho+HFStWsHLlykQn2gceeICXX36Zhx56iIMPPhiAH//4xwmn4lD85je/4aabbuKLX/wiAL/97W95/vnnR73/qaeeyje/+U1AeHF//etfs2rVqoTYvfnmmxNj6+rquOGGG3jyySfzX+xKJBKJRCKR5DJmvZZNPz55wu6dLJ999hmhUIgjjjgicUyv13PIIYewefPmhNhdtmzZsHO43W5aW1s55JBDEse0Wi1Lly4lGo2OeP/FixcnHiuKQkVFBW1tbYljTz31FPfccw/bt2+nr6+PcDiclepYUuxKJBKJRCKRpICiKCmFEkwU8Z3vfVspq6o64JjVah11rqHmGI19qzMoipIQyKtXr+YrX/kKt99+OyeffDIOh4MnnniCX/7yl6POmyo5l6AmkUgkEolEIhk7M2fOxGAw8NZb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UCMiIiKigMWZXSIiIiIKWAy7RERERBSwGHaJiIiIKGAx7BIRERFRwGLYJSIiIqKAxbBLRERERAGLYZeIiIiIAhbDrpssFouvm+AzR48exfXXX4/333/f103xexwnHCeAuuOAY8A9qo4TgGOF9MGw64aZM2diwIABOHz4sK+borupU6ciPj4emqbhqquu8nVz/BrHCccJoO444Bhwj6rjBOBYIf0w7NZDXl4e/vM//xMfffQRfvjhB/zrX//ydZN0s2nTJsTFxWHNmjX49ttvsWzZMrRs2RIAwIvv1cRxwnECqDsOOAbco+o4AThWSH8mXzegKThy5Aiio6Mxd+5c7N69G9OmTcNNN92ElJQUXzfN67Zs2YLg4GA89thjuOKKK7Bz505s2rQJnTp1Qrdu3RAfH+/rJvoNjhOOE0DdccAx4B5VxwnAsUL604R/Rp3DbrfDYDg76V1WVoajR4+ic+fOAID09HS0b98eS5curXFcILHZbDAajSgqKsL06dNx+PBhREVFYevWrYiPj8fu3bsRFhaGt956C8OGDfN1c32C44TjBOA44BioH9XHCcCxQj4kVMM//vEPuemmm+Thhx+WAwcOiM1mO+eYdevWiaZp8umnn/qghd7z/vvvy08//eS67ax92bJl0r17dxk1apRs3bpVCgoKpLS0VK688koZOXKk7Nixw1dN9hmOE44TEXXHAceAe1QdJyIcK+QfGHarFBQUyMCBA6VLly7ywAMPSKdOnSQlJUXmzp173uPHjx8vaWlpcvLkSZ1b6nnfffed9OrVSzRNk/vuu09OnTolImd/KFmtVnn77bfl559/FhERu90uIiI7duyQsLAw+eyzz3zTcB/gOOE4EVF3HHAMuEfVcSLCsUL+hWG3yrJlyyQ5OVmOHj0qIo5/kJMmTZLu3btLdna2iIhUVla6jj9w4ICEhITIq6++KlarVT777DNZv369L5reKPn5+XL33XfLXXfdJU8++aSEhYXJhg0bXI87fzCdOXPmnOeWlpZKcHCwvP7667q119c4TjhORNQcBxwD7lNxnIhwrJD/Ydit8vzzz0tycrKUlZW57tuxY4eMHTtWhgwZ4rrP+deniMisWbMkKipKevXqJUajUVasWKFrmz3h1KlTsnz5ctm2bZuIiPTs2VOuueYaOX78+EWf++abb0qvXr2koKDA2830GxwnHCciao4DjgH3qThORDhWyP8E5ir4Bjhz5gzMZjMKCwtd93Xv3h033HADjh07hiVLlgA4uy3Kr7/+iv3796OkpAQpKSk4duwYxowZ45O2N0ZoaCjGjh2Lnj17AgDmzp2LVatW4YsvvoDdbj/n+J07d2LXrl2YPn06Zs6cifHjxyMmJkaZ7WI4TjhOADXHAceA+1QcJwDHCvkh3+Vs/+D8i/rw4cNiMBhkwYIFNR4/cOCAXH311XLfffe5PnopLCyUsWPHSmJiomzZskX3NnuL1WoVEce6sdTUVDl48OA5xzz++OPSrl076dOnj2zevFnnFvoOx8lZKoyT6jNt57s/UMfBhequTYUx0BiBPk7cwbFC/kCpsHu+H+TV10vdcccd0rVrV9f6KqfrrrtOxo8f77ptsVhkz5493muoF1ys9uq3f//9dwkKCpKsrCzXfXl5eSIicuTIkRprrwJJ7f640GOBOE7qW3v124E6TsrKymr8e6n+fSCPg/rWXf12oI6B+jhy5IgruDkDnVMgjxOR+tde/bbKY4V8L6DDrt1ulxdffFEWL158zmPVt36x2Wyya9cuKSgokKioKLn33ntrrC0aN26c3H333bq02VPqW7uISE5Ojut75w+h2bNnS1xcnCxcuFBGjRolN9xwg5SUlHi30T5it9vlb3/7m0ycOFHuvfde2bVrl+sXffUf3IE6TupTu0jgjxO73S7Tpk2ToUOHypgxY2TBggVisVhEJLDHQX3rFgn8MVBfa9euFU3TZPjw4TXuD/TfKyL1q12EY4X8S8CG3S+//FLS0tJE0zS54YYbXH+F1p7h/Ne//iXh4eEya9YsERFZtGiRJCUlyZVXXilLly6VGTNmSExMjHzxxRc6V9Bw7tb+xBNPSEVFRY1jioqKRNM00TRNhg0bds6sRKBYuXKlJCYmyoABA+Sxxx6TSy65RAYPHnzOGdCBOE7crT2Qx8kHH3wgCQkJ0q9fP3n33Xfl6quvliuuuEI++uijGscF2jhwt+5AHgPuyMrKkl69ekl6erq8++67IlJzhvP1118PqHFSXX1r51ghfxKQYbe8vFwyMzNl8uTJ8sILL0h6erq89NJLNY6prKyUBx98UFq0aCFvvPFGjRmMzz77TMaOHSsDBgyQyy+/vElt/eJu7W+++eY5H0MtX75cgoODJTU1Vb799lsdW6+vnJwcGT16tMyaNavGD+POnTu7tr2pqKgIyHHibu2BPE4OHDggf/nLXyQrK8vVF4WFhdK2bVv5+OOPRcTRFw888EBAjQN36w7kMVBfztnLhx9+WCZPniz33HOPXHHFFVJaWioijq20HnjgAYmKigqYceLkTu0cK+RvAi7sOn9of/fdd7Jz504REZkwYYL86U9/ku+//77Gsfv27ZMTJ064btf+GKawsNC7jfWwxtRe/TVWrVolr7zyitfb62s//fSTTJ06VX799VcREdcsxODBg+Xee+8VEUd/BNo4EWl47U6BNE5KSkrku+++k99//911365du2T48OGyYcMG116g+/btk+LiYtcxTX0cNLRup0AaA+4aPXq0rFu3Tr788ktJTU2Vp556SkQcgS8Qf15U507tTiqPFfIPARF2FyxYIB9++KH89ttvrvuqf2S/adMm6dmzp8yYMcO1Fi1QqFy7u87XV7VnH06fPi09evSQpUuX6t08r1K59trO1xfVA8mDDz4ozZo1k5SUFImJiZGRI0fK6tWrReTcPmtKVK27oc7XX86fodddd52sWrVKSkpK5KmnnpLLLrtM/uu//ksef/xxOX36tK+a7DEq106BqUmH3S+++ELatm0rKSkpEh8fL927d5eXX37Z9Xj10Dd9+nQZOHCgfPLJJ75oqsepXLu7ztdXc+bMcT1e/Rf+sWPH5NJLLw2Y67KrXHttF+sLp5tvvllWrFghp06dks2bN8utt94qPXr00L/BHqJq3Q11sZ+tZWVlEh8fL0VFRSIiMnPmTAkJCRGz2dzkdxRQuXYKbE027Nrtdrn22mvlzjvvFBHHGsT/+Z//EaPRKGvXrnUd55yROHTokPTv318mT57s+kjul19+EZFzP2bydyrX7q769pWzH5YvXy7t2rWrcYaw82Pe+u5B6i9Urr22+vSFs8batT7zzDOSnJx83v1B/Z2qdTdUffrrxIkTcuONN8qSJUskPT1doqKi5M9//rN06dLFdQngpjgTrnLtFPiabNjds2ePmM1m2bhxo+s+m80mN998s3Tr1k3y8/Nr3C8i8vLLL0vfvn3l4Ycflv79+0tycvJ5r83t71Su3V317SvnL/qJEyfK7bffLiIiubm5MmrUKLnzzjvr3IfWX6lce23u9kV1kydPlgkTJujWVk9Ste6Gulh/FRUV1dhRYNKkSXL8+HHZ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PPPMM9KvXz9JSkqSL7/8Unr06CGPPfaY69g5c+aIpmmSmJgob7/9tkemqb1N5drdpXJfqVx7bar2hap1N5TK/aVy7UR6cWtm12q14oMPPsCxY8ewePFi7N27F++//z4qKioAAB06dMDy5ctx6aWXYsmSJejVqxe+//57DB06FKmpqcjNzXW9Vr9+/fDPf/4Thw4dwu233+7ZBO8FKtfuLpX7SuXaa1O1L1Stu6FU7i+VayfSlbvpePPmzfLvf/9bRERmz54tMTExsn379nOOq6iocH1/7NgxSUlJkaeeeqrhsdwPqFy7u1TuK5Vrr03VvlC17oZSub9Urp1IL26H3dpndLZt21YmT54spaWl5zxeXl4uFotF5s6dK2lpabJjx45GNte3VK7dXSr3lcq116ZqX6had0Op3F8q106klwZvPeb8K3Pp0qViMpnk888/r/H44cOHZe7cuZKeni7R0dGyaNGixrXUj6hcu7tU7iuVa69N1b5Qte6GUrm/VK6dyNs0EZHGLoXo378/QkNDsXDhQsTGxuL48eOIiYnB4sWLcfToUUyfPt0TKy78ksq1u0vlvlK59tpU7QtV624olftL5dqJvKFRYddqtcJkMiEnJwc9evTAiy++iP3792PTpk149913kZKS4sm2+hWVa3eXyn2lcu21qdoXqtbdUCr3l8q1E3mVp6aIe/fu7dr2ZPXq1Z562SZB5drdpXJfqVx7bar2hap1N5TK/aVy7USe1uiwu2/fPklJSZHmzZvLm2++6Yk2NRkq1+4ulftK5dprU7UvVK27oVTuL5VrJ/KWRl8u2Gg04vrrr0dRURHuuOMOT0w2Nxkq1+4ulftK5dprU7UvVK27oVTuL5VrJ/IWj5ygRkRERETkjxo9s0tERERE5K8YdomIiIgoYDHsEhEREVHAYtglIiIiooDFsEtEREREAYthl4iIiIgCFsMuEREREQUshl0iavKGDBmC+++/39fNICIiP8SwS0RKyc7OhqZp+OOPP3zdFCIi0gHDLhEREREFLIZdImpSysrKMHHiRISFhSEuLg4vvPBCjcffe+89pKenIzw8HG3atMGECRNQWFgIADh06BCuvPJKAECLFi2gaRpuu+02AICI4Nlnn0WHDh0QEhKCHj16YNmyZbrWRkREnsewS0RNyoMPPoj169dj+fLl+Pzzz5GdnY1t27a5HrdYLHjyySfx008/4eOPP8bBgwddgTYhIQEffvghAGD37t3Iz8/Hyy+/DAB49NFHMW/ePLz22mvIycnB1KlTccstt2DDhg2610hERJ6jiYj4uhFERPVx6tQptGzZEvPnz8dNN90EACguLkZ8fDwmT56MOXPmnPOcLVu2oE+fPjh58iTCwsKQnZ2NK6+8EidOnEBUVBQAx2xxq1atsG7dOvTr18/13EmTJuH06dNYtGiRHuUREZEXmHzdACKi+tq/fz8sFkuNQBodHY0uXbq4bm/fvh1///vf8eOPP6K4uBh2ux0AkJeXh+Tk5PO+bm5uLs6cOYOrrrqqxv0WiwVpaWleqISIiPTCsEtETcbFPogqKyvDiBEjMGLECLz33nuIiYlBXl4eRo4cCYvFcsHnOQPxqlWr0K5duxqPmc3mxjeciIh8hmGXiJqMTp06ISgoCJs3b8Yll1wCADhx4gT27NmDwYMHY9euXSgqKsLTTz+NhIQEAMDWrVtrvEazZs0AADabzXVfcnIyzGYz8vLyMHjwYJ2qISIiPTDsElGTERYWhjvuuAMPPvggWrZsidatW2PmzJkwGBzn2l5yySVo1qwZ/vnPf+Kuu+7Czz//jCeffLLGayQmJkLTNHzyyScYNWoUQkJCEB4ejgceeABTp06F3W7HwIEDUVpaim+++QZhYWG49dZbfVEuERF5AHdjIKIm5bnnnsOgQYMwZswYDB8+HAMHDkSvXr0AADExMXjnnXfwwQcfIDk5GU8//TSef/75Gs9v164dZs+ejUceeQStW7fGlClTAABPPvkkHn/8cWRlZaFbt24YOXIk/v3vfyMpKUn3GomIyHO4GwMRERERBSzO7BIRERFRwGLYJSIiIqKAxbBLRERERAGLYZeIiIiIAhbDLhEREREFLIZdIiIiIgpYDLtEREREFLAYdomIiIgoYDHsEhEREVHAYtglIiIiooDFsEtEREREAev/Ae106GIiI0ebAAAAAElFTkSuQmCC",
"text/plain": [
"
"
],
"text/plain": [
" lossy\n",
"max abs diff 0.0073329\n",
"min abs diff 0.0020776\n",
"mean abs diff 0.0047053\n",
"mean squared diff 2.2139e-05\n",
"root mean squared diff 0.0053893\n",
"normalized root mean squared diff 7.6178e-05\n",
"normalized max pointwise error 0.00010365\n",
"pearson correlation coefficient 0.99768\n",
"ks p-value nan\n",
"spatial relative error(% > 0.0001) 0.52356\n",
"max spatial relative error 0.0077153\n",
"DSSIM nan"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# print statistics about 'original', 'lossy', and diff between the two datasets for TMQ at time slice 365\n",
"ldcpy.compare_stats(\n",
" col_tmq.isel(time=365), \"TMQ\", [\"original\", \"lossy\"], aggregate_dims=[\"lat\", \"lon\"]\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Make your own catalog for intake-esm\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The original data for FLNS and TMQ and TS and PRECT (from Amazon S3 in the\n",
"\"ncar-cesm-lens-baker-lossy-compression-test\" bucket) was loaded above using\n",
"method 1. An alternative would be to create our own catalog for this data for\n",
"use with intake-esm. To illustrate this, we created a test_catalog.csv and\n",
"test_collection.json file for this particular simple example.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We first open our collection.\n"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"