From 46a10ed23151752fe8e05c05639a92a2ce634d3a Mon Sep 17 00:00:00 2001 From: Tom Vo Date: Tue, 10 Oct 2023 15:42:49 -0700 Subject: [PATCH 01/12] Refactor zonal_mean_xy set --- ..._mean_xy_cdat_regression_test_netcdf.ipynb | 1441 +++++++++++++++++ .../654-zonal_mean_xy_run_script.py | 6 + ...template_cdat_regression_test_netcdf.ipynb | 2 +- .../template_run_script.py | 12 +- e3sm_diags/derivations/derivations.py | 3 +- e3sm_diags/derivations/formulas.py | 19 +- .../zonal_mean_xy_model_vs_obs.cfg | 2 +- e3sm_diags/driver/utils/dataset_xr.py | 7 +- e3sm_diags/driver/utils/io.py | 4 +- e3sm_diags/driver/zonal_mean_xy_driver.py | 500 +++--- e3sm_diags/metrics/metrics.py | 60 +- e3sm_diags/parameter/core_parameter.py | 2 +- e3sm_diags/plot/zonal_mean_xy_plot.py | 109 ++ examples/test_refactor/diags.cfg | 58 + examples/test_refactor/run_zonal_mean_xy.py | 42 + tests/e3sm_diags/fixtures.py | 1 + tests/e3sm_diags/metrics/test_metrics.py | 16 + 17 files changed, 2000 insertions(+), 284 deletions(-) create mode 100644 auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb create mode 100644 auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_run_script.py create mode 100644 e3sm_diags/plot/zonal_mean_xy_plot.py create mode 100644 examples/test_refactor/diags.cfg create mode 100644 examples/test_refactor/run_zonal_mean_xy.py diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb new file mode 100644 index 000000000..7f5a1c01c --- /dev/null +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb @@ -0,0 +1,1441 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CDAT Migration Regression Testing Notebook (`.nc` files)\n", + "\n", + "This notebook is used to perform regression testing between the development and\n", + "production versions of a diagnostic set.\n", + "\n", + "## How it works\n", + "\n", + "It compares the relative differences (%) between ref and test variables between\n", + "the dev and `main` branches.\n", + "\n", + "## How to use\n", + "\n", + "PREREQUISITE: The diagnostic set's netCDF stored in `.json` files in two directories\n", + "(dev and `main` branches).\n", + "\n", + "1. Make a copy of this notebook under `auxiliary_tools/cdat_regression_testing/`.\n", + "2. Run `mamba create -n cdat_regression_test -y -c conda-forge \"python<3.12\" xarray netcdf4 dask pandas matplotlib-base ipykernel`\n", + "3. Run `mamba activate cdat_regression_test`\n", + "4. Update `SET_DIR` and `SET_NAME` in the copy of your notebook.\n", + "5. Run all cells IN ORDER.\n", + "6. Review results for any outstanding differences (>=1e-5 relative tolerance).\n", + " - Debug these differences (e.g., bug in metrics functions, incorrect variable references, etc.)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup Code\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of files do not match at DEV_PATH (264) and MAIN_PATH 390.\n" + ] + } + ], + "source": [ + "from collections import defaultdict\n", + "import glob\n", + "\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# TODO: Update SET_NAME and SET_DIR\n", + "SET_NAME = \"zonal_mean_xy\"\n", + "SET_DIR = \"654-zonal_mean_xy\"\n", + "\n", + "DEV_PATH = f\"/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/{SET_DIR}/{SET_NAME}/**\"\n", + "MAIN_PATH = f\"/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/{SET_NAME}/**\"\n", + "\n", + "DEV_GLOB = sorted(glob.glob(DEV_PATH + \"/*.nc\"))\n", + "MAIN_GLOB = sorted(glob.glob(MAIN_PATH + \"/*.nc\"))\n", + "\n", + "if len(DEV_GLOB) == 0 or len(MAIN_GLOB) == 0:\n", + " raise IOError(\"No files found at DEV_PATH and/or MAIN_PATH.\")\n", + "\n", + "if len(DEV_GLOB) != len(MAIN_GLOB):\n", + " #raise IOError(f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\")\n", + " print(f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_test.nc!\n", + "Number of files missing: 126\n" + ] + } + ], + "source": [ + "missing_count = 0\n", + "for filepath_main in MAIN_GLOB:\n", + " filepath_dev = filepath_main.replace(\"main\", SET_DIR)\n", + " try:\n", + " ds = xr.open_dataset(filepath_dev)\n", + " except OSError:\n", + " print(f\"No file found to compare with {filepath_main}!\")\n", + " missing_count += 1\n", + "print(f\"Number of files missing: {missing_count}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Compare the netCDF files between branches\n", + "\n", + "- Compare \"ref\" and \"test\" files\n", + "- \"diff\" files are ignored because getting relative diffs for these does not make sense (relative diff will be above tolerance)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_ref.nc\n", + "var_key ALBEDO\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_test.nc\n", + "var_key ALBEDO\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_ref.nc\n", + "var_key ALBEDO\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ inf, inf, inf, inf, inf, inf,\n", + " inf, inf, inf, 4.905806, 1.104448, 0.486332,\n", + " 1.070643, 0.9697 , 0.895325, 0.848754, 0.816032, 0.794203,...\n", + " y: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " 2.497374e+06, 4.905807e+00, 1.104448e+00, 4.863323e-01,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_test.nc\n", + "var_key ALBEDO\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_ref.nc\n", + "var_key ALBEDOC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_test.nc\n", + "var_key ALBEDOC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_ref.nc\n", + "var_key ALBEDOC\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ inf, inf, inf, inf, inf, inf,\n", + " inf, inf, inf, 2.820785, 2.415148, 2.439055,\n", + " 2.429912, 2.546782, 2.106862, 1.591239, 1.257344, 1.041096,...\n", + " y: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " 2.353753e+04, 2.820784e+00, 2.415149e+00, 2.439055e+00,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_test.nc\n", + "var_key ALBEDOC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_ref.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_test.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_ref.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_test.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_ref.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_test.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_ref.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_test.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_ref.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_test.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_ref.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_test.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_ref.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_test.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_ref.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_test.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_ref.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_test.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_ref.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_test.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_ref.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_test.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_ref.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_test.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_ref.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_test.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_ref.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_test.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_ref.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_test.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_ref.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_test.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_ref.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_test.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_ref.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_test.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_ref.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_test.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_ref.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_test.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_ref.nc\n", + "var_key PminusE\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 169 / 180 (93.9%)\n", + "Max absolute difference: 2.68669262\n", + "Max relative difference: 0.99998843\n", + " x: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " nan, nan, nan, -1.362539e-06,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, -0.117723,\n", + " -0.275558, -0.151884, -0.083765, -0.021892, 0.034201, 0.038609,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_ref.nc\n", + "var_key PminusE\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 169 / 180 (93.9%)\n", + "Max absolute difference: 4.20649947\n", + "Max relative difference: 0.99998843\n", + " x: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " nan, nan, nan, -3.314214e-06,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, -0.286348,\n", + " -0.466065, -0.300971, -0.246707, -0.202872, -0.148632, -0.135121,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_ref.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_test.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_ref.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_test.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_ref.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_test.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_ref.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_test.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_ref.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_test.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_ref.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_test.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_ref.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_test.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_ref.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_test.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 1.533745, 3.139232, 3.324253, 3.274897, 4.989359, 6.846378,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 29.236507, 28.109412, 28.533893, 27.251634, 26.469386, 26.97218 ,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_test.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061155\n", + "Max relative difference: 4.49746954e-05\n", + " x: array([ 0.508382, 1.074433, 2.217963, 4.089368, 5.346755, 7.023399,\n", + " 8.357964, 9.295872, 9.923036, 10.151429, 10.687794, 10.818779,\n", + " 11.640937, 11.675063, 11.80395 , 12.337801, 13.089828, 14.506738,...\n", + " y: array([ 0.508382, 1.074433, 2.217963, 4.089368, 5.346755, 7.023399,\n", + " 8.357964, 9.295872, 9.923036, 10.151429, 10.687794, 10.818779,\n", + " 11.640937, 11.675063, 11.80395 , 12.337801, 13.089828, 14.506738,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_test.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.198617, 7.309172, 9.268335, 9.669798,\n", + " 11.19571 , 11.517812, 11.814792, 12.461223, 13.276728, 15.05141 ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 3.536903, 7.309172, 9.268335, 9.669798,\n", + " 11.19571 , 11.517812, 11.814792, 12.461223, 13.276728, 15.051411,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 2.806976, 6.224152, 6.523888, 6.707491, 10.036236, 13.568533,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 53.769157, 55.229167, 55.455046, 55.463217, 53.257188, 53.239823,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_test.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061159\n", + "Max relative difference: 1.91732908e-05\n", + " x: array([ 0.508382, 1.074741, 2.220688, 4.231993, 5.838705, 7.932786,\n", + " 9.8937 , 11.139655, 11.933139, 12.18146 , 12.85056 , 13.306193,\n", + " 14.767582, 15.358916, 16.112319, 17.347913, 19.017255, 21.755876,...\n", + " y: array([ 0.508382, 1.074741, 2.220688, 4.231993, 5.838705, 7.932785,\n", + " 9.8937 , 11.139655, 11.933139, 12.18146 , 12.85056 , 13.306193,\n", + " 14.767582, 15.358915, 16.112319, 17.347913, 19.017255, 21.755876,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_test.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.682866, 8.67263 , 10.420182, 10.854651,\n", + " 12.601834, 13.196861, 13.898068, 15.160259, 16.787511, 19.424786,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 4.965834, 8.67263 , 10.420182, 10.854651,\n", + " 12.601835, 13.196861, 13.898068, 15.160259, 16.787511, 19.424786,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 1.273231, 3.08492 , 3.199634, 3.432593, 5.046877, 6.722155,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 24.53265 , 27.119755, 26.921153, 28.211582, 26.787802, 26.267643,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_test.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_test.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.484249, 1.363458, 1.151847, 1.184853,\n", + " 1.406124, 1.679048, 2.083276, 2.699036, 3.510783, 4.373375,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 1.428931, 1.363458, 1.151847, 1.184853,\n", + " 1.406124, 1.679048, 2.083276, 2.699036, 3.510783, 4.373375,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 2.182318, 4.534118, 4.810252, 4.755759, 7.591126, 10.469784,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 39.281719, 37.960055, 38.48202 , 37.21898 , 37.955631, 38.85693 ,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061146\n", + "Max relative difference: 2.47686554e-05\n", + " x: array([ 6.48259 , 7.032162, 8.168338, 10.670212, 11.995118, 13.340878,\n", + " 14.429191, 15.205507, 15.814261, 15.693725, 16.715162, 17.677505,\n", + " 19.150876, 19.576892, 20.216722, 21.049227, 22.324699, 24.589998,...\n", + " y: array([ 6.48259 , 7.032162, 8.168338, 10.670212, 11.995118, 13.340878,\n", + " 14.429191, 15.205507, 15.814261, 15.693725, 16.715162, 17.677505,\n", + " 19.150876, 19.576892, 20.216722, 21.049227, 22.324699, 24.589998,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.663766, 9.352386, 12.374152, 14.459126,\n", + " 17.169302, 18.363139, 19.672765, 20.744298, 22.064177, 24.981155,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 4.909472, 9.352386, 12.374152, 14.459126,\n", + " 17.169302, 18.363139, 19.672765, 20.744298, 22.064177, 24.981155,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 4.052755, 8.979892, 9.465165, 10.054856, 15.900496, 21.680996,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 72.94959 , 75.180491, 75.721322, 78.690177, 79.502482, 80.465552,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061132\n", + "Max relative difference: 1.05840129e-05\n", + " x: array([ 6.545985, 7.139061, 8.392006, 11.516488, 13.449367, 15.319527,\n", + " 17.182584, 18.434132, 19.263685, 19.077421, 20.377829, 21.93892 ,\n", + " 24.569706, 26.084629, 27.881661, 30.145176, 32.828553, 36.981647,...\n", + " y: array([ 6.545985, 7.139061, 8.392006, 11.516488, 13.449367, 15.319527,\n", + " 17.182584, 18.434132, 19.263685, 19.077421, 20.377828, 21.93892 ,\n", + " 24.569706, 26.084628, 27.881661, 30.145176, 32.828553, 36.981646,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 2.148015, 10.969964, 13.916991, 16.181666,\n", + " 19.454391, 21.16124 , 23.274337, 25.667828, 28.305911, 32.553575,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 6.338404, 10.969964, 13.916991, 16.181667,\n", + " 19.454391, 21.16124 , 23.274337, 25.667828, 28.305911, 32.553575,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 1.870437, 4.445774, 4.654913, 5.299097, 8.30937 , 11.211212,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 33.667874, 37.220435, 37.239302, 41.471195, 41.546851, 41.608623,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_test.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_test.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.484249, 1.617579, 1.542839, 1.72254 ,\n", + " 2.28509 , 2.798101, 3.601572, 4.92353 , 6.241734, 7.572421,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 1.428931, 1.617579, 1.542839, 1.72254 ,\n", + " 2.28509 , 2.798101, 3.601572, 4.92353 , 6.241734, 7.572421,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_ref.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_test.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_ref.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_test.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_ref.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_ref.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_ref.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_test.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_ref.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_test.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_ref.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_test.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_ref.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_test.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n" + ] + } + ], + "source": [ + "# We are mainly focusing on relative tolerance here (in percentage terms).\n", + "atol = 0\n", + "rtol = 1e-5\n", + "\n", + "for filepath_dev in DEV_GLOB:\n", + " if ('test.nc' in filepath_dev or 'ref.nc' in filepath_dev):\n", + " filepath_main = filepath_dev.replace(SET_DIR, \"main\")\n", + " print(\"Comparing:\")\n", + " print(filepath_dev, \"\\n\", filepath_main)\n", + " ds1 = xr.open_dataset(filepath_dev)\n", + " ds2 = xr.open_dataset(filepath_main)\n", + "\n", + " var_key = filepath_dev.split(\"-\")[-3] \n", + " # for 3d vars such as T-200\n", + " var_key.isdigit()\n", + " if var_key.isdigit(): \n", + " var_key = filepath_dev.split(\"-\")[-4] \n", + " \n", + " print('var_key', var_key)\n", + " try:\n", + " np.testing.assert_allclose(\n", + " ds1[var_key].values,\n", + " ds2[var_key].values,\n", + " atol=atol,\n", + " rtol=rtol,\n", + " )\n", + " except AssertionError as e:\n", + " print(e)\n", + " else:\n", + " print(f\" * All close and within relative tolerance ({rtol})\")\n", + " \n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Results\n", + "\n", + "- The relative tolerance of all files are 1e-05, which means things should be good to go.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cdat_regression_test", + "language": "python", + "name": "python3" + }, + "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.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_run_script.py b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_run_script.py new file mode 100644 index 000000000..3a03ac532 --- /dev/null +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_run_script.py @@ -0,0 +1,6 @@ +from auxiliary_tools.cdat_regression_testing.base_run_script import run_set + +SET_NAME = "zonal_mean_xy" +SET_DIR = "654-zonal_mean_xy" + +run_set(SET_NAME, SET_DIR) diff --git a/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_netcdf.ipynb b/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_netcdf.ipynb index a021b736b..971b4b7ac 100644 --- a/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_netcdf.ipynb +++ b/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_netcdf.ipynb @@ -20,7 +20,7 @@ "(dev and `main` branches).\n", "\n", "1. Make a copy of this notebook under `auxiliary_tools/cdat_regression_testing/`.\n", - "2. Run `mamba create -n cdat_regression_test -y -c conda-forge \"python<3.12\" xarray dask pandas matplotlib-base ipykernel`\n", + "2. Run `mamba create -n cdat_regression_test -y -c conda-forge \"python<3.12\" xarray netcdf4 dask pandas matplotlib-base ipykernel`\n", "3. Run `mamba activate cdat_regression_test`\n", "4. Update `SET_DIR` and `SET_NAME` in the copy of your notebook.\n", "5. Run all cells IN ORDER.\n", diff --git a/auxiliary_tools/cdat_regression_testing/template_run_script.py b/auxiliary_tools/cdat_regression_testing/template_run_script.py index 43d3bef62..7db643806 100644 --- a/auxiliary_tools/cdat_regression_testing/template_run_script.py +++ b/auxiliary_tools/cdat_regression_testing/template_run_script.py @@ -12,11 +12,13 @@ "meridional_mean_2d", "annual_cycle_zonal_mean", "enso_diags", "qbo", "area_mean_time_series", "diurnal_cycle", "streamflow", "arm_diags", "tc_analysis", "aerosol_aeronet", "aerosol_budget", "mp_partition", -6. Run this script - - Make sure to run this command on NERSC perlmutter cpu: - `salloc --nodes 1 --qos interactive --time 01:00:00 --constraint cpu --account=e3sm - conda activate ` - - python auxiliary_tools/cdat_regression_testing/ + +6. Run this script as a Python module + - `auxiliary_tools` is not included in `setup.py`, so `-m` is required + to run the script as a Python module + - Command: python -m auxiliary_tools.cdat_regression_testing.-. + - Example: python -m auxiliary_tools.cdat_regression_testing.660_cosp_histogram.run_script + 7. Make a copy of the CDAT regression testing notebook in the same directory as this script and follow the instructions there to start testing. """ diff --git a/e3sm_diags/derivations/derivations.py b/e3sm_diags/derivations/derivations.py index 2b179243b..8e97e0fb4 100644 --- a/e3sm_diags/derivations/derivations.py +++ b/e3sm_diags/derivations/derivations.py @@ -87,6 +87,7 @@ ), (("pr",), lambda pr: qflxconvert_units(rename(pr))), (("PRECC", "PRECL"), lambda precc, precl: prect(precc, precl)), + (("sat_gauge_precip",), rename), ] ), "PRECST": OrderedDict( @@ -767,7 +768,7 @@ "QFLX", ), lambda precc, precl, qflx: pminuse_convert_units( - prect(precc, precl) - pminuse_convert_units(qflx) + prect(precc, precl) - qflxconvert_units(qflx) ), ), ( diff --git a/e3sm_diags/derivations/formulas.py b/e3sm_diags/derivations/formulas.py index 13c29bc57..85f65b906 100644 --- a/e3sm_diags/derivations/formulas.py +++ b/e3sm_diags/derivations/formulas.py @@ -77,15 +77,16 @@ def qflx_convert_to_lhflx_approxi(var: xr.DataArray): def pminuse_convert_units(var: xr.DataArray): - if ( - var.attrs["units"] == "kg/m2/s" - or var.attrs["units"] == "kg m-2 s-1" - or var.attrs["units"] == "kg/s/m^2" - ): - # need to find a solution for units not included in udunits - # var = convert_units( var, 'kg/m2/s' ) - var = var * 3600.0 * 24 # convert to mm/day - var.attrs["units"] = "mm/day" + if hasattr(var, "units"): + if ( + var.attrs["units"] == "kg/m2/s" + or var.attrs["units"] == "kg m-2 s-1" + or var.attrs["units"] == "kg/s/m^2" + ): + # need to find a solution for units not included in udunits + # var = convert_units( var, 'kg/m2/s' ) + var = var * 3600.0 * 24 # convert to mm/day + var.attrs["units"] = "mm/day" var.attrs["long_name"] = "precip. flux - evap. flux" return var diff --git a/e3sm_diags/driver/default_diags/zonal_mean_xy_model_vs_obs.cfg b/e3sm_diags/driver/default_diags/zonal_mean_xy_model_vs_obs.cfg index bdf58e278..51c8f8419 100644 --- a/e3sm_diags/driver/default_diags/zonal_mean_xy_model_vs_obs.cfg +++ b/e3sm_diags/driver/default_diags/zonal_mean_xy_model_vs_obs.cfg @@ -3,7 +3,7 @@ sets = ["zonal_mean_xy"] case_id = "GPCP_v3.2" variables = ["PRECT"] ref_name = "GPCP_v3.2" -reference_name = "GPCP v2.2" +reference_name = "GPCP v3.2" seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] regions = ["global"] diff --git a/e3sm_diags/driver/utils/dataset_xr.py b/e3sm_diags/driver/utils/dataset_xr.py index 3702e89be..f25c3c714 100644 --- a/e3sm_diags/driver/utils/dataset_xr.py +++ b/e3sm_diags/driver/utils/dataset_xr.py @@ -294,7 +294,8 @@ def get_ref_climo_dataset( # TODO: This logic was carried over from legacy implementation. It # can probably be improved on by setting `ds_ref = None` and not # performing unnecessary operations on `ds_ref` for model-only runs, - # since it is the same as `ds_test``. + # since it is the same as `ds_test``. In addition, returning ds_test makes it difficult for trouble shooting + if self.data_type == "ref": try: ds_ref = self.get_climo_dataset(var_key, season) @@ -304,6 +305,7 @@ def get_ref_climo_dataset( self.model_only = True logger.info("Cannot process reference data, analyzing test data only.") + else: raise RuntimeError( "`Dataset._get_ref_dataset` only works with " @@ -396,6 +398,9 @@ def _get_climo_dataset(self, season: str) -> xr.Dataset: ) ds = self._squeeze_time_dim(ds) + # slat and slon are lat lon pair for staggered FV grid included in remapped files + if "slat" in ds.dims: + ds = ds.drop_dims(["slat", "slon"]) return ds diff --git a/e3sm_diags/driver/utils/io.py b/e3sm_diags/driver/utils/io.py index f7e1e16e8..35f867ad3 100644 --- a/e3sm_diags/driver/utils/io.py +++ b/e3sm_diags/driver/utils/io.py @@ -66,9 +66,7 @@ def _save_data_metrics_and_plots( logger.info(f"Metrics saved in {filepath}") # Set the viewer description to the "long_name" attr of the variable. - parameter.viewer_descr[var_key] = ds_test[var_key].attrs.get( - "long_name", "No long_name attr in test data" - ) + parameter.viewer_descr[var_key] = ds_test[var_key].attrs.get("long_name", var_key) # Get the function arguments and pass to the set's plotting function. args = [ diff --git a/e3sm_diags/driver/zonal_mean_xy_driver.py b/e3sm_diags/driver/zonal_mean_xy_driver.py index 195922f05..12a8e05e6 100755 --- a/e3sm_diags/driver/zonal_mean_xy_driver.py +++ b/e3sm_diags/driver/zonal_mean_xy_driver.py @@ -1,16 +1,21 @@ from __future__ import annotations -from typing import TYPE_CHECKING - -import cdms2 -import cdutil -import MV2 -import numpy - -from e3sm_diags.driver import utils +from typing import TYPE_CHECKING, List, Tuple + +import xarray as xr +import xcdat as xc +from scipy import interpolate + +from e3sm_diags.driver.utils.dataset_xr import Dataset +from e3sm_diags.driver.utils.io import _save_data_metrics_and_plots +from e3sm_diags.driver.utils.regrid import ( + get_z_axis, + has_z_axis, + regrid_z_axis_to_plevs, +) from e3sm_diags.logger import custom_logger -from e3sm_diags.metrics import corr, max_cdms, mean, min_cdms, rmse -from e3sm_diags.plot import plot +from e3sm_diags.metrics.metrics import spatial_avg +from e3sm_diags.plot.zonal_mean_xy_plot import plot as plot_func logger = custom_logger(__name__) @@ -18,245 +23,270 @@ from e3sm_diags.parameter.core_parameter import CoreParameter -def regrid_to_lower_res_1d(mv1, mv2): - """Regrid 1-D transient variable toward lower resolution of two variables.""" - - if mv1 is None or mv2 is None: - return None - # missing = mv1.get_fill_value() - # latitude needs to be in ascending - axis1 = mv1.getAxisList()[0] - axis2 = mv2.getAxisList()[0] - if axis1[-1] < axis1[0]: - mv1 = mv1[::-1] - if axis2[-1] < axis2[0]: - mv2 = mv2[::-1] - axis1 = mv1.getAxisList()[0] - axis2 = mv2.getAxisList()[0] - - if len(axis1) <= len(axis2): - missing = mv2.get_fill_value() - mv1_reg = mv1 - b0 = numpy.interp(axis1[:], axis2[:], mv2[:], left=missing, right=missing) - b0_mask = numpy.interp( - axis1[:], axis2[:], mv2.mask[:], left=missing, right=missing - ) - mv2_reg = cdms2.createVariable( - b0, - mask=[ - True if bb == missing or bb_mask != 0.0 else False - for (bb, bb_mask) in zip(b0[:], b0_mask[:]) - ], - axes=[axis1], - ) - else: - missing = mv1.get_fill_value() - a0 = numpy.interp(axis2[:], axis1[:], mv1[:], left=missing, right=missing) - a0_mask = numpy.interp( - axis2[:], axis1[:], mv1.mask[:], left=missing, right=missing - ) - mv1_reg = cdms2.createVariable( - a0, - mask=[ - True if aa == missing or aa_mask != 0.0 else False - for (aa, aa_mask) in zip(a0[:], a0_mask[:]) - ], - axes=[axis2], - ) - mv2_reg = mv2 - - return mv1_reg, mv2_reg - - -def create_metrics(ref, test, ref_regrid, test_regrid, diff): - """Creates the mean, max, min, rmse, corr in a dictionary""" - metrics_dict = {} - metrics_dict["ref"] = { - "min": min_cdms(ref), - "max": max_cdms(ref), - "mean": mean(ref), - } - metrics_dict["test"] = { - "min": min_cdms(test), - "max": max_cdms(test), - "mean": mean(test), - } - - metrics_dict["diff"] = { - "min": min_cdms(diff), - "max": max_cdms(diff), - "mean": mean(diff), - } - metrics_dict["misc"] = { - "rmse": rmse(test_regrid, ref_regrid), - "corr": corr(test_regrid, ref_regrid), - } - - return metrics_dict +def run_diag(parameter: CoreParameter) -> CoreParameter: + """Get zonal mean results for the zonal_mean_xy diagnostic set. + This function loops over each variable, season, pressure level (if 3-D). -def run_diag(parameter: CoreParameter) -> CoreParameter: + NOTE: zonal_mean_xy set only supports "global" region. + + Parameters + ---------- + parameter : CoreParameter + The parameter for the diagnostic. + + Returns + ------- + CoreParameter + The parameter for the diagnostic with the result (completed or failed). + + Raises + ------ + RuntimeError + If the dimensions of the test and reference datasets are not aligned + (e.g., one is 2-D and the other is 3-D). + """ variables = parameter.variables seasons = parameter.seasons ref_name = getattr(parameter, "ref_name", "") regions = parameter.regions - test_data = utils.dataset.Dataset(parameter, test=True) - ref_data = utils.dataset.Dataset(parameter, ref=True) - - for season in seasons: - # Get the name of the data, appended with the years averaged. - parameter.test_name_yrs = utils.general.get_name_and_yrs( - parameter, test_data, season - ) - parameter.ref_name_yrs = utils.general.get_name_and_yrs( - parameter, ref_data, season - ) - - for var in variables: - logger.info("Variable: {}".format(var)) - parameter.var_id = var - - mv1 = test_data.get_climo_variable(var, season) - mv2 = ref_data.get_climo_variable(var, season) - - parameter.viewer_descr[var] = ( - mv1.long_name - if hasattr(mv1, "long_name") - else "No long_name attr in test data." + for region in regions: + if region != "global": + raise RuntimeError( + f"Region ({region}) is not supported. Only global region is currently " + "supported for the zonal_mean_xy set." ) - # Special case, cdms didn't properly convert mask with fill value - # -999.0, filed issue with Denis. - if ref_name == "WARREN": - # This is cdms2 fix for bad mask, Denis' fix should fix this. - mv2 = MV2.masked_where(mv2 == -0.9, mv2) - # The following should be moved to a derived variable. - if ref_name == "AIRS": - # This is cdms2 fix for bad mask, Denis' fix should fix this. - mv2 = MV2.masked_where(mv2 > 1e20, mv2) - if ref_name == "WILLMOTT" or ref_name == "CLOUDSAT": - # This is cdms2 fix for bad mask, Denis' fix should fix this. - mv2 = MV2.masked_where(mv2 == -999.0, mv2) - - # The following should be moved to a derived variable. - if var == "PRECT_LAND": - days_season = { - "ANN": 365, - "DJF": 90, - "MAM": 92, - "JJA": 92, - "SON": 91, - } - # mv1 = mv1 * days_season[season] * 0.1 # following AMWG - # Approximate way to convert to seasonal cumulative - # precipitation, need to have solution in derived variable, - # unit convert from mm/day to cm. - mv2 = ( - mv2 / days_season[season] / 0.1 - ) # Convert cm to mm/day instead. - mv2.units = "mm/day" - - # For variables with a z-axis. - if mv1.getLevel() and mv2.getLevel(): - plev = parameter.plevs - logger.info("Selected pressure level: {}".format(plev)) - - mv1_p = utils.general.convert_to_pressure_levels( - mv1, plev, test_data, var, season + # Variables storing xarray `Dataset` objects start with `ds_` and + # variables storing e3sm_diags `Dataset` objects end with `_ds`. This + # is to help distinguish both objects from each other. + test_ds = Dataset(parameter, data_type="test") + ref_ds = Dataset(parameter, data_type="ref") + + for var_key in variables: + logger.info("Variable: {}".format(var_key)) + parameter.var_id = var_key + + for season in seasons: + parameter._set_name_yrs_attrs(test_ds, ref_ds, season) + + ds_test = test_ds.get_climo_dataset(var_key, season) + # TODO consider to refactor the behavior of get_ref_climo_dataset + ds_ref = ref_ds.get_ref_climo_dataset(var_key, season, ds_test) + # ds_ref = ref_ds.get_ref_climo_dataset(var_key, season) + + # Store the variable's DataArray objects for reuse. + dv_test = ds_test[var_key] + dv_ref = ds_ref[var_key] + + is_vars_3d = has_z_axis(dv_test) and has_z_axis(dv_ref) + is_dims_diff = has_z_axis(dv_test) != has_z_axis(dv_ref) + + if not is_vars_3d: + _run_diags_2d( + parameter, + ds_test, + ds_ref, + season, + regions, + var_key, + ref_name, ) - mv2_p = utils.general.convert_to_pressure_levels( - mv2, plev, test_data, var, season + elif is_vars_3d: + _run_diags_3d( + parameter, + ds_test, + ds_ref, + season, + regions, + var_key, + ref_name, ) - # Select plev. - for ilev in range(len(plev)): - mv1 = mv1_p[ilev,] - mv2 = mv2_p[ilev,] - - for region in regions: - logger.info(f"Selected region: {region}") - mv1_zonal = cdutil.averager(mv1, axis="x") - mv2_zonal = cdutil.averager(mv2, axis="x") - - # Regrid towards the lower resolution of the two - # variables for calculating the difference. - mv1_reg, mv2_reg = regrid_to_lower_res_1d(mv1_zonal, mv2_zonal) - - diff = mv1_reg - mv2_reg - parameter.output_file = "-".join( - [ - ref_name, - var, - str(int(plev[ilev])), - season, - region, - ] - ) - parameter.main_title = str( - " ".join( - [ - var, - str(int(plev[ilev])), - "mb", - season, - region, - ] - ) - ) - - parameter.var_region = region - plot( - parameter.current_set, - mv2_zonal, - mv1_zonal, - diff, - {}, - parameter, - ) - utils.general.save_ncfiles( - parameter.current_set, - mv1_zonal, - mv2_zonal, - diff, - parameter, - ) - - # For variables without a z-axis. - elif mv1.getLevel() is None and mv2.getLevel() is None: - for region in regions: - logger.info(f"Selected region: {region}") - mv1_zonal = cdutil.averager(mv1, axis="x") - mv2_zonal = cdutil.averager(mv2, axis="x") - - mv1_reg, mv2_reg = regrid_to_lower_res_1d(mv1_zonal, mv2_zonal) - - diff = mv1_reg - mv2_reg - - parameter.output_file = "-".join([ref_name, var, season, region]) - parameter.main_title = str(" ".join([var, season, region])) - - parameter.var_region = region - - plot( - parameter.current_set, - mv2_zonal, - mv1_zonal, - diff, - {}, - parameter, - ) - utils.general.save_ncfiles( - parameter.current_set, - mv1_zonal, - mv2_zonal, - diff, - parameter, - ) - - else: + elif is_dims_diff: raise RuntimeError( "Dimensions of the two variables are different. Aborting." ) return parameter + + +def _run_diags_2d( + parameter: CoreParameter, + ds_test: xr.Dataset, + ds_ref: xr.Dataset, + season: str, + regions: List[str], + var_key: str, + ref_name: str, +): + """Run diagnostics on a 2D variable. + + This function gets the variable's metrics by region, then saves the + metrics, metric plots, and data (optional, `CoreParameter.save_netcdf`). + + Parameters + ---------- + parameter : CoreParameter + The parameter object. + ds_test : xr.Dataset + The dataset containing the test variable. + ds_ref : xr.Dataset + The dataset containing the ref variable. If this is a model-only run + then it will be the same dataset as ``ds_test``. + season : str + The season. + regions : List[str] + The list of regions. + var_key : str + The key of the variable. + ref_name : str + The reference name. + """ + for region in regions: + logger.info(f"Selected region: {region}") + + parameter._set_param_output_attrs(var_key, season, region, ref_name, ilev=None) + + da_test_1d, da_ref_1d = _calc_zonal_mean(ds_test, ds_ref, var_key) + da_diff_1d = _get_diff_of_zonal_means(da_test_1d, da_ref_1d) + + _save_data_metrics_and_plots( + parameter, + plot_func, + var_key, + da_test_1d.to_dataset(), + da_ref_1d.to_dataset(), + da_diff_1d.to_dataset(), + metrics_dict=None, + ) + + +def _run_diags_3d( + parameter: CoreParameter, + ds_test: xr.Dataset, + ds_ref: xr.Dataset, + season: str, + regions: List[str], + var_key: str, + ref_name: str, +): + """Run diagnostics on a 3D variable. + + This function gets the variable's metrics by region, then saves the + metrics, metric plots, and data (optional, `CoreParameter.save_netcdf`). + + Parameters + ---------- + parameter : CoreParameter + The parameter object. + ds_test : xr.Dataset + The dataset containing the test variable. + ds_ref : xr.Dataset + The dataset containing the ref variable. If this is a model-only run + then it will be the same dataset as ``ds_test``. + season : str + The season. + regions : List[str] + The list of regions. + var_key : str + The key of the variable. + ref_name : str + The reference name. + """ + plev = parameter.plevs + logger.info("Selected pressure level(s): {}".format(plev)) + + ds_test_rg = regrid_z_axis_to_plevs(ds_test, var_key, parameter.plevs) + ds_ref_rg = regrid_z_axis_to_plevs(ds_ref, var_key, parameter.plevs) + + for ilev in plev: + z_axis_key = get_z_axis(ds_test_rg[var_key]).name + ds_test_ilev = ds_test_rg.sel({z_axis_key: ilev}) + ds_ref_ilev = ds_ref_rg.sel({z_axis_key: ilev}) + + for region in regions: + logger.info(f"Selected region: {region}") + + parameter._set_param_output_attrs(var_key, season, region, ref_name, ilev) + + da_test_1d, da_ref_1d = _calc_zonal_mean(ds_test_ilev, ds_ref_ilev, var_key) + da_diff_1d = _get_diff_of_zonal_means(da_test_1d, da_ref_1d) + + _save_data_metrics_and_plots( + parameter, + plot_func, + var_key, + da_test_1d.to_dataset(), + da_ref_1d.to_dataset(), + da_diff_1d.to_dataset(), + metrics_dict=None, + ) + + +def _calc_zonal_mean( + ds_test: xr.Dataset, + ds_ref: xr.Dataset, + var_key: str, +) -> Tuple[xr.DataArray, xr.DataArray]: + """Calculate zonal mean metrics. + + # TODO: Write unit tests for this function. + + Parameters + ---------- + ds_test : xr.Dataset + The dataset containing the test variable. + ds_ref : xr.Dataset + The dataset containing the ref variable. If this is a model-only run + then it will be the same dataset as ``ds_test``. + var_key : str + The key of the variable. + + Returns + ------- + Tuple[xr.DataArray, xr.DataArray] + A Tuple containing the zonal mean for the test variable and the ref + variable. + """ + da_test_1d = spatial_avg(ds_test, var_key, "X", as_list=False) + da_ref_1d = spatial_avg(ds_ref, var_key, "X", as_list=False) + + return da_test_1d, da_ref_1d # type: ignore + + +def _get_diff_of_zonal_means(da_a: xr.DataArray, da_b: xr.DataArray) -> xr.DataArray: + """Get the difference between the zonal means of two variables. + + Both variables are aligned to the same grid (lower resolution of the two) + and the difference is calculated. + + # TODO: Write unit tests for this function + + Parameters + ---------- + da_a : xr.DataArray + The first variable. + da_b : xr.DataArray + The second variable. + + Returns + ------- + xr.DataArray + The difference between the zonal means of two variables. + """ + + with xr.set_options(keep_attrs=True): + lat_a = xc.get_dim_coords(da_a, axis="Y") + lat_b = xc.get_dim_coords(da_b, axis="Y") + if len(lat_a) > len(lat_b): + interpf = interpolate.interp1d(lat_a, da_a.values, bounds_error=False) + da_a_new = da_b.copy(data=interpf(lat_b)) + + return da_a_new - da_b.copy() + else: + interpf = interpolate.interp1d(lat_b, da_b.values, bounds_error=False) + da_b_new = da_a.copy(data=interpf(lat_a)) + + return da_a.copy() - da_b_new diff --git a/e3sm_diags/metrics/metrics.py b/e3sm_diags/metrics/metrics.py index 68410f08a..8a75faee9 100644 --- a/e3sm_diags/metrics/metrics.py +++ b/e3sm_diags/metrics/metrics.py @@ -21,33 +21,39 @@ def spatial_avg( ) -> List[float] | xr.DataArray: """Compute a variable's weighted spatial average. - Parameters - ---------- - ds : xr.Dataset - The dataset containing the variable. - var_key : str - The key of the variable in the dataset. - axis : List[Axis] - The list of axes to use for the computation, by default ["X", "Y"]. - Valid axes including "X", "Y", and "Z". - as_list : bool - Return the spatial average as a list of floats, by default True. - If False, return an xr.DataArray. Must be True to be serializable for - writing out to a `.json` metrics file. - - Returns - ------- - List[float] | xr.DataArray - The spatial average of the variable based on the specified axis. - - Raises - ------ - ValueError - If the axis argument contains an invalid value. - - Notes - ----- - Replaces `e3sm_diags.metrics.mean`. + Parameters + ---------- + ds : xr.Dataset + The dataset containing the variable. + var_key : str + <<<<<<< HEAD + The key of the variable in the dataset. + axis : List[Axis] + The list of axes to use for the computation, by default ["X", "Y"]. + Valid axes including "X", "Y", and "Z". + ======= + The key of the variable. + axis : List[str] + A list of axis strings, by default ["X", "Y"]. + >>>>>>> b7195dad (Refactor zonal_mean_xy set) + as_list : bool + Return the spatial average as a list of floats, by default True. + If False, return an xr.DataArray. Must be True to be serializable for + writing out to a `.json` metrics file. + + Returns + ------- + List[float] | xr.DataArray + The spatial average of the variable based on the specified axis. + + Raises + ------ + ValueError + If the axis argument contains an invalid value. + + Notes + ----- + Replaces `e3sm_diags.metrics.mean`. """ dv = ds[var_key].copy() weights = _get_weights(ds, var_key, axis) diff --git a/e3sm_diags/parameter/core_parameter.py b/e3sm_diags/parameter/core_parameter.py index 128fe8123..dc4433d2b 100644 --- a/e3sm_diags/parameter/core_parameter.py +++ b/e3sm_diags/parameter/core_parameter.py @@ -270,7 +270,7 @@ def _set_param_output_attrs( else: ilev_str = str(int(ilev)) output_file = f"{ref_name}-{var_key}-{ilev_str}-{season}-{region}" - main_title = f"{var_key} {ilev_str} 'mb' {season} {region}" + main_title = f"{var_key} {ilev_str} mb {season} {region}" self.output_file = output_file self.main_title = main_title diff --git a/e3sm_diags/plot/zonal_mean_xy_plot.py b/e3sm_diags/plot/zonal_mean_xy_plot.py new file mode 100644 index 000000000..f72b3d8ae --- /dev/null +++ b/e3sm_diags/plot/zonal_mean_xy_plot.py @@ -0,0 +1,109 @@ +import matplotlib +import xarray as xr +import xcdat as xc + +from e3sm_diags.logger import custom_logger +from e3sm_diags.parameter.core_parameter import CoreParameter +from e3sm_diags.plot.utils import _save_plot + +matplotlib.use("Agg") +import matplotlib.pyplot as plt # isort:skip # noqa: E402 + +logger = custom_logger(__name__) + +# Plot title and side title configurations. +PLOT_TITLE = {"fontsize": 12.5} +PLOT_SIDE_TITLE = {"fontsize": 11.5} + +# Position and sizes of subplot axes in page coordinates (0 to 1) +PANEL_CONFIGS = [ + (0.1500, 0.5500, 0.7500, 0.3000), + (0.1500, 0.1300, 0.7500, 0.3000), +] + +# Border padding relative to subplot axes for saving individual PANELs +# (left, bottom, right, top) in page coordinates +BORDER_PADDING = (-0.14, -0.06, 0.04, 0.08) + + +def plot( + parameter: CoreParameter, + da_test: xr.DataArray, + da_ref: xr.DataArray, + da_diff: xr.DataArray, +): + """Plot the variable's metrics generated for the zonal_mean_xy set. + + Parameters + ---------- + parameter : CoreParameter + The CoreParameter object containing plot configurations. + da_test : xr.DataArray + The test data. + da_ref : xr.DataArray + The reference data. + da_diff : xr.DataArray + The difference data. + """ + # Create figure + fig = plt.figure(figsize=parameter.figsize, dpi=parameter.dpi) + lat_test = xc.get_dim_coords(da_test, axis="Y") + lat_ref = xc.get_dim_coords(da_ref, axis="Y") + lat_diff = xc.get_dim_coords(da_diff, axis="Y") + long_name = parameter.viewer_descr[parameter.var_id] + + # Top PANEL + ax1 = fig.add_axes(PANEL_CONFIGS[0]) + ax1.plot(lat_test, da_test.values, "k", linewidth=2) + ax1.plot( + lat_ref, + da_ref.values, + "r", + linewidth=2, + ) + ax1.set_xticks([-90, -60, -30, 0, 30, 60, 90]) + ax1.set_xlim(-90, 90) + ax1.tick_params(labelsize=11.0, direction="out", width=1) + ax1.xaxis.set_ticks_position("bottom") + ax1.set_ylabel(long_name + " (" + da_test.units + ")") + + test_title = "Test" if parameter.test_title == "" else parameter.test_title + test_title += " : {}".format(parameter.test_name_yrs) + ref_title = ( + "Reference" if parameter.reference_title == "" else parameter.reference_title + ) + ref_title += " : {}".format(parameter.ref_name_yrs) + fig.text( + PANEL_CONFIGS[0][0], + PANEL_CONFIGS[0][1] + PANEL_CONFIGS[0][3] + 0.03, + test_title, + ha="left", + fontdict=PLOT_SIDE_TITLE, + color="black", + ) + fig.text( + PANEL_CONFIGS[0][0], + PANEL_CONFIGS[0][1] + PANEL_CONFIGS[0][3] + 0.01, + ref_title, + ha="left", + fontdict=PLOT_SIDE_TITLE, + color="red", + ) + + # Bottom PANEL + ax2 = fig.add_axes(PANEL_CONFIGS[1]) + ax2.plot(lat_diff, da_diff.values, "k", linewidth=2) + ax2.axhline(y=0, color="0.5") + ax2.set_title(parameter.diff_title, fontdict=PLOT_SIDE_TITLE, loc="center") + ax2.set_xticks([-90, -60, -30, 0, 30, 60, 90]) + ax2.set_xlim(-90, 90) + ax2.tick_params(labelsize=11.0, direction="out", width=1) + ax2.xaxis.set_ticks_position("bottom") + ax2.set_ylabel(long_name + " (" + da_test.units + ")") + + # Figure title + fig.suptitle(parameter.main_title, x=0.5, y=0.95, fontsize=18) + + _save_plot(fig, parameter, PANEL_CONFIGS, BORDER_PADDING) + + plt.close() diff --git a/examples/test_refactor/diags.cfg b/examples/test_refactor/diags.cfg new file mode 100644 index 000000000..3f4268c6d --- /dev/null +++ b/examples/test_refactor/diags.cfg @@ -0,0 +1,58 @@ +[#] +sets = ["zonal_mean_xy"] +case_id = "CERES-EBAF-surface-v4.1" +variables = ["FLNS"] +ref_name = "ceres_ebaf_surface_v4.1" +reference_name = "CERES-EBAF v4.1" +seasons = ["ANN"] + +[#] +sets = ["zonal_mean_xy"] +case_id = "MERRA2" +variables = ["TMQ"] +ref_name = "MERRA2" +reference_name = "MERRA2 Reanalysis" +seasons = ["ANN"] + +#[#] +#sets = ["zonal_mean_xy"] +#case_id = "MERRA2" +#variables = ["TREFHT"] +#regions = ["global"] +#ref_name = "MERRA2" +#reference_name = "MERRA2 Reanalysis" +#seasons = ["ANN"] +#[#] +#sets = ["zonal_mean_xy"] +#case_id = "GPCP_OAFLux" +#variables = ["PminusE"] +#ref_name = "GPCP_OAFLux" +#reference_name = "PRECT(GPCP) minus QFLX(OAFLux)" +#seasons = ["ANN"] +## +#[#] +#sets = ["zonal_mean_xy"] +#case_id = "COREv2_Flux" +#variables = ["PminusE"] +#ref_name = "COREv2_Flux" +#reference_name = "COREv2_Flux" +#seasons = ["ANN"] +# +# +#[#] +#sets = ["zonal_mean_xy"] +#case_id = "GPCP_v3.2" +#variables = ["PRECT"] +#ref_name = "GPCP_v3.2" +#reference_name = "GPCP v3.2" +#seasons = ["ANN"] +#regions = ["global"] +# +#[#] +#sets = ["zonal_mean_xy"] +#case_id = "ERA5" +#variables = ["T"] +#ref_name = "ERA5" +#reference_name = "ERA5 Reanalysis" +#seasons = ["ANN"] +#plevs = [850.0] \ No newline at end of file diff --git a/examples/test_refactor/run_zonal_mean_xy.py b/examples/test_refactor/run_zonal_mean_xy.py new file mode 100644 index 000000000..c26e87c22 --- /dev/null +++ b/examples/test_refactor/run_zonal_mean_xy.py @@ -0,0 +1,42 @@ +import os +import sys + +from e3sm_diags.parameter.core_parameter import CoreParameter +from e3sm_diags.run import runner + +param = CoreParameter() + +# Location of the data. +param.reference_data_path = ( + "/global/cfs/cdirs/e3sm/e3sm_diags/obs_for_e3sm_diags/climatology/" +) +param.test_data_path = ( + "/global/cfs/cdirs/e3sm/e3sm_diags/postprocessed_e3sm_v2_data_for_e3sm_diags/20210528.v2rc3e.piControl.ne30pg2_EC30to60E2r2.chrysalis/climatology/rgr" +) +# Name of the test model data, used to find the climo files. +param.test_name = "20210528.v2rc3e.piControl.ne30pg2_EC30to60E2r2.chrysalis" +# An optional, shorter name to be used instead of the test_name. +param.short_test_name = "v2rc3e" + +# What plotsets to run the diags on. +#param.sets = ["lat_lon"] +# Name of the folder where the results are stored. +# Change `prefix` to use your directory. +prefix = "/global/cfs/cdirs/e3sm/www/chengzhu/test_e3sm_refactor" +param.results_dir = os.path.join(prefix, "ex5_model_to_obs") + +# Below are more optional arguments. + +# Title of the difference plots. +param.diff_title = "Model - Obs." +# Save the netcdf files for each of the ref, test, and diff plot. +param.save_netcdf = True +# For running with multiprocessing. +# param.multiprocessing = True +# param.num_workers = 32 +# Use the specified `.cfg` file for debugging +CFG_PATH = "examples/test_refactor/diags.cfg" +sys.argv.extend(["-d", CFG_PATH]) + +runner.sets_to_run = ["zonal_mean_xy"] +runner.run_diags([param]) diff --git a/tests/e3sm_diags/fixtures.py b/tests/e3sm_diags/fixtures.py index 4f6da58da..ec4278853 100644 --- a/tests/e3sm_diags/fixtures.py +++ b/tests/e3sm_diags/fixtures.py @@ -81,6 +81,7 @@ def generate_lev_dataset( ds["lev"].attrs["axis"] = "Z" ds["lev"].attrs["bounds"] = "lev_bnds" ds["lev"].attrs["long_name"] = long_name + ds["so"].attrs["units"] = "ppt" if pressure_vars: ds["ps"] = xr.DataArray( diff --git a/tests/e3sm_diags/metrics/test_metrics.py b/tests/e3sm_diags/metrics/test_metrics.py index fd4e8a339..f4b668e1b 100644 --- a/tests/e3sm_diags/metrics/test_metrics.py +++ b/tests/e3sm_diags/metrics/test_metrics.py @@ -127,6 +127,22 @@ def test_returns_spatial_avg_for_x_y_as_xr_dataarray(self): assert isinstance(result, xr.DataArray) np.testing.assert_allclose(expected, result, atol=1e-5, rtol=1e-5) + def test_returns_spatial_avg_for_x(self): + expected = [[1.5, 1.5], [1.0, 1.5], [1.5, 1.5]] + result = spatial_avg(self.ds, "ts", axis="X") + + np.testing.assert_allclose(expected, result, atol=1e-5, rtol=1e-5) + + def test_returns_spatial_avg_for_y(self): + expected = [ + [1.0, 2.0], + [1.0, 1.4999238359780462], + [1.5000761640219538, 1.4999238359780462], + ] + result = spatial_avg(self.ds, "ts", axis="Y") + + np.testing.assert_allclose(expected, result, atol=1e-5, rtol=1e-5) + class TestStd: @pytest.fixture(autouse=True) From db652ac808943d5c0fa807bf0c66cc6ada328655 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 13:19:59 -0800 Subject: [PATCH 02/12] Update template_run_script.py and base_run_script.py - Add new parameters for cfg_path and multiprocessing --- .../cdat_regression_testing/base_run_script.py | 17 +++++++++++------ .../template_run_script.py | 18 +++++++++++++++++- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/auxiliary_tools/cdat_regression_testing/base_run_script.py b/auxiliary_tools/cdat_regression_testing/base_run_script.py index 88c735d9b..52def949b 100644 --- a/auxiliary_tools/cdat_regression_testing/base_run_script.py +++ b/auxiliary_tools/cdat_regression_testing/base_run_script.py @@ -5,6 +5,7 @@ # flake8: noqa E501 import os +import sys from typing import List, Tuple, TypedDict from mache import MachineInfo @@ -44,7 +45,15 @@ class MachinePaths(TypedDict): tc_test: str -def run_set(set_name: str, set_dir: str): +def run_set( + set_name: str, + set_dir: str, + cfg_path: str | None = None, + multiprocessing: bool = True, +): + if cfg_path is not None: + sys.argv.extend(["--diags", cfg_path]) + machine_paths: MachinePaths = _get_machine_paths() param = CoreParameter() @@ -58,7 +67,7 @@ def run_set(set_name: str, set_dir: str): ] # Default setting: seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] param.results_dir = os.path.join(BASE_RESULTS_DIR, set_dir) - param.multiprocessing = True + param.multiprocessing = multiprocessing param.num_workers = 5 # Make sure to save the netCDF files to compare outputs. @@ -251,7 +260,3 @@ def _get_test_data_dirs(machine: str) -> Tuple[str, str]: ) return test_data_dirs # type: ignore - - -if __name__ == "__main__": - run_set() diff --git a/auxiliary_tools/cdat_regression_testing/template_run_script.py b/auxiliary_tools/cdat_regression_testing/template_run_script.py index 7db643806..85c98ae17 100644 --- a/auxiliary_tools/cdat_regression_testing/template_run_script.py +++ b/auxiliary_tools/cdat_regression_testing/template_run_script.py @@ -21,6 +21,14 @@ 7. Make a copy of the CDAT regression testing notebook in the same directory as this script and follow the instructions there to start testing. + +8. Update `CFG_PATH` to a custom cfg file to debug specific variables. + - It is useful to create a custom cfg based on the default diags to debug + specific variables that are running into problems. + - For example, copy `zonal_mean_xy_model_vs_model.cfg` into the same directory + as the copy of this script, then modify it to specific variables. Afterwards + update `CFG_PATH` to the path of that .cfg file. + - Tip: Use VS Code to step through the code with the Python debugger. """ from auxiliary_tools.cdat_regression_testing.base_run_script import run_set @@ -32,4 +40,12 @@ # Example: "671-lat-lon" SET_DIR = "" -run_set(SET_NAME, SET_DIR) +# TODO: UPDATE CFG_PATH if using a custom cfg file for debugging. +# Example: "auxiliary_tools/cdat_regression_testing/654_zonal_mean_xy.cfg" +CFG_PATH: str | None = None + +# TODO: Update MULTIPROCESSING based on whether to run in parallel or +# serial. For debugging purposes, set to False to run serially. +MULTIPROCESSING = True + +run_set(SET_NAME, SET_DIR, CFG_PATH, MULTIPROCESSING) From d91fb53881cfa54e0dbf25e6ca4c517c915b35b4 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 13:30:32 -0800 Subject: [PATCH 03/12] Fix `_get_dataset_with_derived_climo_var()` not returning vars directly --- e3sm_diags/driver/utils/dataset_xr.py | 64 +++++++++++++++------------ 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/e3sm_diags/driver/utils/dataset_xr.py b/e3sm_diags/driver/utils/dataset_xr.py index f25c3c714..324ff338b 100644 --- a/e3sm_diags/driver/utils/dataset_xr.py +++ b/e3sm_diags/driver/utils/dataset_xr.py @@ -620,6 +620,13 @@ def _get_dataset_with_derived_climo_var(self, ds: xr.Dataset) -> xr.Dataset: ------- xr.Dataset The dataset with the derived variable. + + Raises + ------ + IOError + If the datasets for the target variable and source variables were + not found in the data directory, or the target variable cannot be + found directly in the dataset. """ # An OrderedDict mapping possible source variables to the function # for deriving the variable of interest. @@ -632,32 +639,39 @@ def _get_dataset_with_derived_climo_var(self, ds: xr.Dataset) -> xr.Dataset: # and the derivation function is used to derive the target variable. # Example: # For target variable "PRECT": {('PRECC', 'PRECL'): func} - matching_target_var_map = self._get_matching_climo_src_vars( - ds, target_var, target_var_map - ) + matching_target_var_map = self._get_matching_climo_src_vars(ds, target_var_map) - # NOTE: Since there's only one set of vars, we get the first and only set - # of vars from the derived variable dictionary. - # 1. Get the derivation function. - derivation_func = list(matching_target_var_map.values())[0] + if matching_target_var_map is not None: + # NOTE: Since there's only one set of vars, we get the first and only set + # of vars from the derived variable dictionary. + # 1. Get the derivation function. + derivation_func = list(matching_target_var_map.values())[0] - # 2. Get the derivation function arguments using source variable keys. - # Example: [xr.DataArray(name="PRECC",...), xr.DataArray(name="PRECL",...)] - src_var_keys = list(matching_target_var_map.keys())[0] + # 2. Get the derivation function arguments using source variable keys. + # Example: [xr.DataArray(name="PRECC",...), xr.DataArray(name="PRECL",...)] + src_var_keys = list(matching_target_var_map.keys())[0] - # 3. Use the derivation function to derive the variable. - ds_final = self._get_dataset_with_derivation_func( - ds, derivation_func, src_var_keys, target_var - ) + # 3. Use the derivation function to derive the variable. + ds_derived = self._get_dataset_with_derivation_func( + ds, derivation_func, src_var_keys, target_var + ) - return ds_final + return ds_derived + + # None of the entries in the derived variables dictionary worked, + # so try to get the variable directly from he dataset. + if target_var in ds.data_vars.keys(): + return ds + + raise IOError( + f"The dataset file has no matching source variables for {target_var}" + ) def _get_matching_climo_src_vars( self, dataset: xr.Dataset, - target_var: str, target_variable_map: DerivedVariableMap, - ) -> Dict[Tuple[str, ...], Callable]: + ) -> DerivedVariableMap | None: """Get the matching climatology source vars based on the target variable. Parameters @@ -672,15 +686,9 @@ def _get_matching_climo_src_vars( Returns ------- - DerivedVariableMap - The matching dictionary with the key being the source variables - and the value being the derivation function. - - Raises - ------ - IOError - If the datasets for the target variable and source variables were - not found in the data directory. + DerivedVariableMap | None + The optional matching dictionary with the key being the source + variables and the value being the derivation function. """ vars_in_file = set(dataset.data_vars.keys()) @@ -703,9 +711,7 @@ def _get_matching_climo_src_vars( # Return the corresponding dict. return {tuple(var_list): target_variable_map[var_tuple]} - raise IOError( - f"The dataset file has no matching source variables for {target_var}" - ) + return None # -------------------------------------------------------------------------- # Time series related methods From ecacd2ee47816cee970f5134a10ff6fa5623e2d9 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 13:31:29 -0800 Subject: [PATCH 04/12] Add debug scripts and notebook --- ...xy_cdat_regression_test_netcdf_debug.ipynb | 1609 +++++++++++++++++ .../debug_654-zonal_mean_xy_run_script.py | 26 + .../debug_zonal_mean_xy_model_vs_obs.cfg | 570 ++++++ 3 files changed, 2205 insertions(+) create mode 100644 auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb create mode 100644 auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py create mode 100644 auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb new file mode 100644 index 000000000..c112bd069 --- /dev/null +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb @@ -0,0 +1,1609 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CDAT Migration Regression Testing Notebook (`.nc` files)\n", + "\n", + "This notebook is used to perform regression testing between the development and\n", + "production versions of a diagnostic set.\n", + "\n", + "## How it works\n", + "\n", + "It compares the relative differences (%) between ref and test variables between\n", + "the dev and `main` branches.\n", + "\n", + "## How to use\n", + "\n", + "PREREQUISITE: The diagnostic set's netCDF stored in `.json` files in two directories\n", + "(dev and `main` branches).\n", + "\n", + "1. Make a copy of this notebook under `auxiliary_tools/cdat_regression_testing/`.\n", + "2. Run `mamba create -n cdat_regression_test -y -c conda-forge \"python<3.12\" xarray netcdf4 dask pandas matplotlib-base ipykernel`\n", + "3. Run `mamba activate cdat_regression_test`\n", + "4. Update `SET_DIR` and `SET_NAME` in the copy of your notebook.\n", + "5. Run all cells IN ORDER.\n", + "6. Review results for any outstanding differences (>=1e-5 relative tolerance).\n", + " - Debug these differences (e.g., bug in metrics functions, incorrect variable references, etc.)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup Code\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of files do not match at DEV_PATH (336) and MAIN_PATH 390.\n" + ] + } + ], + "source": [ + "from collections import defaultdict\n", + "import glob\n", + "\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# TODO: Update SET_NAME and SET_DIR\n", + "SET_NAME = \"zonal_mean_xy\"\n", + "SET_DIR = \"debug-654-zonal_mean_xy\"\n", + "\n", + "DEV_PATH = f\"/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/{SET_DIR}/{SET_NAME}/**\"\n", + "MAIN_PATH = f\"/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/{SET_NAME}/**\"\n", + "\n", + "DEV_GLOB = sorted(glob.glob(DEV_PATH + \"/*.nc\"))\n", + "MAIN_GLOB = sorted(glob.glob(MAIN_PATH + \"/*.nc\"))\n", + "\n", + "if len(DEV_GLOB) == 0 or len(MAIN_GLOB) == 0:\n", + " raise IOError(\"No files found at DEV_PATH and/or MAIN_PATH.\")\n", + "\n", + "if len(DEV_GLOB) != len(MAIN_GLOB):\n", + " # raise IOError(f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\")\n", + " print(\n", + " f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_test.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_diff.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_ref.nc!\n", + "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_test.nc!\n", + "Number of files missing: 54\n" + ] + } + ], + "source": [ + "missing_count = 0\n", + "for filepath_main in MAIN_GLOB:\n", + " filepath_dev = filepath_main.replace(\"main\", SET_DIR)\n", + " try:\n", + " ds = xr.open_dataset(filepath_dev)\n", + " except OSError:\n", + " print(f\"No file found to compare with {filepath_main}!\")\n", + " missing_count += 1\n", + "print(f\"Number of files missing: {missing_count}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Compare the netCDF files between branches\n", + "\n", + "- Compare \"ref\" and \"test\" files\n", + "- \"diff\" files are ignored because getting relative diffs for these does not make sense (relative diff will be above tolerance)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_ref.nc\n", + "var_key ALBEDO\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-ANN-global_test.nc\n", + "var_key ALBEDO\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_ref.nc\n", + "var_key ALBEDO\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ inf, inf, inf, inf, inf, inf,\n", + " inf, inf, inf, 4.905806, 1.104448, 0.486332,\n", + " 1.070643, 0.9697 , 0.895325, 0.848754, 0.816032, 0.794203,...\n", + " y: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " 2.497374e+06, 4.905807e+00, 1.104448e+00, 4.863323e-01,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDO-JJA-global_test.nc\n", + "var_key ALBEDO\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_ref.nc\n", + "var_key ALBEDOC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-ANN-global_test.nc\n", + "var_key ALBEDOC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_ref.nc\n", + "var_key ALBEDOC\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ inf, inf, inf, inf, inf, inf,\n", + " inf, inf, inf, 2.820785, 2.415148, 2.439055,\n", + " 2.429912, 2.546782, 2.106862, 1.591239, 1.257344, 1.041096,...\n", + " y: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " 2.353753e+04, 2.820784e+00, 2.415149e+00, 2.439055e+00,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-ALBEDOC-JJA-global_test.nc\n", + "var_key ALBEDOC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_ref.nc\n", + "var_key FLUT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-ANN-global_test.nc\n", + "var_key FLUT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_ref.nc\n", + "var_key FLUT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUT-JJA-global_test.nc\n", + "var_key FLUT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_ref.nc\n", + "var_key FLUTC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-ANN-global_test.nc\n", + "var_key FLUTC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_ref.nc\n", + "var_key FLUTC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FLUTC-JJA-global_test.nc\n", + "var_key FLUTC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_ref.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-ANN-global_test.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_ref.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOA-JJA-global_test.nc\n", + "var_key FSNTOA\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_ref.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-ANN-global_test.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_ref.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-FSNTOAC-JJA-global_test.nc\n", + "var_key FSNTOAC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_ref.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-ANN-global_test.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_ref.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-LWCF-JJA-global_test.nc\n", + "var_key LWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_ref.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-ANN-global_test.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_ref.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-NETCF-JJA-global_test.nc\n", + "var_key NETCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_ref.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-ANN-global_test.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_ref.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-RESTOM-JJA-global_test.nc\n", + "var_key RESTOM\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_ref.nc\n", + "var_key SOLIN\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-ANN-global_test.nc\n", + "var_key SOLIN\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_ref.nc\n", + "var_key SOLIN\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SOLIN-JJA-global_test.nc\n", + "var_key SOLIN\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_ref.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-ANN-global_test.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_ref.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-TOA-v4.1/ceres_ebaf_toa_v4.1-SWCF-JJA-global_test.nc\n", + "var_key SWCF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_ref.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-ANN-global_test.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_ref.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-ALBEDO_SRF-JJA-global_test.nc\n", + "var_key ALBEDO_SRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_ref.nc\n", + "var_key FLDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-ANN-global_test.nc\n", + "var_key FLDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_ref.nc\n", + "var_key FLDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDS-JJA-global_test.nc\n", + "var_key FLDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_ref.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-ANN-global_test.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_ref.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLDSC-JJA-global_test.nc\n", + "var_key FLDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_ref.nc\n", + "var_key FLNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-ANN-global_test.nc\n", + "var_key FLNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_ref.nc\n", + "var_key FLNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNS-JJA-global_test.nc\n", + "var_key FLNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_ref.nc\n", + "var_key FLNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-ANN-global_test.nc\n", + "var_key FLNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_ref.nc\n", + "var_key FLNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FLNSC-JJA-global_test.nc\n", + "var_key FLNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_ref.nc\n", + "var_key FSDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-ANN-global_test.nc\n", + "var_key FSDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_ref.nc\n", + "var_key FSDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDS-JJA-global_test.nc\n", + "var_key FSDS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_ref.nc\n", + "var_key FSDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-ANN-global_test.nc\n", + "var_key FSDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_ref.nc\n", + "var_key FSDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSDSC-JJA-global_test.nc\n", + "var_key FSDSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_ref.nc\n", + "var_key FSNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-ANN-global_test.nc\n", + "var_key FSNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_ref.nc\n", + "var_key FSNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNS-JJA-global_test.nc\n", + "var_key FSNS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_ref.nc\n", + "var_key FSNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-ANN-global_test.nc\n", + "var_key FSNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_ref.nc\n", + "var_key FSNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-FSNSC-JJA-global_test.nc\n", + "var_key FSNSC\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_ref.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-ANN-global_test.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_ref.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-LWCFSRF-JJA-global_test.nc\n", + "var_key LWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_ref.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-ANN-global_test.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_ref.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/CERES-EBAF-surface-v4.1/ceres_ebaf_surface_v4.1-SWCFSRF-JJA-global_test.nc\n", + "var_key SWCFSRF\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_ref.nc\n", + "var_key PminusE\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 169 / 180 (93.9%)\n", + "Max absolute difference: 2.68669262\n", + "Max relative difference: 0.99998843\n", + " x: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " nan, nan, nan, -1.362539e-06,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, -0.117723,\n", + " -0.275558, -0.151884, -0.083765, -0.021892, 0.034201, 0.038609,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_ref.nc\n", + "var_key PminusE\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 169 / 180 (93.9%)\n", + "Max absolute difference: 4.20649947\n", + "Max relative difference: 0.99998843\n", + " x: array([ nan, nan, nan, nan,\n", + " nan, nan, nan, nan,\n", + " nan, nan, nan, -3.314214e-06,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, -0.286348,\n", + " -0.466065, -0.300971, -0.246707, -0.202872, -0.148632, -0.135121,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/COREv2_Flux/COREv2_Flux-PminusE-JJA-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_ref.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-ANN-global_test.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_ref.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDHGH_CAL-JJA-global_test.nc\n", + "var_key CLDHGH_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_ref.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-ANN-global_test.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_ref.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDLOW_CAL-JJA-global_test.nc\n", + "var_key CLDLOW_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_ref.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-ANN-global_test.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_ref.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDMED_CAL-JJA-global_test.nc\n", + "var_key CLDMED_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_ref.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-ANN-global_test.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_ref.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud Calipso/CALIPSOCOSP-CLDTOT_CAL-JJA-global_test.nc\n", + "var_key CLDTOT_CAL\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 1.533745, 3.139232, 3.324253, 3.274897, 4.989359, 6.846378,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 29.236507, 28.109412, 28.533893, 27.251634, 26.469386, 26.97218 ,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_test.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061155\n", + "Max relative difference: 4.49746954e-05\n", + " x: array([ 0.508382, 1.074433, 2.217963, 4.089368, 5.346755, 7.023399,\n", + " 8.357964, 9.295872, 9.923036, 10.151429, 10.687794, 10.818779,\n", + " 11.640937, 11.675063, 11.80395 , 12.337801, 13.089828, 14.506738,...\n", + " y: array([ 0.508382, 1.074433, 2.217963, 4.089368, 5.346755, 7.023399,\n", + " 8.357964, 9.295872, 9.923036, 10.151429, 10.687794, 10.818779,\n", + " 11.640937, 11.675063, 11.80395 , 12.337801, 13.089828, 14.506738,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-JJA-global_test.nc\n", + "var_key CLDLOW_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.198617, 7.309172, 9.268335, 9.669798,\n", + " 11.19571 , 11.517812, 11.814792, 12.461223, 13.276728, 15.05141 ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 3.536903, 7.309172, 9.268335, 9.669798,\n", + " 11.19571 , 11.517812, 11.814792, 12.461223, 13.276728, 15.051411,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 2.806976, 6.224152, 6.523888, 6.707491, 10.036236, 13.568533,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 53.769157, 55.229167, 55.455046, 55.463217, 53.257188, 53.239823,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-ANN-global_test.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061159\n", + "Max relative difference: 1.91732908e-05\n", + " x: array([ 0.508382, 1.074741, 2.220688, 4.231993, 5.838705, 7.932786,\n", + " 9.8937 , 11.139655, 11.933139, 12.18146 , 12.85056 , 13.306193,\n", + " 14.767582, 15.358916, 16.112319, 17.347913, 19.017255, 21.755876,...\n", + " y: array([ 0.508382, 1.074741, 2.220688, 4.231993, 5.838705, 7.932785,\n", + " 9.8937 , 11.139655, 11.933139, 12.18146 , 12.85056 , 13.306193,\n", + " 14.767582, 15.358915, 16.112319, 17.347913, 19.017255, 21.755876,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_ref.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_MISR-JJA-global_test.nc\n", + "var_key CLDLOW_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.682866, 8.67263 , 10.420182, 10.854651,\n", + " 12.601834, 13.196861, 13.898068, 15.160259, 16.787511, 19.424786,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 4.965834, 8.67263 , 10.420182, 10.854651,\n", + " 12.601835, 13.196861, 13.898068, 15.160259, 16.787511, 19.424786,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 1.273231, 3.08492 , 3.199634, 3.432593, 5.046877, 6.722155,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 24.53265 , 27.119755, 26.921153, 28.211582, 26.787802, 26.267643,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-ANN-global_test.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU9.4_MISR-JJA-global_test.nc\n", + "var_key CLDLOW_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.484249, 1.363458, 1.151847, 1.184853,\n", + " 1.406124, 1.679048, 2.083276, 2.699036, 3.510783, 4.373375,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 1.428931, 1.363458, 1.151847, 1.184853,\n", + " 1.406124, 1.679048, 2.083276, 2.699036, 3.510783, 4.373375,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 2.182318, 4.534118, 4.810252, 4.755759, 7.591126, 10.469784,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 39.281719, 37.960055, 38.48202 , 37.21898 , 37.955631, 38.85693 ,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061146\n", + "Max relative difference: 2.47686554e-05\n", + " x: array([ 6.48259 , 7.032162, 8.168338, 10.670212, 11.995118, 13.340878,\n", + " 14.429191, 15.205507, 15.814261, 15.693725, 16.715162, 17.677505,\n", + " 19.150876, 19.576892, 20.216722, 21.049227, 22.324699, 24.589998,...\n", + " y: array([ 6.48259 , 7.032162, 8.168338, 10.670212, 11.995118, 13.340878,\n", + " 14.429191, 15.205507, 15.814261, 15.693725, 16.715162, 17.677505,\n", + " 19.150876, 19.576892, 20.216722, 21.049227, 22.324699, 24.589998,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.663766, 9.352386, 12.374152, 14.459126,\n", + " 17.169302, 18.363139, 19.672765, 20.744298, 22.064177, 24.981155,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 4.909472, 9.352386, 12.374152, 14.459126,\n", + " 17.169302, 18.363139, 19.672765, 20.744298, 22.064177, 24.981155,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 4.052755, 8.979892, 9.465165, 10.054856, 15.900496, 21.680996,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 72.94959 , 75.180491, 75.721322, 78.690177, 79.502482, 80.465552,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "Mismatched elements: 1 / 180 (0.556%)\n", + "Max absolute difference: 0.00061132\n", + "Max relative difference: 1.05840129e-05\n", + " x: array([ 6.545985, 7.139061, 8.392006, 11.516488, 13.449367, 15.319527,\n", + " 17.182584, 18.434132, 19.263685, 19.077421, 20.377829, 21.93892 ,\n", + " 24.569706, 26.084629, 27.881661, 30.145176, 32.828553, 36.981647,...\n", + " y: array([ 6.545985, 7.139061, 8.392006, 11.516488, 13.449367, 15.319527,\n", + " 17.182584, 18.434132, 19.263685, 19.077421, 20.377828, 21.93892 ,\n", + " 24.569706, 26.084628, 27.881661, 30.145176, 32.828553, 36.981646,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 2.148015, 10.969964, 13.916991, 16.181666,\n", + " 19.454391, 21.16124 , 23.274337, 25.667828, 28.305911, 32.553575,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 6.338404, 10.969964, 13.916991, 16.181667,\n", + " 19.454391, 21.16124 , 23.274337, 25.667828, 28.305911, 32.553575,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 1.870437, 4.445774, 4.654913, 5.299097, 8.30937 , 11.211212,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " 33.667874, 37.220435, 37.239302, 41.471195, 41.546851, 41.608623,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-ANN-global_test.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDTOT_TAU9.4_MISR-JJA-global_test.nc\n", + "var_key CLDTOT_TAU9.4_MISR\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.484249, 1.617579, 1.542839, 1.72254 ,\n", + " 2.28509 , 2.798101, 3.601572, 4.92353 , 6.241734, 7.572421,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 1.428931, 1.617579, 1.542839, 1.72254 ,\n", + " 2.28509 , 2.798101, 3.601572, 4.92353 , 6.241734, 7.572421,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_ref.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_test.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_ref.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-JJA-global_test.nc\n", + "var_key LHFLX\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-200-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-T-850-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_ref.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-ANN-global_test.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_ref.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TMQ-JJA-global_test.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-TREFHT-JJA-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-ANN-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-Z3-500-JJA-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_ref.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_ref.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_OAFLux/GPCP_OAFLux-PminusE-JJA-global_test.nc\n", + "var_key PminusE\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v2.3/GPCP_v2.3-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/GPCP_v3.2/GPCP_v3.2-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-ANN-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_ref.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-PRECT-JJA-global_test.nc\n", + "var_key PRECT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-200-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-ANN-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_ref.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-T-850-JJA-global_test.nc\n", + "var_key T\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_ref.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-ANN-global_test.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_ref.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TMQ-JJA-global_test.nc\n", + "var_key TMQ\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_ref.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-JJA-global_test.nc\n", + "var_key TREFHT\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_ref.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_test.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_ref.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-JJA-global_test.nc\n", + "var_key TREFMNAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_ref.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_test.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_ref.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-JJA-global_test.nc\n", + "var_key TREFMXAV\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-ANN-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-200-JJA-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-ANN-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_ref.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-U-850-JJA-global_test.nc\n", + "var_key U\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-ANN-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_ref.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/MERRA2/MERRA2-Z3-500-JJA-global_test.nc\n", + "var_key Z3\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-JJA-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-JJA-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_ref.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-JJA-global_test.nc\n", + "var_key SST\n", + " * All close and within relative tolerance (1e-05)\n" + ] + } + ], + "source": [ + "# We are mainly focusing on relative tolerance here (in percentage terms).\n", + "atol = 0\n", + "rtol = 1e-5\n", + "\n", + "for filepath_dev in DEV_GLOB:\n", + " if \"test.nc\" in filepath_dev or \"ref.nc\" in filepath_dev:\n", + " filepath_main = filepath_dev.replace(SET_DIR, \"main\")\n", + " print(\"Comparing:\")\n", + " print(filepath_dev, \"\\n\", filepath_main)\n", + " ds1 = xr.open_dataset(filepath_dev)\n", + " ds2 = xr.open_dataset(filepath_main)\n", + "\n", + " var_key = filepath_dev.split(\"-\")[-3]\n", + " # for 3d vars such as T-200\n", + " var_key.isdigit()\n", + " if var_key.isdigit():\n", + " var_key = filepath_dev.split(\"-\")[-4]\n", + "\n", + " print(\"var_key\", var_key)\n", + " try:\n", + " np.testing.assert_allclose(\n", + " ds1[var_key].values,\n", + " ds2[var_key].values,\n", + " atol=atol,\n", + " rtol=rtol,\n", + " )\n", + " except AssertionError as e:\n", + " print(e)\n", + " else:\n", + " print(f\" * All close and within relative tolerance ({rtol})\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Results\n", + "\n", + "- The relative tolerance of all files are 1e-05, which means things should be good to go.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "cdat_regression_test", + "language": "python", + "name": "python3" + }, + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py new file mode 100644 index 000000000..58158c852 --- /dev/null +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py @@ -0,0 +1,26 @@ +from auxiliary_tools.cdat_regression_testing.base_run_script import run_set + +SET_NAME = "zonal_mean_xy" +SET_DIR = "debug-654-zonal_mean_xy" +# CFG_PATH = "auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg" + +# run_set(SET_NAME, SET_DIR, CFG_PATH) +run_set(SET_NAME, SET_DIR) + + +""" +2024-02-15 09:47:22,274 [INFO]: zonal_mean_xy_driver.py(run_diag:68) >> Variable: FLUT +2024-02-15 09:47:22,644 [ERROR]: core_parameter.py(_run_diag:341) >> Error in e3sm_diags.driver.zonal_mean_xy_driver +Traceback (most recent call last): + File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/parameter/core_parameter.py", line 338, in _run_diag + single_result = module.run_diag(self) + File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/driver/zonal_mean_xy_driver.py", line 72, in run_diag + parameter._set_name_yrs_attrs(test_ds, ref_ds, season) + File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/parameter/core_parameter.py", line 293, in _set_name_yrs_attrs + self.ref_name_yrs = ds_ref.get_name_yrs_attr(season) + File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/driver/utils/dataset_xr.py", line 166, in get_name_yrs_attr + diag_name = self._get_ref_name() + File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/driver/utils/dataset_xr.py", line 228, in _get_ref_name + raise AttributeError( +AttributeError: Either `parameter.short_ref_name`, `parameter.reference_name`, or `parameter.ref_name` must be set to get the name and years attribute for reference datasets. +""" diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg new file mode 100644 index 000000000..cfee3239c --- /dev/null +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg @@ -0,0 +1,570 @@ +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "GPCP_v3.2" +# variables = ["PRECT"] +# ref_name = "GPCP_v3.2" +# reference_name = "GPCP v3.2" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# regions = ["global"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "GPCP_v2.3" +# variables = ["PRECT"] +# ref_name = "GPCP_v2.3" +# reference_name = "GPCP v2.3" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# regions = ["global"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "SST_HadISST" +# variables = ["SST"] +# ref_name = "HadISST" +# reference_name = "HadISST" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "SST_CL_HadISST" +# variables = ["SST"] +# ref_name = "HadISST_CL" +# reference_name = "HadISST (Climatology)" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "SST_PI_HadISST" +# variables = ["SST"] +# ref_name = "HadISST_PI" +# reference_name = "HadISST (Pre-Indust)" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "SST_PD_HadISST" +# variables = ["SST"] +# ref_name = "HadISST_PD" +# reference_name = "HadISST (Present Day)" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["SOLIN"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["ALBEDO"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["ALBEDOC"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["RESTOM"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +[#] +sets = ["zonal_mean_xy"] +case_id = "CERES-EBAF-TOA-v4.1" +variables = ["FLUT"] +ref_name = "ceres_ebaf_toa_v4.1" +reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +seasons = ["ANN"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["FLUTC"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["FSNTOA"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["FSNTOAC"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["SWCF"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["LWCF"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-TOA-v4.1" +# variables = ["NETCF"] +# ref_name = "ceres_ebaf_toa_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["ALBEDO_SRF"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["SWCFSRF"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["LWCFSRF"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FLDS"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FLDSC"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FLNS"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FLNSC"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FSDS"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FSDSC"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FSNS"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "CERES-EBAF-surface-v4.1" +# variables = ["FSNSC"] +# ref_name = "ceres_ebaf_surface_v4.1" +# reference_name = "CERES-EBAF v4.1" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["LHFLX"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["PRECT"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["TMQ"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["TREFHT"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["TMQ"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["U"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# plevs = [850.0, 200.0] + + +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["Z3"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# plevs = [500.0] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "ERA5" +# variables = ["T"] +# ref_name = "ERA5" +# reference_name = "ERA5 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# plevs = [850.0, 200.0] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["PRECT"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["TMQ"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["TREFHT"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["TREFMNAV"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["TREFMXAV"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["U"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# plevs = [850, 200.0] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["Z3"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# plevs = [500.0] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "MERRA2" +# variables = ["T"] +# ref_name = "MERRA2" +# reference_name = "MERRA2 Reanalysis" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +# plevs = [850.0, 200.0] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud ISCCP" +# variables = ["CLDTOT_TAU1.3_ISCCP"] +# ref_name = "ISCCPCOSP" +# reference_name = "ISCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud ISCCP" +# variables = ["CLDTOT_TAU1.3_9.4_ISCCP"] +# ref_name = "ISCCPCOSP" +# reference_name = "ISCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud ISCCP" +# variables = ["CLDTOT_TAU9.4_ISCCP"] +# ref_name = "ISCCPCOSP" +# reference_name = "ISCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MISR" +# variables = ["CLDTOT_TAU1.3_MISR"] +# ref_name = "MISRCOSP" +# reference_name = "MISR Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MISR" +# variables = ["CLDTOT_TAU1.3_9.4_MISR"] +# ref_name = "MISRCOSP" +# reference_name = "MISR Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MISR" +# variables = ["CLDTOT_TAU9.4_MISR"] +# ref_name = "MISRCOSP" +# reference_name = "MISR Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MISR" +# variables = ["CLDLOW_TAU1.3_MISR"] +# ref_name = "MISRCOSP" +# reference_name = "MISR Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MISR" +# variables = ["CLDLOW_TAU1.3_9.4_MISR"] +# ref_name = "MISRCOSP" +# reference_name = "MISR Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MISR" +# variables = ["CLDLOW_TAU9.4_MISR"] +# ref_name = "MISRCOSP" +# reference_name = "MISR Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MODIS" +# variables = ["CLDTOT_TAU1.3_MODIS"] +# ref_name = "MODISCOSP" +# reference_name = "MODIS Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MODIS" +# variables = ["CLDTOT_TAU1.3_9.4_MODIS"] +# ref_name = "MODISCOSP" +# reference_name = "MODIS Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MODIS" +# variables = ["CLDTOT_TAU9.4_MODIS"] +# ref_name = "MODISCOSP" +# reference_name = "MODIS Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MODIS" +# variables = ["CLDHGH_TAU1.3_MODIS"] +# ref_name = "MODISCOSP" +# reference_name = "MODIS Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MODIS" +# variables = ["CLDHGH_TAU1.3_9.4_MODIS"] +# ref_name = "MODISCOSP" +# reference_name = "MODIS Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud MODIS" +# variables = ["CLDHGH_TAU9.4_MODIS"] +# ref_name = "MODISCOSP" +# reference_name = "MODIS Simulator" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud Calipso" +# variables = ["CLDHGH_CAL"] +# ref_name = "CALIPSOCOSP" +# reference_name = "CALIPSO-GOCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud Calipso" +# variables = ["CLDLOW_CAL"] +# ref_name = "CALIPSOCOSP" +# reference_name = "CALIPSO-GOCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud Calipso" +# variables = ["CLDMED_CAL"] +# ref_name = "CALIPSOCOSP" +# reference_name = "CALIPSO-GOCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud Calipso" +# variables = ["CLDTOT_CAL"] +# ref_name = "CALIPSOCOSP" +# reference_name = "CALIPSO-GOCCP" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "Cloud SSM/I" +# variables = ["TGCLDLWP_OCN"] +# ref_name = "SSMI" +# reference_name = "SSM/I (Wentz)" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "GPCP_OAFLux" +# variables = ["PminusE"] +# ref_name = "GPCP_OAFLux" +# reference_name = "PRECT(GPCP) minus QFLX(OAFLux)" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "COREv2_Flux" +# variables = ["PminusE"] +# ref_name = "COREv2_Flux" +# reference_name = "COREv2_Flux" +# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "aero-no-ref-data" +# variables = ['Mass_bc_200', 'Mass_ncl_200', 'Mass_so4_200', 'Mass_dst_200', 'Mass_pom_200', 'Mass_soa_200', 'Mass_mom_200'] +# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "aero-no-ref-data" +# variables = ['Mass_bc_srf', 'Mass_ncl_srf', 'Mass_so4_srf', 'Mass_dst_srf', 'Mass_pom_srf', 'Mass_soa_srf', 'Mass_mom_srf'] +# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "aero-no-ref-data" +# variables = ['Mass_bc_850', 'Mass_ncl_850', 'Mass_so4_850', 'Mass_dst_850', 'Mass_pom_850', 'Mass_soa_850', 'Mass_mom_850'] +# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] + + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "aero-no-ref-data" +# variables = ['Mass_bc_330', 'Mass_ncl_330', 'Mass_so4_330', 'Mass_dst_330', 'Mass_pom_330', 'Mass_soa_330', 'Mass_mom_330'] +# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] + + +# [#] +# sets = ["zonal_mean_xy"] +# case_id = "aero-no-ref-data" +# variables = ["in_grid_cdnc", "in_grid_lwp", "in_cloud_cdnc", "in_cloud_lwp"] +# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] From 546c76e394d2a4136dc4718e406d9a6d8b230a00 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:16:16 -0800 Subject: [PATCH 05/12] Fix `cosp_bin_sum()` condition for subsetting - Needed to sort the `prs_range` and `tau_range` in ascending order before creating `cond` to pass to `.where()`, otherwise if out of order then there is a possibility that the condition will fail entirely --- ..._mean_xy_cdat_regression_test_netcdf.ipynb | 25 +- ...xy_cdat_regression_test_netcdf_debug.ipynb | 416 ++++++++++-- .../debug_654-zonal_mean_xy_run_script.py | 20 +- .../debug_zonal_mean_xy_model_vs_obs.cfg | 614 ++---------------- e3sm_diags/derivations/formulas_cosp.py | 23 +- e3sm_diags/driver/utils/dataset_xr.py | 4 +- e3sm_diags/driver/zonal_mean_xy_driver.py | 5 +- 7 files changed, 435 insertions(+), 672 deletions(-) diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb index 7f5a1c01c..5593b6685 100644 --- a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/654-zonal_mean_xy_cdat_regression_test_netcdf.ipynb @@ -69,8 +69,10 @@ " raise IOError(\"No files found at DEV_PATH and/or MAIN_PATH.\")\n", "\n", "if len(DEV_GLOB) != len(MAIN_GLOB):\n", - " #raise IOError(f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\")\n", - " print(f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\")" + " # raise IOError(f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\")\n", + " print(\n", + " f\"Number of files do not match at DEV_PATH ({len(DEV_GLOB)}) and MAIN_PATH {len(MAIN_GLOB)}.\"\n", + " )" ] }, { @@ -1378,20 +1380,20 @@ "rtol = 1e-5\n", "\n", "for filepath_dev in DEV_GLOB:\n", - " if ('test.nc' in filepath_dev or 'ref.nc' in filepath_dev):\n", + " if \"test.nc\" in filepath_dev or \"ref.nc\" in filepath_dev:\n", " filepath_main = filepath_dev.replace(SET_DIR, \"main\")\n", " print(\"Comparing:\")\n", " print(filepath_dev, \"\\n\", filepath_main)\n", " ds1 = xr.open_dataset(filepath_dev)\n", " ds2 = xr.open_dataset(filepath_main)\n", "\n", - " var_key = filepath_dev.split(\"-\")[-3] \n", + " var_key = filepath_dev.split(\"-\")[-3]\n", " # for 3d vars such as T-200\n", " var_key.isdigit()\n", - " if var_key.isdigit(): \n", - " var_key = filepath_dev.split(\"-\")[-4] \n", - " \n", - " print('var_key', var_key)\n", + " if var_key.isdigit():\n", + " var_key = filepath_dev.split(\"-\")[-4]\n", + "\n", + " print(\"var_key\", var_key)\n", " try:\n", " np.testing.assert_allclose(\n", " ds1[var_key].values,\n", @@ -1402,9 +1404,7 @@ " except AssertionError as e:\n", " print(e)\n", " else:\n", - " print(f\" * All close and within relative tolerance ({rtol})\")\n", - " \n", - " " + " print(f\" * All close and within relative tolerance ({rtol})\")" ] }, { @@ -1413,7 +1413,8 @@ "source": [ "### Results\n", "\n", - "- The relative tolerance of all files are 1e-05, which means things should be good to go.\n" + "- Issues with variable outputs not being produced\n", + "- Mismatching `nan` values and large diffs\n" ] } ], diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb index c112bd069..dfaa088e5 100644 --- a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb @@ -37,17 +37,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Number of files do not match at DEV_PATH (336) and MAIN_PATH 390.\n" - ] - } - ], + "outputs": [], "source": [ "from collections import defaultdict\n", "import glob\n", @@ -77,68 +69,14 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_test.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_diff.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_ref.nc!\n", - "No file found to compare with /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_test.nc!\n", - "Number of files missing: 54\n" + "Number of files missing: 0\n" ] } ], @@ -166,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -754,6 +692,120 @@ "var_key CLDTOT_CAL\n", " * All close and within relative tolerance (1e-05)\n", "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_ISCCP\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_ISCCP\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_ISCCP\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 47.524376, 49.217592, 40.503558,\n", + " 40.208695, 42.368686, 41.70946 , 44.171651, 44.821778, 45.508399,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, 48.193733, 49.217592, 40.503558,\n", + " 40.208696, 42.368686, 41.70946 , 44.17165 , 44.821777, 45.5084 ,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_9.4_ISCCP-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_ISCCP\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.669266, 9.472262, 12.565807, 14.592382,\n", + " 17.258383, 18.448257, 19.743159, 20.801946, 22.11058 , 24.988214,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 4.925703, 9.472262, 12.565807, 14.592382,\n", + " 17.258383, 18.448257, 19.743159, 20.801945, 22.110581, 24.988214,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_ISCCP\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_ISCCP\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_ISCCP\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 55.56152 , 60.006977, 66.614349,\n", + " 72.348068, 76.230691, 75.118569, 73.723432, 72.566653, 70.505745,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, 56.344076, 60.006977, 66.61435 ,\n", + " 72.348068, 76.230692, 75.11857 , 73.723432, 72.566652, 70.505744,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU1.3_ISCCP-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_ISCCP\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 2.153515, 11.169407, 14.355866, 16.5108 ,\n", + " 19.725695, 21.38418 , 23.471586, 25.789955, 28.381688, 32.562917,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 6.354634, 11.169407, 14.355866, 16.5108 ,\n", + " 19.725695, 21.384179, 23.471586, 25.789955, 28.381688, 32.562917,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_ISCCP\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-ANN-global_test.nc\n", + "var_key CLDTOT_TAU9.4_ISCCP\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_ISCCP\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 8.037144, 10.789386, 26.110793,\n", + " 32.139373, 33.862005, 33.40911 , 29.551782, 27.744875, 24.997345,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, 8.150343, 10.789385, 26.110793,\n", + " 32.139373, 33.862005, 33.40911 , 29.551782, 27.744875, 24.997345,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud ISCCP/ISCCPCOSP-CLDTOT_TAU9.4_ISCCP-JJA-global_test.nc\n", + "var_key CLDTOT_TAU9.4_ISCCP\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.484249, 1.697145, 1.790059, 1.918418,\n", + " 2.467312, 2.935922, 3.728426, 4.98801 , 6.271108, 7.574703,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 1.428931, 1.697145, 1.790059, 1.918418,\n", + " 2.467312, 2.935922, 3.728426, 4.988009, 6.271108, 7.574703,...\n", + "Comparing:\n", "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_ref.nc \n", " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MISR/MISRCOSP-CLDLOW_TAU1.3_9.4_MISR-ANN-global_ref.nc\n", "var_key CLDLOW_TAU1.3_9.4_MISR\n", @@ -1080,6 +1132,234 @@ " nan, nan, 1.428931, 1.617579, 1.542839, 1.72254 ,\n", " 2.28509 , 2.798101, 3.601572, 4.92353 , 6.241734, 7.572421,...\n", "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_ref.nc\n", + "var_key CLDHGH_TAU1.3_9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-ANN-global_test.nc\n", + "var_key CLDHGH_TAU1.3_9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_ref.nc\n", + "var_key CLDHGH_TAU1.3_9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 2.841666,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, 8.524998,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_9.4_MODIS-JJA-global_test.nc\n", + "var_key CLDHGH_TAU1.3_9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.204885, 0.682115, 1.070389, 1.753423,\n", + " 2.495639, 2.97833 , 3.746221, 4.015793, 4.277098, 4.910514,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 0.604578, 0.682115, 1.070389, 1.753423,\n", + " 2.495639, 2.97833 , 3.746221, 4.015793, 4.277098, 4.910514,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_ref.nc\n", + "var_key CLDHGH_TAU1.3_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-ANN-global_test.nc\n", + "var_key CLDHGH_TAU1.3_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_ref.nc\n", + "var_key CLDHGH_TAU1.3_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 10.675877,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, 32.027627,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU1.3_MODIS-JJA-global_test.nc\n", + "var_key CLDHGH_TAU1.3_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.204885, 0.879539, 1.269787, 1.905216,\n", + " 2.764641, 3.309287, 4.264017, 4.998515, 5.625095, 6.605741,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 0.604578, 0.879539, 1.269787, 1.905216,\n", + " 2.764641, 3.309287, 4.264017, 4.998515, 5.625095, 6.605741,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_ref.nc\n", + "var_key CLDHGH_TAU9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-ANN-global_test.nc\n", + "var_key CLDHGH_TAU9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_ref.nc\n", + "var_key CLDHGH_TAU9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 7.834209,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, 23.502629,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDHGH_TAU9.4_MODIS-JJA-global_test.nc\n", + "var_key CLDHGH_TAU9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0.197424, 0.199398, 0.151793,\n", + " 0.269002, 0.330956, 0.517796, 0.982722, 1.347997, 1.695226,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 0. , 0.197424, 0.199398, 0.151793,\n", + " 0.269002, 0.330956, 0.517796, 0.982722, 1.347997, 1.695226,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 8.471089,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, 25.413268,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_9.4_MODIS-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 1.663766, 9.298612, 12.20772 , 14.193612,\n", + " 16.819631, 17.998111, 19.324056, 20.295985, 21.57166 , 24.440842,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 4.909472, 9.298612, 12.20772 , 14.193612,\n", + " 16.819631, 17.998111, 19.324056, 20.295985, 21.57166 , 24.440842,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-ANN-global_test.nc\n", + "var_key CLDTOT_TAU1.3_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU1.3_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 25.593424,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, 76.780271,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU1.3_MODIS-JJA-global_test.nc\n", + "var_key CLDTOT_TAU1.3_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 2.148015, 10.91249 , 13.742969, 15.900276,\n", + " 19.086355, 20.755151, 22.864176, 25.167742, 27.737386, 31.900404,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 6.338404, 10.91249 , 13.742969, 15.900276,\n", + " 19.086355, 20.755151, 22.864176, 25.167742, 27.737385, 31.900404,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-ANN-global_test.nc\n", + "var_key CLDTOT_TAU9.4_MODIS\n", + " * All close and within relative tolerance (1e-05)\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_ref.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_ref.nc\n", + "var_key CLDTOT_TAU9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0. , 0. , 0. , 17.122334,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, nan,\n", + " nan, nan, nan, nan, nan, 51.367002,...\n", + "Comparing:\n", + "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_test.nc \n", + " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/Cloud MODIS/MODISCOSP-CLDTOT_TAU9.4_MODIS-JJA-global_test.nc\n", + "var_key CLDTOT_TAU9.4_MODIS\n", + "\n", + "Not equal to tolerance rtol=1e-05, atol=0\n", + "\n", + "x and y nan location mismatch:\n", + " x: array([ 0. , 0. , 0. , 0. , 0. , 0. ,\n", + " 0. , 0. , 0.484249, 1.613878, 1.535249, 1.706663,\n", + " 2.266725, 2.75704 , 3.54012 , 4.871757, 6.165725, 7.459562,...\n", + " y: array([ nan, nan, nan, nan, nan, nan,\n", + " nan, nan, 1.428931, 1.613878, 1.535249, 1.706663,\n", + " 2.266725, 2.75704 , 3.54012 , 4.871757, 6.165725, 7.459562,...\n", + "Comparing:\n", "/global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/debug-654-zonal_mean_xy/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_ref.nc \n", " /global/cfs/projectdirs/e3sm/e3sm_diags_cdat_test/main/zonal_mean_xy/ERA5/ERA5-LHFLX-ANN-global_ref.nc\n", "var_key LHFLX\n", @@ -1581,7 +1861,7 @@ "source": [ "### Results\n", "\n", - "- The relative tolerance of all files are 1e-05, which means things should be good to go.\n" + "- Some remaining issues for mismatched `nan` locations and large relative diffs that will be resolved into another PR.\n" ] } ], diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py index 58158c852..b5e933ff9 100644 --- a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_run_script.py @@ -4,23 +4,5 @@ SET_DIR = "debug-654-zonal_mean_xy" # CFG_PATH = "auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg" -# run_set(SET_NAME, SET_DIR, CFG_PATH) run_set(SET_NAME, SET_DIR) - - -""" -2024-02-15 09:47:22,274 [INFO]: zonal_mean_xy_driver.py(run_diag:68) >> Variable: FLUT -2024-02-15 09:47:22,644 [ERROR]: core_parameter.py(_run_diag:341) >> Error in e3sm_diags.driver.zonal_mean_xy_driver -Traceback (most recent call last): - File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/parameter/core_parameter.py", line 338, in _run_diag - single_result = module.run_diag(self) - File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/driver/zonal_mean_xy_driver.py", line 72, in run_diag - parameter._set_name_yrs_attrs(test_ds, ref_ds, season) - File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/parameter/core_parameter.py", line 293, in _set_name_yrs_attrs - self.ref_name_yrs = ds_ref.get_name_yrs_attr(season) - File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/driver/utils/dataset_xr.py", line 166, in get_name_yrs_attr - diag_name = self._get_ref_name() - File "/global/u2/v/vo13/E3SM-Project/e3sm_diags/e3sm_diags/driver/utils/dataset_xr.py", line 228, in _get_ref_name - raise AttributeError( -AttributeError: Either `parameter.short_ref_name`, `parameter.reference_name`, or `parameter.ref_name` must be set to get the name and years attribute for reference datasets. -""" +# run_set(SET_NAME, SET_DIR, CFG_PATH, multiprocessing=False) diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg index cfee3239c..0d9295256 100644 --- a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_zonal_mean_xy_model_vs_obs.cfg @@ -1,570 +1,64 @@ -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "GPCP_v3.2" -# variables = ["PRECT"] -# ref_name = "GPCP_v3.2" -# reference_name = "GPCP v3.2" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# regions = ["global"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "GPCP_v2.3" -# variables = ["PRECT"] -# ref_name = "GPCP_v2.3" -# reference_name = "GPCP v2.3" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# regions = ["global"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "SST_HadISST" -# variables = ["SST"] -# ref_name = "HadISST" -# reference_name = "HadISST" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "SST_CL_HadISST" -# variables = ["SST"] -# ref_name = "HadISST_CL" -# reference_name = "HadISST (Climatology)" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "SST_PI_HadISST" -# variables = ["SST"] -# ref_name = "HadISST_PI" -# reference_name = "HadISST (Pre-Indust)" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "SST_PD_HadISST" -# variables = ["SST"] -# ref_name = "HadISST_PD" -# reference_name = "HadISST (Present Day)" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["SOLIN"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["ALBEDO"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["ALBEDOC"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["RESTOM"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - [#] sets = ["zonal_mean_xy"] -case_id = "CERES-EBAF-TOA-v4.1" -variables = ["FLUT"] -ref_name = "ceres_ebaf_toa_v4.1" -reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -seasons = ["ANN"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["FLUTC"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["FSNTOA"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["FSNTOAC"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["SWCF"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["LWCF"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-TOA-v4.1" -# variables = ["NETCF"] -# ref_name = "ceres_ebaf_toa_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["ALBEDO_SRF"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["SWCFSRF"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["LWCFSRF"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FLDS"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FLDSC"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FLNS"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FLNSC"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FSDS"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FSDSC"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FSNS"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "CERES-EBAF-surface-v4.1" -# variables = ["FSNSC"] -# ref_name = "ceres_ebaf_surface_v4.1" -# reference_name = "CERES-EBAF v4.1" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["LHFLX"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["PRECT"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["TMQ"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["TREFHT"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["TMQ"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["U"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# plevs = [850.0, 200.0] - - -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["Z3"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# plevs = [500.0] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "ERA5" -# variables = ["T"] -# ref_name = "ERA5" -# reference_name = "ERA5 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# plevs = [850.0, 200.0] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["PRECT"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["TMQ"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["TREFHT"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["TREFMNAV"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +case_id = "Cloud ISCCP" +variables = ["CLDTOT_TAU1.3_ISCCP"] +ref_name = "ISCCPCOSP" +reference_name = "ISCCP" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud ISCCP" +variables = ["CLDTOT_TAU1.3_9.4_ISCCP"] +ref_name = "ISCCPCOSP" +reference_name = "ISCCP" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["TREFMXAV"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["U"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# plevs = [850, 200.0] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["Z3"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# plevs = [500.0] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "MERRA2" -# variables = ["T"] -# ref_name = "MERRA2" -# reference_name = "MERRA2 Reanalysis" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# plevs = [850.0, 200.0] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud ISCCP" -# variables = ["CLDTOT_TAU1.3_ISCCP"] -# ref_name = "ISCCPCOSP" -# reference_name = "ISCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud ISCCP" -# variables = ["CLDTOT_TAU1.3_9.4_ISCCP"] -# ref_name = "ISCCPCOSP" -# reference_name = "ISCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud ISCCP" -# variables = ["CLDTOT_TAU9.4_ISCCP"] -# ref_name = "ISCCPCOSP" -# reference_name = "ISCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MISR" -# variables = ["CLDTOT_TAU1.3_MISR"] -# ref_name = "MISRCOSP" -# reference_name = "MISR Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MISR" -# variables = ["CLDTOT_TAU1.3_9.4_MISR"] -# ref_name = "MISRCOSP" -# reference_name = "MISR Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MISR" -# variables = ["CLDTOT_TAU9.4_MISR"] -# ref_name = "MISRCOSP" -# reference_name = "MISR Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MISR" -# variables = ["CLDLOW_TAU1.3_MISR"] -# ref_name = "MISRCOSP" -# reference_name = "MISR Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MISR" -# variables = ["CLDLOW_TAU1.3_9.4_MISR"] -# ref_name = "MISRCOSP" -# reference_name = "MISR Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MISR" -# variables = ["CLDLOW_TAU9.4_MISR"] -# ref_name = "MISRCOSP" -# reference_name = "MISR Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MODIS" -# variables = ["CLDTOT_TAU1.3_MODIS"] -# ref_name = "MODISCOSP" -# reference_name = "MODIS Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MODIS" -# variables = ["CLDTOT_TAU1.3_9.4_MODIS"] -# ref_name = "MODISCOSP" -# reference_name = "MODIS Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MODIS" -# variables = ["CLDTOT_TAU9.4_MODIS"] -# ref_name = "MODISCOSP" -# reference_name = "MODIS Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MODIS" -# variables = ["CLDHGH_TAU1.3_MODIS"] -# ref_name = "MODISCOSP" -# reference_name = "MODIS Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MODIS" -# variables = ["CLDHGH_TAU1.3_9.4_MODIS"] -# ref_name = "MODISCOSP" -# reference_name = "MODIS Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud MODIS" -# variables = ["CLDHGH_TAU9.4_MODIS"] -# ref_name = "MODISCOSP" -# reference_name = "MODIS Simulator" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud Calipso" -# variables = ["CLDHGH_CAL"] -# ref_name = "CALIPSOCOSP" -# reference_name = "CALIPSO-GOCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud Calipso" -# variables = ["CLDLOW_CAL"] -# ref_name = "CALIPSOCOSP" -# reference_name = "CALIPSO-GOCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud Calipso" -# variables = ["CLDMED_CAL"] -# ref_name = "CALIPSOCOSP" -# reference_name = "CALIPSO-GOCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud Calipso" -# variables = ["CLDTOT_CAL"] -# ref_name = "CALIPSOCOSP" -# reference_name = "CALIPSO-GOCCP" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "Cloud SSM/I" -# variables = ["TGCLDLWP_OCN"] -# ref_name = "SSMI" -# reference_name = "SSM/I (Wentz)" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "GPCP_OAFLux" -# variables = ["PminusE"] -# ref_name = "GPCP_OAFLux" -# reference_name = "PRECT(GPCP) minus QFLX(OAFLux)" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "COREv2_Flux" -# variables = ["PminusE"] -# ref_name = "COREv2_Flux" -# reference_name = "COREv2_Flux" -# seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] - -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "aero-no-ref-data" -# variables = ['Mass_bc_200', 'Mass_ncl_200', 'Mass_so4_200', 'Mass_dst_200', 'Mass_pom_200', 'Mass_soa_200', 'Mass_mom_200'] -# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud ISCCP" +variables = ["CLDTOT_TAU9.4_ISCCP"] +ref_name = "ISCCPCOSP" +reference_name = "ISCCP" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "aero-no-ref-data" -# variables = ['Mass_bc_srf', 'Mass_ncl_srf', 'Mass_so4_srf', 'Mass_dst_srf', 'Mass_pom_srf', 'Mass_soa_srf', 'Mass_mom_srf'] -# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "aero-no-ref-data" -# variables = ['Mass_bc_850', 'Mass_ncl_850', 'Mass_so4_850', 'Mass_dst_850', 'Mass_pom_850', 'Mass_soa_850', 'Mass_mom_850'] -# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud MODIS" +variables = ["CLDTOT_TAU1.3_MODIS"] +ref_name = "MODISCOSP" +reference_name = "MODIS Simulator" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud MODIS" +variables = ["CLDTOT_TAU1.3_9.4_MODIS"] +ref_name = "MODISCOSP" +reference_name = "MODIS Simulator" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "aero-no-ref-data" -# variables = ['Mass_bc_330', 'Mass_ncl_330', 'Mass_so4_330', 'Mass_dst_330', 'Mass_pom_330', 'Mass_soa_330', 'Mass_mom_330'] -# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud MODIS" +variables = ["CLDTOT_TAU9.4_MODIS"] +ref_name = "MODISCOSP" +reference_name = "MODIS Simulator" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud MODIS" +variables = ["CLDHGH_TAU1.3_MODIS"] +ref_name = "MODISCOSP" +reference_name = "MODIS Simulator" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] -# [#] -# sets = ["zonal_mean_xy"] -# case_id = "aero-no-ref-data" -# variables = ["in_grid_cdnc", "in_grid_lwp", "in_cloud_cdnc", "in_cloud_lwp"] -# seasons = ["ANN","DJF", "MAM", "JJA", "SON"] +[#] +sets = ["zonal_mean_xy"] +case_id = "Cloud MODIS" +variables = ["CLDHGH_TAU1.3_9.4_MODIS"] +ref_name = "MODISCOSP" +reference_name = "MODIS Simulator" +seasons = ["ANN", "DJF", "MAM", "JJA", "SON"] diff --git a/e3sm_diags/derivations/formulas_cosp.py b/e3sm_diags/derivations/formulas_cosp.py index 3ee6fe9d1..8e7ee2e4f 100644 --- a/e3sm_diags/derivations/formulas_cosp.py +++ b/e3sm_diags/derivations/formulas_cosp.py @@ -116,19 +116,20 @@ def cosp_bin_sum(target_var_key: str, var: xr.DataArray) -> xr.DataArray: # 4. Get tau range and lim. tau_range, tau_lim = _get_tau_subset_range_and_str(tau, tau_adj_range) - # 4. Get the axes mask conditional and subset the variable on it. + # 5. Get the axes mask conditional and subset the variable on it. cond = ( (prs >= prs_range[0]) & (prs <= prs_range[-1]) & (tau >= tau_range[0]) & (tau <= tau_range[-1]) ) + var_sub = var.where(cond, drop=True) - # 5. Sum on axis=0 and axis=1 (tau and prs) + # 7. Sum on axis=0 and axis=1 (tau and prs) var_sum = var_sub.sum(dim=[prs.name, tau.name]) - # 6. Set the variable's long name based on the original variable's name and + # 8. Set the variable's long name based on the original variable's name and # prs ranges. var_key = str(var.name) simulation = _get_simulation_str(var_key) @@ -137,7 +138,7 @@ def cosp_bin_sum(target_var_key: str, var: xr.DataArray) -> xr.DataArray: if simulation is not None and prs_cloud_level is not None: var_sum.attrs["long_name"] = f"{simulation}: {prs_cloud_level} with {tau_lim}" - # 7. Convert units to %. + # 9. Convert units to %. final_var = convert_units(var_sum, "%") return final_var @@ -215,18 +216,20 @@ def _get_prs_subset_range( A tuple of the (min, max) for the prs subset range. """ act_range = (prs[0].item(), prs[-1].item()) - final_range: List[float] = [] + range: List[float] = [] for act_val, adj_val in zip(act_range, prs_adj_range): if adj_val is not None: if prs.name in PRS_UNIT_ADJ_MAP.keys() and prs.max().item() > 1000: adj_val = adj_val * PRS_UNIT_ADJ_MAP[str(prs.name)] - final_range.append(adj_val) + range.append(adj_val) else: - final_range.append(act_val) + range.append(act_val) + + final_range = tuple(sorted(range)) - return tuple(final_range) # type: ignore + return final_range # type: ignore def _get_tau_subset_range_and_str( @@ -260,7 +263,9 @@ def _get_tau_subset_range_and_str( range = (adj_min, adj_max) range_str = f"{adj_min} < tau < {adj_max}" - return range, range_str + final_range = tuple(sorted(range)) + + return final_range, range_str # type: ignore def _get_simulation_str(var_key: str) -> Optional[str]: diff --git a/e3sm_diags/driver/utils/dataset_xr.py b/e3sm_diags/driver/utils/dataset_xr.py index 324ff338b..9daa209ab 100644 --- a/e3sm_diags/driver/utils/dataset_xr.py +++ b/e3sm_diags/driver/utils/dataset_xr.py @@ -398,7 +398,9 @@ def _get_climo_dataset(self, season: str) -> xr.Dataset: ) ds = self._squeeze_time_dim(ds) - # slat and slon are lat lon pair for staggered FV grid included in remapped files + + # slat and slon are lat lon pair for staggered FV grid included in + # remapped files. if "slat" in ds.dims: ds = ds.drop_dims(["slat", "slon"]) diff --git a/e3sm_diags/driver/zonal_mean_xy_driver.py b/e3sm_diags/driver/zonal_mean_xy_driver.py index 12a8e05e6..0ed41fd60 100755 --- a/e3sm_diags/driver/zonal_mean_xy_driver.py +++ b/e3sm_diags/driver/zonal_mean_xy_driver.py @@ -74,7 +74,6 @@ def run_diag(parameter: CoreParameter) -> CoreParameter: ds_test = test_ds.get_climo_dataset(var_key, season) # TODO consider to refactor the behavior of get_ref_climo_dataset ds_ref = ref_ds.get_ref_climo_dataset(var_key, season, ds_test) - # ds_ref = ref_ds.get_ref_climo_dataset(var_key, season) # Store the variable's DataArray objects for reuse. dv_test = ds_test[var_key] @@ -250,8 +249,8 @@ def _calc_zonal_mean( A Tuple containing the zonal mean for the test variable and the ref variable. """ - da_test_1d = spatial_avg(ds_test, var_key, "X", as_list=False) - da_ref_1d = spatial_avg(ds_ref, var_key, "X", as_list=False) + da_test_1d = spatial_avg(ds_test, var_key, axis=["X"], as_list=False) + da_ref_1d = spatial_avg(ds_ref, var_key, axis=["X"], as_list=False) return da_test_1d, da_ref_1d # type: ignore From 3749b2e7355b113dff91542776b3daee52b54cc4 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:30:41 -0800 Subject: [PATCH 06/12] Update notebook --- ...54-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb index dfaa088e5..4feb1bbf9 100644 --- a/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb +++ b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/debug_654-zonal_mean_xy_cdat_regression_test_netcdf_debug.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -69,7 +69,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [ { From d1103481b02713eead75b5ac7640ea04c0ea6ef7 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:31:40 -0800 Subject: [PATCH 07/12] Fix test incorrect args for spatial_avg --- tests/e3sm_diags/metrics/test_metrics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e3sm_diags/metrics/test_metrics.py b/tests/e3sm_diags/metrics/test_metrics.py index f4b668e1b..4e983b6a0 100644 --- a/tests/e3sm_diags/metrics/test_metrics.py +++ b/tests/e3sm_diags/metrics/test_metrics.py @@ -129,7 +129,7 @@ def test_returns_spatial_avg_for_x_y_as_xr_dataarray(self): def test_returns_spatial_avg_for_x(self): expected = [[1.5, 1.5], [1.0, 1.5], [1.5, 1.5]] - result = spatial_avg(self.ds, "ts", axis="X") + result = spatial_avg(self.ds, "ts", axis=["X"]) np.testing.assert_allclose(expected, result, atol=1e-5, rtol=1e-5) @@ -139,7 +139,7 @@ def test_returns_spatial_avg_for_y(self): [1.0, 1.4999238359780462], [1.5000761640219538, 1.4999238359780462], ] - result = spatial_avg(self.ds, "ts", axis="Y") + result = spatial_avg(self.ds, "ts", axis=["Y"]) np.testing.assert_allclose(expected, result, atol=1e-5, rtol=1e-5) From b6485eccb62f8e7e2b9c302f0fead9507d3c1e9c Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:34:28 -0800 Subject: [PATCH 08/12] Update env instruction in notebook --- .../template_cdat_regression_test_json.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_json.ipynb b/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_json.ipynb index a38b98351..9961a7b0c 100644 --- a/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_json.ipynb +++ b/auxiliary_tools/cdat_regression_testing/template_cdat_regression_test_json.ipynb @@ -26,7 +26,7 @@ "(dev and `main` branches).\n", "\n", "1. Make a copy of this notebook under `auxiliary_tools/cdat_regression_testing/`.\n", - "2. Run `mamba create -n cdat_regression_test -y -c conda-forge \"python<3.12\" pandas matplotlib-base ipykernel`\n", + "2. Run `mamba create -n cdat_regression_test -y -c conda-forge \"python<3.12\" xarray netcdf4 dask pandas matplotlib-base ipykernel`\n", "3. Run `mamba activate cdat_regression_test`\n", "4. Update `DEV_PATH` and `MAIN_PATH` in the copy of your notebook.\n", "5. Run all cells IN ORDER.\n", From d49d92e79da239e03bbbc3027685fea050ec9deb Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:35:43 -0800 Subject: [PATCH 09/12] Move test_refactor dir --- .../654-zonal_mean_xy}/test_refactor/diags.cfg | 0 .../654-zonal_mean_xy}/test_refactor/run_zonal_mean_xy.py | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {examples => auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy}/test_refactor/diags.cfg (100%) rename {examples => auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy}/test_refactor/run_zonal_mean_xy.py (100%) diff --git a/examples/test_refactor/diags.cfg b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/test_refactor/diags.cfg similarity index 100% rename from examples/test_refactor/diags.cfg rename to auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/test_refactor/diags.cfg diff --git a/examples/test_refactor/run_zonal_mean_xy.py b/auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/test_refactor/run_zonal_mean_xy.py similarity index 100% rename from examples/test_refactor/run_zonal_mean_xy.py rename to auxiliary_tools/cdat_regression_testing/654-zonal_mean_xy/test_refactor/run_zonal_mean_xy.py From 51ccccbfbd1bab9964b8366e7baa77214161981f Mon Sep 17 00:00:00 2001 From: Tom Vo Date: Thu, 15 Feb 2024 14:43:12 -0800 Subject: [PATCH 10/12] Update e3sm_diags/metrics/metrics.py --- e3sm_diags/metrics/metrics.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/e3sm_diags/metrics/metrics.py b/e3sm_diags/metrics/metrics.py index 8a75faee9..c6867a504 100644 --- a/e3sm_diags/metrics/metrics.py +++ b/e3sm_diags/metrics/metrics.py @@ -26,16 +26,13 @@ def spatial_avg( ds : xr.Dataset The dataset containing the variable. var_key : str - <<<<<<< HEAD The key of the variable in the dataset. axis : List[Axis] The list of axes to use for the computation, by default ["X", "Y"]. Valid axes including "X", "Y", and "Z". - ======= The key of the variable. axis : List[str] A list of axis strings, by default ["X", "Y"]. - >>>>>>> b7195dad (Refactor zonal_mean_xy set) as_list : bool Return the spatial average as a list of floats, by default True. If False, return an xr.DataArray. Must be True to be serializable for From 27dc5dadd3490bcd2176fee1e34c8598268464a0 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:56:34 -0800 Subject: [PATCH 11/12] Fix tests --- e3sm_diags/derivations/formulas_cosp.py | 53 +++++++++++++++---- .../derivations/test_formulas_cosp.py | 2 +- 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/e3sm_diags/derivations/formulas_cosp.py b/e3sm_diags/derivations/formulas_cosp.py index 8e7ee2e4f..f49f46a8f 100644 --- a/e3sm_diags/derivations/formulas_cosp.py +++ b/e3sm_diags/derivations/formulas_cosp.py @@ -117,13 +117,7 @@ def cosp_bin_sum(target_var_key: str, var: xr.DataArray) -> xr.DataArray: tau_range, tau_lim = _get_tau_subset_range_and_str(tau, tau_adj_range) # 5. Get the axes mask conditional and subset the variable on it. - cond = ( - (prs >= prs_range[0]) - & (prs <= prs_range[-1]) - & (tau >= tau_range[0]) - & (tau <= tau_range[-1]) - ) - + cond = _get_prs_and_tau_cond(prs, tau, prs_range, tau_range) var_sub = var.where(cond, drop=True) # 7. Sum on axis=0 and axis=1 (tau and prs) @@ -227,9 +221,7 @@ def _get_prs_subset_range( else: range.append(act_val) - final_range = tuple(sorted(range)) - - return final_range # type: ignore + return range # type: ignore def _get_tau_subset_range_and_str( @@ -263,11 +255,50 @@ def _get_tau_subset_range_and_str( range = (adj_min, adj_max) range_str = f"{adj_min} < tau < {adj_max}" - final_range = tuple(sorted(range)) + final_range = tuple(range) return final_range, range_str # type: ignore +def _get_prs_and_tau_cond( + prs: xr.DataArray, + tau: xr.DataArray, + prs_range: Tuple[float, float], + tau_range: tuple[float, float], +) -> xr.DataArray: + """Get the prs and tau condition for sub-setting a variable. + + Parameters + ---------- + prs : xr.DataArray + The prs axis. + tau : xr.DataArray + The tau axis. + prs_range : Tuple[float, float] + The range of prs values to subset with. + tau_range : tuple[float, float] + The range of tau values to subset with. + + Returns + ------- + xr.DataArray + The condition dataarray. + """ + # Values must be sorted in ascending order to correctly subset within a + # range using Xarray's `.where()` method. + sorted_prs_range = sorted(list(prs_range)) + sorted_tau_range = sorted(list(tau_range)) + + cond = ( + (prs >= sorted_prs_range[0]) + & (prs <= sorted_prs_range[-1]) + & (tau >= sorted_tau_range[0]) + & (tau <= sorted_tau_range[-1]) + ) + + return cond + + def _get_simulation_str(var_key: str) -> Optional[str]: """Get the prs simulation string. diff --git a/tests/e3sm_diags/derivations/test_formulas_cosp.py b/tests/e3sm_diags/derivations/test_formulas_cosp.py index bb2f4c71c..cb8b1e554 100644 --- a/tests/e3sm_diags/derivations/test_formulas_cosp.py +++ b/tests/e3sm_diags/derivations/test_formulas_cosp.py @@ -393,7 +393,7 @@ def test_returns_sum(self): expected = xr.DataArray( name="CLD_MISR", - data=np.array(0.0), + data=np.array(6.0), attrs={"long_name": "MISR: total cloud fraction with tau > 1.3"}, ) From 0227cd834f0f27f2765d9beb6b442fbf2b6d2849 Mon Sep 17 00:00:00 2001 From: tomvothecoder Date: Thu, 15 Feb 2024 14:59:09 -0800 Subject: [PATCH 12/12] Fix pre-commit issue --- e3sm_diags/metrics/metrics.py | 60 +++++++++++++++++------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/e3sm_diags/metrics/metrics.py b/e3sm_diags/metrics/metrics.py index c6867a504..bb2e018bb 100644 --- a/e3sm_diags/metrics/metrics.py +++ b/e3sm_diags/metrics/metrics.py @@ -21,36 +21,36 @@ def spatial_avg( ) -> List[float] | xr.DataArray: """Compute a variable's weighted spatial average. - Parameters - ---------- - ds : xr.Dataset - The dataset containing the variable. - var_key : str - The key of the variable in the dataset. - axis : List[Axis] - The list of axes to use for the computation, by default ["X", "Y"]. - Valid axes including "X", "Y", and "Z". - The key of the variable. - axis : List[str] - A list of axis strings, by default ["X", "Y"]. - as_list : bool - Return the spatial average as a list of floats, by default True. - If False, return an xr.DataArray. Must be True to be serializable for - writing out to a `.json` metrics file. - - Returns - ------- - List[float] | xr.DataArray - The spatial average of the variable based on the specified axis. - - Raises - ------ - ValueError - If the axis argument contains an invalid value. - - Notes - ----- - Replaces `e3sm_diags.metrics.mean`. + Parameters + ---------- + ds : xr.Dataset + The dataset containing the variable. + var_key : str + The key of the variable in the dataset. + axis : List[Axis] + The list of axes to use for the computation, by default ["X", "Y"]. + Valid axes including "X", "Y", and "Z". + The key of the variable. + axis : List[str] + A list of axis strings, by default ["X", "Y"]. + as_list : bool + Return the spatial average as a list of floats, by default True. + If False, return an xr.DataArray. Must be True to be serializable for + writing out to a `.json` metrics file. + + Returns + ------- + List[float] | xr.DataArray + The spatial average of the variable based on the specified axis. + + Raises + ------ + ValueError + If the axis argument contains an invalid value. + + Notes + ----- + Replaces `e3sm_diags.metrics.mean`. """ dv = ds[var_key].copy() weights = _get_weights(ds, var_key, axis)