From 5fcfe04aa35ceb76e4698dd0e546f55d64e335b2 Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Thu, 24 Apr 2025 17:27:37 +0200 Subject: [PATCH 01/18] Add cloud scatterplots --- .../ref-core/src/cmip_ref_core/datasets.py | 19 +- .../ref-metrics-esmvaltool/pyproject.toml | 2 +- .../cmip_ref_metrics_esmvaltool/__init__.py | 9 + .../dataset_registry/data.txt | 91 ++++++++ .../metrics/__init__.py | 12 + .../metrics/base.py | 64 ++++-- .../metrics/cloud_scatterplots.py | 205 ++++++++++++++++++ .../metrics/ecs.py | 27 +-- .../metrics/example.py | 7 +- .../metrics/tcr.py | 27 +-- .../metrics/tcre.py | 7 +- .../metrics/zec.py | 7 +- .../src/cmip_ref_metrics_esmvaltool/recipe.py | 45 +++- .../cmip_ref_metrics_esmvaltool/recipes.txt | 1 + packages/ref/pyproject.toml | 1 + uv.lock | 8 +- 16 files changed, 465 insertions(+), 67 deletions(-) create mode 100644 packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/dataset_registry/data.txt create mode 100644 packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py diff --git a/packages/ref-core/src/cmip_ref_core/datasets.py b/packages/ref-core/src/cmip_ref_core/datasets.py index c54a6b6b0..b8e7d98b5 100644 --- a/packages/ref-core/src/cmip_ref_core/datasets.py +++ b/packages/ref-core/src/cmip_ref_core/datasets.py @@ -4,7 +4,7 @@ import enum import hashlib -from collections.abc import Iterable +from collections.abc import Iterable, Iterator from typing import Any import pandas as pd @@ -108,9 +108,24 @@ def __getitem__(self, key: SourceDatasetType | str) -> DatasetCollection: def __hash__(self) -> int: return hash(self.hash) + def __iter__(self) -> Iterator[SourceDatasetType]: + return iter(self._collection) + + def keys(self) -> Iterable[SourceDatasetType]: + """ + Iterate over the source types in the collection. + """ + return self._collection.keys() + + def values(self) -> Iterable[DatasetCollection]: + """ + Iterate over the datasets in the collection. + """ + return self._collection.values() + def items(self) -> Iterable[tuple[SourceDatasetType, DatasetCollection]]: """ - Iterate over the datasets in the collection + Iterate over the items in the collection. """ return self._collection.items() diff --git a/packages/ref-metrics-esmvaltool/pyproject.toml b/packages/ref-metrics-esmvaltool/pyproject.toml index 97ba3b258..2e77c9e87 100644 --- a/packages/ref-metrics-esmvaltool/pyproject.toml +++ b/packages/ref-metrics-esmvaltool/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ dependencies = [ "pooch >= 1.8", "cmip_ref_core", - "ruamel.yaml >= 0.18", + "pyyaml", "xarray >= 2023.3.0", ] diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/__init__.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/__init__.py index 405540bef..75b981289 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/__init__.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/__init__.py @@ -3,6 +3,7 @@ """ import cmip_ref_metrics_esmvaltool.metrics +from cmip_ref_core.dataset_registry import dataset_registry_manager from cmip_ref_core.providers import CondaMetricsProvider from cmip_ref_metrics_esmvaltool._version import __version__ from cmip_ref_metrics_esmvaltool.recipe import _ESMVALTOOL_COMMIT @@ -19,3 +20,11 @@ for _metric_cls_name in cmip_ref_metrics_esmvaltool.metrics.__all__: _metric_cls = getattr(cmip_ref_metrics_esmvaltool.metrics, _metric_cls_name) provider.register(_metric_cls()) + +# Register OBS, OBS6, and raw data +dataset_registry_manager.register( + "esmvaltool", + "https://pub-b093171261094c4ea9adffa01f94ee06.r2.dev/", + package="cmip_ref_metrics_esmvaltool.dataset_registry", + resource="data.txt", +) diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/dataset_registry/data.txt b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/dataset_registry/data.txt new file mode 100644 index 000000000..1d4c69834 --- /dev/null +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/dataset_registry/data.txt @@ -0,0 +1,91 @@ +ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc 4dd4678b79ef139446c8406da5aae4fed210abb2f2160ef95f6988bf83e4525b +ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc ede887cf2d83c848a0d71316799232e4d717662bd2f78d5aa1fc166b41d9953b +ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc e70e3273092edf01527970693271641fc6474d1974887d7d272e7d656bab83c2 +ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc e31e648886c4fa9c09686672a06ab18fbba687ff0d6de2891616d4c8b74e215d +ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc eb96edd9274670aa705eab2a6d1ee0cca11e01ac17096706463e032b58e6be47 +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc 13bc6e3a46397386a14a36776fdd6bdbf5c45147c8dc695d4a7387883d449775 +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc 4a430d77dbe9164dba2d1fdef4bb89ea9358b6d10023f3fbee50917422446ed0 +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc e0ffa31369d9552be16b920110b24013d31e116b180ee3f70b3d0aaa5281eff0 +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rlut_198201-201612.nc 075144d673a9f2ff49fbe59e701535bf80c04908797a9dca83781000a9b1b7f2 +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rlutcs_198201-201612.nc 21f096ecafff659e5c7e3338060425f7194e5d1b39c9510865496e04ecac3d75 +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rsut_198201-201612.nc f2c3f3afcdc2e730df7985c210a3de89b0d4f83b150e0c3846f7ac3c5fa9c54a +ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_rsutcs_198201-201612.nc d180d3140d4c1f6b9bb1960e07b45f192643f047e7c272c8c8c7070296ca3ab7 +ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rlut_198401-201612.nc 650b347df432f6e5f3f693310aad695a7502f2905ac545753c7d4ccb0592adbe +ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rlutcs_198401-201612.nc a90d9e035447f8778a2f64362411c079536d9dea559f6d53d032710b2c9b00e3 +ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rsut_198401-201612.nc 8afa3afd416500b17bceda5689c43d64277a4c32f99521f79a3603d0e3fe0570 +ESMValTool/OBS/Tier2/ISCCP-FH/OBS_ISCCP-FH_sat_v0_Amon_rsutcs_198401-201612.nc 922aebf600f56a69c7b0b9d4b72eca0edb3dd495bd7a05209a07d4e50bd69b57 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_fx_areacello.nc aead9fc03e6773f66c3fa522ddd9cc36ff6a5b47cfab02d3cb9481b52cc2f7cb +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_197901-197912.nc b5fe29fd2864248580043af4bca27a4771cf216ef7db74d645590ba10809dbe8 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198001-198012.nc ce988e813cae4c59bbb622420e7e339b9e435117486af8aa81afaa54e19d7d68 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198101-198112.nc 5713ea69e8ce6d436d3acb30cc6207638d868d0f7a24b2821788418481ec9660 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198201-198212.nc 980685a890b9a02cc9c190a7fd7650a7c20b37e3fb5347803db8d9aa725bda9d +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198301-198312.nc 4ebff517978213235000299c3492739870373fe5e3ddc8db68d6826c20526bef +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198401-198412.nc fd302b6349d13895a5f918dd116b7efbc7af41705c0a1d3fc62092fac78b7463 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198501-198512.nc 4d6fabf1247e92d316029657b10b993618ee08afe0f7f7f026793d92ca2b3019 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198601-198612.nc cdcda5ef9ee1a804a7c23ffcace5a15674f630a9541a08927b49ebc279adf67f +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198701-198712.nc 1f14e6251be16c6130be52f67f309d19225a2186cec3ebb196a2a4d316e627ad +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198801-198812.nc 7828fb3696bcea2b2f8ef0f8823f69545747f2db6d8f7b2e6b06e32c1b9faed6 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_198901-198912.nc 852752aee0649cd23ca76d2f6f418f8ce510ae0806865da5d4ff3b347ee56f70 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199001-199012.nc 0567a0824ae24eeeef91291e98e2972913bfe6960998f8ca474378c28ff53722 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199101-199112.nc 1263e0fc884524cc91266d0269619a44978b814bc0e113d05dd18a4b8ecf30e5 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199201-199212.nc f64216239a8f652b0d96556dec4b1146dad304c88a45e5cfb38917661c9cbfde +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199301-199312.nc 413031394e005221899e86143d016fe0f8f074f27d9d8324058aa9261853d8e7 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199401-199412.nc 18aaa5c6ddee4aa3944ed3fdea44cff27fb455ebe4592edd46550742a7e90bbf +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199501-199512.nc dd06c51ab71746c5ae9abe763816aaf3ef240ada749a8bfbc89afaa942e7d995 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199601-199612.nc 4227b2c134e3db5110454223e621988b71c8ef689089d1e9819c0e411f179caa +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199701-199712.nc 0dc78fc679f2abedf6ec61f4c19f4a4478dbb1fbbf2654eb066cb387d9ab6a00 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199801-199812.nc 98b78eea8ce6c8ab812bfd873158513b840398393066beb835b4aa98609ff2f2 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_199901-199912.nc ad325f8091028a39e4bd0da7e11103e94f6ecc14a75a41515900e5aae037d651 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200001-200012.nc 0dd3d1017797f6ac19cac32c062248321a22ee5931f79c683d9d1d8b2b77068a +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200101-200112.nc c5e3b1621df7ed91e67a41858b37441877d01503dec9a4211755c30f6aab124e +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200201-200212.nc e5d1627f1595a0eb8bf7f51db89023884e9e9b25e3fd168ae579e8d0d86e08fa +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200301-200312.nc e2770f79ab5f6e2f3d652c0b54734e95105be1914a2de84d442b4c3faa2adda5 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200401-200412.nc 503daf56c1568923a2c6e0353588a94e26d4caa10c6dc73e1393fb7ce2e70d5b +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200501-200512.nc 735b2a4fb028fc5f99add5a663113293045c808a0cb3e82c0536c92540fb6ebc +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200601-200612.nc 34a6547a9740347861928c788c9e866b295ea424dc5167d8e32ca74e0294d3c9 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200701-200712.nc c96b4cc0c03162fac8f6d7aafc65c859991e2df5cae9c37209d1557ce4795b2b +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200801-200812.nc a99830c5a656d65e814f547698d12aa5be298dac8ac7bd52b6343cfdd6c2decd +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_200901-200912.nc 16a6ddaaddbe733991428e3a5778ca52340d27ea3383c58a7e4e76d41c472e36 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_201001-201012.nc 55b1b664fea63e83b30cab3cde0eec8ad457054b8deeac9d31e27cc7cf415d65 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_201101-201112.nc 3ccd8d7f1bf76b09f49478e08e0996348f218bbd705dd031eb06c1beb6b21f64 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_201201-201212.nc e82707692e34817c09d743b5776f4fdf59c6e9e1601fb3496878ba251e4d6c06 +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_201301-201312.nc 46db3a4001df110fa71f3c33371d0613e61bb38f1f86de8343bbfbbca880f49b +ESMValTool/OBS/Tier2/OSI-450-nh/OBS_OSI-450-nh_reanaly_v3_OImon_sic_201401-201412.nc fefe2db37a628e277512a9f6c20b0ac210d20a964c38ca13d6d5e59cec225ef8 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_fx_areacello.nc 28f6cb9f8f4e795e2d3008a84df9fe2d5587050e87efcff2dd730189ac8454d3 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_197901-197912.nc 3eadfb27fa0176abd0f8c890577870f106a328935a4df07fa31ada457c9d1590 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198001-198012.nc 341c94dc9f16dd45b76c7bcfb877a8161a83ee519beb92a5abffbdd2c2d0bcef +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198101-198112.nc fedd045a62c5f09010620fe81e607e0f637a9be97a1e0fe1aff5f3210da4ebfb +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198201-198212.nc f0ab6ecbfa15180d482ebd33b4e6567d0fbd82184e738a5505b9ba5d00ff797a +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198301-198312.nc a9c88f88b8165020641492677748b5c887870b180ee65ddc339ce4ff7eda3aa5 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198401-198412.nc cda7b9469e05b2c13faf14a48f7da4a8026535da921278bb73b1c95fdbdb5817 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198501-198512.nc d0b5db2b82b31b530487f2bf6c14f67d15171e009f01cc64a7b36703bd662e5d +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198601-198612.nc 9c71beb4c7cb6fa563649ac14f4d8da6469a7e39382f6dd66b9b0200c54d73eb +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198701-198712.nc e1f48dc90e30513b4c72bb210f888af6ff358f771f955c0ff6f45377c3430b22 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198801-198812.nc f7bfeb4b518a800cbf244f9a8422535ffdfb3e92fa3d268a38f88cdb471de2ba +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_198901-198912.nc 4086c5cc0b44f25f88892b0ef5096b7175dd9cf7972fea9d5ea2fe674f9572d9 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199001-199012.nc be0a4c07d9b01f86913807cf9dfcf73383021df37bbd8ef71a03a09bb8cd5176 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199101-199112.nc 2480581a86eb74771279184334011bbcc750084efbbf72efaecd7c6ec3d8495c +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199201-199212.nc d2bbf1350b2f4564fe60664d52be38c43902222b2e54078c64365e1ab284c410 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199301-199312.nc c94f72e4a9b806479586739505c5e338f256b799ba95d4dd0e24b7c34d5eaba3 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199401-199412.nc 1f7f58413a1103b1aab2b0909781b589a6c8b9bcc57441122c16cf77b3947a45 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199501-199512.nc c68b8ec4ab6fb1996a08d942a8b4d9cebdcd4153258c0b0db718711aeb0e7565 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199601-199612.nc 7010dfecd0cde62826fd44daa5080b725569da384ad0e37b672ed03df3bb647a +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199701-199712.nc d749a4bf8a11eeb1ecb264d65a687cfada20df3676af0840d373f9f6ecaf5db1 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199801-199812.nc 6fa86c6fdc5ff0a2057604cfe95f80ad0a8f2ef71f5d054785d4bde2bbbda6c5 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_199901-199912.nc 2a0a7d60510e9daeeea1ffb557109416888239abe244ae8687e31650d47a05cd +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200001-200012.nc 147ec37e56c571397afc9833f1b8b23987cedf8108566ad24c30a09a7009a9a5 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200101-200112.nc f0be737c861796072c68046b2e96cefda14473ee46c71ab714ec3d7642dbcef7 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200201-200212.nc 26e2c2d9e78fb3482b99d3e338bf1fdc4f27ec7fb4eb64c054123646ceb22bfb +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200301-200312.nc e8ff93274ad87bbe5491aca37112800b7016003b13cdd316cd7920f98e54534c +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200401-200412.nc 716e089dba6bd34e2d2f661b4d2b65a57722b845260aec0ad3a0d3f2786cceaf +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200501-200512.nc f73498ffcea9cb59dae2bd88e23c9bcde70d7c090e00102ab980f743701c154e +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200601-200612.nc 648b6ed330a12cb9809b87ba2e2ebf24d8806ed8ae7664bae10e4146d0af1302 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200701-200712.nc 4394f0a46644a35249ac274c77c092847fcb0b9c860d7a6ca480f9fc26aaaa1c +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200801-200812.nc 8b22d86c712283c2bf7d978453f8f56d924bf82c4f6ff7834763066b081e4f5e +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_200901-200912.nc fe555a4ec603c95425cd257cc426f6f349ed5d33b3760d665c102798aa3144f1 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_201001-201012.nc 4d8b3dfdb8c0d98fd21858356eedee6ac912eb66c295d81fffcb5eb206f2c06b +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_201101-201112.nc 1d63f2855bdc30d86fbda942c65e104ad70069c78a433d0bccd45170e77789f8 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_201201-201212.nc 86187c3d1174053f2cba6dad010af49ceab77d368aa9314bf53c330b5f2217b9 +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_201301-201312.nc 8820353570884b2ef182caaffb5986ed6268bbe199fd867f61b56e798ca01f1a +ESMValTool/OBS/Tier2/OSI-450-sh/OBS_OSI-450-sh_reanaly_v3_OImon_sic_201401-201412.nc 7102d0db3dc02c5b0eb0cfe3535ee50171007ef5b43eb9aae1220ac21b0b98e9 +ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc 977824810e8f9dbe7df278c59397ffc3f78491a9eb5a0b70e6b28ac66db8e12d diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/__init__.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/__init__.py index 51ad72d34..30e27057c 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/__init__.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/__init__.py @@ -1,5 +1,12 @@ """ESMValTool metrics.""" +from cmip_ref_metrics_esmvaltool.metrics.cloud_scatterplots import ( + CloudScatterplotCliTa, + CloudScatterplotCliviLwcre, + CloudScatterplotCltSwcre, + CloudScatterplotClwviPr, + CloudScatterplotsReference, +) from cmip_ref_metrics_esmvaltool.metrics.ecs import EquilibriumClimateSensitivity from cmip_ref_metrics_esmvaltool.metrics.example import GlobalMeanTimeseries from cmip_ref_metrics_esmvaltool.metrics.tcr import TransientClimateResponse @@ -7,6 +14,11 @@ from cmip_ref_metrics_esmvaltool.metrics.zec import ZeroEmissionCommitment __all__ = [ + "CloudScatterplotCltSwcre", + "CloudScatterplotCliTa", + "CloudScatterplotCliviLwcre", + "CloudScatterplotClwviPr", + "CloudScatterplotsReference", "EquilibriumClimateSensitivity", "GlobalMeanTimeseries", "TransientClimateResponse", diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/base.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/base.py index 4418c0ffb..b01aa5310 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/base.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/base.py @@ -4,8 +4,10 @@ from typing import ClassVar import pandas -from ruamel.yaml import YAML +import yaml +from loguru import logger +from cmip_ref_core.dataset_registry import dataset_registry_manager from cmip_ref_core.datasets import MetricDataset, SourceDatasetType from cmip_ref_core.metrics import CommandLineMetric, MetricExecutionDefinition, MetricExecutionResult from cmip_ref_core.pycmec.metric import CMECMetric @@ -13,8 +15,6 @@ from cmip_ref_metrics_esmvaltool.recipe import load_recipe, prepare_climate_data from cmip_ref_metrics_esmvaltool.types import MetricBundleArgs, OutputBundleArgs, Recipe -yaml = YAML() - class ESMValToolMetric(CommandLineMetric): """ESMValTool Metric base class.""" @@ -23,7 +23,10 @@ class ESMValToolMetric(CommandLineMetric): @staticmethod @abstractmethod - def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: """ Update the base recipe for the run. @@ -77,35 +80,70 @@ def build_cmd(self, definition: MetricExecutionDefinition) -> Iterable[str]: : The result of running the metric. """ - input_files = definition.metric_dataset[SourceDatasetType.CMIP6].datasets + input_files = { + project: definition.metric_dataset[project].datasets for project in definition.metric_dataset + } recipe = load_recipe(self.base_recipe) self.update_recipe(recipe, input_files) recipe_path = definition.to_output_path("recipe.yml") with recipe_path.open("w", encoding="utf-8") as file: - yaml.dump(recipe, file) + yaml.safe_dump(recipe, file) climate_data = definition.to_output_path("climate_data") - prepare_climate_data( - definition.metric_dataset[SourceDatasetType.CMIP6].datasets, - climate_data_dir=climate_data, - ) + for metric_dataset in definition.metric_dataset.values(): + prepare_climate_data( + metric_dataset.datasets, + climate_data_dir=climate_data, + ) config = { "drs": { "CMIP6": "ESGF", + "obs4MIPs": "ESGF", }, "output_dir": str(definition.to_output_path("results")), "rootpath": { - "default": str(climate_data), + "CMIP6": str(climate_data), + "obs4MIPs": str(climate_data), }, "search_esgf": "never", } + + # Configure the paths to OBS/OBS6/native6 and non-compliant obs4MIPs data + registry = dataset_registry_manager["esmvaltool"] + data_dir = registry.abspath / "ESMValTool" # type: ignore[attr-defined] + if not data_dir.exists(): + logger.warning( + "ESMValTool observational and reanalysis data is not available " + f"in {data_dir}, you may want to run the command " + "`ref datasets fetch-data --registry esmvaltool`." + ) + else: + config["drs"].update( # type: ignore[attr-defined] + { + "OBS": "default", + "OBS6": "default", + "native6": "default", + } + ) + config["rootpath"].update( # type: ignore[attr-defined] + { + "OBS": str(data_dir / "OBS"), + "OBS6": str(data_dir / "OBS"), + "native6": str(data_dir / "RAWOBS"), + } + ) + config["rootpath"]["obs4MIPs"] = [ # type: ignore[index] + config["rootpath"]["obs4MIPs"], # type: ignore[index] + str(data_dir), + ] + config_dir = definition.to_output_path("config") config_dir.mkdir() with (config_dir / "config.yml").open("w", encoding="utf-8") as file: - yaml.dump(config, file) + yaml.safe_dump(config, file) return [ "esmvaltool", @@ -139,7 +177,7 @@ def build_metric_result( # Add the plots and data files plot_suffixes = {".png", ".jpg", ".pdf", ".ps"} for metadata_file in result_dir.glob("run/*/*/diagnostic_provenance.yml"): - metadata = yaml.load(metadata_file.read_text(encoding="utf-8")) + metadata = yaml.safe_load(metadata_file.read_text(encoding="utf-8")) for filename in metadata: caption = metadata[filename].get("caption", "") relative_path = definition.as_relative_path(filename) diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py new file mode 100644 index 000000000..8fd34a03c --- /dev/null +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py @@ -0,0 +1,205 @@ +from functools import partial + +import pandas + +from cmip_ref_core.constraints import ( + AddSupplementaryDataset, + RequireContiguousTimerange, + RequireFacets, + RequireOverlappingTimerange, +) +from cmip_ref_core.datasets import FacetFilter, SourceDatasetType +from cmip_ref_core.metrics import DataRequirement +from cmip_ref_metrics_esmvaltool.metrics.base import ESMValToolMetric +from cmip_ref_metrics_esmvaltool.recipe import dataframe_to_recipe +from cmip_ref_metrics_esmvaltool.types import Recipe + + +def get_cmip6_data_requirements(variables: tuple[str, ...]) -> tuple[DataRequirement, ...]: + """Create a data requirement for CMIP6 data.""" + return ( + DataRequirement( + source_type=SourceDatasetType.CMIP6, + filters=( + FacetFilter( + facets={ + "variable_id": variables, + "experiment_id": "historical", + }, + ), + ), + group_by=("source_id", "experiment_id", "member_id", "frequency", "grid_label"), + constraints=( + RequireFacets("variable_id", variables), + RequireContiguousTimerange(group_by=("instance_id",)), + RequireOverlappingTimerange(group_by=("instance_id",)), + # TODO: Add a RequireTimeRange constraint to match reference datasets? + AddSupplementaryDataset.from_defaults("areacella", SourceDatasetType.CMIP6), + ), + ), + ) + + +def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + var_x: str, + var_y: str, + source_type: SourceDatasetType, +) -> None: + """Update the recipe.""" + recipe_variables = dataframe_to_recipe(input_files[source_type], equalize_timerange=True) + diagnostics = recipe["diagnostics"] + if source_type is SourceDatasetType.CMIP6: + diagnostic_name = f"plot_joint_{var_x}_{var_y}_model" + diagnostic = diagnostics.pop(diagnostic_name) + diagnostics.clear() + diagnostics[diagnostic_name] = diagnostic + datasets = next(iter(recipe_variables.values()))["additional_datasets"] + diagnostic["additional_datasets"] = datasets + suptitle = "CMIP6 {dataset} {ensemble} {grid} {timerange}".format(**datasets[0]) + diagnostic["scripts"]["plot"]["suptitle"] = suptitle + diagnostic["scripts"]["plot"]["plot_filename"] = ( + f"jointplot_{var_x}_{var_y}_{suptitle.replace(' ', '_').replace('/', '-')}" + ) + + +class CloudScatterplotCltSwcre(ESMValToolMetric): + """ + Scatterplot of clt vs swcre. + """ + + name = "Scatterplots of two cloud-relevant variables (clt vs swcre)" + slug = "esmvaltool-cloud-scatterplots-clt-swcre" + base_recipe = "ref/recipe_ref_scatterplot.yml" + data_requirements = get_cmip6_data_requirements(("clt", "rsut", "rsutcs")) + update_recipe = partial( + update_recipe, + var_x="clt", + var_y="swcre", + source_type=SourceDatasetType.CMIP6, + ) + + +class CloudScatterplotClwviPr(ESMValToolMetric): + """ + Scatterplot of clwvi vs pr. + """ + + name = "Scatterplots of two cloud-relevant variables (clwvi vs pr)" + slug = "esmvaltool-cloud-scatterplots-clwvi-pr" + base_recipe = "ref/recipe_ref_scatterplot.yml" + data_requirements = get_cmip6_data_requirements(("clwvi", "pr")) + update_recipe = partial( + update_recipe, + var_x="clwvi", + var_y="pr", + source_type=SourceDatasetType.CMIP6, + ) + + +class CloudScatterplotCliviLwcre(ESMValToolMetric): + """ + Scatterplot of clivi vs lwcre. + """ + + name = "Scatterplots of two cloud-relevant variables (clivi vs lwcre)" + slug = "esmvaltool-cloud-scatterplots-clivi-lwcre" + base_recipe = "ref/recipe_ref_scatterplot.yml" + data_requirements = get_cmip6_data_requirements(("clivi", "rlut", "rlutcs")) + update_recipe = partial( + update_recipe, + var_x="clivi", + var_y="lwcre", + source_type=SourceDatasetType.CMIP6, + ) + + +class CloudScatterplotCliTa(ESMValToolMetric): + """ + Scatterplot of cli vs ta. + """ + + name = "Scatterplots of two cloud-relevant variables (cli vs ta)" + slug = "esmvaltool-cloud-scatterplots-cli-ta" + base_recipe = "ref/recipe_ref_scatterplot.yml" + data_requirements = get_cmip6_data_requirements(("cli", "ta")) + update_recipe = partial( + update_recipe, + var_x="cli", + var_y="ta", + source_type=SourceDatasetType.CMIP6, + ) + + +class CloudScatterplotsReference(ESMValToolMetric): + """ + Reference scatterplots of two cloud-relevant variables. + """ + + name = "Reference scatterplots of two cloud-relevant variables" + slug = "esmvaltool-cloud-scatterplots-reference" + base_recipe = "ref/recipe_ref_scatterplot.yml" + data_requirements = ( + DataRequirement( + source_type=SourceDatasetType.obs4MIPs, + filters=( + FacetFilter( + facets={ + "source_id": ("ERA-5",), + "variable_id": ("ta",), + }, + ), + ), + group_by=("instance_id",), + constraints=(RequireContiguousTimerange(group_by=("instance_id",)),), + # TODO: Add obs4MIPs datasets once available and working: + # + # obs4MIPs datasets with issues: + # - GPCP-V2.3: pr + # - CERES-EBAF-4-2: rlut, rlutcs, rsut, rsutcs + # + # Unsure if available on obs4MIPs: + # - AVHRR-AMPM-fv3.0: clivi, clwvi + # - ESACCI-CLOUD: clt + # - CALIPSO-ICECLOUD: cli + # + # Related issues: + # - https://github.com/Climate-REF/climate-ref/issues/260 + # - https://github.com/esMValGroup/esMValCore/issues/2712 + # - https://github.com/esMValGroup/esMValCore/issues/2711 + # - https://github.com/sciTools/iris/issues/6411 + ), + ) + + @staticmethod + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: + """Update the recipe.""" + recipe_variables = dataframe_to_recipe(input_files[SourceDatasetType.obs4MIPs]) + recipe["diagnostics"] = {k: v for k, v in recipe["diagnostics"].items() if k.endswith("_ref")} + + era5_dataset = recipe_variables["ta"]["additional_datasets"][0] + era5_dataset["timerange"] = "2007/2015" # Use the same timerange as for the other variable. + era5_dataset["alias"] = era5_dataset["dataset"] + diagnostic = recipe["diagnostics"]["plot_joint_cli_ta_ref"] + diagnostic["variables"]["ta"]["additional_datasets"] = [era5_dataset] + suptitle = "'CALIPSO-ICECLOUD / {dataset} {timerange}".format(**era5_dataset) + diagnostic["scripts"]["plot"]["suptitle"] = suptitle + diagnostic["scripts"]["plot"]["plot_filename"] = ( + f"jointplot_cli_ta_{suptitle.replace(' ', '_').replace('/', '-')}" + ) + + # Use the correct obs4MIPs dataset name for dataset that cannot be ingested + # https://github.com/Climate-REF/climate-ref/issues/260. + diagnostic = recipe["diagnostics"]["plot_joint_clwvi_pr_ref"] + diagnostic["variables"]["pr"]["additional_datasets"] = [ + { + "dataset": "GPCP-V2.3", + "project": "obs4MIPs", + "alias": "GPCP-SG", + "timerange": "1992/2016", + } + ] diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py index 707cc51dc..4bffaa32f 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py @@ -59,7 +59,10 @@ class EquilibriumClimateSensitivity(ESMValToolMetric): ) @staticmethod - def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: """Update the recipe.""" # Only run the diagnostic that computes ECS for a single model. recipe["diagnostics"] = { @@ -86,23 +89,11 @@ def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: # Prepare updated datasets section in recipe. It contains two # datasets, one for the "abrupt-4xCO2" and one for the "piControl" # experiment. - recipe_variables = dataframe_to_recipe(input_files) - recipe_variables = {k: v for k, v in recipe_variables.items() if k != "areacella"} - - # Select a timerange covered by all datasets. - start_times, end_times = [], [] - for variable in recipe_variables.values(): - for dataset in variable["additional_datasets"]: - start, end = dataset["timerange"].split("/") - start_times.append(start) - end_times.append(end) - timerange = f"{max(start_times)}/{min(end_times)}" - - datasets = recipe_variables["tas"]["additional_datasets"] - for dataset in datasets: - dataset["timerange"] = timerange - - recipe["datasets"] = datasets + recipe_variables = dataframe_to_recipe( + input_files[SourceDatasetType.CMIP6], + equalize_timerange=True, + ) + recipe["datasets"] = recipe_variables["tas"]["additional_datasets"] @staticmethod def format_result( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py index 60d2ed62e..9ef49efc3 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py @@ -30,7 +30,10 @@ class GlobalMeanTimeseries(ESMValToolMetric): ) @staticmethod - def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: """Update the recipe.""" # Clear unwanted elements from the recipe. recipe["datasets"].clear() @@ -39,7 +42,7 @@ def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: variables.clear() # Prepare updated variables section in recipe. - recipe_variables = dataframe_to_recipe(input_files) + recipe_variables = dataframe_to_recipe(input_files[SourceDatasetType.CMIP6]) recipe_variables = {k: v for k, v in recipe_variables.items() if k != "areacella"} for variable in recipe_variables.values(): variable["preprocessor"] = "annual_mean_global" diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py index 477e85baa..8621fd7dd 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py @@ -52,7 +52,10 @@ class TransientClimateResponse(ESMValToolMetric): ) @staticmethod - def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: """Update the recipe.""" # Only run the diagnostic that computes TCR for a single model. recipe["diagnostics"] = { @@ -75,23 +78,11 @@ def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: # Prepare updated datasets section in recipe. It contains two # datasets, one for the "1pctCO2" and one for the "piControl" # experiment. - recipe_variables = dataframe_to_recipe(input_files) - recipe_variables = {k: v for k, v in recipe_variables.items() if k != "areacella"} - - # Select a timerange covered by all datasets. - start_times, end_times = [], [] - for variable in recipe_variables.values(): - for dataset in variable["additional_datasets"]: - start, end = dataset["timerange"].split("/") - start_times.append(start) - end_times.append(end) - timerange = f"{max(start_times)}/{min(end_times)}" - - datasets = recipe_variables["tas"]["additional_datasets"] - for dataset in datasets: - dataset["timerange"] = timerange - - recipe["datasets"] = datasets + recipe_variables = dataframe_to_recipe( + input_files[SourceDatasetType.CMIP6], + equalize_timerange=True, + ) + recipe["datasets"] = recipe_variables["tas"]["additional_datasets"] @staticmethod def format_result( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py index 253f856c0..2bdca5444 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py @@ -65,12 +65,15 @@ class TransientClimateResponseEmissions(ESMValToolMetric): ) @staticmethod - def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: """Update the recipe.""" # Prepare updated datasets section in recipe. It contains three # datasets, "tas" and "fco2antt" for the "esm-1pctCO2" and just "tas" # for the "esm-piControl" experiment. - recipe_variables = dataframe_to_recipe(input_files) + recipe_variables = dataframe_to_recipe(input_files[SourceDatasetType.CMIP6]) tas_esm_1pctCO2 = next( ds for ds in recipe_variables["tas"]["additional_datasets"] if ds["exp"] == "esm-1pctCO2" ) diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py index 427de3789..6cc22f2ec 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py @@ -52,12 +52,15 @@ class ZeroEmissionCommitment(ESMValToolMetric): ) @staticmethod - def update_recipe(recipe: Recipe, input_files: pandas.DataFrame) -> None: + def update_recipe( + recipe: Recipe, + input_files: dict[SourceDatasetType, pandas.DataFrame], + ) -> None: """Update the recipe.""" # Prepare updated datasets section in recipe. It contains two # datasets, one for the "esm-1pct-brch-1000PgC" and one for the "piControl" # experiment. - datasets = dataframe_to_recipe(input_files)["tas"]["additional_datasets"] + datasets = dataframe_to_recipe(input_files[SourceDatasetType.CMIP6])["tas"]["additional_datasets"] base_dataset = next(ds for ds in datasets if ds["exp"] == "1pctCO2") dataset = next(ds for ds in datasets if ds["exp"] == "esm-1pct-brch-1000PgC") start = dataset["timerange"].split("/")[0] diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipe.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipe.py index 16aa019fe..1f8984987 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipe.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipe.py @@ -5,14 +5,13 @@ from typing import TYPE_CHECKING, Any import pooch -from ruamel.yaml import YAML +import yaml from cmip_ref_metrics_esmvaltool.types import Recipe if TYPE_CHECKING: import pandas as pd -yaml = YAML() FACETS = { "CMIP6": { @@ -25,6 +24,13 @@ "mip": "table_id", "short_name": "variable_id", }, + "obs4MIPs": { + "dataset": "source_id", + "frequency": "frequency", + "grid": "grid_label", + "institute": "institution_id", + "short_name": "variable_id", + }, } @@ -92,7 +98,10 @@ def as_facets( return facets -def dataframe_to_recipe(files: pd.DataFrame) -> dict[str, Any]: +def dataframe_to_recipe( + files: pd.DataFrame, + equalize_timerange: bool = False, +) -> dict[str, Any]: """Convert the datasets dataframe to a recipe "variables" section. Parameters @@ -112,11 +121,27 @@ def dataframe_to_recipe(files: pd.DataFrame) -> dict[str, Any]: if short_name not in variables: variables[short_name] = {"additional_datasets": []} variables[short_name]["additional_datasets"].append(facets) + + if equalize_timerange: + # Select a timerange covered by all datasets. + start_times, end_times = [], [] + for variable in variables.values(): + for dataset in variable["additional_datasets"]: + if "timerange" in dataset: + start, end = dataset["timerange"].split("/") + start_times.append(start) + end_times.append(end) + timerange = f"{max(start_times)}/{min(end_times)}" + for variable in variables.values(): + for dataset in variable["additional_datasets"]: + if "timerange" in dataset: + dataset["timerange"] = timerange + return variables -_ESMVALTOOL_COMMIT = "864a0b9328e6d29d0591ffb593fdfcc88b22f1b8" -_ESMVALTOOL_VERSION = f"2.13.0.dev21+{_ESMVALTOOL_COMMIT[:10]}" +_ESMVALTOOL_COMMIT = "a759ce46d5185e3784997ce38a3956e39322cdac" +_ESMVALTOOL_VERSION = f"2.13.0.dev27+g{_ESMVALTOOL_COMMIT[:9]}" _RECIPES = pooch.create( path=pooch.os_cache("cmip_ref_metrics_esmvaltool"), @@ -142,7 +167,7 @@ def load_recipe(recipe: str) -> Recipe: The loaded recipe. """ filename = _RECIPES.fetch(recipe) - return yaml.load(Path(filename).read_text(encoding="utf-8")) # type: ignore[no-any-return] + return yaml.safe_load(Path(filename).read_text(encoding="utf-8")) # type: ignore[no-any-return] def prepare_climate_data(datasets: pd.DataFrame, climate_data_dir: Path) -> None: @@ -165,6 +190,12 @@ def prepare_climate_data(datasets: pd.DataFrame, climate_data_dir: Path) -> None if not isinstance(row.path, str): # pragma: no branch msg = f"Invalid path encountered in {row}" raise ValueError(msg) - tgt = climate_data_dir.joinpath(*row.instance_id.split(".")) / Path(row.path).name + project = row.instance_id.split(".")[0] + if project == "obs4MIPs": + version = row.instance_id.split(".")[-1] + tgt = climate_data_dir / project / row.source_id / version # type: ignore[operator] + else: + tgt = climate_data_dir.joinpath(*row.instance_id.split(".")) + tgt /= Path(row.path).name tgt.parent.mkdir(parents=True, exist_ok=True) tgt.symlink_to(row.path) diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipes.txt b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipes.txt index e837a6c2c..c48f1c24d 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipes.txt +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/recipes.txt @@ -3,3 +3,4 @@ recipe_ecs.yml 0cc57034fcb64e32015b4ff949ece5df8cdb8c6f493618b50cede recipe_tcr.yml 35f9ef035a4e71aff5cac5dd26c49da2162fc00291bf3b0bd16b661b7b2f606b recipe_tcre.yml 4668e357e00c515a8264ac75cb319ce558289689e10189e6f9e982886c414c94 recipe_zec.yml b0af7f789b7610ab3f29a6617124aa40c40866ead958204fc199eaf82863de51 +ref/recipe_ref_scatterplot.yml d4accda02835a882a55fe1ac8ebe235c6d75933f36bd06c01bcd6bf6e9c65c70 diff --git a/packages/ref/pyproject.toml b/packages/ref/pyproject.toml index f4811ecd7..294566ee0 100644 --- a/packages/ref/pyproject.toml +++ b/packages/ref/pyproject.toml @@ -31,6 +31,7 @@ dependencies = [ "loguru>=0.7.2", "ecgtools>=2024.7.31", "platformdirs>=4.3.6", + "ruamel.yaml >= 0.18", "setuptools>=75.8.0", ] diff --git a/uv.lock b/uv.lock index 7d4e47ddf..8517ecd4b 100644 --- a/uv.lock +++ b/uv.lock @@ -1,4 +1,5 @@ version = 1 +revision = 1 requires-python = ">=3.11" resolution-markers = [ "python_full_version >= '3.12'", @@ -559,6 +560,7 @@ dependencies = [ { name = "environs" }, { name = "loguru" }, { name = "platformdirs" }, + { name = "ruamel-yaml" }, { name = "setuptools" }, { name = "sqlalchemy" }, { name = "tomlkit" }, @@ -595,11 +597,13 @@ requires-dist = [ { name = "loguru", specifier = ">=0.7.2" }, { name = "platformdirs", specifier = ">=4.3.6" }, { name = "psycopg2-binary", marker = "extra == 'postgres'", specifier = ">=2.9.2" }, + { name = "ruamel-yaml", specifier = ">=0.18" }, { name = "setuptools", specifier = ">=75.8.0" }, { name = "sqlalchemy", specifier = ">=2.0.36" }, { name = "tomlkit", specifier = ">=0.13.2" }, { name = "typer", specifier = ">=0.12.5" }, ] +provides-extras = ["postgres", "celery", "metrics"] [package.metadata.requires-dev] dev = [] @@ -677,7 +681,7 @@ source = { editable = "packages/ref-metrics-esmvaltool" } dependencies = [ { name = "cmip-ref-core" }, { name = "pooch" }, - { name = "ruamel-yaml" }, + { name = "pyyaml" }, { name = "xarray" }, ] @@ -685,7 +689,7 @@ dependencies = [ requires-dist = [ { name = "cmip-ref-core", editable = "packages/ref-core" }, { name = "pooch", specifier = ">=1.8" }, - { name = "ruamel-yaml", specifier = ">=0.18" }, + { name = "pyyaml" }, { name = "xarray", specifier = ">=2023.3.0" }, ] From 48381add2032a500855206ba990f4cb86edc6dc0 Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 29 Apr 2025 09:25:04 +0200 Subject: [PATCH 02/18] Improve suptitle --- .../cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py index 8fd34a03c..809b2a3f1 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py @@ -186,7 +186,7 @@ def update_recipe( era5_dataset["alias"] = era5_dataset["dataset"] diagnostic = recipe["diagnostics"]["plot_joint_cli_ta_ref"] diagnostic["variables"]["ta"]["additional_datasets"] = [era5_dataset] - suptitle = "'CALIPSO-ICECLOUD / {dataset} {timerange}".format(**era5_dataset) + suptitle = "CALIPSO-ICECLOUD / {dataset} {timerange}".format(**era5_dataset) diagnostic["scripts"]["plot"]["suptitle"] = suptitle diagnostic["scripts"]["plot"]["plot_filename"] = ( f"jointplot_cli_ta_{suptitle.replace(' ', '_').replace('/', '-')}" From 11358c70f194d66b978004192974bf20990f95f6 Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 29 Apr 2025 11:11:59 +0200 Subject: [PATCH 03/18] Update tests and rename metric slugs --- .../metrics/climate_at_global_warming_levels.py | 2 +- .../metrics/cloud_scatterplots.py | 10 +++++----- .../src/cmip_ref_metrics_esmvaltool/metrics/ecs.py | 2 +- .../src/cmip_ref_metrics_esmvaltool/metrics/example.py | 2 +- .../metrics/sea_ice_area_seasonal_cycle.py | 2 +- .../src/cmip_ref_metrics_esmvaltool/metrics/tcr.py | 2 +- .../src/cmip_ref_metrics_esmvaltool/metrics/tcre.py | 2 +- .../src/cmip_ref_metrics_esmvaltool/metrics/zec.py | 2 +- .../tests/unit/metrics/test_base.py | 2 +- .../metrics/test_climate_at_global_warming_levels.py | 2 +- .../tests/unit/metrics/test_ecs.py | 2 +- .../tests/unit/metrics/test_sea_ice_area.py | 8 ++++++-- .../tests/unit/metrics/test_tcr.py | 2 +- .../tests/unit/metrics/test_tcre.py | 2 +- .../tests/unit/metrics/test_zec.py | 2 +- .../ref-metrics-esmvaltool/tests/unit/test_provider.py | 9 +++++---- 16 files changed, 29 insertions(+), 24 deletions(-) diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/climate_at_global_warming_levels.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/climate_at_global_warming_levels.py index 3148870b3..d4b10b6ea 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/climate_at_global_warming_levels.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/climate_at_global_warming_levels.py @@ -18,7 +18,7 @@ class ClimateAtGlobalWarmingLevels(ESMValToolMetric): """ name = "Climate variables at global warming levels" - slug = "esmvaltool-climate-at-global-warming-levels" + slug = "climate-at-global-warming-levels" base_recipe = "recipe_calculate_gwl_exceedance_stats.yml" variables = ( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py index 809b2a3f1..5313140c8 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py @@ -70,7 +70,7 @@ class CloudScatterplotCltSwcre(ESMValToolMetric): """ name = "Scatterplots of two cloud-relevant variables (clt vs swcre)" - slug = "esmvaltool-cloud-scatterplots-clt-swcre" + slug = "cloud-scatterplots-clt-swcre" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("clt", "rsut", "rsutcs")) update_recipe = partial( @@ -87,7 +87,7 @@ class CloudScatterplotClwviPr(ESMValToolMetric): """ name = "Scatterplots of two cloud-relevant variables (clwvi vs pr)" - slug = "esmvaltool-cloud-scatterplots-clwvi-pr" + slug = "cloud-scatterplots-clwvi-pr" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("clwvi", "pr")) update_recipe = partial( @@ -104,7 +104,7 @@ class CloudScatterplotCliviLwcre(ESMValToolMetric): """ name = "Scatterplots of two cloud-relevant variables (clivi vs lwcre)" - slug = "esmvaltool-cloud-scatterplots-clivi-lwcre" + slug = "cloud-scatterplots-clivi-lwcre" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("clivi", "rlut", "rlutcs")) update_recipe = partial( @@ -121,7 +121,7 @@ class CloudScatterplotCliTa(ESMValToolMetric): """ name = "Scatterplots of two cloud-relevant variables (cli vs ta)" - slug = "esmvaltool-cloud-scatterplots-cli-ta" + slug = "cloud-scatterplots-cli-ta" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("cli", "ta")) update_recipe = partial( @@ -138,7 +138,7 @@ class CloudScatterplotsReference(ESMValToolMetric): """ name = "Reference scatterplots of two cloud-relevant variables" - slug = "esmvaltool-cloud-scatterplots-reference" + slug = "cloud-scatterplots-reference" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = ( DataRequirement( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py index 4bffaa32f..72ff2b173 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/ecs.py @@ -23,7 +23,7 @@ class EquilibriumClimateSensitivity(ESMValToolMetric): """ name = "Equilibrium Climate Sensitivity" - slug = "esmvaltool-equilibrium-climate-sensitivity" + slug = "equilibrium-climate-sensitivity" base_recipe = "recipe_ecs.yml" variables = ( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py index 9ef49efc3..27534b427 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/example.py @@ -14,7 +14,7 @@ class GlobalMeanTimeseries(ESMValToolMetric): """ name = "Global Mean Timeseries" - slug = "esmvaltool-global-mean-timeseries" + slug = "global-mean-timeseries" base_recipe = "examples/recipe_python.yml" data_requirements = ( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/sea_ice_area_seasonal_cycle.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/sea_ice_area_seasonal_cycle.py index a512fe107..a22bdc3e5 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/sea_ice_area_seasonal_cycle.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/sea_ice_area_seasonal_cycle.py @@ -17,7 +17,7 @@ class SeaIceAreaSeasonalCycle(ESMValToolMetric): """ name = "Sea ice area seasonal cycle" - slug = "esmvaltool-sea-ice-area-seasonal-cycle" + slug = "sea-ice-area-seasonal-cycle" base_recipe = "ref/recipe_ref_sea_ice_area_basic.yml" data_requirements = ( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py index 8621fd7dd..206682b35 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcr.py @@ -23,7 +23,7 @@ class TransientClimateResponse(ESMValToolMetric): """ name = "Transient Climate Response" - slug = "esmvaltool-transient-climate-response" + slug = "transient-climate-response" base_recipe = "recipe_tcr.yml" experiments = ( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py index 2bdca5444..ba324c59d 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/tcre.py @@ -23,7 +23,7 @@ class TransientClimateResponseEmissions(ESMValToolMetric): """ name = "Transient Climate Response to Cumulative CO2 Emissions" - slug = "esmvaltool-transient-climate-response-emissions" + slug = "transient-climate-response-emissions" base_recipe = "recipe_tcre.yml" experiments = ( diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py index 6cc22f2ec..f512953bd 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/zec.py @@ -23,7 +23,7 @@ class ZeroEmissionCommitment(ESMValToolMetric): """ name = "Zero Emission Commitment" - slug = "esmvaltool-zero-emission-commitment" + slug = "zero-emission-commitment" base_recipe = "recipe_zec.yml" experiments = ( diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_base.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_base.py index cc0390803..2e742628b 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_base.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_base.py @@ -41,7 +41,7 @@ def test_build_cmd(mocker, tmp_path, metric_definition, mock_metric, data_dir_ex assert cmd == ["esmvaltool", "run", f"--config-dir={config_dir}", f"{recipe}"] assert (output_dir / "climate_data").is_dir() config = yaml.load((config_dir / "config.yml").read_text(encoding="utf-8")) - assert len(config["rootpath"]) == 4 if data_dir_exists else 1 + assert len(config["rootpath"]) == 5 if data_dir_exists else 1 def test_build_metric_result(metric_definition, mock_metric): diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_climate_at_global_warming_levels.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_climate_at_global_warming_levels.py index 9bea12b1b..a5b0c2a29 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_climate_at_global_warming_levels.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_climate_at_global_warming_levels.py @@ -23,7 +23,7 @@ def metric_dataset(): def test_update_recipe(metric_dataset): - input_files = metric_dataset[SourceDatasetType.CMIP6].datasets + input_files = {k: v.datasets for k, v in metric_dataset.items()} recipe = load_recipe("recipe_calculate_gwl_exceedance_stats.yml") ClimateAtGlobalWarmingLevels().update_recipe(recipe, input_files) assert "datasets" in recipe diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_ecs.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_ecs.py index bd486211e..f72ecc31d 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_ecs.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_ecs.py @@ -25,7 +25,7 @@ def metric_dataset(): def test_update_recipe(metric_dataset): - input_files = metric_dataset[SourceDatasetType.CMIP6].datasets + input_files = {k: v.datasets for k, v in metric_dataset.items()} recipe = load_recipe("recipe_ecs.yml") EquilibriumClimateSensitivity().update_recipe(recipe, input_files) assert len(recipe["datasets"]) == 2 diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_sea_ice_area.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_sea_ice_area.py index ca1c6e85a..9d41219a2 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_sea_ice_area.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_sea_ice_area.py @@ -4,13 +4,17 @@ from cmip_ref_metrics_esmvaltool.metrics import SeaIceAreaSeasonalCycle from cmip_ref_metrics_esmvaltool.recipe import load_recipe +from cmip_ref_core.datasets import SourceDatasetType + def test_update_recipe(): - input_files = pandas.read_json(Path(__file__).parent / "input_files_sea_ice_area.json") + input_files = { + SourceDatasetType.CMIP6: pandas.read_json(Path(__file__).parent / "input_files_sea_ice_area.json") + } recipe = load_recipe("ref/recipe_ref_sea_ice_area_basic.yml") SeaIceAreaSeasonalCycle().update_recipe(recipe, input_files) assert len(recipe["datasets"]) == 1 dataset = recipe["datasets"][0] - assert dataset["dataset"] == input_files.iloc[0].source_id + assert dataset["dataset"] == input_files[SourceDatasetType.CMIP6].iloc[0].source_id assert dataset["timerange"] == "1995/2014" assert len(recipe["diagnostics"]) == 2 diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcr.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcr.py index bd4e30ad9..e6469aedb 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcr.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcr.py @@ -25,7 +25,7 @@ def metric_dataset(): def test_update_recipe(metric_dataset): - input_files = metric_dataset[SourceDatasetType.CMIP6].datasets + input_files = {k: v.datasets for k, v in metric_dataset.items()} recipe = load_recipe("recipe_tcr.yml") TransientClimateResponse().update_recipe(recipe, input_files) assert len(recipe["datasets"]) == 2 diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcre.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcre.py index 5b675ae50..4ce81f1f3 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcre.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_tcre.py @@ -28,7 +28,7 @@ def test_update_recipe(metric_dataset): # Insert the following code in ZeroEmissionCommitment.update_recipe to # save an example input dataframe: # input_files.to_json(Path("input_files_tcre.json"), orient='records', indent=4, date_format="iso") - input_files = metric_dataset[SourceDatasetType.CMIP6].datasets + input_files = {k: v.datasets for k, v in metric_dataset.items()} recipe = load_recipe("recipe_tcre.yml") TransientClimateResponseEmissions().update_recipe(recipe, input_files) assert recipe["diagnostics"]["tcre"]["variables"] == { diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_zec.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_zec.py index 052fe5dee..3afd45c5d 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_zec.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_zec.py @@ -28,7 +28,7 @@ def test_update_recipe(metric_dataset): # Insert the following code in ZeroEmissionCommitment.update_recipe to # save an example input dataframe: # input_files.to_json(Path("input_files_zec.json"), indent=4, date_format="iso") - input_files = metric_dataset[SourceDatasetType.CMIP6].datasets + input_files = {k: v.datasets for k, v in metric_dataset.items()} recipe = load_recipe("recipe_zec.yml") ZeroEmissionCommitment().update_recipe(recipe, input_files) assert len(recipe["diagnostics"]) == 1 diff --git a/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py b/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py index e6ad2446d..a1ca21f92 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py @@ -9,9 +9,10 @@ def test_provider(): assert provider.version == __version__ metric_modules = importlib.resources.files("cmip_ref_metrics_esmvaltool").glob("metrics/*.py") - ignore = { - "__init__.py", - "base.py", + n_diagnostics = { + "__init__.py": 0, + "base.py": 0, + "cloud_scatterplots.py": 5, } - n_metric_modules = len([f for f in metric_modules if f.name not in ignore]) + n_metric_modules = sum(n_diagnostics.get(f.name, 1) for f in metric_modules) assert len(provider) == n_metric_modules From 3cc86591ab553b5a858ac72002ff9023d60287de Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 29 Apr 2025 11:13:46 +0200 Subject: [PATCH 04/18] Add changelog --- changelog/261.feature.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/261.feature.md diff --git a/changelog/261.feature.md b/changelog/261.feature.md new file mode 100644 index 000000000..eb83df71d --- /dev/null +++ b/changelog/261.feature.md @@ -0,0 +1 @@ +Added a diagnostic to create scatterplots of two cloud-relevant variables. From 651601318938af7e338be3cfce6557358183c2bd Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 29 Apr 2025 11:20:52 +0200 Subject: [PATCH 05/18] Fix another test --- packages/ref-metrics-esmvaltool/tests/unit/test_metrics.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/ref-metrics-esmvaltool/tests/unit/test_metrics.py b/packages/ref-metrics-esmvaltool/tests/unit/test_metrics.py index 3b9761dfd..5db995fd0 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/test_metrics.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/test_metrics.py @@ -22,9 +22,7 @@ def metric_dataset(cmip6_data_catalog) -> MetricDataset: def test_example_metric(mocker, tmp_path, metric_dataset, cmip6_data_catalog, definition_factory): provider = cmip_ref_metrics_esmvaltool.provider - metric = next( - metric for metric in provider.metrics() if metric.slug == "esmvaltool-global-mean-timeseries" - ) + metric = next(metric for metric in provider.metrics() if metric.slug == "global-mean-timeseries") ds = cmip6_data_catalog.groupby("instance_id", as_index=False).first() definition = definition_factory(cmip6=DatasetCollection(ds, "instance_id")) From b19261eea6ed88a491ca3e5c68e53057cba4a577 Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 29 Apr 2025 12:10:40 +0200 Subject: [PATCH 06/18] Add new tests --- packages/ref-core/tests/unit/test_datasets.py | 12 + .../input_files_cloud_scatterplots_cmip6.json | 212 ++++++++++++++++++ ...put_files_cloud_scatterplots_obs4mips.json | 200 +++++++++++++++++ .../unit/metrics/test_cloud_scatterplots.py | 63 ++++++ 4 files changed, 487 insertions(+) create mode 100644 packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_cmip6.json create mode 100644 packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_obs4mips.json create mode 100644 packages/ref-metrics-esmvaltool/tests/unit/metrics/test_cloud_scatterplots.py diff --git a/packages/ref-core/tests/unit/test_datasets.py b/packages/ref-core/tests/unit/test_datasets.py index bca0feb98..d3b3eac2d 100644 --- a/packages/ref-core/tests/unit/test_datasets.py +++ b/packages/ref-core/tests/unit/test_datasets.py @@ -34,6 +34,18 @@ def test_get_item_missing(self, metric_dataset): with pytest.raises(KeyError): metric_dataset["cmip7"] + def test_iter(self, metric_dataset): + assert tuple(iter(metric_dataset)) == tuple(iter(metric_dataset._collection)) + + def test_keys(self, metric_dataset): + assert metric_dataset.keys() == metric_dataset._collection.keys() + + def test_values(self, metric_dataset): + assert tuple(metric_dataset.values()) == tuple(metric_dataset._collection.values()) + + def test_items(self, metric_dataset): + assert metric_dataset.items() == metric_dataset._collection.items() + def test_python_hash(self, metric_dataset, cmip6_data_catalog, data_regression): dataset_hash = hash(metric_dataset) diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_cmip6.json b/packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_cmip6.json new file mode 100644 index 000000000..51516089a --- /dev/null +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_cmip6.json @@ -0,0 +1,212 @@ +{ + "start_time":{ + "207":"1850-01-15T12:00:00.000", + "213":"1850-01-15T12:00:00.000", + "214":"1850-01-15T12:00:00.000", + "217":null + }, + "end_time":{ + "207":"2014-12-15T12:00:00.000", + "213":"2014-12-15T12:00:00.000", + "214":"2014-12-15T12:00:00.000", + "217":null + }, + "path":{ + "207":"\/home\/bandela\/climate_data\/CMIP6\/CMIP\/NCAR\/CESM2\/historical\/r1i1p1f1\/Amon\/clt\/gn\/v20190308\/clt_Amon_CESM2_historical_r1i1p1f1_gn_185001-201412.nc", + "213":"\/home\/bandela\/climate_data\/CMIP6\/CMIP\/NCAR\/CESM2\/historical\/r1i1p1f1\/Amon\/rsut\/gn\/v20190308\/rsut_Amon_CESM2_historical_r1i1p1f1_gn_185001-201412.nc", + "214":"\/home\/bandela\/climate_data\/CMIP6\/CMIP\/NCAR\/CESM2\/historical\/r1i1p1f1\/Amon\/rsutcs\/gn\/v20190308\/rsutcs_Amon_CESM2_historical_r1i1p1f1_gn_185001-201412.nc", + "217":"\/home\/bandela\/climate_data\/CMIP6\/CMIP\/NCAR\/CESM2\/historical\/r1i1p1f1\/fx\/areacella\/gn\/v20190308\/areacella_fx_CESM2_historical_r1i1p1f1_gn.nc" + }, + "activity_id":{ + "207":"CMIP", + "213":"CMIP", + "214":"CMIP", + "217":"CMIP" + }, + "branch_method":{ + "207":"standard", + "213":"standard", + "214":"standard", + "217":"standard" + }, + "branch_time_in_child":{ + "207":674885.0, + "213":674885.0, + "214":674885.0, + "217":674885.0 + }, + "branch_time_in_parent":{ + "207":219000.0, + "213":219000.0, + "214":219000.0, + "217":219000.0 + }, + "experiment":{ + "207":"all-forcing simulation of the recent past", + "213":"all-forcing simulation of the recent past", + "214":"all-forcing simulation of the recent past", + "217":"all-forcing simulation of the recent past" + }, + "experiment_id":{ + "207":"historical", + "213":"historical", + "214":"historical", + "217":"historical" + }, + "frequency":{ + "207":"mon", + "213":"mon", + "214":"mon", + "217":"fx" + }, + "grid":{ + "207":"native 0.9x1.25 finite volume grid (192x288 latxlon)", + "213":"native 0.9x1.25 finite volume grid (192x288 latxlon)", + "214":"native 0.9x1.25 finite volume grid (192x288 latxlon)", + "217":"native 0.9x1.25 finite volume grid (192x288 latxlon)" + }, + "grid_label":{ + "207":"gn", + "213":"gn", + "214":"gn", + "217":"gn" + }, + "institution_id":{ + "207":"NCAR", + "213":"NCAR", + "214":"NCAR", + "217":"NCAR" + }, + "nominal_resolution":{ + "207":"100 km", + "213":"100 km", + "214":"100 km", + "217":"100 km" + }, + "parent_activity_id":{ + "207":"CMIP", + "213":"CMIP", + "214":"CMIP", + "217":"CMIP" + }, + "parent_experiment_id":{ + "207":"piControl", + "213":"piControl", + "214":"piControl", + "217":"piControl" + }, + "parent_source_id":{ + "207":"CESM2", + "213":"CESM2", + "214":"CESM2", + "217":"CESM2" + }, + "parent_time_units":{ + "207":"days since 0001-01-01 00:00:00", + "213":"days since 0001-01-01 00:00:00", + "214":"days since 0001-01-01 00:00:00", + "217":"days since 0001-01-01 00:00:00" + }, + "parent_variant_label":{ + "207":"r1i1p1f1", + "213":"r1i1p1f1", + "214":"r1i1p1f1", + "217":"r1i1p1f1" + }, + "product":{ + "207":"model-output", + "213":"model-output", + "214":"model-output", + "217":"model-output" + }, + "realm":{ + "207":"atmos", + "213":"atmos", + "214":"atmos", + "217":"atmos land" + }, + "source_id":{ + "207":"CESM2", + "213":"CESM2", + "214":"CESM2", + "217":"CESM2" + }, + "source_type":{ + "207":"AOGCM BGC", + "213":"AOGCM BGC", + "214":"AOGCM BGC", + "217":"AOGCM BGC" + }, + "sub_experiment":{ + "207":"none", + "213":"none", + "214":"none", + "217":"none" + }, + "sub_experiment_id":{ + "207":"none", + "213":"none", + "214":"none", + "217":"none" + }, + "table_id":{ + "207":"Amon", + "213":"Amon", + "214":"Amon", + "217":"fx" + }, + "variable_id":{ + "207":"clt", + "213":"rsut", + "214":"rsutcs", + "217":"areacella" + }, + "variant_label":{ + "207":"r1i1p1f1", + "213":"r1i1p1f1", + "214":"r1i1p1f1", + "217":"r1i1p1f1" + }, + "member_id":{ + "207":"r1i1p1f1", + "213":"r1i1p1f1", + "214":"r1i1p1f1", + "217":"r1i1p1f1" + }, + "vertical_levels":{ + "207":1, + "213":1, + "214":1, + "217":1 + }, + "version":{ + "207":"v20190308", + "213":"v20190308", + "214":"v20190308", + "217":"v20190308" + }, + "standard_name":{ + "207":"cloud_area_fraction", + "213":"toa_outgoing_shortwave_flux", + "214":"toa_outgoing_shortwave_flux_assuming_clear_sky", + "217":"cell_area" + }, + "long_name":{ + "207":"Total Cloud Cover Percentage", + "213":"TOA Outgoing Shortwave Radiation", + "214":"TOA Outgoing Clear-Sky Shortwave Radiation", + "217":"Grid-Cell Area for Atmospheric Grid Variables" + }, + "units":{ + "207":"%", + "213":"W m-2", + "214":"W m-2", + "217":"m2" + }, + "instance_id":{ + "207":"CMIP6.CMIP.NCAR.CESM2.historical.r1i1p1f1.Amon.clt.gn.v20190308", + "213":"CMIP6.CMIP.NCAR.CESM2.historical.r1i1p1f1.Amon.rsut.gn.v20190308", + "214":"CMIP6.CMIP.NCAR.CESM2.historical.r1i1p1f1.Amon.rsutcs.gn.v20190308", + "217":"CMIP6.CMIP.NCAR.CESM2.historical.r1i1p1f1.fx.areacella.gn.v20190308" + } +} diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_obs4mips.json b/packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_obs4mips.json new file mode 100644 index 000000000..a9914afaa --- /dev/null +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/input_files_cloud_scatterplots_obs4mips.json @@ -0,0 +1,200 @@ +[ + { + "start_time":"2007-01-16T12:00:00.000", + "end_time":"2007-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2008-01-16T12:00:00.000", + "end_time":"2008-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2009-01-16T12:00:00.000", + "end_time":"2009-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2010-01-16T12:00:00.000", + "end_time":"2010-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2011-01-16T12:00:00.000", + "end_time":"2011-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2012-01-16T12:00:00.000", + "end_time":"2012-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2013-01-16T12:00:00.000", + "end_time":"2013-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2014-01-16T12:00:00.000", + "end_time":"2014-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + }, + { + "start_time":"2015-01-16T12:00:00.000", + "end_time":"2015-12-16T12:00:00.000", + "path":"\/home\/bandela\/climate_data\/obs4MIPs\/ERA-5\/v20250220\/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc", + "activity_id":"obs4MIPs", + "frequency":"mon", + "grid":"0.25x 0.25 degree latitude x longitude", + "grid_label":"gn", + "institution_id":"ECMWF", + "nominal_resolution":"25 km", + "product":"reanalysis", + "realm":"atmos", + "source_id":"ERA-5", + "source_type":"reanalysis", + "variable_id":"ta", + "variant_label":"PCMDI", + "long_name":"Air Temperature", + "units":"K", + "vertical_levels":37, + "source_version_number":"v20250220", + "instance_id":"obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220" + } +] diff --git a/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_cloud_scatterplots.py b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_cloud_scatterplots.py new file mode 100644 index 000000000..52c472103 --- /dev/null +++ b/packages/ref-metrics-esmvaltool/tests/unit/metrics/test_cloud_scatterplots.py @@ -0,0 +1,63 @@ +from pathlib import Path + +import pandas +from cmip_ref_metrics_esmvaltool.metrics.cloud_scatterplots import ( + CloudScatterplotCltSwcre, + CloudScatterplotsReference, +) +from cmip_ref_metrics_esmvaltool.recipe import load_recipe + +from cmip_ref_core.datasets import SourceDatasetType + + +def test_update_cmip6_recipe(): + # Insert the following code in update_recipe to save an example input dataframe: + # input_files[SourceDatasetType.CMIP6].to_json( + # Path("input_files_cloud_scatterplots_cmip6.json"), + # indent=4, + # date_format="iso", + # ) + input_files = { + SourceDatasetType.CMIP6: pandas.read_json( + Path(__file__).parent / "input_files_cloud_scatterplots_cmip6.json" + ) + } + recipe = load_recipe("ref/recipe_ref_scatterplot.yml") + CloudScatterplotCltSwcre().update_recipe(recipe, input_files) + assert "datasets" not in recipe + assert len(recipe["diagnostics"]) == 1 + diagnostic = recipe["diagnostics"]["plot_joint_clt_swcre_model"] + assert set(diagnostic["variables"]) == {"clt", "swcre"} + for variable in diagnostic["variables"].values(): + assert "additional_datasets" not in variable + assert len(diagnostic["additional_datasets"]) == 1 + assert diagnostic["scripts"]["plot"]["suptitle"].startswith("CMIP6") + + +def test_update_reference_recipe(): + # Insert the following code in update_recipe to save an example input dataframe: + # input_files[SourceDatasetType.obs4MIPs].to_json( + # Path("input_files_cloud_scatterplots_obs4mips.json"), + # indent=4, + # date_format="iso", + # orient="records", + # ) + input_files = { + SourceDatasetType.obs4MIPs: pandas.read_json( + Path(__file__).parent / "input_files_cloud_scatterplots_obs4mips.json" + ) + } + recipe = load_recipe("ref/recipe_ref_scatterplot.yml") + CloudScatterplotsReference().update_recipe(recipe, input_files) + assert "datasets" not in recipe + assert len(recipe["diagnostics"]) == 4 + + diagnostic = recipe["diagnostics"]["plot_joint_cli_ta_ref"] + assert "additional_datasets" not in diagnostic + assert set(diagnostic["variables"]) == {"cli", "ta"} + for variable in diagnostic["variables"].values(): + assert len(variable["additional_datasets"]) == 1 + assert diagnostic["scripts"]["plot"]["suptitle"] == "CALIPSO-ICECLOUD / ERA-5 2007/2015" + + diagnostic = recipe["diagnostics"]["plot_joint_clwvi_pr_ref"] + diagnostic["variables"]["pr"]["additional_datasets"][0]["dataset"] == "GPCP-V2.3" From 0bbf936222242444da7f986fb030f596637d4edc Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 29 Apr 2025 14:00:46 +0200 Subject: [PATCH 07/18] Improve test coverage --- .../metrics/cloud_scatterplots.py | 54 +++++----------- .../tests/unit/test_provider.py | 6 +- .../tests/unit/test_recipe.py | 64 +++++++++++++++++++ 3 files changed, 83 insertions(+), 41 deletions(-) create mode 100644 packages/ref-metrics-esmvaltool/tests/unit/test_recipe.py diff --git a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py index 5313140c8..4f60e2527 100644 --- a/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py +++ b/packages/ref-metrics-esmvaltool/src/cmip_ref_metrics_esmvaltool/metrics/cloud_scatterplots.py @@ -45,23 +45,21 @@ def update_recipe( input_files: dict[SourceDatasetType, pandas.DataFrame], var_x: str, var_y: str, - source_type: SourceDatasetType, ) -> None: """Update the recipe.""" - recipe_variables = dataframe_to_recipe(input_files[source_type], equalize_timerange=True) + recipe_variables = dataframe_to_recipe(input_files[SourceDatasetType.CMIP6], equalize_timerange=True) diagnostics = recipe["diagnostics"] - if source_type is SourceDatasetType.CMIP6: - diagnostic_name = f"plot_joint_{var_x}_{var_y}_model" - diagnostic = diagnostics.pop(diagnostic_name) - diagnostics.clear() - diagnostics[diagnostic_name] = diagnostic - datasets = next(iter(recipe_variables.values()))["additional_datasets"] - diagnostic["additional_datasets"] = datasets - suptitle = "CMIP6 {dataset} {ensemble} {grid} {timerange}".format(**datasets[0]) - diagnostic["scripts"]["plot"]["suptitle"] = suptitle - diagnostic["scripts"]["plot"]["plot_filename"] = ( - f"jointplot_{var_x}_{var_y}_{suptitle.replace(' ', '_').replace('/', '-')}" - ) + diagnostic_name = f"plot_joint_{var_x}_{var_y}_model" + diagnostic = diagnostics.pop(diagnostic_name) + diagnostics.clear() + diagnostics[diagnostic_name] = diagnostic + datasets = next(iter(recipe_variables.values()))["additional_datasets"] + diagnostic["additional_datasets"] = datasets + suptitle = "CMIP6 {dataset} {ensemble} {grid} {timerange}".format(**datasets[0]) + diagnostic["scripts"]["plot"]["suptitle"] = suptitle + diagnostic["scripts"]["plot"]["plot_filename"] = ( + f"jointplot_{var_x}_{var_y}_{suptitle.replace(' ', '_').replace('/', '-')}" + ) class CloudScatterplotCltSwcre(ESMValToolMetric): @@ -73,12 +71,7 @@ class CloudScatterplotCltSwcre(ESMValToolMetric): slug = "cloud-scatterplots-clt-swcre" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("clt", "rsut", "rsutcs")) - update_recipe = partial( - update_recipe, - var_x="clt", - var_y="swcre", - source_type=SourceDatasetType.CMIP6, - ) + update_recipe = partial(update_recipe, var_x="clt", var_y="swcre") class CloudScatterplotClwviPr(ESMValToolMetric): @@ -90,12 +83,7 @@ class CloudScatterplotClwviPr(ESMValToolMetric): slug = "cloud-scatterplots-clwvi-pr" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("clwvi", "pr")) - update_recipe = partial( - update_recipe, - var_x="clwvi", - var_y="pr", - source_type=SourceDatasetType.CMIP6, - ) + update_recipe = partial(update_recipe, var_x="clwvi", var_y="pr") class CloudScatterplotCliviLwcre(ESMValToolMetric): @@ -107,12 +95,7 @@ class CloudScatterplotCliviLwcre(ESMValToolMetric): slug = "cloud-scatterplots-clivi-lwcre" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("clivi", "rlut", "rlutcs")) - update_recipe = partial( - update_recipe, - var_x="clivi", - var_y="lwcre", - source_type=SourceDatasetType.CMIP6, - ) + update_recipe = partial(update_recipe, var_x="clivi", var_y="lwcre") class CloudScatterplotCliTa(ESMValToolMetric): @@ -124,12 +107,7 @@ class CloudScatterplotCliTa(ESMValToolMetric): slug = "cloud-scatterplots-cli-ta" base_recipe = "ref/recipe_ref_scatterplot.yml" data_requirements = get_cmip6_data_requirements(("cli", "ta")) - update_recipe = partial( - update_recipe, - var_x="cli", - var_y="ta", - source_type=SourceDatasetType.CMIP6, - ) + update_recipe = partial(update_recipe, var_x="cli", var_y="ta") class CloudScatterplotsReference(ESMValToolMetric): diff --git a/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py b/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py index a1ca21f92..17016893c 100644 --- a/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py +++ b/packages/ref-metrics-esmvaltool/tests/unit/test_provider.py @@ -9,10 +9,10 @@ def test_provider(): assert provider.version == __version__ metric_modules = importlib.resources.files("cmip_ref_metrics_esmvaltool").glob("metrics/*.py") - n_diagnostics = { + diagnostics_per_module = { "__init__.py": 0, "base.py": 0, "cloud_scatterplots.py": 5, } - n_metric_modules = sum(n_diagnostics.get(f.name, 1) for f in metric_modules) - assert len(provider) == n_metric_modules + n_diagnostics = sum(diagnostics_per_module.get(f.name, 1) for f in metric_modules) + assert len(provider) == n_diagnostics diff --git a/packages/ref-metrics-esmvaltool/tests/unit/test_recipe.py b/packages/ref-metrics-esmvaltool/tests/unit/test_recipe.py new file mode 100644 index 000000000..d767fccd0 --- /dev/null +++ b/packages/ref-metrics-esmvaltool/tests/unit/test_recipe.py @@ -0,0 +1,64 @@ +from pathlib import Path + +import pandas as pd +import pytest +from cmip_ref_metrics_esmvaltool.recipe import prepare_climate_data + + +@pytest.mark.parametrize( + ("datasets", "expected"), + [ + ( + pd.DataFrame( + { + "instance_id": [ + "CMIP6.ScenarioMIP.CCCma.CanESM5.ssp126.r1i1p1f1.Amon.pr.gn.v20190429", + ], + "source_id": ["CanESM5"], + "path": [ + "pr_Amon_CanESM5_ssp126_r1i1p1f1_gn_210101-230012.nc", + ], + } + ), + [ + "CMIP6/ScenarioMIP/CCCma/CanESM5/ssp126/r1i1p1f1/Amon/pr/gn/v20190429/pr_Amon_CanESM5_ssp126_r1i1p1f1_gn_210101-230012.nc", + ], + ), + ( + pd.DataFrame( + { + "instance_id": [ + "obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220", + "obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220", + ], + "source_id": ["ERA-5", "ERA-5"], + "path": [ + "ta_mon_ERA-5_PCMDI_gn_200701-200712.nc", + "ta_mon_ERA-5_PCMDI_gn_200801-200812.nc", + ], + } + ), + [ + "obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc", + "obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc", + ], + ), + ], +) +def test_prepare_climate_data(tmp_path, datasets, expected): + climate_data_dir = tmp_path / "climate_data" + climate_data_dir.mkdir() + + source_data_dir = tmp_path / "source_data" + source_data_dir.mkdir() + + datasets["path"] = [f"{source_data_dir / path}" for path in datasets["path"]] + expected = [f"{climate_data_dir / path}" for path in expected] + for path in datasets["path"]: + Path(path).touch() + + prepare_climate_data(datasets, climate_data_dir) + + for source_path, symlink in zip(datasets["path"], expected): + assert Path(symlink).is_symlink() + assert Path(symlink).resolve() == Path(source_path).resolve() From a8ab6ada89c31e29a0e0c762a993a9c53db2d30d Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Wed, 21 May 2025 15:52:33 +0200 Subject: [PATCH 08/18] Add facets attribute --- .../climate_ref_esmvaltool/diagnostics/cloud_scatterplots.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/cloud_scatterplots.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/cloud_scatterplots.py index adac17259..600033d9e 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/cloud_scatterplots.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/diagnostics/cloud_scatterplots.py @@ -70,6 +70,7 @@ class CloudScatterplotCltSwcre(ESMValToolDiagnostic): name = "Scatterplots of two cloud-relevant variables (clt vs swcre)" slug = "cloud-scatterplots-clt-swcre" base_recipe = "ref/recipe_ref_scatterplot.yml" + facets = () data_requirements = get_cmip6_data_requirements(("clt", "rsut", "rsutcs")) update_recipe = partial(update_recipe, var_x="clt", var_y="swcre") @@ -82,6 +83,7 @@ class CloudScatterplotClwviPr(ESMValToolDiagnostic): name = "Scatterplots of two cloud-relevant variables (clwvi vs pr)" slug = "cloud-scatterplots-clwvi-pr" base_recipe = "ref/recipe_ref_scatterplot.yml" + facets = () data_requirements = get_cmip6_data_requirements(("clwvi", "pr")) update_recipe = partial(update_recipe, var_x="clwvi", var_y="pr") @@ -94,6 +96,7 @@ class CloudScatterplotCliviLwcre(ESMValToolDiagnostic): name = "Scatterplots of two cloud-relevant variables (clivi vs lwcre)" slug = "cloud-scatterplots-clivi-lwcre" base_recipe = "ref/recipe_ref_scatterplot.yml" + facets = () data_requirements = get_cmip6_data_requirements(("clivi", "rlut", "rlutcs")) update_recipe = partial(update_recipe, var_x="clivi", var_y="lwcre") @@ -106,6 +109,7 @@ class CloudScatterplotCliTa(ESMValToolDiagnostic): name = "Scatterplots of two cloud-relevant variables (cli vs ta)" slug = "cloud-scatterplots-cli-ta" base_recipe = "ref/recipe_ref_scatterplot.yml" + facets = () data_requirements = get_cmip6_data_requirements(("cli", "ta")) update_recipe = partial(update_recipe, var_x="cli", var_y="ta") @@ -118,6 +122,7 @@ class CloudScatterplotsReference(ESMValToolDiagnostic): name = "Reference scatterplots of two cloud-relevant variables" slug = "cloud-scatterplots-reference" base_recipe = "ref/recipe_ref_scatterplot.yml" + facets = () data_requirements = ( DataRequirement( source_type=SourceDatasetType.obs4MIPs, From af2b6b43e65c7f6ca82389b35cf6a0a86536013e Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Thu, 22 May 2025 10:29:37 +0200 Subject: [PATCH 09/18] Use obs4MIPs sample data to populate obs4MIPs catalog --- conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conftest.py b/conftest.py index 35d19259b..b15cc97e9 100644 --- a/conftest.py +++ b/conftest.py @@ -118,7 +118,7 @@ def cmip6_data_catalog(sample_data_dir) -> pd.DataFrame: @pytest.fixture(scope="session") def obs4mips_data_catalog(sample_data_dir) -> pd.DataFrame: adapter = Obs4MIPsDatasetAdapter() - return adapter.find_local_datasets(sample_data_dir / "obs4REF") + return adapter.find_local_datasets(sample_data_dir / "obs4MIPs") @pytest.fixture(scope="session") From 59bd7baebdba586d2359cb4945a81c88a8a4018d Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Mon, 26 May 2025 22:53:43 +0200 Subject: [PATCH 10/18] Move ruamel.yaml dependency to climate-ref-core --- .../tests/unit/diagnostics/test_base.py | 8 +++----- packages/climate-ref/pyproject.toml | 1 - uv.lock | 12 +++++------- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/climate-ref-esmvaltool/tests/unit/diagnostics/test_base.py b/packages/climate-ref-esmvaltool/tests/unit/diagnostics/test_base.py index 2cf384adf..4f486f755 100644 --- a/packages/climate-ref-esmvaltool/tests/unit/diagnostics/test_base.py +++ b/packages/climate-ref-esmvaltool/tests/unit/diagnostics/test_base.py @@ -3,14 +3,12 @@ import climate_ref_esmvaltool.diagnostics.base import pandas import pytest +import yaml from climate_ref_esmvaltool.diagnostics.base import ESMValToolDiagnostic from climate_ref_esmvaltool.types import Recipe -from ruamel.yaml import YAML from climate_ref_core.pycmec.output import OutputCV -yaml = YAML() - @pytest.fixture def mock_diagnostic(): @@ -40,7 +38,7 @@ def test_build_cmd(mocker, tmp_path, metric_definition, mock_diagnostic, data_di recipe = output_dir / "recipe.yml" assert cmd == ["esmvaltool", "run", f"--config-dir={config_dir}", f"{recipe}"] assert (output_dir / "climate_data").is_dir() - config = yaml.load((config_dir / "config.yml").read_text(encoding="utf-8")) + config = yaml.safe_load((config_dir / "config.yml").read_text(encoding="utf-8")) assert len(config["rootpath"]) == 5 if data_dir_exists else 1 @@ -59,7 +57,7 @@ def test_build_metric_result(metric_definition, mock_diagnostic): metadata_file = results_dir / "run" / subdir / "script1" / "diagnostic_provenance.yml" metadata_file.parent.mkdir(parents=True) with metadata_file.open("w", encoding="utf-8") as file: - yaml.dump(metadata, file) + yaml.safe_dump(metadata, file) execution_result = mock_diagnostic.build_execution_result(definition=metric_definition) metric_bundle = json.loads( diff --git a/packages/climate-ref/pyproject.toml b/packages/climate-ref/pyproject.toml index 688bd06b6..fcef9da1b 100644 --- a/packages/climate-ref/pyproject.toml +++ b/packages/climate-ref/pyproject.toml @@ -38,7 +38,6 @@ dependencies = [ "loguru>=0.7.2", "ecgtools>=2024.7.31", "platformdirs>=4.3.6", - "ruamel.yaml >= 0.18", "setuptools>=75.8.0", "tqdm>=4.67.1" ] diff --git a/uv.lock b/uv.lock index da5065463..277bef3d9 100644 --- a/uv.lock +++ b/uv.lock @@ -514,7 +514,7 @@ name = "click" version = "8.1.8" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "platform_system == 'Windows'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } wheels = [ @@ -571,7 +571,6 @@ dependencies = [ { name = "environs" }, { name = "loguru" }, { name = "platformdirs" }, - { name = "ruamel-yaml" }, { name = "setuptools" }, { name = "sqlalchemy" }, { name = "tomlkit" }, @@ -617,7 +616,6 @@ requires-dist = [ { name = "loguru", specifier = ">=0.7.2" }, { name = "platformdirs", specifier = ">=4.3.6" }, { name = "psycopg2-binary", marker = "extra == 'postgres'", specifier = ">=2.9.2" }, - { name = "ruamel-yaml", specifier = ">=0.18" }, { name = "setuptools", specifier = ">=75.8.0" }, { name = "sqlalchemy", specifier = ">=2.0.36" }, { name = "tomlkit", specifier = ">=0.13.2" }, @@ -909,7 +907,7 @@ name = "colorful" version = "0.5.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "platform_system == 'Windows'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fa/5f/38e40c3bc4107c39e4062d943026b8ee25154cb4b185b882f274a1ab65da/colorful-0.5.6.tar.gz", hash = "sha256:b56d5c01db1dac4898308ea889edcb113fbee3e6ec5df4bacffd61d5241b5b8d", size = 209280 } wheels = [ @@ -1592,7 +1590,7 @@ name = "ipykernel" version = "6.29.5" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "appnope", marker = "platform_system == 'Darwin'" }, + { name = "appnope", marker = "sys_platform == 'darwin'" }, { name = "comm" }, { name = "debugpy" }, { name = "ipython" }, @@ -2280,7 +2278,7 @@ version = "1.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, - { name = "colorama", marker = "platform_system == 'Windows'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "ghp-import" }, { name = "jinja2" }, { name = "markdown" }, @@ -4332,7 +4330,7 @@ name = "tqdm" version = "4.67.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "platform_system == 'Windows'" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 } wheels = [ From a02b65ad3fcb4e039c20b78e85941858951509af Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 27 May 2025 13:08:10 +0200 Subject: [PATCH 11/18] Fix recipe has and add regression test output --- .../src/climate_ref_esmvaltool/recipes.txt | 2 +- .../config/config.yml | 16 + .../diagnostic.json | 9 + .../recipe_20250527_110023/index.html | 415 ++ ...1f1_gn_20070116T120000-20141216T120000.png | Bin 0 -> 130020 bytes ...116T120000-20141216T120000_citation.bibtex | 22 + ...000-20141216T120000_data_citation_info.txt | 2 + ...0116T120000-20141216T120000_provenance.xml | 421 ++ .../recipe_20250527_110023/run/cmor_log.txt | 0 .../recipe_20250527_110023/run/main_log.txt | 126 + .../run/main_log_debug.txt | 1538 +++++ .../plot/diagnostic_provenance.yml | 46 + .../run/plot_joint_cli_ta_model/plot/log.txt | 94 + .../plot/resource_usage.txt | 6 + .../plot_joint_cli_ta_model/plot/settings.yml | 30 + .../recipe_20250527_110023/run/recipe.yml | 118 + .../run/recipe_filled.yml | 152 + .../run/resource_usage.txt | 25 + ...16T120000-20141216T120000_cli_histogram.nc | Bin 0 -> 8832 bytes ...41216T120000_cli_histogram_citation.bibtex | 22 + ...20000_cli_histogram_data_citation_info.txt | 2 + ...141216T120000_cli_histogram_provenance.xml | 252 + ...120000-20141216T120000_cli_ta_histogram.nc | Bin 0 -> 13280 bytes ...16T120000_cli_ta_histogram_citation.bibtex | 22 + ...00_cli_ta_histogram_data_citation_info.txt | 2 + ...216T120000_cli_ta_histogram_provenance.xml | 421 ++ ...116T120000-20141216T120000_ta_histogram.nc | Bin 0 -> 8832 bytes ...141216T120000_ta_histogram_citation.bibtex | 22 + ...120000_ta_histogram_data_citation_info.txt | 2 + ...0141216T120000_ta_histogram_provenance.xml | 251 + .../out.log | 0 .../output.json | 42 + .../recipe.yml | 118 + .../config/config.yml | 16 + .../diagnostic.json | 9 + .../recipe_20250527_110438/index.html | 415 ++ ...1f1_gn_20070116T120000-20141216T120000.png | Bin 0 -> 108662 bytes ...116T120000-20141216T120000_citation.bibtex | 22 + ...000-20141216T120000_data_citation_info.txt | 2 + ...0116T120000-20141216T120000_provenance.xml | 546 ++ .../recipe_20250527_110438/run/cmor_log.txt | 6 + .../recipe_20250527_110438/run/main_log.txt | 103 + .../run/main_log_debug.txt | 1856 ++++++ .../plot/diagnostic_provenance.yml | 46 + .../plot_joint_clivi_lwcre_model/plot/log.txt | 96 + .../plot/resource_usage.txt | 3 + .../plot/settings.yml | 30 + .../recipe_20250527_110438/run/recipe.yml | 120 + .../run/recipe_filled.yml | 154 + .../run/resource_usage.txt | 8 + ...T120000-20141216T120000_clivi_histogram.nc | Bin 0 -> 8837 bytes ...216T120000_clivi_histogram_citation.bibtex | 22 + ...000_clivi_histogram_data_citation_info.txt | 2 + ...1216T120000_clivi_histogram_provenance.xml | 250 + ...0-20141216T120000_clivi_lwcre_histogram.nc | Bin 0 -> 13285 bytes ...0000_clivi_lwcre_histogram_citation.bibtex | 22 + ...ivi_lwcre_histogram_data_citation_info.txt | 2 + ...20000_clivi_lwcre_histogram_provenance.xml | 546 ++ ...T120000-20141216T120000_lwcre_histogram.nc | Bin 0 -> 8837 bytes ...216T120000_lwcre_histogram_citation.bibtex | 22 + ...000_lwcre_histogram_data_citation_info.txt | 2 + ...1216T120000_lwcre_histogram_provenance.xml | 378 ++ .../out.log | 0 .../output.json | 42 + .../recipe.yml | 120 + .../config/config.yml | 16 + .../diagnostic.json | 9 + .../recipe_20250527_110519/index.html | 415 ++ ...1f1_gn_20070116T120000-20141216T120000.png | Bin 0 -> 119250 bytes ...116T120000-20141216T120000_citation.bibtex | 22 + ...000-20141216T120000_data_citation_info.txt | 2 + ...0116T120000-20141216T120000_provenance.xml | 546 ++ .../recipe_20250527_110519/run/cmor_log.txt | 6 + .../recipe_20250527_110519/run/main_log.txt | 103 + .../run/main_log_debug.txt | 1862 ++++++ .../plot/diagnostic_provenance.yml | 46 + .../plot_joint_clt_swcre_model/plot/log.txt | 96 + .../plot/resource_usage.txt | 3 + .../plot/settings.yml | 30 + .../recipe_20250527_110519/run/recipe.yml | 120 + .../run/recipe_filled.yml | 154 + .../run/resource_usage.txt | 8 + ...16T120000-20141216T120000_clt_histogram.nc | Bin 0 -> 8835 bytes ...41216T120000_clt_histogram_citation.bibtex | 22 + ...20000_clt_histogram_data_citation_info.txt | 2 + ...141216T120000_clt_histogram_provenance.xml | 250 + ...000-20141216T120000_clt_swcre_histogram.nc | Bin 0 -> 13283 bytes ...120000_clt_swcre_histogram_citation.bibtex | 22 + ...clt_swcre_histogram_data_citation_info.txt | 2 + ...T120000_clt_swcre_histogram_provenance.xml | 546 ++ ...T120000-20141216T120000_swcre_histogram.nc | Bin 0 -> 8835 bytes ...216T120000_swcre_histogram_citation.bibtex | 22 + ...000_swcre_histogram_data_citation_info.txt | 2 + ...1216T120000_swcre_histogram_provenance.xml | 378 ++ .../out.log | 0 .../output.json | 42 + .../recipe.yml | 120 + .../config/config.yml | 16 + .../diagnostic.json | 9 + .../recipe_20250527_110544/index.html | 415 ++ ...1f1_gn_20070116T120000-20141216T120000.png | Bin 0 -> 111364 bytes ...116T120000-20141216T120000_citation.bibtex | 22 + ...000-20141216T120000_data_citation_info.txt | 2 + ...0116T120000-20141216T120000_provenance.xml | 419 ++ .../recipe_20250527_110544/run/cmor_log.txt | 0 .../recipe_20250527_110544/run/main_log.txt | 102 + .../run/main_log_debug.txt | 1348 +++++ .../plot/diagnostic_provenance.yml | 46 + .../plot_joint_clwvi_pr_model/plot/log.txt | 94 + .../plot/resource_usage.txt | 3 + .../plot/settings.yml | 30 + .../recipe_20250527_110544/run/recipe.yml | 118 + .../run/recipe_filled.yml | 152 + .../run/resource_usage.txt | 8 + ...T120000-20141216T120000_clwvi_histogram.nc | Bin 0 -> 8834 bytes ...216T120000_clwvi_histogram_citation.bibtex | 22 + ...000_clwvi_histogram_data_citation_info.txt | 2 + ...1216T120000_clwvi_histogram_provenance.xml | 250 + ...0000-20141216T120000_clwvi_pr_histogram.nc | Bin 0 -> 13282 bytes ...T120000_clwvi_pr_histogram_citation.bibtex | 22 + ..._clwvi_pr_histogram_data_citation_info.txt | 2 + ...6T120000_clwvi_pr_histogram_provenance.xml | 419 ++ ...116T120000-20141216T120000_pr_histogram.nc | Bin 0 -> 8834 bytes ...141216T120000_pr_histogram_citation.bibtex | 22 + ...120000_pr_histogram_data_citation_info.txt | 2 + ...0141216T120000_pr_histogram_provenance.xml | 251 + .../out.log | 0 .../output.json | 42 + .../recipe.yml | 118 + .../config/config.yml | 16 + .../diagnostic.json | 9 + .../recipe_20250527_110608/index.html | 685 +++ ..._ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png | Bin 0 -> 127027 bytes ...ICECLOUD_-_ERA-5_2007-2015_citation.bibtex | 13 + ...D_-_ERA-5_2007-2015_data_citation_info.txt | 5 + ...-ICECLOUD_-_ERA-5_2007-2015_provenance.xml | 554 ++ ...ot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png | Bin 0 -> 95749 bytes ...re_ESACCI-CLOUD_CERES-EBAF_citation.bibtex | 13 + ...CI-CLOUD_CERES-EBAF_data_citation_info.txt | 3 + ...cre_ESACCI-CLOUD_CERES-EBAF_provenance.xml | 219 + ...plot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png | Bin 0 -> 108705 bytes ...re_ESACCI_CLOUD_CERES-EBAF_citation.bibtex | 13 + ...CI_CLOUD_CERES-EBAF_data_citation_info.txt | 3 + ...cre_ESACCI_CLOUD_CERES-EBAF_provenance.xml | 219 + ...ointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png | Bin 0 -> 99853 bytes ...vi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex | 13 + ...SACCI-CLOUD_GPCP-SG_data_citation_info.txt | 3 + ...wvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml | 205 + .../recipe_20250527_110608/run/cmor_log.txt | 0 .../recipe_20250527_110608/run/main_log.txt | 181 + .../run/main_log_debug.txt | 5137 +++++++++++++++++ .../plot/diagnostic_provenance.yml | 46 + .../run/plot_joint_cli_ta_ref/plot/log.txt | 90 + .../plot/resource_usage.txt | 5 + .../plot_joint_cli_ta_ref/plot/settings.yml | 30 + .../plot/diagnostic_provenance.yml | 46 + .../plot_joint_clivi_lwcre_ref/plot/log.txt | 92 + .../plot/resource_usage.txt | 4 + .../plot/settings.yml | 30 + .../plot/diagnostic_provenance.yml | 46 + .../run/plot_joint_clt_swcre_ref/plot/log.txt | 92 + .../plot/resource_usage.txt | 4 + .../plot/settings.yml | 30 + .../plot/diagnostic_provenance.yml | 46 + .../run/plot_joint_clwvi_pr_ref/plot/log.txt | 88 + .../plot/resource_usage.txt | 4 + .../plot_joint_clwvi_pr_ref/plot/settings.yml | 30 + .../recipe_20250527_110608/run/recipe.yml | 263 + .../run/recipe_filled.yml | 297 + .../run/resource_usage.txt | 54 + ...CECLOUD_-_ERA-5_2007-2015_cli_histogram.nc | Bin 0 -> 8803 bytes ...-5_2007-2015_cli_histogram_citation.bibtex | 13 + ...-2015_cli_histogram_data_citation_info.txt | 2 + ...A-5_2007-2015_cli_histogram_provenance.xml | 144 + ...LOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc | Bin 0 -> 13251 bytes ...2007-2015_cli_ta_histogram_citation.bibtex | 13 + ...15_cli_ta_histogram_data_citation_info.txt | 5 + ..._2007-2015_cli_ta_histogram_provenance.xml | 554 ++ ...ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc | Bin 0 -> 8803 bytes ...A-5_2007-2015_ta_histogram_citation.bibtex | 13 + ...7-2015_ta_histogram_data_citation_info.txt | 2 + ...RA-5_2007-2015_ta_histogram_provenance.xml | 492 ++ ...ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc | Bin 0 -> 8799 bytes ...CERES-EBAF_clivi_histogram_citation.bibtex | 13 + ...BAF_clivi_histogram_data_citation_info.txt | 2 + ..._CERES-EBAF_clivi_histogram_provenance.xml | 137 + ...-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc | Bin 0 -> 13247 bytes ...EBAF_clivi_lwcre_histogram_citation.bibtex | 13 + ...ivi_lwcre_histogram_data_citation_info.txt | 3 + ...-EBAF_clivi_lwcre_histogram_provenance.xml | 219 + ...ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc | Bin 0 -> 8799 bytes ...CERES-EBAF_lwcre_histogram_citation.bibtex | 13 + ...BAF_lwcre_histogram_data_citation_info.txt | 2 + ..._CERES-EBAF_lwcre_histogram_provenance.xml | 164 + ...e_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc | Bin 0 -> 8797 bytes ...D_CERES-EBAF_clt_histogram_citation.bibtex | 13 + ...-EBAF_clt_histogram_data_citation_info.txt | 2 + ...UD_CERES-EBAF_clt_histogram_provenance.xml | 137 + ...CI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc | Bin 0 -> 13245 bytes ...S-EBAF_clt_swcre_histogram_citation.bibtex | 13 + ...clt_swcre_histogram_data_citation_info.txt | 3 + ...ES-EBAF_clt_swcre_histogram_provenance.xml | 219 + ...ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc | Bin 0 -> 8797 bytes ...CERES-EBAF_swcre_histogram_citation.bibtex | 13 + ...BAF_swcre_histogram_data_citation_info.txt | 2 + ..._CERES-EBAF_swcre_histogram_provenance.xml | 164 + ...pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc | Bin 0 -> 8793 bytes ...UD_GPCP-SG_clwvi_histogram_citation.bibtex | 13 + ...-SG_clwvi_histogram_data_citation_info.txt | 2 + ...OUD_GPCP-SG_clwvi_histogram_provenance.xml | 137 + ...ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc | Bin 0 -> 13241 bytes ...GPCP-SG_clwvi_pr_histogram_citation.bibtex | 13 + ..._clwvi_pr_histogram_data_citation_info.txt | 3 + ..._GPCP-SG_clwvi_pr_histogram_provenance.xml | 205 + ...vi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc | Bin 0 -> 8793 bytes ...CLOUD_GPCP-SG_pr_histogram_citation.bibtex | 13 + ...PCP-SG_pr_histogram_data_citation_info.txt | 2 + ...-CLOUD_GPCP-SG_pr_histogram_provenance.xml | 150 + .../out.log | 0 .../output.json | 102 + .../recipe.yml | 263 + 221 files changed, 29660 insertions(+), 1 deletion(-) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/cmor_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe_filled.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/index.html create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/cmor_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe_filled.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/index.html create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/cmor_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe_filled.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/index.html create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/cmor_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe_filled.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/config/config.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/diagnostic.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/index.html create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/cmor_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe_filled.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/out.log create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/output.json create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/recipe.yml diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt index 9a5e974b8..93c430aed 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipes.txt @@ -8,4 +8,4 @@ ref/recipe_enso_basicclimatology.yml 9ea7deb7ee668e39ac44618b96496d898bd8 ref/recipe_enso_characteristics.yml 34c2518b138068ac96d212910b979d54a8fcedee2c0089b5acd56a42c41dc3e4 ref/recipe_ref_cre.yml 4f35d9639f1008be3b5382a5bd8933a855cb5368ccf5d04a1c70227172e2e82c ref/recipe_ref_sea_ice_area_basic.yml 7d01a8527880663ca28284772f83a8356d9972fb4f022a4000e50a56ce044b09 -ref/recipe_ref_scatterplot.yml d4accda02835a882a55fe1ac8ebe235c6d75933f36bd06c01bcd6bf6e9c65c70 +ref/recipe_ref_scatterplot.yml fd030fb2510b3c040fa578a72a4853c1ee8d13be808bdcc3c4bde1312cab2ac5 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml new file mode 100644 index 000000000..ded86a5a7 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml @@ -0,0 +1,16 @@ +drs: + CMIP6: ESGF + OBS: default + OBS6: default + native6: default + obs4MIPs: ESGF +output_dir: /executions +rootpath: + CMIP6: /climate_data + OBS: /home/bandela/.cache/climate_ref/ESMValTool/OBS + OBS6: /home/bandela/.cache/climate_ref/ESMValTool/OBS + native6: /home/bandela/.cache/climate_ref/ESMValTool/RAWOBS + obs4MIPs: + - /climate_data + - /home/bandela/.cache/climate_ref/ESMValTool +search_esgf: never diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json new file mode 100644 index 000000000..30503d8c2 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json @@ -0,0 +1,9 @@ +{ + "DIMENSIONS": { + "json_structure": [] + }, + "RESULTS": {}, + "PROVENANCE": null, + "DISCLAIMER": null, + "NOTES": null +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html new file mode 100644 index 000000000..f37faea05 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html @@ -0,0 +1,415 @@ + + + + + + + + Recipe + + + + + + + + + +
+
+ ESMValTool logo. +
+
+ +

Model evaluation with focus on clouds.

+ +

+ Plot 2D histograms using the Seaborn diagnostic in ESMValTool. +

+ +

Authors

+ + + +

Maintainers

+ + + +

Projects

+ +
    + +
+ +

References

+ +
    + +
+ + + + + +
+ + +
+

Plot_Joint_Cli_Ta_Model

+

Scatterplot clt vs lwcre.

+ + + + +

Plot Joint Cli Ta Model: Plot

+ + + +
+
+ + Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + +
+ Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + +
+ +

Files

+ +

+ main_log.txt | + main_log_debug.txt | + recipe.yml | + figures | + data +

+ + + + + + \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png new file mode 100644 index 0000000000000000000000000000000000000000..9bba4eda2370f31e4d63b887b07d8542cd0b6e6c GIT binary patch literal 130020 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%0ASDcsArl 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 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_cli_ta_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Air Temperature + Amon + ['atmos'] + ta + common_grid_levels_ta + CMIP6 + 0 + ta + air_temperature + 2007 + 20070116T120000/20141216T120000 + K + ta + v20190710 + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 280, 'minimum': 200} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + 20 + Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:33987 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + cli + ta + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:46Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:46Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/f5b003e5-d7bc-497c-b95b-b0782d11c620 + ta + r1i1p1f1 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/1236676a-061a-447f-9531-b8c4b4ee99d7 + ta + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/f018e2a4-b495-4d6b-a9bf-a592bd0bd297 + cli + r1i1p1f1 + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_cli_ta_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Mass Fraction of Cloud Ice + Amon + ['atmos'] + cli + common_grid_levels_cli + CMIP6 + 0 + cli + mass_fraction_of_cloud_ice_in_air + 2007 + 20070116T120000/20141216T120000 + kg kg-1 + cli + v20190710 + {'units': 'g kg-1'} + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 0.005, 'minimum': 0.0001} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:47Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:47Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/ee0f7045-4605-4b1e-9620-5e357088b061 + cli + r1i1p1f1 + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/cmor_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/cmor_log.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log.txt new file mode 100644 index 000000000..89818bfd3 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log.txt @@ -0,0 +1,126 @@ +INFO [146631] +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +INFO [146631] Package versions +INFO [146631] ---------------- +INFO [146631] ESMValCore: 2.12.0 +INFO [146631] ESMValTool: 2.13.0.dev65+g58fd0b8ec +INFO [146631] ---------------- +INFO [146631] Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +INFO [146631] Writing program log files to: +/executions/recipe_20250527_110023/run/main_log.txt +/executions/recipe_20250527_110023/run/main_log_debug.txt +/executions/recipe_20250527_110023/run/cmor_log.txt +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +INFO [146631] Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:00:23 UTC +INFO [146631] ---------------------------------------------------------------------- +INFO [146631] RECIPE = /recipe.yml +INFO [146631] RUNDIR = /executions/recipe_20250527_110023/run +INFO [146631] WORKDIR = /executions/recipe_20250527_110023/work +INFO [146631] PREPROCDIR = /executions/recipe_20250527_110023/preproc +INFO [146631] PLOTDIR = /executions/recipe_20250527_110023/plots +INFO [146631] ---------------------------------------------------------------------- +INFO [146631] Running tasks using at most 1 processes +INFO [146631] If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +INFO [146631] If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +INFO [146631] Creating tasks from recipe +INFO [146631] Creating tasks for diagnostic plot_joint_cli_ta_model +INFO [146631] Creating diagnostic task plot_joint_cli_ta_model/plot +INFO [146631] Creating preprocessor task plot_joint_cli_ta_model/cli +INFO [146631] Creating preprocessor 'common_grid_levels_cli' task for variable 'cli' +INFO [146631] Found input files for Dataset: cli, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [146631] PreprocessingTask plot_joint_cli_ta_model/cli created. +INFO [146631] Creating preprocessor task plot_joint_cli_ta_model/ta +INFO [146631] Creating preprocessor 'common_grid_levels_ta' task for variable 'ta' +INFO [146631] Found input files for Dataset: ta, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [146631] PreprocessingTask plot_joint_cli_ta_model/ta created. +INFO [146631] These tasks will be executed: plot_joint_cli_ta_model/cli, plot_joint_cli_ta_model/ta, plot_joint_cli_ta_model/plot +INFO [146631] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110023/run/recipe_filled.yml +INFO [146631] Using Dask distributed scheduler (address: tcp://127.0.0.1:33987, dashboard link: http://127.0.0.1:8787/status) +INFO [146631] Running 3 tasks sequentially +INFO [146631] Starting task plot_joint_cli_ta_model/cli in process [146631] +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable ap_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable b_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable ap_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable b_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +WARNING [146631] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +INFO [146631] Computing and saving data for preprocessing task plot_joint_cli_ta_model/cli +INFO [146631] Successfully completed task plot_joint_cli_ta_model/cli (priority 1) in 0:00:10.630530 +INFO [146631] Starting task plot_joint_cli_ta_model/ta in process [146631] +INFO [146631] Computing and saving data for preprocessing task plot_joint_cli_ta_model/ta +INFO [146631] Successfully completed task plot_joint_cli_ta_model/ta (priority 2) in 0:00:07.130790 +INFO [146631] Starting task plot_joint_cli_ta_model/plot in process [146631] +INFO [146631] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml'] +INFO [146631] Writing output to /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot +INFO [146631] Writing plots to /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot +INFO [146631] Writing log to /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt +INFO [146631] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml +INFO [146631] Maximum memory used (estimate): 0.4 GB +INFO [146631] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [146631] Successfully completed task plot_joint_cli_ta_model/plot (priority 0) in 0:00:06.599387 +INFO [146631] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110023/run/recipe_filled.yml +INFO [146631] Wrote recipe output to: +file:///executions/recipe_20250527_110023/index.html +INFO [146631] Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:00:48 UTC +INFO [146631] Time for running the recipe was: 0:00:25.723342 +INFO [146631] Maximum memory used (estimate): 3.2 GB +INFO [146631] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [146631] Removing `preproc` directory containing preprocessed data +INFO [146631] If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +INFO [146631] Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log_debug.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log_debug.txt new file mode 100644 index 000000000..56a726655 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log_debug.txt @@ -0,0 +1,1538 @@ +2025-05-27 11:00:23,010 UTC [146631] INFO esmvalcore._main:576 +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:577 Package versions +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:578 ---------------- +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:579 ESMValCore: 2.12.0 +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:581 ESMValTool: 2.13.0.dev65+g58fd0b8ec +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:582 ---------------- +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:583 Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +2025-05-27 11:00:23,011 UTC [146631] INFO esmvalcore._main:587 Writing program log files to: +/executions/recipe_20250527_110023/run/main_log.txt +/executions/recipe_20250527_110023/run/main_log_debug.txt +/executions/recipe_20250527_110023/run/cmor_log.txt +2025-05-27 11:00:23,174 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:93 Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:00:23 UTC +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:98 ---------------------------------------------------------------------- +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:99 RECIPE = /recipe.yml +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:100 RUNDIR = /executions/recipe_20250527_110023/run +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:101 WORKDIR = /executions/recipe_20250527_110023/work +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:102 PREPROCDIR = /executions/recipe_20250527_110023/preproc +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:103 PLOTDIR = /executions/recipe_20250527_110023/plots +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:104 ---------------------------------------------------------------------- +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:107 Running tasks using at most 1 processes +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:109 If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +2025-05-27 11:00:23,238 UTC [146631] INFO esmvalcore._main:113 If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +2025-05-27 11:00:23,238 UTC [146631] DEBUG esmvalcore._recipe.check:67 Checking recipe against schema /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/_recipe/recipe_schema.yml +2025-05-27 11:00:23,248 UTC [146631] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable cli in diagnostic plot_joint_cli_ta_model +2025-05-27 11:00:23,248 UTC [146631] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: cli, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:00:23,249 UTC [146631] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable ta in diagnostic plot_joint_cli_ta_model +2025-05-27 11:00:23,249 UTC [146631] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: ta, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:00:23,249 UTC [146631] DEBUG esmvalcore._recipe.recipe:879 Retrieving diagnostics from recipe +2025-05-27 11:00:23,249 UTC [146631] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_cli_ta_model +2025-05-27 11:00:23,249 UTC [146631] INFO esmvalcore._recipe.recipe:1119 Creating tasks from recipe +2025-05-27 11:00:23,249 UTC [146631] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_cli_ta_model +2025-05-27 11:00:23,249 UTC [146631] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_cli_ta_model/plot +2025-05-27 11:00:23,249 UTC [146631] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:00:23,249 UTC [146631] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_cli_ta_model/cli +2025-05-27 11:00:23,249 UTC [146631] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_levels_cli' task for variable 'cli' +2025-05-27 11:00:23,250 UTC [146631] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/*/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:00:23,251 UTC [146631] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable cli of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:00:23,251 UTC [146631] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: cli, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:00:23,251 UTC [146631] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_cli_ta_model/cli created. +2025-05-27 11:00:23,251 UTC [146631] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_cli_ta_model/cli will create the files: +/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:00:23,251 UTC [146631] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_cli_ta_model/ta +2025-05-27 11:00:23,251 UTC [146631] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_levels_ta' task for variable 'ta' +2025-05-27 11:00:23,251 UTC [146631] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/*/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:00:23,252 UTC [146631] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable ta of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:00:23,252 UTC [146631] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: ta, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:00:23,252 UTC [146631] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_cli_ta_model/ta created. +2025-05-27 11:00:23,252 UTC [146631] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_cli_ta_model/ta will create the files: +/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:00:23,252 UTC [146631] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_cli_ta_model script plot +2025-05-27 11:00:23,252 UTC [146631] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_cli_ta_model/cli matches ['plot_joint_cli_ta_model/cli'] +2025-05-27 11:00:23,252 UTC [146631] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_cli_ta_model/ta matches ['plot_joint_cli_ta_model/ta'] +2025-05-27 11:00:23,252 UTC [146631] INFO esmvalcore._recipe.recipe:1171 These tasks will be executed: plot_joint_cli_ta_model/cli, plot_joint_cli_ta_model/ta, plot_joint_cli_ta_model/plot +2025-05-27 11:00:23,253 UTC [146631] DEBUG esmvalcore._main:133 Recipe summary: +DiagnosticTask: plot_joint_cli_ta_model/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.02}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot', + 'plot_filename': 'jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot', + 'x': 'cli', + 'y': 'ta'} +ancestors: + PreprocessingTask: plot_joint_cli_ta_model/cli + order: ['convert_units', 'extract_levels', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'convert_units': {'units': 'g kg-1'}, + 'extract_levels': {'coordinate': 'air_pressure', + 'levels': [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], + 'scheme': 'linear'}, + 'mask_outside_range': {'maximum': 0.005, 'minimum': 0.0001}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_cli_ta_model/ta + order: ['extract_levels', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'extract_levels': {'coordinate': 'air_pressure', + 'levels': [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], + 'scheme': 'linear'}, + 'mask_outside_range': {'maximum': 280, 'minimum': 200}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + +2025-05-27 11:00:23,256 UTC [146631] INFO esmvalcore._recipe.recipe:1238 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110023/run/recipe_filled.yml +2025-05-27 11:00:23,256 UTC [146631] DEBUG esmvalcore.config._dask:170 Using Dask profile 'local_distributed' +2025-05-27 11:00:23,256 UTC [146631] DEBUG esmvalcore.config._dask:174 Using additional Dask settings {} +2025-05-27 11:00:23,257 UTC [146631] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:00:24,279 UTC [146631] DEBUG esmvalcore.config._dask:192 Using Dask cluster LocalCluster(7adfdfba, 'tcp://127.0.0.1:33987', workers=2, threads=4, memory=8.00 GiB) +2025-05-27 11:00:24,283 UTC [146631] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:00:24,292 UTC [146631] INFO esmvalcore.config._dask:205 Using Dask distributed scheduler (address: tcp://127.0.0.1:33987, dashboard link: http://127.0.0.1:8787/status) +2025-05-27 11:00:24,292 UTC [146631] INFO esmvalcore._task:844 Running 3 tasks sequentially +2025-05-27 11:00:24,292 UTC [146631] INFO esmvalcore._task:289 Starting task plot_joint_cli_ta_model/cli in process [146631] +2025-05-27 11:00:24,309 UTC [146631] DEBUG esmvalcore.preprocessor:716 Running block ['convert_units', 'extract_levels', 'mask_outside_range', 'regrid'] +2025-05-27 11:00:24,309 UTC [146631] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:00:24,309 UTC [146631] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:00:24,309 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:00:24,310 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110023/preproc/fixed_files/cli_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = 'kg kg-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:24,312 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110023/preproc/fixed_files/cli_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = 'kg kg-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:24,313 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:00:24,313 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:00:24,313 UTC [146631] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:00:24,325 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable ap_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +2025-05-27 11:00:24,325 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable b_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +2025-05-27 11:00:24,339 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +2025-05-27 11:00:24,343 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +2025-05-27 11:00:24,347 UTC [146631] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:00:24,347 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:00:24,347 UTC [146631] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:00:24,356 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable ap_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +2025-05-27 11:00:24,357 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/cf.py:1475: IrisCfNonSpanningVarWarning: Ignoring formula terms variable ps referenced by variable b_bnds via variable lev: Dimensions ('time', 'lat', 'lon') do not span ('lev', 'bnds') + warnings.warn( + +2025-05-27 11:00:24,366 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +2025-05-27 11:00:24,369 UTC [146631] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/iris/fileformats/netcdf/loader.py:422: IrisFactoryCoordNotFoundWarning: Unable to find coordinate for variable 'ps' + warnings.warn( + +2025-05-27 11:00:24,373 UTC [146631] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:00:24,373 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:00:24,480 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + , + , + , + , + , + , + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = 'kg kg-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:24,481 UTC [146631] DEBUG esmvalcore.cmor._fixes.shared:399 Fixed bounds of coordinate 'b' +2025-05-27 11:00:24,481 UTC [146631] DEBUG esmvalcore.cmor._fixes.shared:399 Fixed bounds of coordinate 'ap' +2025-05-27 11:00:24,481 UTC [146631] DEBUG esmvalcore.cmor._fixes.fix.genericfix:412 Generic level coordinate alevel will be checked against standard_hybrid_sigma coordinate information +(for file /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc) +2025-05-27 11:00:24,482 UTC [146631] DEBUG esmvalcore.cmor._fixes.shared:399 Fixed bounds of coordinate 'b' +2025-05-27 11:00:24,482 UTC [146631] DEBUG esmvalcore.cmor._fixes.shared:399 Fixed bounds of coordinate 'ap' +2025-05-27 11:00:24,482 UTC [146631] DEBUG esmvalcore.cmor._fixes.fix.genericfix:412 Generic level coordinate alevel will be checked against standard_hybrid_sigma coordinate information +(for file /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc) +2025-05-27 11:00:24,483 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:00:24,573 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:00:24,590 UTC [146631] DEBUG esmvalcore.preprocessor._io:235 Using mass_fraction_of_cloud_ice_in_air / (kg kg-1) (time: 36; atmosphere_hybrid_sigma_pressure_coordinate: 47; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + atmosphere_hybrid_sigma_pressure_coordinate - x - - + latitude - - x - + longitude - - - x + Auxiliary coordinates: + Surface Air Pressure x - x x + vertical coordinate formula term: ap(k) - x - - + vertical coordinate formula term: b(k) - x - - + Derived coordinates: + air_pressure x x x x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'cli' + variant_label 'r1i1p1f1' +2025-05-27 11:00:24,615 UTC [146631] DEBUG esmvalcore.preprocessor._io:279 Using mass_fraction_of_cloud_ice_in_air / (kg kg-1) (time: 60; atmosphere_hybrid_sigma_pressure_coordinate: 47; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + atmosphere_hybrid_sigma_pressure_coordinate - x - - + latitude - - x - + longitude - - - x + Auxiliary coordinates: + Surface Air Pressure x - x x + vertical coordinate formula term: ap(k) - x - - + vertical coordinate formula term: b(k) - x - - + Derived coordinates: + air_pressure x x x x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'cli' + variant_label 'r1i1p1f1' +2025-05-27 11:00:25,600 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:00:25,632 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'cli' +2025-05-27 11:00:25,637 UTC [146631] DEBUG esmvalcore.cmor.check:237 There were metadata changes in variable cli: + Generic level coordinate alevel will be checked against standard_hybrid_sigma coordinate information +loaded from file +2025-05-27 11:00:25,637 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:00:25,657 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:00:25,662 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:00:25,681 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = 'kg kg-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:25,681 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:00:25,700 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'cli' +2025-05-27 11:00:25,700 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:00:25,719 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:00:25,719 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step convert_units +2025-05-27 11:00:25,738 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'convert_units' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +units = 'g kg-1' +2025-05-27 11:00:25,739 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step extract_levels +2025-05-27 11:00:25,759 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'extract_levels' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +coordinate = 'air_pressure', +levels = [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], +scheme = 'linear' +2025-05-27 11:00:25,791 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:00:25,792 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 0.005, +minimum = 0.0001 +2025-05-27 11:00:25,792 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:00:25,793 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:00:25,794 UTC [146631] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:00:26,420 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:00:26,421 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/cli/gn/v20190710/cli_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:00:26,421 UTC [146631] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +mass_fraction_of_cloud_ice_in_air / (g kg-1) (time: 96; air_pressure: 27; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'cli' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:00:26,478 UTC [146631] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_cli_ta_model/cli +2025-05-27 11:00:26,481 UTC [146631] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:00:34,923 UTC [146631] INFO esmvalcore._task:295 Successfully completed task plot_joint_cli_ta_model/cli (priority 1) in 0:00:10.630530 +2025-05-27 11:00:34,923 UTC [146631] INFO esmvalcore._task:289 Starting task plot_joint_cli_ta_model/ta in process [146631] +2025-05-27 11:00:34,938 UTC [146631] DEBUG esmvalcore.preprocessor:716 Running block ['extract_levels', 'mask_outside_range', 'regrid'] +2025-05-27 11:00:34,938 UTC [146631] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:00:34,938 UTC [146631] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:00:34,938 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:00:34,939 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110023/preproc/fixed_files/ta_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:34,939 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110023/preproc/fixed_files/ta_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:34,939 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:00:34,939 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:00:34,939 UTC [146631] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:00:34,954 UTC [146631] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:00:34,954 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:00:34,954 UTC [146631] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:00:34,963 UTC [146631] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:00:34,963 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:00:34,966 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:34,966 UTC [146631] DEBUG esmvalcore.cmor._fixes.fix.genericfix:412 Aligned plev points with CMOR points +(for file /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc) +2025-05-27 11:00:34,967 UTC [146631] DEBUG esmvalcore.cmor._fixes.fix.genericfix:412 Aligned plev points with CMOR points +(for file /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc) +2025-05-27 11:00:34,967 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:00:34,968 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:00:34,974 UTC [146631] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 36; air_pressure: 19; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'ta' + variant_label 'r1i1p1f1' +2025-05-27 11:00:34,975 UTC [146631] DEBUG esmvalcore.preprocessor._io:279 Using air_temperature / (K) (time: 60; air_pressure: 19; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'ta' + variant_label 'r1i1p1f1' +2025-05-27 11:00:34,979 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:00:34,980 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'ta' +2025-05-27 11:00:34,981 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:00:34,981 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:00:34,984 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:00:34,985 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:00:34,985 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:00:34,985 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'ta' +2025-05-27 11:00:34,985 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:00:34,986 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:00:34,986 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step extract_levels +2025-05-27 11:00:34,986 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'extract_levels' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +coordinate = 'air_pressure', +levels = [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], +scheme = 'linear' +2025-05-27 11:00:34,997 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:00:34,997 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 280, +minimum = 200 +2025-05-27 11:00:34,998 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:00:34,998 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:00:34,999 UTC [146631] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:00:35,622 UTC [146631] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:00:35,623 UTC [146631] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/ta/gn/v20190710/ta_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:00:35,623 UTC [146631] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +air_temperature / (K) (time: 96; air_pressure: 27; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'ta' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:00:35,638 UTC [146631] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_cli_ta_model/ta +2025-05-27 11:00:35,640 UTC [146631] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:00:42,054 UTC [146631] INFO esmvalcore._task:295 Successfully completed task plot_joint_cli_ta_model/ta (priority 2) in 0:00:07.130790 +2025-05-27 11:00:42,055 UTC [146631] INFO esmvalcore._task:289 Starting task plot_joint_cli_ta_model/plot in process [146631] +2025-05-27 11:00:42,058 UTC [146631] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml'] +2025-05-27 11:00:42,058 UTC [146631] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:00:42,058 UTC [146631] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot +2025-05-27 11:00:42,058 UTC [146631] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot +2025-05-27 11:00:42,058 UTC [146631] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot +2025-05-27 11:00:42,058 UTC [146631] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt +2025-05-27 11:00:42,058 UTC [146631] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml +2025-05-27 11:00:48,118 UTC [146631] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:00:48,120 UTC [146631] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:00:48,120 UTC [146631] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:00:48,120 UTC [146631] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml +2025-05-27 11:00:48,143 UTC [146631] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): cera-www.dkrz.de:443 +2025-05-27 11:00:48,317 UTC [146631] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 280 +2025-05-27 11:00:48,341 UTC [146631] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 282 +2025-05-27 11:00:48,343 UTC [146631] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): www.wdc-climate.de:443 +2025-05-27 11:00:48,504 UTC [146631] DEBUG urllib3.connectionpool:546 https://www.wdc-climate.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 200 36807 +2025-05-27 11:00:48,531 UTC [146631] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:00:48,531 UTC [146631] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:00:48,531 UTC [146631] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:00:48,531 UTC [146631] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:00:48,654 UTC [146631] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_cli_ta_model/plot took 0.5 seconds +2025-05-27 11:00:48,654 UTC [146631] INFO esmvalcore._task:295 Successfully completed task plot_joint_cli_ta_model/plot (priority 0) in 0:00:06.599387 +2025-05-27 11:00:48,899 UTC [146631] INFO esmvalcore._recipe.recipe:1201 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110023/run/recipe_filled.yml +2025-05-27 11:00:48,961 UTC [146631] INFO esmvalcore.experimental.recipe_output:280 Wrote recipe output to: +file:///executions/recipe_20250527_110023/index.html +2025-05-27 11:00:48,961 UTC [146631] INFO esmvalcore._main:138 Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:00:48 UTC +2025-05-27 11:00:48,961 UTC [146631] INFO esmvalcore._main:142 Time for running the recipe was: 0:00:25.723342 +2025-05-27 11:00:49,903 UTC [146631] INFO esmvalcore._task:141 Maximum memory used (estimate): 3.2 GB +2025-05-27 11:00:49,903 UTC [146631] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:00:49,905 UTC [146631] INFO esmvalcore._main:518 Removing `preproc` directory containing preprocessed data +2025-05-27 11:00:49,905 UTC [146631] INFO esmvalcore._main:521 If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +2025-05-27 11:00:49,974 UTC [146631] INFO esmvalcore._main:496 Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..61bef8077 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +: ancestors: + - /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc +: ancestors: + - /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc +: ancestors: + - /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc +: ancestors: + - /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt new file mode 100644 index 000000000..6df78893a --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt @@ -0,0 +1,94 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + diagnostic: plot_joint_cli_ta_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + frequency: mon + grid: gn + institute: MPI-M + long_name: Mass Fraction of Cloud Ice + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_levels_cli + project: CMIP6 + recipe_dataset_index: 0 + short_name: cli + standard_name: mass_fraction_of_cloud_ice_in_air + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: g kg-1 + variable_group: cli + version: v20190710 + ? /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + diagnostic: plot_joint_cli_ta_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + frequency: mon + grid: gn + institute: MPI-M + long_name: Air Temperature + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_levels_ta + project: CMIP6 + recipe_dataset_index: 0 + short_name: ta + standard_name: air_temperature + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: K + variable_group: ta + version: v20190710 +input_files: +- /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/metadata.yml +- /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.02 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot +plot_filename: jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot +scheduler_address: tcp://127.0.0.1:33987 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +version: 2.12.0 +work_dir: /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot +x: cli +y: ta + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/resource_usage.txt new file mode 100644 index 000000000..e54f84373 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/resource_usage.txt @@ -0,0 +1,6 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:00:43.097581 1.0 0.6 0 0.2 1 0.15 0.0 +2025-05-27 11:00:44.103472 2.0 1.2 68 0.3 2 0.259 0.0 +2025-05-27 11:00:45.107707 3.0 2.1 86 0.4 3 0.292 0.0 +2025-05-27 11:00:46.112738 4.0 2.2 7 0.4 3 0.295 0.0 +2025-05-27 11:00:47.117816 5.0 2.2 0 0.4 3 0.295 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml new file mode 100644 index 000000000..a6f0f92f3 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.02 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +x: cli +y: ta +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot +plot_dir: /executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot +work_dir: /executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:33987 +input_files: +- /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/metadata.yml +- /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe.yml new file mode 100644 index 000000000..e89e98a9d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe.yml @@ -0,0 +1,118 @@ +diagnostics: + plot_joint_cli_ta_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.02 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: cli + y: ta + variables: + cli: + exp: historical + mip: Amon + preprocessor: common_grid_levels_cli + timerange: 2007/2011 + ta: + exp: historical + mip: Amon + preprocessor: common_grid_levels_ta + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe_filled.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe_filled.yml new file mode 100644 index 000000000..89c86d4d1 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/recipe_filled.yml @@ -0,0 +1,152 @@ +diagnostics: + plot_joint_cli_ta_model: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.02 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: cli + y: ta + variables: + cli: + exp: historical + mip: Amon + preprocessor: common_grid_levels_cli + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 + ta: + exp: historical + mip: Amon + preprocessor: common_grid_levels_ta + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_ta: + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + default: {} +regridding: + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 +timerange_for_data: + timerange: 2007/2011 +datasets: +- dataset: MPI-ESM1-2-LR diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/resource_usage.txt new file mode 100644 index 000000000..57ae8557a --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/resource_usage.txt @@ -0,0 +1,25 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:00:24.020919 1.0 4.6 0 0.6 4 0.266 0.0 +2025-05-27 11:00:25.025845 2.0 5.9 41 0.9 6 0.297 0.0 +2025-05-27 11:00:26.031065 3.0 7.4 48 1.0 7 0.316 0.0 +2025-05-27 11:00:27.042679 4.0 9.2 50 1.4 9 0.325 0.0 +2025-05-27 11:00:29.780266 6.8 20.6 108 1.7 12 0.404 0.0 +2025-05-27 11:00:30.786365 7.8 24.8 7 2.9 20 0.413 0.0 +2025-05-27 11:00:31.791685 8.8 28.6 6 2.9 19 0.413 0.0 +2025-05-27 11:00:32.796815 9.8 31.0 6 1.3 9 0.413 0.0 +2025-05-27 11:00:33.802094 10.8 32.2 4 1.3 9 0.413 0.0 +2025-05-27 11:00:34.807508 11.8 33.5 5 1.2 8 0.413 0.0 +2025-05-27 11:00:35.811982 12.8 34.6 74 0.8 5 0.434 0.0 +2025-05-27 11:00:36.819352 13.8 38.7 7 3.2 22 0.435 0.0 +2025-05-27 11:00:37.824413 14.8 42.6 6 3.0 20 0.436 0.0 +2025-05-27 11:00:38.830343 15.8 45.3 6 1.8 12 0.436 0.0 +2025-05-27 11:00:39.835503 16.8 46.6 6 1.1 8 0.436 0.0 +2025-05-27 11:00:40.840713 17.8 47.8 5 1.4 10 0.436 0.0 +2025-05-27 11:00:41.845793 18.8 49.0 4 1.3 9 0.436 0.0 +2025-05-27 11:00:42.852050 19.8 49.8 9 0.9 6 0.541 0.0 +2025-05-27 11:00:43.856767 20.8 50.6 4 1.0 7 0.685 0.0 +2025-05-27 11:00:44.861707 21.8 51.6 5 1.2 8 0.715 0.0 +2025-05-27 11:00:45.868964 22.9 54.1 9 2.3 16 0.733 0.0 +2025-05-27 11:00:46.876865 23.9 57.5 13 1.9 13 0.733 0.0 +2025-05-27 11:00:47.882365 24.9 59.1 8 1.2 8 0.736 0.0 +2025-05-27 11:00:48.902822 25.9 59.3 24 0.4 3 1.17 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..cafd5e0d0f29389d7390b97968fe69f70287a864 GIT binary patch literal 8832 zcmeHNdu&rx82{StQA)R=1168jg@6OxN^cp1^=8~{UH6c+TiPiJ87tk|Z6#YfySvRG zIE@cP1Pw;^2W$)&IC;cJ2q7Q_4a%YtK+S*{3_>u(M?}RxP;{Q}oO`ypj5reUuY0oZ ze)qh;^ZUN;O;6DHtunYw5ZRT?H` znm}!)BNB-QLSerWY=#NM8GL&*lI%+h*H|$>OpZ*Ji31~!b(H3Ly^u^g5JWt3L5a)h z_Lh{neO^aisT0fswi_UpO>pPAoOC?Gi{mM1ME87rx+?Hb6G$s7uYW$RlVLb*3>eB} zCoH*;IUX_x2vV_$48x&d>nbwdk7Eovpk4&%#wsZs$(a8GNdzX5ID{a{9a0c#42_Nh z^SnEr*|~x#ayb41x7H?glsSr*;lNn9EwGMVYCn3;a5wvzAHr}jKs@tYb)+R6Xr{h1 zktGLx=c~qM$Y}|m0G?9nmXK3-?LoB2?8Fv4D~%eT+fg2kGzFtdh=d(R&nzOiVrwwk z9EyZO?uK2WFtUfl@2F=p@61WZ(C4pa4&j#PyA-(!{;5vRsZF<*ma zcG}XOuc((uOkr-1Ox0X69D%JMSEoS!`~q=~qo7a-gc^fk^p{ZGq6p!LGSt=TkB0o! z4MB^*iw(Xzw`%F2>t>@3dUDP1E0DWxWPR*cBTwn>JEXM!&MB?N=UrTm++42lI0&ce zZUO56tC<2A&tFu%`W@Q_o~r=8s$)ES6mv{mD%N!|>{13W(aVx1-0x~UCBxxG)OV#U zyOYR8Ob{Hpg-c7k6)=S?gBNrP5xfLPyWQ!Q*opl_UM#=($B>0xGie80VTzrV{2ZjQ zkTJ8wc0|Ih!LULif~7UTqGj=(Gsh0H=|zsRQo0}g>E(+t+i(Q`5#`{jW(~G; zKt{H!pwKhoIx-)K6;fVJVp@A@2xtgs2xtgs2xtgs2xtgs2xtgs2xtgs2xti0djyW1 zUDxyeu8-uo{ib~7;1Rj3_tDxVm*17gweOw$(w?{ERVRxNnClP7KY#0as(a-=S={*7 zwLWvN+>zY%^5dKK%2g*WJa~TR9@((}`j)E79=Uh3C;8Ou-LgM3b@iOYUGgXKw_cc5 zxl5HixvKL7xsU^#)tY2Oyq1*_zQOP*^tb|hi!A2?_eXmI;6mjw}1W9o^MQ&4osdQO`5YnYF{Wz*YnCG zPq|NeuPP$VX>6DJj<1()pL|6UKkJZczt|z&dyi{7Xb5NsXb5NsXb1oxufW+FPF3^& z<(nHglVL?B!{aP;dYo>D(?^+%EJ6t&X%O%${^p=EL}?6iQDDS=_K$yIRHlP-CyZnP zXnHe-@}}lWMrMqiL*e`c*TXp!v|xB0xrq<2xb(x%o{Pi`DdkLoc`bf-V1Oj}ug=ab z<9Z}R%dt=mfE`y;_oIbzNEH$4N&U_MVvyzKbc#6#DIx=mW2{eeq*iJ3M}w5fok6DI zW{zl(d{ht++Coab;Pkp4^EXsPA`L>T%_7cWD}YF%s<#jFaE VyjiUaY*sN-v<=qh< + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/f018e2a4-b495-4d6b-a9bf-a592bd0bd297 + cli + r1i1p1f1 + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_cli_ta_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Mass Fraction of Cloud Ice + Amon + ['atmos'] + cli + common_grid_levels_cli + CMIP6 + 0 + cli + mass_fraction_of_cloud_ice_in_air + 2007 + 20070116T120000/20141216T120000 + kg kg-1 + cli + v20190710 + {'units': 'g kg-1'} + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 0.005, 'minimum': 0.0001} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:47Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:47Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/ee0f7045-4605-4b1e-9620-5e357088b061 + cli + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + 20 + Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:33987 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + cli + ta + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..6c0560373048ea126267f6f831ab159d7ca92426 GIT binary patch literal 13280 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 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_cli_ta_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Air Temperature + Amon + ['atmos'] + ta + common_grid_levels_ta + CMIP6 + 0 + ta + air_temperature + 2007 + 20070116T120000/20141216T120000 + K + ta + v20190710 + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 280, 'minimum': 200} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:46Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:46Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/f5b003e5-d7bc-497c-b95b-b0782d11c620 + ta + r1i1p1f1 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/1236676a-061a-447f-9531-b8c4b4ee99d7 + ta + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/f018e2a4-b495-4d6b-a9bf-a592bd0bd297 + cli + r1i1p1f1 + + + + + + + + 20 + Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:33987 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + cli + ta + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_cli_ta_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Mass Fraction of Cloud Ice + Amon + ['atmos'] + cli + common_grid_levels_cli + CMIP6 + 0 + cli + mass_fraction_of_cloud_ice_in_air + 2007 + 20070116T120000/20141216T120000 + kg kg-1 + cli + v20190710 + {'units': 'g kg-1'} + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 0.005, 'minimum': 0.0001} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/cli/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_cli_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:47Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:47Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/ee0f7045-4605-4b1e-9620-5e357088b061 + cli + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..a1b53b2511cafb76014c06abd178cb4b1b856b4c GIT binary patch literal 8832 zcmeHNYitx%6h8Z8Sq6%LsS3zI2$f3Lou#%yQl@pfrG@Qwv)h0n$THjA(k;twvpZds zR0Whr!9>9zk(Y$f05LuY7%}1>LPAs`VEo}T#;S=JqsAEDNj+!oy=`qutcmz*Zu-r+ zuetZ!@7!}H>Dk`K`i6<#JG^#}2Sgd*W%C@?o-NBc;+2uo zYX=)manGWs&1p8UCK-CXBV90Z>+<@Bg?1VQm^_)D%lVp1sX@g}54JFy@vVb;0Afsl z`!=fBoO~H@CDPgW!{75!;Ikom>}0j6{=^wJ+cX-r+js@*W(P{gG}8DMc@{Wn3dm6E zfzrpY=JL{rqn!2s(8H8j#g~7?oDFd64D&_DIIi+YMg|6?I-2Uh9VOZ|9!?o;$@WSu zm&+&9S=~q#U@{s*Y)?w!zGe}U8q(c(W?aS%9-6C#>S8gNiUY(VQBmL291O>rTEg*| zRu>9_BvZcwTAZ?>~GN;m(xTS{3)}6V|<(}=lD1KN%QDBIA9#JTq4(+r<;q z4O@Tio&v(B_?A$!?yEaVBPmEdbXN1$#KT%7pX*BHjWk|6x;=9cv|=%pFQjwXn!tjr zc|U6^eT#g71s%!udutS*Qt4Z$6+aELy8y%P0=-K`NbXOwNAV{!HaNVDO_0skU@sG6 zu|CpBM;WsNu#NU|Gj;Hd$Qom|zUhFI_?yE-$7*dR(fiMLmMP)pcc)RT!92Tc$?=a( zE8(3Y-yZ3zwK$!KZN=Crn6QO~FKL?-2vMG3$+ z*VZl>G~Ha%!H!`@gg{}sk?paEM&Z&&Z{X7Q8@n{WpZ_8_3U!5~;}D(P+%mNRI+*~N zASzsTo(}X1Uj;bH4HFf!m|@&AscmzzpbX$OgQe+kzw`U_P7!gIRK&(QnK_n3Eh)zTnkw+8}n-Gs8wjdryY(wlo^dfd6tYR@>F<>!ZF<>!p z^BJJLg2>j0RJHhDzLXJ}3_oQuqQQn>G#J)`aWj)qg((3_8YFc?FQkm2l*V8#3OqE< z{_!u5n&}X^6P9GbZ}TaqnKzYIvt-8Db0{J|A>{BJ3TZIBO}U8+{mu5_XRoEi43-EJ zAob7>4;)Ye|JB)rW8lcZKmZ@_@jcPyfJNb$iZ0i3O&=B%Vp$Zz^4R!ehE!S*=P@2qD}9j ztdY6GO1?s@O*f2GzAJ-y#kNdZE*4}%m+#V=n<7 + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_cli_ta_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Air Temperature + Amon + ['atmos'] + ta + common_grid_levels_ta + CMIP6 + 0 + ta + air_temperature + 2007 + 20070116T120000/20141216T120000 + K + ta + v20190710 + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 280, 'minimum': 200} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110023/preproc/plot_joint_cli_ta_model/ta/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_ta_gn_20070116T120000-20141216T120000.nc')} + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:46Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:46Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/f5b003e5-d7bc-497c-b95b-b0782d11c620 + ta + r1i1p1f1 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/1236676a-061a-447f-9531-b8c4b4ee99d7 + ta + r1i1p1f1 + + + 20 + Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:33987 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + cli + ta + + + + + + + + + + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json new file mode 100644 index 000000000..ed1d4774a --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json @@ -0,0 +1,42 @@ +{ + "index": "/executions/recipe_20250527_110023/index.html", + "provenance": { + "environment": {}, + "modeldata": [], + "obsdata": {}, + "log": "/executions/recipe_20250527_110023/run/main_log_debug.txt" + }, + "data": { + "executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc": { + "filename": "executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc", + "long_name": "Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc": { + "filename": "executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc", + "long_name": "Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc": { + "filename": "executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc", + "long_name": "Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "plots": { + "executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png": { + "filename": "executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png", + "long_name": "Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "html": { + "/executions/recipe_20250527_110023/index.html": { + "filename": "/executions/recipe_20250527_110023/index.html", + "long_name": "Results page", + "description": "Page showing the executions of the ESMValTool run." + } + }, + "metrics": null, + "diagnostics": {} +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml new file mode 100644 index 000000000..e89e98a9d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml @@ -0,0 +1,118 @@ +diagnostics: + plot_joint_cli_ta_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.02 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: cli + y: ta + variables: + cli: + exp: historical + mip: Amon + preprocessor: common_grid_levels_cli + timerange: 2007/2011 + ta: + exp: historical + mip: Amon + preprocessor: common_grid_levels_ta + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml new file mode 100644 index 000000000..ded86a5a7 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml @@ -0,0 +1,16 @@ +drs: + CMIP6: ESGF + OBS: default + OBS6: default + native6: default + obs4MIPs: ESGF +output_dir: /executions +rootpath: + CMIP6: /climate_data + OBS: /home/bandela/.cache/climate_ref/ESMValTool/OBS + OBS6: /home/bandela/.cache/climate_ref/ESMValTool/OBS + native6: /home/bandela/.cache/climate_ref/ESMValTool/RAWOBS + obs4MIPs: + - /climate_data + - /home/bandela/.cache/climate_ref/ESMValTool +search_esgf: never diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json new file mode 100644 index 000000000..30503d8c2 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json @@ -0,0 +1,9 @@ +{ + "DIMENSIONS": { + "json_structure": [] + }, + "RESULTS": {}, + "PROVENANCE": null, + "DISCLAIMER": null, + "NOTES": null +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/index.html b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/index.html new file mode 100644 index 000000000..85d289877 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/index.html @@ -0,0 +1,415 @@ + + + + + + + + Recipe + + + + + + + + + +
+
+ ESMValTool logo. +
+
+ +

Model evaluation with focus on clouds.

+ +

+ Plot 2D histograms using the Seaborn diagnostic in ESMValTool. +

+ +

Authors

+ + + +

Maintainers

+ + + +

Projects

+ +
    + +
+ +

References

+ +
    + +
+ + + + + +
+ + +
+

Plot_Joint_Clivi_Lwcre_Model

+

Scatterplot clt vs lwcre.

+ + + + +

Plot Joint Clivi Lwcre Model: Plot

+ + + +
+
+ + Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + +
+ Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + +
+ +

Files

+ +

+ main_log.txt | + main_log_debug.txt | + recipe.yml | + figures | + data +

+ + + + + + \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png new file mode 100644 index 0000000000000000000000000000000000000000..bf79bee214f1b76cfc377cbe295e829b45fc4338 GIT binary patch literal 108662 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

snJhJN=>VdKKpw1V0Ycv)lO`9A)9WJ zg)1oqA(?Imw*2I%>$@(b3lh)l&>R)E9tyL*Ird(HUNit_k(H2~r<1^K)acsy3{xQ` zfh6wCMiJ(R_dmL6ZI6+{JCK?~5KgHw4JELr$$4dMRbWB2uY+hp@;}b{5P5DAj|j~m z-LAt1 zbQxLOABH9d9`x$YNbd+=1wE7glM3X@ao9u4WF%TM{CgA$?r`W(okd|k)$`*@>wqFb9qQCl?EVsl|dWA52`&C zn?eh*9RK}mvBoxT_@+2X=)uf}y@gCyuq-WNA!J6gCsYLq5UesF4hf^quCC_JIA(cW zD!NCNl^>I%3mU(K2q))W;CHUR(db-(F|mUhW7y$xS&mR}*4ebX_7rZM;ggc-n9Xnr zQj3-9xaZQ&rr`1sVv=!MvhoEIA`1cWn5yUtw+TxU|6@fH?!D4Qys3?S<8Y>SJtrh0 zq5=%BKZsY${KH5-41vFxJ#ltkK<&rZrK1KS?f#p4pXA#8k* zDuc^R`4NxguJH=`B2Fo$!XTu*)U$bs`jFh_air#}L@F7KN)*_KT$KTS9}cghXBh`? zGN=Qj7l|;-9EB>)Z?7xh(xaJET=pI0t1Dz;rkhR_~C}K#2%E+S&D=5mDfb4On2i#84+e1nRMm823qioqMl=S)aC>%5tPa7BtOtUW z$&)ykQg2fVJrfhtuI!GEX1=k(&emS(_`Dt#5j8Y{sOa3OiSE6Jr8x$Fpco(qO9I^( zb5!|CrQ|uPA|;pVtOSUoUf{VladYQ0xVpMlAp2)Rb^VguVibzzUTWbmhfsW?@_Hzt z+=wRN{9bS-)ju-UOUZUEP3JCMdL?1ao!k{)Q<`CKFTt~W_i6ZVe*}Vn-W~UcT!=*~ zg2c7vU7G6%fRNa0(e*^#L43t;D~-NzRGg-q+qR5=6W9xYCwFJ-j=sy>BWN|Corc)s zIJ^+_9LY4R!5v}dqXRm&@DO*bWL8vpz3P~-xf3GPQPRPN@I@}$*w|PAX+auBx^zHA za?n=ME;T&nU}JJfVq#*^@)X+(NTB1QeSln%M-jFf2;yYN79qr3G*KelX!?<_xm5im zJKg|zYinV~)PED?ApA-O z?oFFMp?A?dFnr35)a6XKK(`3ONlJA401~7>%D4c*P(H9}DSki}X zymrnlWTbekN%MQ5;@)?^TL z%@s|!mBI^4rMlpsRDoQd=SiUgBX|{7I5dNxu%wjcqJk^KmZUcNOH(cT?guH5ciTom{NrTKBM4}RWgC*NhHe#U85z<^h z(aT$z3;1#XV$MwveSwm9!*$2t(>!xVc43o4L~+Ks9Mv)QPP$;pjx>Vz!uIeH`jSif z;9sWzgFZFhN-^AzVC)7-jAMXK33w!NKpIG}>y5#8M{nW?vW%0s>edCL>_Ord@%oU= zGBhX1939lKTP4OTn$CjcKJ(C9r)AQbJJAlBz|O2jY~xJ7+$?DeUpj(W5@IX50wItD zkc^2`i|GF-BFCjO|9xIEzEcOd6QQ3!xw$pmcL&`HZ>-cz_XW%gHwtKf+(TNIc$=G> zVB;@~Gl&`GXA|>ZMI#s0fu%2@z;fCVemEi(LKC6opq)y*xKeK=NHl+Nb?QWa zhcA|XVN=h-i}?VWT>U9KoHsY}qngci&hCsYz$hO6rC!l>rwCPyYg3Y;C+4 zM_(cm-LmBvy54qqMPq<9NLo$q1o?=p<^!Ve4Q7Bp=h4U8H5^floMg1ecyf|Lq6-*S zeYFnN&-s`t@)m{0;T|W2re@N0 zClliyckxe|p=8?;RRy>;V4#*D7e|F=3&2YW`Dz(*-8aoE=VYUE;P&{ja+LSIdww7W zj&5H&^#jNNsW&9_&`rZ#>Fc{=pC9HzrX+bO==iAT?oLzMQoQYu$fRve$z!%&f2~tD4X;uzN=Z0vi|6)M8vn?@4Q$p$Bi0 zBl zT_lL~fROw?2*4TNxOwvtykhW;6~WU4G7zd~pS5J?rQy~1>%bi!6&fVeO!!b2w&zEQ z?_>bs+e_MF1lJiXi#x>9C#VGsW%a$eBM_S5PrY%~1&>W)V)g!nsapZ-DHAksW!b17 z;zvi@xqfs|27N?}K9m?BAU(wT;VCMReiQi>m?31JLgWyI@_;N^C$t)U<}@dEzvX}J z2S9{DelhjW|NjJje_e~e^oeL2k+v}ZMSV*HtEvC%|GYwS#6J1nnvb_)3#lF!hYv{a KkJxwi>i+_KR&>h% literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml new file mode 100644 index 000000000..b77616f89 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml @@ -0,0 +1,546 @@ + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/15e6cb00-883d-4b5f-be5c-a3485fe05609 + rlutcs + r1i1p1f1 + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + True + plot_joint_clivi_lwcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + False + mon + gn + MPI-M + TOA Longwave Cloud Radiative Effect + Amon + ['atmos'] + lwcre + common_grid_lwcre + CMIP6 + 0 + lwcre + 2007 + 20070116T120000/20141216T120000 + W m-2 + lwcre + v20190710 + {'short_name': 'lwcre', 'standard_name': '', 'long_name': 'TOA Longwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/614e34c8-0ec4-4d7c-a9be-b49b79f5a416 + rlut + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/d95b17df-51d5-49e2-b00f-794aa29b3972 + clivi + r1i1p1f1 + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/184a785f-7b65-4f71-a04e-e2b2aceccb84 + rlut + r1i1p1f1 + + + 20 + Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:41725 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clivi + lwcre + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clivi_lwcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Ice Water Path + Amon + ['atmos'] + clivi + common_grid_clivi_clwvi + CMIP6 + 0 + clivi + atmosphere_mass_content_of_cloud_ice + 2007 + 20070116T120000/20141216T120000 + kg m-2 + clivi + v20190710 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/dcb4d523-c40c-4bd4-a341-89008907d927 + rlutcs + r1i1p1f1 + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/bef5d705-472e-49d8-9945-fad52a48dd59 + clivi + r1i1p1f1 + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/cmor_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/cmor_log.txt new file mode 100644 index 000000000..6fb7077ed --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/cmor_log.txt @@ -0,0 +1,6 @@ +WARNING [147600] There were warnings in variable rlut: + rlut: attribute positive not present +loaded from file +WARNING [147600] There were warnings in variable rlutcs: + rlutcs: attribute positive not present +loaded from file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log.txt new file mode 100644 index 000000000..326dea10c --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log.txt @@ -0,0 +1,103 @@ +INFO [147600] +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +INFO [147600] Package versions +INFO [147600] ---------------- +INFO [147600] ESMValCore: 2.12.0 +INFO [147600] ESMValTool: 2.13.0.dev65+g58fd0b8ec +INFO [147600] ---------------- +INFO [147600] Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +INFO [147600] Writing program log files to: +/executions/recipe_20250527_110438/run/main_log.txt +/executions/recipe_20250527_110438/run/main_log_debug.txt +/executions/recipe_20250527_110438/run/cmor_log.txt +WARNING [147600] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +INFO [147600] Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:04:38 UTC +INFO [147600] ---------------------------------------------------------------------- +INFO [147600] RECIPE = /recipe.yml +INFO [147600] RUNDIR = /executions/recipe_20250527_110438/run +INFO [147600] WORKDIR = /executions/recipe_20250527_110438/work +INFO [147600] PREPROCDIR = /executions/recipe_20250527_110438/preproc +INFO [147600] PLOTDIR = /executions/recipe_20250527_110438/plots +INFO [147600] ---------------------------------------------------------------------- +INFO [147600] Running tasks using at most 1 processes +INFO [147600] If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +INFO [147600] If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +INFO [147600] Creating tasks from recipe +INFO [147600] Creating tasks for diagnostic plot_joint_clivi_lwcre_model +INFO [147600] Creating diagnostic task plot_joint_clivi_lwcre_model/plot +INFO [147600] Creating preprocessor task plot_joint_clivi_lwcre_model/clivi +INFO [147600] Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clivi' +INFO [147600] Found input files for Dataset: clivi, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [147600] PreprocessingTask plot_joint_clivi_lwcre_model/clivi created. +INFO [147600] Creating preprocessor task plot_joint_clivi_lwcre_model/lwcre +INFO [147600] Creating preprocessor 'common_grid_lwcre' task for variable 'lwcre' +INFO [147600] Found input files for Dataset: lwcre, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [147600] PreprocessingTask plot_joint_clivi_lwcre_model/lwcre created. +INFO [147600] These tasks will be executed: plot_joint_clivi_lwcre_model/plot, plot_joint_clivi_lwcre_model/lwcre, plot_joint_clivi_lwcre_model/clivi +INFO [147600] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110438/run/recipe_filled.yml +INFO [147600] Using Dask distributed scheduler (address: tcp://127.0.0.1:41725, dashboard link: http://127.0.0.1:8787/status) +INFO [147600] Running 3 tasks sequentially +INFO [147600] Starting task plot_joint_clivi_lwcre_model/clivi in process [147600] +INFO [147600] Computing and saving data for preprocessing task plot_joint_clivi_lwcre_model/clivi +INFO [147600] Successfully completed task plot_joint_clivi_lwcre_model/clivi (priority 1) in 0:00:01.580449 +INFO [147600] Starting task plot_joint_clivi_lwcre_model/lwcre in process [147600] +INFO [147600] Computing and saving data for preprocessing task plot_joint_clivi_lwcre_model/lwcre +INFO [147600] Successfully completed task plot_joint_clivi_lwcre_model/lwcre (priority 2) in 0:00:01.070178 +INFO [147600] Starting task plot_joint_clivi_lwcre_model/plot in process [147600] +INFO [147600] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml'] +INFO [147600] Writing output to /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot +INFO [147600] Writing plots to /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot +INFO [147600] Writing log to /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt +INFO [147600] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml +INFO [147600] Maximum memory used (estimate): 0.4 GB +INFO [147600] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [147600] Successfully completed task plot_joint_clivi_lwcre_model/plot (priority 0) in 0:00:03.553676 +INFO [147600] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110438/run/recipe_filled.yml +INFO [147600] Wrote recipe output to: +file:///executions/recipe_20250527_110438/index.html +INFO [147600] Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:04:45 UTC +INFO [147600] Time for running the recipe was: 0:00:07.337068 +INFO [147600] Maximum memory used (estimate): 1.6 GB +INFO [147600] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [147600] Removing `preproc` directory containing preprocessed data +INFO [147600] If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +WARNING [147600] Input data is not (fully) CMOR-compliant, see /executions/recipe_20250527_110438/run/cmor_log.txt for details +INFO [147600] Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log_debug.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log_debug.txt new file mode 100644 index 000000000..558a91935 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log_debug.txt @@ -0,0 +1,1856 @@ +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:576 +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:577 Package versions +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:578 ---------------- +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:579 ESMValCore: 2.12.0 +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:581 ESMValTool: 2.13.0.dev65+g58fd0b8ec +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:582 ---------------- +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:583 Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +2025-05-27 11:04:38,466 UTC [147600] INFO esmvalcore._main:587 Writing program log files to: +/executions/recipe_20250527_110438/run/main_log.txt +/executions/recipe_20250527_110438/run/main_log_debug.txt +/executions/recipe_20250527_110438/run/cmor_log.txt +2025-05-27 11:04:38,582 UTC [147600] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +2025-05-27 11:04:38,615 UTC [147600] INFO esmvalcore._main:93 Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:04:38 UTC +2025-05-27 11:04:38,615 UTC [147600] INFO esmvalcore._main:98 ---------------------------------------------------------------------- +2025-05-27 11:04:38,615 UTC [147600] INFO esmvalcore._main:99 RECIPE = /recipe.yml +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:100 RUNDIR = /executions/recipe_20250527_110438/run +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:101 WORKDIR = /executions/recipe_20250527_110438/work +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:102 PREPROCDIR = /executions/recipe_20250527_110438/preproc +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:103 PLOTDIR = /executions/recipe_20250527_110438/plots +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:104 ---------------------------------------------------------------------- +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:107 Running tasks using at most 1 processes +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:109 If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +2025-05-27 11:04:38,616 UTC [147600] INFO esmvalcore._main:113 If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +2025-05-27 11:04:38,616 UTC [147600] DEBUG esmvalcore._recipe.check:67 Checking recipe against schema /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/_recipe/recipe_schema.yml +2025-05-27 11:04:38,626 UTC [147600] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable clivi in diagnostic plot_joint_clivi_lwcre_model +2025-05-27 11:04:38,626 UTC [147600] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: clivi, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:04:38,626 UTC [147600] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable lwcre in diagnostic plot_joint_clivi_lwcre_model +2025-05-27 11:04:38,627 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/lwcre/gn/*/lwcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,627 UTC [147600] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: lwcre, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:04:38,628 UTC [147600] DEBUG esmvalcore._recipe.recipe:879 Retrieving diagnostics from recipe +2025-05-27 11:04:38,628 UTC [147600] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_clivi_lwcre_model +2025-05-27 11:04:38,628 UTC [147600] INFO esmvalcore._recipe.recipe:1119 Creating tasks from recipe +2025-05-27 11:04:38,628 UTC [147600] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_clivi_lwcre_model +2025-05-27 11:04:38,628 UTC [147600] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_clivi_lwcre_model/plot +2025-05-27 11:04:38,628 UTC [147600] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:04:38,628 UTC [147600] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clivi_lwcre_model/clivi +2025-05-27 11:04:38,628 UTC [147600] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clivi' +2025-05-27 11:04:38,628 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/*/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,629 UTC [147600] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable clivi of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:38,629 UTC [147600] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: clivi, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:04:38,629 UTC [147600] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clivi_lwcre_model/clivi created. +2025-05-27 11:04:38,629 UTC [147600] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clivi_lwcre_model/clivi will create the files: +/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:04:38,630 UTC [147600] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clivi_lwcre_model/lwcre +2025-05-27 11:04:38,630 UTC [147600] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_lwcre' task for variable 'lwcre' +2025-05-27 11:04:38,630 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/lwcre/gn/*/lwcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,630 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/lwcre/gn/*/lwcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,630 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/lwcre/gn/*/lwcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,630 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/*/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,631 UTC [147600] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/*/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:04:38,631 UTC [147600] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rlut of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:38,631 UTC [147600] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rlutcs of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:38,631 UTC [147600] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: lwcre, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:04:38,631 UTC [147600] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clivi_lwcre_model/lwcre created. +2025-05-27 11:04:38,631 UTC [147600] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clivi_lwcre_model/lwcre will create the files: +/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:04:38,632 UTC [147600] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_clivi_lwcre_model script plot +2025-05-27 11:04:38,632 UTC [147600] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clivi_lwcre_model/clivi matches ['plot_joint_clivi_lwcre_model/clivi'] +2025-05-27 11:04:38,632 UTC [147600] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clivi_lwcre_model/lwcre matches ['plot_joint_clivi_lwcre_model/lwcre'] +2025-05-27 11:04:38,632 UTC [147600] INFO esmvalcore._recipe.recipe:1171 These tasks will be executed: plot_joint_clivi_lwcre_model/plot, plot_joint_clivi_lwcre_model/lwcre, plot_joint_clivi_lwcre_model/clivi +2025-05-27 11:04:38,632 UTC [147600] DEBUG esmvalcore._main:133 Recipe summary: +DiagnosticTask: plot_joint_clivi_lwcre_model/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.03}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot', + 'plot_filename': 'jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot', + 'x': 'clivi', + 'y': 'lwcre'} +ancestors: + PreprocessingTask: plot_joint_clivi_lwcre_model/clivi + order: ['mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'mask_outside_range': {'maximum': 0.2, 'minimum': 0.01}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_clivi_lwcre_model/lwcre + order: ['derive', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'derive': {'long_name': 'TOA Longwave Cloud Radiative Effect', + 'short_name': 'lwcre', + 'standard_name': '', + 'units': 'W m-2'}, + 'mask_outside_range': {'maximum': 100.0, 'minimum': 1.0}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + +2025-05-27 11:04:38,636 UTC [147600] INFO esmvalcore._recipe.recipe:1238 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110438/run/recipe_filled.yml +2025-05-27 11:04:38,636 UTC [147600] DEBUG esmvalcore.config._dask:170 Using Dask profile 'local_distributed' +2025-05-27 11:04:38,636 UTC [147600] DEBUG esmvalcore.config._dask:174 Using additional Dask settings {} +2025-05-27 11:04:38,636 UTC [147600] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:04:39,462 UTC [147600] DEBUG esmvalcore.config._dask:192 Using Dask cluster LocalCluster(99d4d174, 'tcp://127.0.0.1:41725', workers=2, threads=4, memory=8.00 GiB) +2025-05-27 11:04:39,465 UTC [147600] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:04:39,482 UTC [147600] INFO esmvalcore.config._dask:205 Using Dask distributed scheduler (address: tcp://127.0.0.1:41725, dashboard link: http://127.0.0.1:8787/status) +2025-05-27 11:04:39,482 UTC [147600] INFO esmvalcore._task:844 Running 3 tasks sequentially +2025-05-27 11:04:39,482 UTC [147600] INFO esmvalcore._task:289 Starting task plot_joint_clivi_lwcre_model/clivi in process [147600] +2025-05-27 11:04:39,491 UTC [147600] DEBUG esmvalcore.preprocessor:716 Running block ['mask_outside_range', 'regrid'] +2025-05-27 11:04:39,491 UTC [147600] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:04:39,491 UTC [147600] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:04:39,492 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:04:39,492 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110438/preproc/fixed_files/clivi_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clivi', +standard_name = 'atmosphere_mass_content_of_cloud_ice', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:39,509 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110438/preproc/fixed_files/clivi_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clivi', +standard_name = 'atmosphere_mass_content_of_cloud_ice', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:39,510 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:04:39,510 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:04:39,510 UTC [147600] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:04:39,524 UTC [147600] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:04:39,524 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:04:39,524 UTC [147600] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:39,531 UTC [147600] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:39,531 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:04:39,535 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clivi', +standard_name = 'atmosphere_mass_content_of_cloud_ice', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:39,536 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:04:39,537 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:04:39,540 UTC [147600] DEBUG esmvalcore.preprocessor._io:235 Using atmosphere_mass_content_of_cloud_ice / (kg m-2) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clivi' + variant_label 'r1i1p1f1' +2025-05-27 11:04:39,541 UTC [147600] DEBUG esmvalcore.preprocessor._io:279 Using atmosphere_mass_content_of_cloud_ice / (kg m-2) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clivi' + variant_label 'r1i1p1f1' +2025-05-27 11:04:39,545 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:04:39,546 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'clivi' +2025-05-27 11:04:39,547 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:04:39,548 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:04:39,551 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:04:39,552 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clivi', +standard_name = 'atmosphere_mass_content_of_cloud_ice', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:39,552 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:04:39,553 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'clivi' +2025-05-27 11:04:39,553 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:04:39,553 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:04:39,553 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:04:39,554 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 0.2, +minimum = 0.01 +2025-05-27 11:04:39,554 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:04:39,555 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:04:39,556 UTC [147600] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:04:40,151 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:04:40,151 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clivi/gn/v20190710/clivi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:04:40,152 UTC [147600] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +atmosphere_mass_content_of_cloud_ice / (kg m-2) (time: 96; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clivi' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:04:40,195 UTC [147600] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clivi_lwcre_model/clivi +2025-05-27 11:04:40,198 UTC [147600] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:04:41,062 UTC [147600] INFO esmvalcore._task:295 Successfully completed task plot_joint_clivi_lwcre_model/clivi (priority 1) in 0:00:01.580449 +2025-05-27 11:04:41,062 UTC [147600] INFO esmvalcore._task:289 Starting task plot_joint_clivi_lwcre_model/lwcre in process [147600] +2025-05-27 11:04:41,072 UTC [147600] DEBUG esmvalcore.preprocessor:716 Running block ['derive', 'mask_outside_range', 'regrid'] +2025-05-27 11:04:41,073 UTC [147600] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:04:41,073 UTC [147600] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:04:41,073 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:04:41,073 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110438/preproc/fixed_files/rlut_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,074 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110438/preproc/fixed_files/rlut_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,074 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:04:41,074 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:04:41,074 UTC [147600] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:04:41,082 UTC [147600] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:04:41,082 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:04:41,082 UTC [147600] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:41,089 UTC [147600] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:41,089 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:04:41,090 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,091 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:04:41,092 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:04:41,093 UTC [147600] DEBUG esmvalcore.preprocessor._io:235 Using toa_outgoing_longwave_flux / (W m-2) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rlut' + variant_label 'r1i1p1f1' +2025-05-27 11:04:41,094 UTC [147600] DEBUG esmvalcore.preprocessor._io:279 Using toa_outgoing_longwave_flux / (W m-2) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rlut' + variant_label 'r1i1p1f1' +2025-05-27 11:04:41,096 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:04:41,097 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlut' +2025-05-27 11:04:41,098 UTC [147600] WARNING esmvalcore.cmor.check:223 There were warnings in variable rlut: + rlut: attribute positive not present +loaded from file +2025-05-27 11:04:41,098 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:04:41,098 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:04:41,100 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:04:41,100 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,100 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:04:41,101 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlut' +2025-05-27 11:04:41,101 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:04:41,102 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:04:41,102 UTC [147600] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:04:41,102 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:04:41,102 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110438/preproc/fixed_files/rlutcs_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,102 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110438/preproc/fixed_files/rlutcs_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,102 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:04:41,103 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:04:41,103 UTC [147600] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:04:41,109 UTC [147600] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:04:41,109 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:04:41,109 UTC [147600] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:41,116 UTC [147600] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:04:41,116 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:04:41,118 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,118 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:04:41,119 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:04:41,120 UTC [147600] DEBUG esmvalcore.preprocessor._io:235 Using toa_outgoing_longwave_flux_assuming_clear_sky / (W m-2) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rlutcs' + variant_label 'r1i1p1f1' +2025-05-27 11:04:41,121 UTC [147600] DEBUG esmvalcore.preprocessor._io:279 Using toa_outgoing_longwave_flux_assuming_clear_sky / (W m-2) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rlutcs' + variant_label 'r1i1p1f1' +2025-05-27 11:04:41,123 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:04:41,124 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlutcs' +2025-05-27 11:04:41,124 UTC [147600] WARNING esmvalcore.cmor.check:223 There were warnings in variable rlutcs: + rlutcs: attribute positive not present +loaded from file +2025-05-27 11:04:41,124 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:04:41,125 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:04:41,126 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:04:41,127 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rlutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:04:41,127 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:04:41,127 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlutcs' +2025-05-27 11:04:41,127 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:04:41,128 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:04:41,128 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step derive +2025-05-27 11:04:41,129 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'derive' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +short_name = 'lwcre', +standard_name = '', +long_name = 'TOA Longwave Cloud Radiative Effect', +units = 'W m-2' +2025-05-27 11:04:41,132 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:04:41,132 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 100.0, +minimum = 1.0 +2025-05-27 11:04:41,133 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:04:41,133 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:04:41,134 UTC [147600] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:04:41,706 UTC [147600] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:04:41,707 UTC [147600] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlut/gn/v20190710/rlut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rlutcs/gn/v20190710/rlutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:04:41,707 UTC [147600] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +TOA Longwave Cloud Radiative Effect / (W m-2) (time: 96; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + positive 'down' + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:04:41,716 UTC [147600] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clivi_lwcre_model/lwcre +2025-05-27 11:04:41,719 UTC [147600] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:04:42,133 UTC [147600] INFO esmvalcore._task:295 Successfully completed task plot_joint_clivi_lwcre_model/lwcre (priority 2) in 0:00:01.070178 +2025-05-27 11:04:42,133 UTC [147600] INFO esmvalcore._task:289 Starting task plot_joint_clivi_lwcre_model/plot in process [147600] +2025-05-27 11:04:42,137 UTC [147600] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml'] +2025-05-27 11:04:42,137 UTC [147600] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:04:42,137 UTC [147600] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot +2025-05-27 11:04:42,137 UTC [147600] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot +2025-05-27 11:04:42,137 UTC [147600] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot +2025-05-27 11:04:42,137 UTC [147600] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt +2025-05-27 11:04:42,137 UTC [147600] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml +2025-05-27 11:04:45,164 UTC [147600] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:04:45,165 UTC [147600] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:04:45,165 UTC [147600] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:04:45,165 UTC [147600] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml +2025-05-27 11:04:45,178 UTC [147600] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): cera-www.dkrz.de:443 +2025-05-27 11:04:45,338 UTC [147600] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 280 +2025-05-27 11:04:45,362 UTC [147600] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 282 +2025-05-27 11:04:45,363 UTC [147600] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): www.wdc-climate.de:443 +2025-05-27 11:04:45,549 UTC [147600] DEBUG urllib3.connectionpool:546 https://www.wdc-climate.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 200 36807 +2025-05-27 11:04:45,576 UTC [147600] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:04:45,576 UTC [147600] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:04:45,576 UTC [147600] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:04:45,576 UTC [147600] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:04:45,687 UTC [147600] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_clivi_lwcre_model/plot took 0.5 seconds +2025-05-27 11:04:45,687 UTC [147600] INFO esmvalcore._task:295 Successfully completed task plot_joint_clivi_lwcre_model/plot (priority 0) in 0:00:03.553676 +2025-05-27 11:04:45,916 UTC [147600] INFO esmvalcore._recipe.recipe:1201 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110438/run/recipe_filled.yml +2025-05-27 11:04:45,952 UTC [147600] INFO esmvalcore.experimental.recipe_output:280 Wrote recipe output to: +file:///executions/recipe_20250527_110438/index.html +2025-05-27 11:04:45,952 UTC [147600] INFO esmvalcore._main:138 Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:04:45 UTC +2025-05-27 11:04:45,952 UTC [147600] INFO esmvalcore._main:142 Time for running the recipe was: 0:00:07.337068 +2025-05-27 11:04:46,526 UTC [147600] INFO esmvalcore._task:141 Maximum memory used (estimate): 1.6 GB +2025-05-27 11:04:46,526 UTC [147600] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:04:46,527 UTC [147600] INFO esmvalcore._main:518 Removing `preproc` directory containing preprocessed data +2025-05-27 11:04:46,527 UTC [147600] INFO esmvalcore._main:521 If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +2025-05-27 11:04:46,532 UTC [147600] WARNING esmvalcore._main:491 Input data is not (fully) CMOR-compliant, see /executions/recipe_20250527_110438/run/cmor_log.txt for details +2025-05-27 11:04:46,532 UTC [147600] INFO esmvalcore._main:496 Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..b8c950ef6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +: ancestors: + - /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc +: ancestors: + - /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt new file mode 100644 index 000000000..2cfcfc80f --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt @@ -0,0 +1,96 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + diagnostic: plot_joint_clivi_lwcre_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + frequency: mon + grid: gn + institute: MPI-M + long_name: Ice Water Path + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_clivi_clwvi + project: CMIP6 + recipe_dataset_index: 0 + short_name: clivi + standard_name: atmosphere_mass_content_of_cloud_ice + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: kg m-2 + variable_group: clivi + version: v20190710 + ? /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + derive: true + diagnostic: plot_joint_clivi_lwcre_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + force_derivation: false + frequency: mon + grid: gn + institute: MPI-M + long_name: TOA Longwave Cloud Radiative Effect + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_lwcre + project: CMIP6 + recipe_dataset_index: 0 + short_name: lwcre + standard_name: '' + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: W m-2 + variable_group: lwcre + version: v20190710 +input_files: +- /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/metadata.yml +- /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.03 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot +plot_filename: jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot +scheduler_address: tcp://127.0.0.1:41725 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +version: 2.12.0 +work_dir: /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot +x: clivi +y: lwcre + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/resource_usage.txt new file mode 100644 index 000000000..8ae123f50 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/resource_usage.txt @@ -0,0 +1,3 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:04:43.159736 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:04:44.164272 2.0 1.9 92 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml new file mode 100644 index 000000000..cd3a88971 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.03 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +x: clivi +y: lwcre +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot +plot_dir: /executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot +work_dir: /executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:41725 +input_files: +- /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/metadata.yml +- /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe.yml new file mode 100644 index 000000000..8d4130148 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe.yml @@ -0,0 +1,120 @@ +diagnostics: + plot_joint_clivi_lwcre_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clivi + y: lwcre + variables: + clivi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + lwcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_lwcre + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe_filled.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe_filled.yml new file mode 100644 index 000000000..ae0626903 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/recipe_filled.yml @@ -0,0 +1,154 @@ +diagnostics: + plot_joint_clivi_lwcre_model: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clivi + y: lwcre + variables: + clivi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 + lwcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_lwcre + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_ta: + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + default: {} +regridding: + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 +timerange_for_data: + timerange: 2007/2011 +datasets: +- dataset: MPI-ESM1-2-LR diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/resource_usage.txt new file mode 100644 index 000000000..c6449d1ff --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/resource_usage.txt @@ -0,0 +1,8 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:04:39.490640 1.0 4.8 0 0.7 5 0.008 0.0 +2025-05-27 11:04:40.495888 2.0 6.2 71 1.0 6 0.014 0.0 +2025-05-27 11:04:41.500506 3.0 7.6 50 1.1 7 0.015 0.0 +2025-05-27 11:04:42.505666 4.0 8.7 29 1.3 8 0.015 0.0 +2025-05-27 11:04:43.510340 5.0 9.9 6 1.5 10 0.015 0.0 +2025-05-27 11:04:44.515140 6.0 11.2 8 1.6 11 0.015 0.0 +2025-05-27 11:04:45.526505 7.1 11.6 10 1.1 7 0.015 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..6d237844d9a115200a35d6c72aea9a489064b3a4 GIT binary patch literal 8837 zcmeHNeQZ-z6u(pSnRu-C_UYqvq$E$cLaAYHe1+asf$ZRwPt zAPI&c1jHb^1Xz%-Y4D2yQ8HYVfX3_()DS=+;bRDD6vYS*lX=g*?{0G$aU|kj?`CJ` zew=&mxxaJHZPL@G;zC!l=@FCGXhf{_C~e(jI%8E9%%QuVmlhY6Yt3z1x}-}|me`ho z+@wVs5HS#Wjh+nfIJLT7PRRZ`ITnx9Mgz-dYN?`;BY`he)E3c6yd64JH{^x#CRw-Lz%a}{dPadz)jD|U_M(N-_nZR5(8Y~{gO+Rad||A{fQ%q3xeI(gl!g}oLcpQ0#N+h(N=m(c zpH$#>A~Of`I+R2=cndsEA`jq#Jb?`JJtsSt2LEXSo~3QuR~b7fh8aV^P{b!en}_Tp zki7>Zm6Sp;>JsPTKHvS_3s6phO`>>zq3V*-tdP&6h-!h$V3 zOyX0pTV`8q*>%C1Spsk2?UtER;)0jP0_qnFuooKRN3lt z?-h2J_$tsitOg$FF__>H9PD)`N5UekV_IK!?rxujJ13C^^gU(tuK43%Dh(MkO>8L= zPK3g791%3F*&{Exa(GLgk#GP zJqMe{c8JS1bQiq1`V(=+oOPY;UmO!JoZc)ZAOA>9JD8r8dHtxkGUY_(+3${suWy+( zw(+Gl@p#vhMQ+#o;{IoU&RE;NR}3EB+_GDhbMGiCF)#l*9xe!HCB zS}m?V)Y9s@`jnV0AFC{{Tp$|ub^U&3<7{#B%2Ri`vZjfeXC7{QY2kcQ1^I8XVcRBwm(|) z*BrQ-KjmPmkZi~iZY^CPoIhGCRIXnud}DuAa9!FZe7xyhA$v}{&~oidA?>yE!pq_f zq5H?%LatlqXxMFXynSbshE_eP zo0^xfv-SkQkAwTVwJd$j%UJ`V~rxRp_c%&Xv62Rf9B{;Rt)%NQS6 zp=DSo2B2M6CcFa{8lY5!OHa!043HkGysVsJ7NA6=L&Is+Cl;xRHwL01Qpuf&x4~gj zG=zUt5ab%=cpc~Td7ci`S41N9T*7AIZ5FHfdFo{&RZ$&ifT|JEfW1I8_^Jc(cqrOX zkL!x$hZ|fX#??1gM?>7>lBc9Bm-CdB + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:41725 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clivi + lwcre + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/d95b17df-51d5-49e2-b00f-794aa29b3972 + clivi + r1i1p1f1 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clivi_lwcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Ice Water Path + Amon + ['atmos'] + clivi + common_grid_clivi_clwvi + CMIP6 + 0 + clivi + atmosphere_mass_content_of_cloud_ice + 2007 + 20070116T120000/20141216T120000 + kg m-2 + clivi + v20190710 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/bef5d705-472e-49d8-9945-fad52a48dd59 + clivi + r1i1p1f1 + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..0d483cc4ff8132d2c80e7c3b8dc16ac223f04a8d GIT binary patch literal 13285 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 W$efdtBj1VV!sGXsZO8NYd;bf}_EN(D literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_provenance.xml new file mode 100644 index 000000000..a6aeb3366 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_provenance.xml @@ -0,0 +1,546 @@ + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/15e6cb00-883d-4b5f-be5c-a3485fe05609 + rlutcs + r1i1p1f1 + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + True + plot_joint_clivi_lwcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + False + mon + gn + MPI-M + TOA Longwave Cloud Radiative Effect + Amon + ['atmos'] + lwcre + common_grid_lwcre + CMIP6 + 0 + lwcre + 2007 + 20070116T120000/20141216T120000 + W m-2 + lwcre + v20190710 + {'short_name': 'lwcre', 'standard_name': '', 'long_name': 'TOA Longwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/614e34c8-0ec4-4d7c-a9be-b49b79f5a416 + rlut + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/d95b17df-51d5-49e2-b00f-794aa29b3972 + clivi + r1i1p1f1 + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/184a785f-7b65-4f71-a04e-e2b2aceccb84 + rlut + r1i1p1f1 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clivi_lwcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Ice Water Path + Amon + ['atmos'] + clivi + common_grid_clivi_clwvi + CMIP6 + 0 + clivi + atmosphere_mass_content_of_cloud_ice + 2007 + 20070116T120000/20141216T120000 + kg m-2 + clivi + v20190710 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/clivi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clivi_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/dcb4d523-c40c-4bd4-a341-89008907d927 + rlutcs + r1i1p1f1 + + + + + + + + 20 + Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:41725 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clivi + lwcre + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/bef5d705-472e-49d8-9945-fad52a48dd59 + clivi + r1i1p1f1 + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..20102bc537ff1676916a6b3b014dfe038d1642f0 GIT binary patch literal 8837 zcmeHNeQZ-z6u<3jM=1|B5i{lUjVU0q+SisLnC-2v>)1lq&2_LJ8KZ$yB^95nACiQbk!=z!zw0=hI2N9XeDumH3XMO94$H z<96s6Oqv>Gu2Eyb<{z|G%Bq)tc7d2bdZNKF4(5yot%Lhy0&{L0SbU2x1(`qu2`Jlw zve)3A*$OM%OgjJLDr(6h&63B6G(xvcBpbOAn!SS&>Fwp+Aj;trc{nxbS5md%h|3d? zC&Fqhlv0u?3p;}y4@Tm1Nn;!a{5|->SWO19fUL*o4g}DxcmW^;9E!`zz5YO1g+CbZ zxP4y43oy?iGu_~KmwSmkfD7^jGR!~V*CoRLGy%`jw)ND67b%7lhJm4kPl8s2T%(Yy z7b9gJLow_Rwr%q*V?l;9AmT%WcEAufhNS8LKoWo%gB^mAWDY4-SExhdKt1mtLG4^b z8NM9rpx;+zK40M}T>ye+^rt`b{u_7V%z~fxD8Z3Hm*iiFkvONU1pNAbO@^0*z@UkyPWc0>`Wv ziO&L;ZLZBRt3Di=T_D;-m(A%(f90pKfCj_@?1jd-mQOiDv8d*y3xK2tNubgiCFxJbkU-!fiQt3b%`t(YxZ0gXuJ6c$(Or zcr2~NQaB=LTC+#qQ<5jz<`n+)ZV%l)-&5fu=aCOyri|JK66_sl zBF$cZY3XVAeyQcTmQlY72c_RG&g4IycSJfmInJ$_c1&7+Sb2Nj!cJ-DU$eg-IrT&7 z=ficG?>%uyI#YMDJNWXe(&nZ0`&T~PCM9-=*0-8BNteIySEwZ$q^f5d=VgDiR@%Ey ztT`KRl1`n!`eyXe2InG?4=m_Wt=m_WtAOv*Zbf+ zTFe-J4TaSw7#~p*HdU`EujHyB9%W2DeJe5Wfn3b-YwRN1m@rNQkP~AVx%?E+#na_BnP@%&!)4&u+ih RVHaJZqi=lof_B@vzX4MYgn0k} literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_provenance.xml new file mode 100644 index 000000000..60c01dbd3 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_provenance.xml @@ -0,0 +1,378 @@ + + + + + + + + 20 + Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:41725 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clivi + lwcre + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/15e6cb00-883d-4b5f-be5c-a3485fe05609 + rlutcs + r1i1p1f1 + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + True + plot_joint_clivi_lwcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc + False + mon + gn + MPI-M + TOA Longwave Cloud Radiative Effect + Amon + ['atmos'] + lwcre + common_grid_lwcre + CMIP6 + 0 + lwcre + 2007 + 20070116T120000/20141216T120000 + W m-2 + lwcre + v20190710 + {'short_name': 'lwcre', 'standard_name': '', 'long_name': 'TOA Longwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110438/preproc/plot_joint_clivi_lwcre_model/lwcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_lwcre_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/614e34c8-0ec4-4d7c-a9be-b49b79f5a416 + rlut + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/184a785f-7b65-4f71-a04e-e2b2aceccb84 + rlut + r1i1p1f1 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/dcb4d523-c40c-4bd4-a341-89008907d927 + rlutcs + r1i1p1f1 + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json new file mode 100644 index 000000000..98e6fd940 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json @@ -0,0 +1,42 @@ +{ + "index": "/executions/recipe_20250527_110438/index.html", + "provenance": { + "environment": {}, + "modeldata": [], + "obsdata": {}, + "log": "/executions/recipe_20250527_110438/run/main_log_debug.txt" + }, + "data": { + "executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc": { + "filename": "executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc", + "long_name": "Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc": { + "filename": "executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc", + "long_name": "Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc": { + "filename": "executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc", + "long_name": "Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "plots": { + "executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png": { + "filename": "executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png", + "long_name": "Scatterplot clivi vs lwcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "html": { + "/executions/recipe_20250527_110438/index.html": { + "filename": "/executions/recipe_20250527_110438/index.html", + "long_name": "Results page", + "description": "Page showing the executions of the ESMValTool run." + } + }, + "metrics": null, + "diagnostics": {} +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml new file mode 100644 index 000000000..8d4130148 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml @@ -0,0 +1,120 @@ +diagnostics: + plot_joint_clivi_lwcre_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clivi + y: lwcre + variables: + clivi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + lwcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_lwcre + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml new file mode 100644 index 000000000..ded86a5a7 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml @@ -0,0 +1,16 @@ +drs: + CMIP6: ESGF + OBS: default + OBS6: default + native6: default + obs4MIPs: ESGF +output_dir: /executions +rootpath: + CMIP6: /climate_data + OBS: /home/bandela/.cache/climate_ref/ESMValTool/OBS + OBS6: /home/bandela/.cache/climate_ref/ESMValTool/OBS + native6: /home/bandela/.cache/climate_ref/ESMValTool/RAWOBS + obs4MIPs: + - /climate_data + - /home/bandela/.cache/climate_ref/ESMValTool +search_esgf: never diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json new file mode 100644 index 000000000..30503d8c2 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json @@ -0,0 +1,9 @@ +{ + "DIMENSIONS": { + "json_structure": [] + }, + "RESULTS": {}, + "PROVENANCE": null, + "DISCLAIMER": null, + "NOTES": null +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/index.html b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/index.html new file mode 100644 index 000000000..3627b6c9f --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/index.html @@ -0,0 +1,415 @@ + + + + + + + + Recipe + + + + + + + + + +

+
+ ESMValTool logo. +
+
+ +

Model evaluation with focus on clouds.

+ +

+ Plot 2D histograms using the Seaborn diagnostic in ESMValTool. +

+ +

Authors

+ + + +

Maintainers

+ + + +

Projects

+ +
    + +
+ +

References

+ +
    + +
+ + + + + +
+ + +
+

Plot_Joint_Clt_Swcre_Model

+

Scatterplot clt vs swcre.

+ + + + +

Plot Joint Clt Swcre Model: Plot

+ + + +
+
+ + Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + +
+ Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + +
+ +

Files

+ +

+ main_log.txt | + main_log_debug.txt | + recipe.yml | + figures | + data +

+ + + + + + \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6319dbfc838dd620b697c3d98ce0b09308e7e8b GIT binary patch literal 119250 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 z∾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⁡%H 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 + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/90394a72-be13-4b12-bd45-25f13612c80f + rsutcs + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + True + plot_joint_clt_swcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + False + mon + gn + MPI-M + TOA Shortwave Cloud Radiative Effect + Amon + ['atmos'] + swcre + common_grid_swcre + CMIP6 + 0 + swcre + 2007 + 20070116T120000/20141216T120000 + W m-2 + swcre + v20190710 + {'short_name': 'swcre', 'standard_name': '', 'long_name': 'TOA Shortwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': -1.0, 'minimum': -200.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/89035efa-6134-49b8-b520-26676ef877e4 + rsutcs + r1i1p1f1 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clt_swcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Total Cloud Cover Percentage + Amon + ['atmos'] + clt + common_grid_clt + CMIP6 + 0 + clt + cloud_area_fraction + 2007 + 20070116T120000/20141216T120000 + % + clt + v20190710 + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc')} + + + 20 + Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:34699 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clt + swcre + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/9dbd8831-4ff0-4bc9-a9e2-ce2f00ee98d2 + rsut + r1i1p1f1 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/800b608d-7022-410a-9ca8-62f554449566 + clt + r1i1p1f1 + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:48Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:48Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/47879960-c01e-4b23-8673-fd5290b4b6da + clt + r1i1p1f1 + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/373ba8f4-3054-41f4-99d9-8d43e87e4726 + rsut + r1i1p1f1 + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/cmor_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/cmor_log.txt new file mode 100644 index 000000000..df62b7d9e --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/cmor_log.txt @@ -0,0 +1,6 @@ +WARNING [147852] There were warnings in variable rsut: + rsut: attribute positive not present +loaded from file +WARNING [147852] There were warnings in variable rsutcs: + rsutcs: attribute positive not present +loaded from file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log.txt new file mode 100644 index 000000000..efa33c815 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log.txt @@ -0,0 +1,103 @@ +INFO [147852] +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +INFO [147852] Package versions +INFO [147852] ---------------- +INFO [147852] ESMValCore: 2.12.0 +INFO [147852] ESMValTool: 2.13.0.dev65+g58fd0b8ec +INFO [147852] ---------------- +INFO [147852] Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +INFO [147852] Writing program log files to: +/executions/recipe_20250527_110519/run/main_log.txt +/executions/recipe_20250527_110519/run/main_log_debug.txt +/executions/recipe_20250527_110519/run/cmor_log.txt +WARNING [147852] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +INFO [147852] Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:19 UTC +INFO [147852] ---------------------------------------------------------------------- +INFO [147852] RECIPE = /recipe.yml +INFO [147852] RUNDIR = /executions/recipe_20250527_110519/run +INFO [147852] WORKDIR = /executions/recipe_20250527_110519/work +INFO [147852] PREPROCDIR = /executions/recipe_20250527_110519/preproc +INFO [147852] PLOTDIR = /executions/recipe_20250527_110519/plots +INFO [147852] ---------------------------------------------------------------------- +INFO [147852] Running tasks using at most 1 processes +INFO [147852] If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +INFO [147852] If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +INFO [147852] Creating tasks from recipe +INFO [147852] Creating tasks for diagnostic plot_joint_clt_swcre_model +INFO [147852] Creating diagnostic task plot_joint_clt_swcre_model/plot +INFO [147852] Creating preprocessor task plot_joint_clt_swcre_model/clt +INFO [147852] Creating preprocessor 'common_grid_clt' task for variable 'clt' +INFO [147852] Found input files for Dataset: clt, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [147852] PreprocessingTask plot_joint_clt_swcre_model/clt created. +INFO [147852] Creating preprocessor task plot_joint_clt_swcre_model/swcre +INFO [147852] Creating preprocessor 'common_grid_swcre' task for variable 'swcre' +INFO [147852] Found input files for Dataset: swcre, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [147852] PreprocessingTask plot_joint_clt_swcre_model/swcre created. +INFO [147852] These tasks will be executed: plot_joint_clt_swcre_model/clt, plot_joint_clt_swcre_model/swcre, plot_joint_clt_swcre_model/plot +INFO [147852] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110519/run/recipe_filled.yml +INFO [147852] Using Dask distributed scheduler (address: tcp://127.0.0.1:34699, dashboard link: http://127.0.0.1:8787/status) +INFO [147852] Running 3 tasks sequentially +INFO [147852] Starting task plot_joint_clt_swcre_model/clt in process [147852] +INFO [147852] Computing and saving data for preprocessing task plot_joint_clt_swcre_model/clt +INFO [147852] Successfully completed task plot_joint_clt_swcre_model/clt (priority 1) in 0:00:01.587400 +INFO [147852] Starting task plot_joint_clt_swcre_model/swcre in process [147852] +INFO [147852] Computing and saving data for preprocessing task plot_joint_clt_swcre_model/swcre +INFO [147852] Successfully completed task plot_joint_clt_swcre_model/swcre (priority 2) in 0:00:01.012214 +INFO [147852] Starting task plot_joint_clt_swcre_model/plot in process [147852] +INFO [147852] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml'] +INFO [147852] Writing output to /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot +INFO [147852] Writing plots to /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot +INFO [147852] Writing log to /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt +INFO [147852] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml +INFO [147852] Maximum memory used (estimate): 0.4 GB +INFO [147852] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [147852] Successfully completed task plot_joint_clt_swcre_model/plot (priority 0) in 0:00:03.338362 +INFO [147852] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110519/run/recipe_filled.yml +INFO [147852] Wrote recipe output to: +file:///executions/recipe_20250527_110519/index.html +INFO [147852] Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:26 UTC +INFO [147852] Time for running the recipe was: 0:00:06.939791 +INFO [147852] Maximum memory used (estimate): 1.5 GB +INFO [147852] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [147852] Removing `preproc` directory containing preprocessed data +INFO [147852] If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +WARNING [147852] Input data is not (fully) CMOR-compliant, see /executions/recipe_20250527_110519/run/cmor_log.txt for details +INFO [147852] Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log_debug.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log_debug.txt new file mode 100644 index 000000000..77e05dfc8 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log_debug.txt @@ -0,0 +1,1862 @@ +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:576 +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:577 Package versions +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:578 ---------------- +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:579 ESMValCore: 2.12.0 +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:581 ESMValTool: 2.13.0.dev65+g58fd0b8ec +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:582 ---------------- +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:583 Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +2025-05-27 11:05:19,164 UTC [147852] INFO esmvalcore._main:587 Writing program log files to: +/executions/recipe_20250527_110519/run/main_log.txt +/executions/recipe_20250527_110519/run/main_log_debug.txt +/executions/recipe_20250527_110519/run/cmor_log.txt +2025-05-27 11:05:19,272 UTC [147852] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +2025-05-27 11:05:19,301 UTC [147852] INFO esmvalcore._main:93 Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:19 UTC +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:98 ---------------------------------------------------------------------- +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:99 RECIPE = /recipe.yml +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:100 RUNDIR = /executions/recipe_20250527_110519/run +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:101 WORKDIR = /executions/recipe_20250527_110519/work +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:102 PREPROCDIR = /executions/recipe_20250527_110519/preproc +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:103 PLOTDIR = /executions/recipe_20250527_110519/plots +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:104 ---------------------------------------------------------------------- +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:107 Running tasks using at most 1 processes +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:109 If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +2025-05-27 11:05:19,302 UTC [147852] INFO esmvalcore._main:113 If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +2025-05-27 11:05:19,302 UTC [147852] DEBUG esmvalcore._recipe.check:67 Checking recipe against schema /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/_recipe/recipe_schema.yml +2025-05-27 11:05:19,312 UTC [147852] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable clt in diagnostic plot_joint_clt_swcre_model +2025-05-27 11:05:19,313 UTC [147852] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: clt, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:05:19,313 UTC [147852] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable swcre in diagnostic plot_joint_clt_swcre_model +2025-05-27 11:05:19,313 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/swcre/gn/*/swcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,313 UTC [147852] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: swcre, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:05:19,314 UTC [147852] DEBUG esmvalcore._recipe.recipe:879 Retrieving diagnostics from recipe +2025-05-27 11:05:19,314 UTC [147852] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_clt_swcre_model +2025-05-27 11:05:19,314 UTC [147852] INFO esmvalcore._recipe.recipe:1119 Creating tasks from recipe +2025-05-27 11:05:19,314 UTC [147852] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_clt_swcre_model +2025-05-27 11:05:19,314 UTC [147852] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_clt_swcre_model/plot +2025-05-27 11:05:19,314 UTC [147852] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:05:19,314 UTC [147852] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clt_swcre_model/clt +2025-05-27 11:05:19,314 UTC [147852] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_clt' task for variable 'clt' +2025-05-27 11:05:19,314 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/*/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,315 UTC [147852] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable clt of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:19,315 UTC [147852] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: clt, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:05:19,315 UTC [147852] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clt_swcre_model/clt created. +2025-05-27 11:05:19,315 UTC [147852] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clt_swcre_model/clt will create the files: +/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:19,315 UTC [147852] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clt_swcre_model/swcre +2025-05-27 11:05:19,315 UTC [147852] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_swcre' task for variable 'swcre' +2025-05-27 11:05:19,316 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/swcre/gn/*/swcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,316 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/swcre/gn/*/swcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,316 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/swcre/gn/*/swcre_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,316 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/*/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,317 UTC [147852] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/*/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:19,317 UTC [147852] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rsut of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:19,317 UTC [147852] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rsutcs of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:19,317 UTC [147852] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: swcre, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:05:19,317 UTC [147852] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clt_swcre_model/swcre created. +2025-05-27 11:05:19,317 UTC [147852] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clt_swcre_model/swcre will create the files: +/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:19,317 UTC [147852] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_clt_swcre_model script plot +2025-05-27 11:05:19,317 UTC [147852] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clt_swcre_model/clt matches ['plot_joint_clt_swcre_model/clt'] +2025-05-27 11:05:19,318 UTC [147852] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clt_swcre_model/swcre matches ['plot_joint_clt_swcre_model/swcre'] +2025-05-27 11:05:19,318 UTC [147852] INFO esmvalcore._recipe.recipe:1171 These tasks will be executed: plot_joint_clt_swcre_model/clt, plot_joint_clt_swcre_model/swcre, plot_joint_clt_swcre_model/plot +2025-05-27 11:05:19,318 UTC [147852] DEBUG esmvalcore._main:133 Recipe summary: +DiagnosticTask: plot_joint_clt_swcre_model/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.015}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot', + 'plot_filename': 'jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot', + 'x': 'clt', + 'y': 'swcre'} +ancestors: + PreprocessingTask: plot_joint_clt_swcre_model/clt + order: ['mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'mask_outside_range': {'maximum': 100.0, 'minimum': 1.0}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_clt_swcre_model/swcre + order: ['derive', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'derive': {'long_name': 'TOA Shortwave Cloud Radiative Effect', + 'short_name': 'swcre', + 'standard_name': '', + 'units': 'W m-2'}, + 'mask_outside_range': {'maximum': -1.0, 'minimum': -200.0}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + +2025-05-27 11:05:19,322 UTC [147852] INFO esmvalcore._recipe.recipe:1238 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110519/run/recipe_filled.yml +2025-05-27 11:05:19,322 UTC [147852] DEBUG esmvalcore.config._dask:170 Using Dask profile 'local_distributed' +2025-05-27 11:05:19,322 UTC [147852] DEBUG esmvalcore.config._dask:174 Using additional Dask settings {} +2025-05-27 11:05:19,322 UTC [147852] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:20,016 UTC [147852] DEBUG esmvalcore.config._dask:192 Using Dask cluster LocalCluster(3a7fc56d, 'tcp://127.0.0.1:34699', workers=2, threads=4, memory=8.00 GiB) +2025-05-27 11:05:20,017 UTC [147852] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:20,020 UTC [147852] INFO esmvalcore.config._dask:205 Using Dask distributed scheduler (address: tcp://127.0.0.1:34699, dashboard link: http://127.0.0.1:8787/status) +2025-05-27 11:05:20,021 UTC [147852] INFO esmvalcore._task:844 Running 3 tasks sequentially +2025-05-27 11:05:20,021 UTC [147852] INFO esmvalcore._task:289 Starting task plot_joint_clt_swcre_model/clt in process [147852] +2025-05-27 11:05:20,026 UTC [147852] DEBUG esmvalcore.preprocessor:716 Running block ['mask_outside_range', 'regrid'] +2025-05-27 11:05:20,026 UTC [147852] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:20,027 UTC [147852] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:05:20,027 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:05:20,027 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110519/preproc/fixed_files/clt_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Cover Percentage', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:20,028 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110519/preproc/fixed_files/clt_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Cover Percentage', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:20,028 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:05:20,028 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:20,028 UTC [147852] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:20,038 UTC [147852] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:20,039 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:20,039 UTC [147852] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:20,046 UTC [147852] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:20,046 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:05:20,048 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Cover Percentage', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:20,049 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:05:20,050 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:05:20,051 UTC [147852] DEBUG esmvalcore.preprocessor._io:235 Using cloud_area_fraction / (%) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_units '1' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clt' + variant_label 'r1i1p1f1' +2025-05-27 11:05:20,052 UTC [147852] DEBUG esmvalcore.preprocessor._io:279 Using cloud_area_fraction / (%) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_units '1' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clt' + variant_label 'r1i1p1f1' +2025-05-27 11:05:20,056 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:05:20,057 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'clt' +2025-05-27 11:05:20,058 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:05:20,058 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:05:20,061 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:05:20,062 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Cover Percentage', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:20,062 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:05:20,062 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'clt' +2025-05-27 11:05:20,063 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:05:20,063 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:05:20,063 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:05:20,064 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 100.0, +minimum = 1.0 +2025-05-27 11:05:20,064 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:05:20,065 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:05:20,065 UTC [147852] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:05:20,654 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:05:20,655 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clt/gn/v20190710/clt_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:05:20,655 UTC [147852] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +cloud_area_fraction / (%) (time: 96; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_units '1' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clt' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:20,687 UTC [147852] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clt_swcre_model/clt +2025-05-27 11:05:20,690 UTC [147852] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:21,608 UTC [147852] INFO esmvalcore._task:295 Successfully completed task plot_joint_clt_swcre_model/clt (priority 1) in 0:00:01.587400 +2025-05-27 11:05:21,608 UTC [147852] INFO esmvalcore._task:289 Starting task plot_joint_clt_swcre_model/swcre in process [147852] +2025-05-27 11:05:21,620 UTC [147852] DEBUG esmvalcore.preprocessor:716 Running block ['derive', 'mask_outside_range', 'regrid'] +2025-05-27 11:05:21,620 UTC [147852] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:21,620 UTC [147852] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:05:21,621 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:05:21,621 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110519/preproc/fixed_files/rsut_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,621 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110519/preproc/fixed_files/rsut_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,621 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:05:21,622 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:21,622 UTC [147852] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:21,630 UTC [147852] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:21,630 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:21,630 UTC [147852] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:21,637 UTC [147852] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:21,637 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:05:21,639 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,639 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:05:21,640 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:05:21,641 UTC [147852] DEBUG esmvalcore.preprocessor._io:235 Using toa_outgoing_shortwave_flux / (W m-2) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rsut' + variant_label 'r1i1p1f1' +2025-05-27 11:05:21,642 UTC [147852] DEBUG esmvalcore.preprocessor._io:279 Using toa_outgoing_shortwave_flux / (W m-2) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rsut' + variant_label 'r1i1p1f1' +2025-05-27 11:05:21,645 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:05:21,646 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsut' +2025-05-27 11:05:21,646 UTC [147852] WARNING esmvalcore.cmor.check:223 There were warnings in variable rsut: + rsut: attribute positive not present +loaded from file +2025-05-27 11:05:21,646 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:05:21,647 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:05:21,648 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:05:21,649 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsut', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,649 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:05:21,650 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsut' +2025-05-27 11:05:21,650 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:05:21,650 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:05:21,650 UTC [147852] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:05:21,650 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:05:21,651 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110519/preproc/fixed_files/rsutcs_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,651 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110519/preproc/fixed_files/rsutcs_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,651 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:05:21,651 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:21,651 UTC [147852] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:21,658 UTC [147852] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:21,658 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:21,658 UTC [147852] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:21,665 UTC [147852] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:21,665 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:05:21,667 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,667 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:05:21,669 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:05:21,669 UTC [147852] DEBUG esmvalcore.preprocessor._io:235 Using toa_outgoing_shortwave_flux_assuming_clear_sky / (W m-2) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_name 'rsutcs' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rsutcs' + variant_label 'r1i1p1f1' +2025-05-27 11:05:21,670 UTC [147852] DEBUG esmvalcore.preprocessor._io:279 Using toa_outgoing_shortwave_flux_assuming_clear_sky / (W m-2) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_name 'rsutcs' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'rsutcs' + variant_label 'r1i1p1f1' +2025-05-27 11:05:21,672 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:05:21,673 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsutcs' +2025-05-27 11:05:21,674 UTC [147852] WARNING esmvalcore.cmor.check:223 There were warnings in variable rsutcs: + rsutcs: attribute positive not present +loaded from file +2025-05-27 11:05:21,674 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:05:21,674 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:05:21,676 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:05:21,677 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'rsutcs', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:21,677 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:05:21,677 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsutcs' +2025-05-27 11:05:21,677 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:05:21,678 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:05:21,678 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step derive +2025-05-27 11:05:21,679 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'derive' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +short_name = 'swcre', +standard_name = '', +long_name = 'TOA Shortwave Cloud Radiative Effect', +units = 'W m-2' +2025-05-27 11:05:21,682 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:05:21,683 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = -1.0, +minimum = -200.0 +2025-05-27 11:05:21,683 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:05:21,684 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:05:21,684 UTC [147852] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:05:22,243 UTC [147852] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:05:22,243 UTC [147852] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsut/gn/v20190710/rsut_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/rsutcs/gn/v20190710/rsutcs_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:05:22,244 UTC [147852] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +TOA Shortwave Cloud Radiative Effect / (W m-2) (time: 96; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_name 'rsutcs' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + positive 'down' + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:22,252 UTC [147852] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clt_swcre_model/swcre +2025-05-27 11:05:22,255 UTC [147852] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:22,621 UTC [147852] INFO esmvalcore._task:295 Successfully completed task plot_joint_clt_swcre_model/swcre (priority 2) in 0:00:01.012214 +2025-05-27 11:05:22,621 UTC [147852] INFO esmvalcore._task:289 Starting task plot_joint_clt_swcre_model/plot in process [147852] +2025-05-27 11:05:22,623 UTC [147852] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml'] +2025-05-27 11:05:22,624 UTC [147852] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:05:22,624 UTC [147852] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot +2025-05-27 11:05:22,624 UTC [147852] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot +2025-05-27 11:05:22,624 UTC [147852] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot +2025-05-27 11:05:22,624 UTC [147852] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt +2025-05-27 11:05:22,624 UTC [147852] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml +2025-05-27 11:05:25,651 UTC [147852] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:05:25,652 UTC [147852] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:05:25,652 UTC [147852] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:05:25,652 UTC [147852] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml +2025-05-27 11:05:25,663 UTC [147852] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): cera-www.dkrz.de:443 +2025-05-27 11:05:25,723 UTC [147852] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 280 +2025-05-27 11:05:25,740 UTC [147852] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 282 +2025-05-27 11:05:25,741 UTC [147852] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): www.wdc-climate.de:443 +2025-05-27 11:05:25,815 UTC [147852] DEBUG urllib3.connectionpool:546 https://www.wdc-climate.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 200 36807 +2025-05-27 11:05:25,845 UTC [147852] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:05:25,845 UTC [147852] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:05:25,845 UTC [147852] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:05:25,845 UTC [147852] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:05:25,959 UTC [147852] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_clt_swcre_model/plot took 0.3 seconds +2025-05-27 11:05:25,959 UTC [147852] INFO esmvalcore._task:295 Successfully completed task plot_joint_clt_swcre_model/plot (priority 0) in 0:00:03.338362 +2025-05-27 11:05:26,200 UTC [147852] INFO esmvalcore._recipe.recipe:1201 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110519/run/recipe_filled.yml +2025-05-27 11:05:26,241 UTC [147852] INFO esmvalcore.experimental.recipe_output:280 Wrote recipe output to: +file:///executions/recipe_20250527_110519/index.html +2025-05-27 11:05:26,241 UTC [147852] INFO esmvalcore._main:138 Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:26 UTC +2025-05-27 11:05:26,241 UTC [147852] INFO esmvalcore._main:142 Time for running the recipe was: 0:00:06.939791 +2025-05-27 11:05:27,222 UTC [147852] INFO esmvalcore._task:141 Maximum memory used (estimate): 1.5 GB +2025-05-27 11:05:27,223 UTC [147852] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:05:27,225 UTC [147852] INFO esmvalcore._main:518 Removing `preproc` directory containing preprocessed data +2025-05-27 11:05:27,225 UTC [147852] INFO esmvalcore._main:521 If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +2025-05-27 11:05:27,231 UTC [147852] WARNING esmvalcore._main:491 Input data is not (fully) CMOR-compliant, see /executions/recipe_20250527_110519/run/cmor_log.txt for details +2025-05-27 11:05:27,231 UTC [147852] INFO esmvalcore._main:496 Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..4164abd42 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +: ancestors: + - /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc +: ancestors: + - /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt new file mode 100644 index 000000000..d4f83e7e6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt @@ -0,0 +1,96 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + diagnostic: plot_joint_clt_swcre_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + frequency: mon + grid: gn + institute: MPI-M + long_name: Total Cloud Cover Percentage + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_clt + project: CMIP6 + recipe_dataset_index: 0 + short_name: clt + standard_name: cloud_area_fraction + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: '%' + variable_group: clt + version: v20190710 + ? /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + derive: true + diagnostic: plot_joint_clt_swcre_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + force_derivation: false + frequency: mon + grid: gn + institute: MPI-M + long_name: TOA Shortwave Cloud Radiative Effect + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_swcre + project: CMIP6 + recipe_dataset_index: 0 + short_name: swcre + standard_name: '' + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: W m-2 + variable_group: swcre + version: v20190710 +input_files: +- /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/metadata.yml +- /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.015 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot +plot_filename: jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot +scheduler_address: tcp://127.0.0.1:34699 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +version: 2.12.0 +work_dir: /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot +x: clt +y: swcre + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/resource_usage.txt new file mode 100644 index 000000000..09a1b8e74 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/resource_usage.txt @@ -0,0 +1,3 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:05:23.647404 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:05:24.651788 2.0 1.8 83 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml new file mode 100644 index 000000000..4e86b459d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.015 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +x: clt +y: swcre +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot +plot_dir: /executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot +work_dir: /executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:34699 +input_files: +- /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/metadata.yml +- /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe.yml new file mode 100644 index 000000000..7208c2370 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe.yml @@ -0,0 +1,120 @@ +diagnostics: + plot_joint_clt_swcre_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clt vs swcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.015 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clt + y: swcre + variables: + clt: + exp: historical + mip: Amon + preprocessor: common_grid_clt + timerange: 2007/2011 + swcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_swcre + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe_filled.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe_filled.yml new file mode 100644 index 000000000..3530d4b8d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/recipe_filled.yml @@ -0,0 +1,154 @@ +diagnostics: + plot_joint_clt_swcre_model: + description: Scatterplot clt vs swcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.015 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clt + y: swcre + variables: + clt: + exp: historical + mip: Amon + preprocessor: common_grid_clt + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 + swcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_swcre + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_ta: + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + default: {} +regridding: + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 +timerange_for_data: + timerange: 2007/2011 +datasets: +- dataset: MPI-ESM1-2-LR diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/resource_usage.txt new file mode 100644 index 000000000..45f43988c --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/resource_usage.txt @@ -0,0 +1,8 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:05:20.174374 1.0 4.8 0 0.7 5 0.0 0.0 +2025-05-27 11:05:21.179354 2.0 6.4 57 1.1 7 0.0 0.0 +2025-05-27 11:05:22.184314 3.0 7.6 63 1.1 8 0.0 0.0 +2025-05-27 11:05:23.189183 4.0 8.8 16 1.3 9 0.0 0.0 +2025-05-27 11:05:24.193950 5.0 10.0 5 1.5 10 0.0 0.0 +2025-05-27 11:05:25.198938 6.0 11.2 8 1.5 10 0.0 0.0 +2025-05-27 11:05:26.222475 7.1 11.5 22 0.5 4 0.001 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..e216057bf342c56a9d7e0b81798624460b64cd6c GIT binary patch literal 8835 zcmeHNeN0nV6hG}NSZf6*8b6s2ViX;8ZLR43z(-#x9}xI^gLGDkN5n$Gg?Z(A^GABtB_ya_e9A~| z(t{3%B#QXd8EA#PO{@tkzWPvHiPpvZjf?cy3ovOCK9{SD7GMQSB0kv4Y{X9jwg7mU zg2d_gqBE$=KtgpW;#+f1?FF@YRsX~B)clFFb-F3osn@A5ne77y^umW5JWt3UQvnL<1H%n z_`EJ>u^Y@HwhNHJCU~4BZaN;}#qkt0qC2mA@nYbgCXiNE-ncPqFT-%w7%-H`PFQlm zF##L{1gV51hT%}K?JF=¥ps22e`uu2L?((r#EiNGWghY%#WL-In6q0w<*p7)Gn zc2+V)4#!{MkJjW}rLMx|I4}Voimc;ZwI4kvJkEaRc^D1?jANdwj;@Xb;?#F0vgDxe zeAUrBUPaxXNPDreI77k+8$)Nhg9UHV0$zP&ATb z&y3Lc%yC$rv)D811GS5DY!;itvdGo^t%t<|42uPvi-l`7pVCIjCweysCWa=6bQ-iX zH5Ts^81X1$P5`!1yXvNTbtCk~n7vOEFiD*`Ox0JpQW4&Nk6C6!q8dAed<~Y_^Otpg zL%l>|3Uhm8s^*g62y6wpIz{s57m0IRdHG@>)EJDQzr^a*iWrG1LtV}OSjb-;4q8NB z?C|4PFD)B%-CVRmPp%n$1#;JotdIR_)BWgAFJFw=h9mfoCYpdp|kpdp|kpdp|kpdp|kpdp|kpdp|kpds+&5y-zgXK}cr zLGtMuPKWoek!JR;IB_?=Ug~)ezB%RkX6fg)2fY10qREnC`%P7+FEmR!y-jq=m>N=>1x4UGNsi#j;nb3YgMuEnwa^(+oxrQ4? z=Z9S@oX2u^IA1w@&RI46j&nx0K{l+JF5l0}lyCJ)@|Cx}@`=(q`JIHd^5vDA2804bBi2dvz|Kg}j2j@;0$pX;SWuUyN zxr&h)W9LvfKf(2I4h1b3UPo@C`%Z~|_}O!jm?5Q%DKNLUXgsb zAvVXwcuP$zC}y}yipsLZlCq*Kval`7o>g2f#%v*5ldaY!) + + + + + + + + + + + + 20 + Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:34699 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clt + swcre + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clt_swcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Total Cloud Cover Percentage + Amon + ['atmos'] + clt + common_grid_clt + CMIP6 + 0 + clt + cloud_area_fraction + 2007 + 20070116T120000/20141216T120000 + % + clt + v20190710 + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc')} + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/800b608d-7022-410a-9ca8-62f554449566 + clt + r1i1p1f1 + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:48Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:48Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/47879960-c01e-4b23-8673-fd5290b4b6da + clt + r1i1p1f1 + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..a60f28654eb7e4d784f2eae702bd76c0420171b7 GIT binary patch literal 13283 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 Zyk_x;CwF%@zB^CA<3G(iEpQ)y=|3d+*rNad literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_provenance.xml new file mode 100644 index 000000000..639427776 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_provenance.xml @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/90394a72-be13-4b12-bd45-25f13612c80f + rsutcs + r1i1p1f1 + + + + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + True + plot_joint_clt_swcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + False + mon + gn + MPI-M + TOA Shortwave Cloud Radiative Effect + Amon + ['atmos'] + swcre + common_grid_swcre + CMIP6 + 0 + swcre + 2007 + 20070116T120000/20141216T120000 + W m-2 + swcre + v20190710 + {'short_name': 'swcre', 'standard_name': '', 'long_name': 'TOA Shortwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': -1.0, 'minimum': -200.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/89035efa-6134-49b8-b520-26676ef877e4 + rsutcs + r1i1p1f1 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clt_swcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Total Cloud Cover Percentage + Amon + ['atmos'] + clt + common_grid_clt + CMIP6 + 0 + clt + cloud_area_fraction + 2007 + 20070116T120000/20141216T120000 + % + clt + v20190710 + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/clt/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clt_gn_20070116T120000-20141216T120000.nc')} + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/9dbd8831-4ff0-4bc9-a9e2-ce2f00ee98d2 + rsut + r1i1p1f1 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + 20 + Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:34699 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clt + swcre + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/800b608d-7022-410a-9ca8-62f554449566 + clt + r1i1p1f1 + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:48Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:48Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/47879960-c01e-4b23-8673-fd5290b4b6da + clt + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/373ba8f4-3054-41f4-99d9-8d43e87e4726 + rsut + r1i1p1f1 + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..3eee424bc1b2f5b67aec55a8f94778cac630c491 GIT binary patch literal 8835 zcmeHNeQZ-z6hHk~ncZWX3`Aj*$1uX&R{I4=bUfx;$C|BOw=VoK(b26f>)6`Tc3Vuq z=`;#Rbb+8@2AIY#mf5LE;~Vpa}#MhzJrjQz7%7d*9vWGU7V zOyx!`Xi&sJV^vF zKON?GkzSe+S9FiD`5Rl9CH0CWTd6d_yj;3bH%qa1Dk5WJLMe*s$cX};+Tac(n*2e# z9ErsIp|CFzh(k7U20tE+B2kQe&T4mq zS1zq`fFR<$4${~Lcd5%kV$7tR1fiJXLO4cIfl zK1PsA%VZc%1l#_#>2pv+Nc}q7ntu;Fic1-c#1mbGo}ZPk0o=K?k##=NcpJVSk+Z&PY^_`>vr8 zr=k1z_Bp^4N;wirHeP-hEfO3!gLkD-)8Ljpu}Cx!ON2<+Vf5q^LX91PSUeO7mspF! zG(Jo0rd1|uQL{g|yu@O%*iAOM4EKC7%{glTY+*&>0z;AkuBHi?Nw_ zpTLM$nQ;QJgLWxyYE}+HZ_L>HGyyY}os(GedN~i_{r8wuGlQ&V*f5l3L_$ipd;Kc7gPBbSwn{!m*WjQ$cE+Y@3ql9*WP@Wn#D#@2vIq+Mo=-IaVCEM*}hu*8-l z;f_E!K_Y^sHGkyg@?wi=W&O$P7uoi;a&;9wkACoSWz05|;2)tJT*a*Mc@D_bc?A@D zN7N&6K^&0Qlf}6DUqwJgKt(`BKt(`BKt(`BKt(`BKt(`BKt(`B;NBxJkZC;dja8CN zuw&rsLmufuPXFK=sep7WW5G)WZS7Ldwb2J^-g!mpGVR-)<=Q5V)Q&zq46jQ?(ZZd_ zpW7{6sefkl=fOSFwkvs047m47KYqJOTz{xfa$Wu9MzHMz>9xWP+tN?^rOYK6<`=q; zNCoG%9@2j_Ac?&-uiorBAvp~r^1F?vq)VX;h%pL%Z}myQqTUi{(cmlE`p zr)-Cxq7*!1O(FGOTSjSESd>D7qIr~Tl^H3dV2g&5E$4a?X>ZMWO3?FF5-E7*D5W8x zFNtKW+)2rvvpI6bd`M|TFr7vMc=5B|1Er~XNGY|?i4WODDdgUPYNx01n@?qqMxv&4qw{;fpksn74d$JG;51XKi61XKi61OTwEz^gU9RL#H37g~8G!;F=TT1UB~*5Q^N z4YZQ6f|LZXXyErHeDOeHqNFiii-L4qXJ7n_(^fio?Sxh!h-~zrp4Lr;^{kjN^BM}T zPjF5(Di=WuCXcZ;k-X^APQLpZEX + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/90394a72-be13-4b12-bd45-25f13612c80f + rsutcs + r1i1p1f1 + + + + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + True + plot_joint_clt_swcre_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc + False + mon + gn + MPI-M + TOA Shortwave Cloud Radiative Effect + Amon + ['atmos'] + swcre + common_grid_swcre + CMIP6 + 0 + swcre + 2007 + 20070116T120000/20141216T120000 + W m-2 + swcre + v20190710 + {'short_name': 'swcre', 'standard_name': '', 'long_name': 'TOA Shortwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': -1.0, 'minimum': -200.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110519/preproc/plot_joint_clt_swcre_model/swcre/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_swcre_gn_20070116T120000-20141216T120000.nc')} + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/89035efa-6134-49b8-b520-26676ef877e4 + rsutcs + r1i1p1f1 + + + 20 + Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:34699 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clt + swcre + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:52Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:52Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/9dbd8831-4ff0-4bc9-a9e2-ce2f00ee98d2 + rsut + r1i1p1f1 + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/373ba8f4-3054-41f4-99d9-8d43e87e4726 + rsut + r1i1p1f1 + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json new file mode 100644 index 000000000..9f1c2e108 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json @@ -0,0 +1,42 @@ +{ + "index": "/executions/recipe_20250527_110519/index.html", + "provenance": { + "environment": {}, + "modeldata": [], + "obsdata": {}, + "log": "/executions/recipe_20250527_110519/run/main_log_debug.txt" + }, + "data": { + "executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc": { + "filename": "executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc", + "long_name": "Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc": { + "filename": "executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc", + "long_name": "Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc": { + "filename": "executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc", + "long_name": "Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "plots": { + "executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png": { + "filename": "executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png", + "long_name": "Scatterplot clt vs swcre (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "html": { + "/executions/recipe_20250527_110519/index.html": { + "filename": "/executions/recipe_20250527_110519/index.html", + "long_name": "Results page", + "description": "Page showing the executions of the ESMValTool run." + } + }, + "metrics": null, + "diagnostics": {} +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml new file mode 100644 index 000000000..7208c2370 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml @@ -0,0 +1,120 @@ +diagnostics: + plot_joint_clt_swcre_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clt vs swcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.015 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clt + y: swcre + variables: + clt: + exp: historical + mip: Amon + preprocessor: common_grid_clt + timerange: 2007/2011 + swcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_swcre + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml new file mode 100644 index 000000000..ded86a5a7 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml @@ -0,0 +1,16 @@ +drs: + CMIP6: ESGF + OBS: default + OBS6: default + native6: default + obs4MIPs: ESGF +output_dir: /executions +rootpath: + CMIP6: /climate_data + OBS: /home/bandela/.cache/climate_ref/ESMValTool/OBS + OBS6: /home/bandela/.cache/climate_ref/ESMValTool/OBS + native6: /home/bandela/.cache/climate_ref/ESMValTool/RAWOBS + obs4MIPs: + - /climate_data + - /home/bandela/.cache/climate_ref/ESMValTool +search_esgf: never diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json new file mode 100644 index 000000000..30503d8c2 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json @@ -0,0 +1,9 @@ +{ + "DIMENSIONS": { + "json_structure": [] + }, + "RESULTS": {}, + "PROVENANCE": null, + "DISCLAIMER": null, + "NOTES": null +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/index.html b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/index.html new file mode 100644 index 000000000..2d5617c47 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/index.html @@ -0,0 +1,415 @@ + + + + + + + + Recipe + + + + + + + + + +

+
+ ESMValTool logo. +
+
+ +

Model evaluation with focus on clouds.

+ +

+ Plot 2D histograms using the Seaborn diagnostic in ESMValTool. +

+ +

Authors

+ +
+ +

Maintainers

+ + + +

Projects

+ +
    + +
+ +

References

+ +
    + +
+ + + + + +
+ + +
+

Plot_Joint_Clwvi_Pr_Model

+

Scatterplot clwvi vs pr.

+ + + + +

Plot Joint Clwvi Pr Model: Plot

+ + + +
+
+ + Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + +
+ Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + +
+ +

Files

+ +

+ main_log.txt | + main_log_debug.txt | + recipe.yml | + figures | + data +

+ + + + + + \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png new file mode 100644 index 0000000000000000000000000000000000000000..be0d3ceb8add858a4b904af7f535a1113e224ddd GIT binary patch literal 111364 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%0DvpvDS%Jn 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

V8jjt)Go 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]gc!|I_|Qvr!r2Iw&vbj~o%{li%!uxR9G2 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ξ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 Mm0D5rzxn=u0Y6w?O#lD@ literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml new file mode 100644 index 000000000..7817e7bcf --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml @@ -0,0 +1,419 @@ + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/09392905-ec0b-44a5-b057-03dd00eb385f + pr + r1i1p1f1 + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + 20 + Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:37813 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clwvi + pr + + + + + + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/532c7403-d46c-40c0-90fb-37ea254a25b1 + clwvi + r1i1p1f1 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clwvi_pr_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Condensed Water Path + Amon + ['atmos'] + clwvi + common_grid_clivi_clwvi + CMIP6 + 0 + clwvi + atmosphere_mass_content_of_cloud_condensed_water + 2007 + 20070116T120000/20141216T120000 + kg m-2 + clwvi + v20190710 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/deb50b50-444c-4b37-af69-75885813cd21 + clwvi + r1i1p1f1 + + + + + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clwvi_pr_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Precipitation + Amon + ['atmos'] + pr + common_grid_pr + CMIP6 + 0 + pr + precipitation_flux + 2007 + 20070116T120000/20141216T120000 + kg m-2 s-1 + pr + v20190710 + {'units': 'mm day-1'} + {'maximum': 4, 'minimum': 0.1} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc')} + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/11574760-d9ab-46f5-b547-0fa3cae46d43 + pr + r1i1p1f1 + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/cmor_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/cmor_log.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log.txt new file mode 100644 index 000000000..53b8f8b2c --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log.txt @@ -0,0 +1,102 @@ +INFO [148053] +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +INFO [148053] Package versions +INFO [148053] ---------------- +INFO [148053] ESMValCore: 2.12.0 +INFO [148053] ESMValTool: 2.13.0.dev65+g58fd0b8ec +INFO [148053] ---------------- +INFO [148053] Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +INFO [148053] Writing program log files to: +/executions/recipe_20250527_110544/run/main_log.txt +/executions/recipe_20250527_110544/run/main_log_debug.txt +/executions/recipe_20250527_110544/run/cmor_log.txt +WARNING [148053] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +INFO [148053] Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:44 UTC +INFO [148053] ---------------------------------------------------------------------- +INFO [148053] RECIPE = /recipe.yml +INFO [148053] RUNDIR = /executions/recipe_20250527_110544/run +INFO [148053] WORKDIR = /executions/recipe_20250527_110544/work +INFO [148053] PREPROCDIR = /executions/recipe_20250527_110544/preproc +INFO [148053] PLOTDIR = /executions/recipe_20250527_110544/plots +INFO [148053] ---------------------------------------------------------------------- +INFO [148053] Running tasks using at most 1 processes +INFO [148053] If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +INFO [148053] If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +INFO [148053] Creating tasks from recipe +INFO [148053] Creating tasks for diagnostic plot_joint_clwvi_pr_model +INFO [148053] Creating diagnostic task plot_joint_clwvi_pr_model/plot +INFO [148053] Creating preprocessor task plot_joint_clwvi_pr_model/clwvi +INFO [148053] Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clwvi' +INFO [148053] Found input files for Dataset: clwvi, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [148053] PreprocessingTask plot_joint_clwvi_pr_model/clwvi created. +INFO [148053] Creating preprocessor task plot_joint_clwvi_pr_model/pr +INFO [148053] Creating preprocessor 'common_grid_pr' task for variable 'pr' +INFO [148053] Found input files for Dataset: pr, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +INFO [148053] PreprocessingTask plot_joint_clwvi_pr_model/pr created. +INFO [148053] These tasks will be executed: plot_joint_clwvi_pr_model/clwvi, plot_joint_clwvi_pr_model/plot, plot_joint_clwvi_pr_model/pr +INFO [148053] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110544/run/recipe_filled.yml +INFO [148053] Using Dask distributed scheduler (address: tcp://127.0.0.1:37813, dashboard link: http://127.0.0.1:8787/status) +INFO [148053] Running 3 tasks sequentially +INFO [148053] Starting task plot_joint_clwvi_pr_model/clwvi in process [148053] +INFO [148053] Computing and saving data for preprocessing task plot_joint_clwvi_pr_model/clwvi +INFO [148053] Successfully completed task plot_joint_clwvi_pr_model/clwvi (priority 1) in 0:00:01.475232 +INFO [148053] Starting task plot_joint_clwvi_pr_model/pr in process [148053] +INFO [148053] Computing and saving data for preprocessing task plot_joint_clwvi_pr_model/pr +INFO [148053] Successfully completed task plot_joint_clwvi_pr_model/pr (priority 2) in 0:00:00.975231 +INFO [148053] Starting task plot_joint_clwvi_pr_model/plot in process [148053] +INFO [148053] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml'] +INFO [148053] Writing output to /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot +INFO [148053] Writing plots to /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot +INFO [148053] Writing log to /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt +INFO [148053] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml +INFO [148053] Maximum memory used (estimate): 0.4 GB +INFO [148053] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [148053] Successfully completed task plot_joint_clwvi_pr_model/plot (priority 0) in 0:00:03.419684 +INFO [148053] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110544/run/recipe_filled.yml +INFO [148053] Wrote recipe output to: +file:///executions/recipe_20250527_110544/index.html +INFO [148053] Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:51 UTC +INFO [148053] Time for running the recipe was: 0:00:06.940094 +INFO [148053] Maximum memory used (estimate): 1.5 GB +INFO [148053] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [148053] Removing `preproc` directory containing preprocessed data +INFO [148053] If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +INFO [148053] Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log_debug.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log_debug.txt new file mode 100644 index 000000000..1cb65f962 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log_debug.txt @@ -0,0 +1,1348 @@ +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:576 +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:577 Package versions +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:578 ---------------- +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:579 ESMValCore: 2.12.0 +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:581 ESMValTool: 2.13.0.dev65+g58fd0b8ec +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:582 ---------------- +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:583 Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +2025-05-27 11:05:44,607 UTC [148053] INFO esmvalcore._main:587 Writing program log files to: +/executions/recipe_20250527_110544/run/main_log.txt +/executions/recipe_20250527_110544/run/main_log_debug.txt +/executions/recipe_20250527_110544/run/cmor_log.txt +2025-05-27 11:05:44,717 UTC [148053] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:93 Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:44 UTC +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:98 ---------------------------------------------------------------------- +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:99 RECIPE = /recipe.yml +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:100 RUNDIR = /executions/recipe_20250527_110544/run +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:101 WORKDIR = /executions/recipe_20250527_110544/work +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:102 PREPROCDIR = /executions/recipe_20250527_110544/preproc +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:103 PLOTDIR = /executions/recipe_20250527_110544/plots +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:104 ---------------------------------------------------------------------- +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:107 Running tasks using at most 1 processes +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:109 If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +2025-05-27 11:05:44,747 UTC [148053] INFO esmvalcore._main:113 If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +2025-05-27 11:05:44,747 UTC [148053] DEBUG esmvalcore._recipe.check:67 Checking recipe against schema /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/_recipe/recipe_schema.yml +2025-05-27 11:05:44,758 UTC [148053] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable clwvi in diagnostic plot_joint_clwvi_pr_model +2025-05-27 11:05:44,758 UTC [148053] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: clwvi, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:05:44,758 UTC [148053] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable pr in diagnostic plot_joint_clwvi_pr_model +2025-05-27 11:05:44,758 UTC [148053] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: pr, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn +2025-05-27 11:05:44,758 UTC [148053] DEBUG esmvalcore._recipe.recipe:879 Retrieving diagnostics from recipe +2025-05-27 11:05:44,758 UTC [148053] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_clwvi_pr_model +2025-05-27 11:05:44,759 UTC [148053] INFO esmvalcore._recipe.recipe:1119 Creating tasks from recipe +2025-05-27 11:05:44,759 UTC [148053] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_clwvi_pr_model +2025-05-27 11:05:44,759 UTC [148053] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_clwvi_pr_model/plot +2025-05-27 11:05:44,759 UTC [148053] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:05:44,759 UTC [148053] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clwvi_pr_model/clwvi +2025-05-27 11:05:44,759 UTC [148053] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clwvi' +2025-05-27 11:05:44,759 UTC [148053] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/*/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:44,760 UTC [148053] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable clwvi of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:44,760 UTC [148053] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: clwvi, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:05:44,760 UTC [148053] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clwvi_pr_model/clwvi created. +2025-05-27 11:05:44,761 UTC [148053] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clwvi_pr_model/clwvi will create the files: +/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:44,761 UTC [148053] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clwvi_pr_model/pr +2025-05-27 11:05:44,761 UTC [148053] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_pr' task for variable 'pr' +2025-05-27 11:05:44,761 UTC [148053] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/*/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn*.nc')] +2025-05-27 11:05:44,761 UTC [148053] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable pr of dataset MPI-ESM1-2-LR: + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc + /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:44,761 UTC [148053] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: pr, Amon, CMIP6, MPI-ESM1-2-LR, CMIP, historical, r1i1p1f1, gn, v20190710 +2025-05-27 11:05:44,762 UTC [148053] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clwvi_pr_model/pr created. +2025-05-27 11:05:44,762 UTC [148053] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clwvi_pr_model/pr will create the files: +/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:44,762 UTC [148053] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_clwvi_pr_model script plot +2025-05-27 11:05:44,762 UTC [148053] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clwvi_pr_model/clwvi matches ['plot_joint_clwvi_pr_model/clwvi'] +2025-05-27 11:05:44,762 UTC [148053] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clwvi_pr_model/pr matches ['plot_joint_clwvi_pr_model/pr'] +2025-05-27 11:05:44,762 UTC [148053] INFO esmvalcore._recipe.recipe:1171 These tasks will be executed: plot_joint_clwvi_pr_model/clwvi, plot_joint_clwvi_pr_model/plot, plot_joint_clwvi_pr_model/pr +2025-05-27 11:05:44,763 UTC [148053] DEBUG esmvalcore._main:133 Recipe summary: +DiagnosticTask: plot_joint_clwvi_pr_model/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.03}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot', + 'plot_filename': 'jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot', + 'x': 'clwvi', + 'y': 'pr'} +ancestors: + PreprocessingTask: plot_joint_clwvi_pr_model/clwvi + order: ['mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'mask_outside_range': {'maximum': 0.2, 'minimum': 0.01}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_clwvi_pr_model/pr + order: ['convert_units', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + input files: [LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] + settings: {'convert_units': {'units': 'mm day-1'}, + 'mask_outside_range': {'maximum': 4, 'minimum': 0.1}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc')}} + ancestors: + None + +2025-05-27 11:05:44,766 UTC [148053] INFO esmvalcore._recipe.recipe:1238 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110544/run/recipe_filled.yml +2025-05-27 11:05:44,766 UTC [148053] DEBUG esmvalcore.config._dask:170 Using Dask profile 'local_distributed' +2025-05-27 11:05:44,766 UTC [148053] DEBUG esmvalcore.config._dask:174 Using additional Dask settings {} +2025-05-27 11:05:44,767 UTC [148053] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:45,516 UTC [148053] DEBUG esmvalcore.config._dask:192 Using Dask cluster LocalCluster(4558832c, 'tcp://127.0.0.1:37813', workers=2, threads=4, memory=8.00 GiB) +2025-05-27 11:05:45,519 UTC [148053] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:45,529 UTC [148053] INFO esmvalcore.config._dask:205 Using Dask distributed scheduler (address: tcp://127.0.0.1:37813, dashboard link: http://127.0.0.1:8787/status) +2025-05-27 11:05:45,529 UTC [148053] INFO esmvalcore._task:844 Running 3 tasks sequentially +2025-05-27 11:05:45,529 UTC [148053] INFO esmvalcore._task:289 Starting task plot_joint_clwvi_pr_model/clwvi in process [148053] +2025-05-27 11:05:45,540 UTC [148053] DEBUG esmvalcore.preprocessor:716 Running block ['mask_outside_range', 'regrid'] +2025-05-27 11:05:45,540 UTC [148053] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:45,541 UTC [148053] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:05:45,541 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:05:45,542 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110544/preproc/fixed_files/clwvi_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clwvi', +standard_name = 'atmosphere_mass_content_of_cloud_condensed_water', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:45,543 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110544/preproc/fixed_files/clwvi_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clwvi', +standard_name = 'atmosphere_mass_content_of_cloud_condensed_water', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:45,543 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:05:45,543 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:45,543 UTC [148053] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:45,553 UTC [148053] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:45,553 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:45,553 UTC [148053] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:45,560 UTC [148053] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:45,560 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:05:45,562 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clwvi', +standard_name = 'atmosphere_mass_content_of_cloud_condensed_water', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:45,563 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:05:45,564 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:05:45,565 UTC [148053] DEBUG esmvalcore.preprocessor._io:235 Using atmosphere_mass_content_of_cloud_condensed_water / (kg m-2) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clwvi' + variant_label 'r1i1p1f1' +2025-05-27 11:05:45,566 UTC [148053] DEBUG esmvalcore.preprocessor._io:279 Using atmosphere_mass_content_of_cloud_condensed_water / (kg m-2) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clwvi' + variant_label 'r1i1p1f1' +2025-05-27 11:05:45,569 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:05:45,570 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'clwvi' +2025-05-27 11:05:45,571 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:05:45,571 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:05:45,574 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:05:45,575 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'clwvi', +standard_name = 'atmosphere_mass_content_of_cloud_condensed_water', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:45,575 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:05:45,575 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'clwvi' +2025-05-27 11:05:45,576 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:05:45,576 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:05:45,576 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:05:45,577 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 0.2, +minimum = 0.01 +2025-05-27 11:05:45,577 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:05:45,577 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:05:45,578 UTC [148053] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:05:46,157 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:05:46,157 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/clwvi/gn/v20190710/clwvi_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:05:46,157 UTC [148053] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +atmosphere_mass_content_of_cloud_condensed_water / (kg m-2) (time: 96; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'clwvi' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:46,188 UTC [148053] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clwvi_pr_model/clwvi +2025-05-27 11:05:46,191 UTC [148053] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:47,005 UTC [148053] INFO esmvalcore._task:295 Successfully completed task plot_joint_clwvi_pr_model/clwvi (priority 1) in 0:00:01.475232 +2025-05-27 11:05:47,005 UTC [148053] INFO esmvalcore._task:289 Starting task plot_joint_clwvi_pr_model/pr in process [148053] +2025-05-27 11:05:47,010 UTC [148053] DEBUG esmvalcore.preprocessor:716 Running block ['convert_units', 'mask_outside_range', 'regrid'] +2025-05-27 11:05:47,010 UTC [148053] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:47,011 UTC [148053] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:05:47,012 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:05:47,012 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110544/preproc/fixed_files/pr_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:47,012 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110544/preproc/fixed_files/pr_Amon_CMIP6_MPI-ESM1-2-LR_CMIP_historical_r1i1p1f1_gn_v20190710_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:47,012 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:05:47,013 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:47,013 UTC [148053] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:47,028 UTC [148053] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc +2025-05-27 11:05:47,028 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:05:47,028 UTC [148053] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:47,037 UTC [148053] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc +2025-05-27 11:05:47,037 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:05:47,038 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:47,039 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:05:47,040 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = +2025-05-27 11:05:47,041 UTC [148053] DEBUG esmvalcore.preprocessor._io:235 Using precipitation_flux / (kg m-2 s-1) (time: 36; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_name 'pr' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'pr' + variant_label 'r1i1p1f1' +2025-05-27 11:05:47,042 UTC [148053] DEBUG esmvalcore.preprocessor._io:279 Using precipitation_flux / (kg m-2 s-1) (time: 60; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_name 'pr' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'pr' + variant_label 'r1i1p1f1' +2025-05-27 11:05:47,044 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:05:47,045 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'pr' +2025-05-27 11:05:47,045 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:05:47,046 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +timerange = '20070116T120000/20141216T120000' +2025-05-27 11:05:47,047 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:05:47,048 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '20070116T120000/20141216T120000', +activity = 'CMIP', +dataset = 'MPI-ESM1-2-LR', +ensemble = 'r1i1p1f1', +grid = 'gn', +institute = 'MPI-M', +project = 'CMIP6', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_model', +recipe_dataset_index = 0, +alias = 'MPI-ESM1-2-LR', +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20190710' +2025-05-27 11:05:47,048 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:05:47,048 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +check_level = , +cmor_table = 'CMIP6', +mip = 'Amon', +frequency = 'mon', +short_name = 'pr' +2025-05-27 11:05:47,048 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:05:47,049 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:05:47,049 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step convert_units +2025-05-27 11:05:47,049 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'convert_units' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +units = 'mm day-1' +2025-05-27 11:05:47,050 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:05:47,050 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +maximum = 4, +minimum = 0.1 +2025-05-27 11:05:47,051 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:05:47,051 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:05:47,052 UTC [148053] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:05:47,604 UTC [148053] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:05:47,604 UTC [148053] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_200701-200912.nc'), + LocalFile('/climate_data/CMIP6/CMIP/MPI-M/MPI-ESM1-2-LR/historical/r1i1p1f1/Amon/pr/gn/v20190710/pr_Amon_MPI-ESM1-2-LR_historical_r1i1p1f1_gn_201001-201412.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc') +2025-05-27 11:05:47,605 UTC [148053] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +lwe_precipitation_rate / (mm day-1) (time: 96; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 area: time: mean + Attributes: + Conventions 'CF-1.7 CMIP-6.2' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'CMIP' + branch_method 'standard' + branch_time_in_child np.float64(0.0) + branch_time_in_parent np.float64(0.0) + cmor_version '3.5.0' + contact 'cmip6-mpi-esm@dkrz.de' + data_specs_version '01.00.30' + experiment 'all-forcing simulation of the recent past' + experiment_id 'historical' + external_variables 'areacella' + forcing_index np.int32(1) + frequency 'mon' + further_info_url 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.no ...' + grid 'gn' + grid_label 'gn' + initialization_index np.int32(1) + institution 'Max Planck Institute for Meteorology, Hamburg 20146, Germany' + institution_id 'MPI-M' + license 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons ...' + mip_era 'CMIP6' + nominal_resolution '250 km' + original_name 'pr' + parent_activity_id 'CMIP' + parent_experiment_id 'piControl' + parent_mip_era 'CMIP6' + parent_source_id 'MPI-ESM1-2-LR' + parent_time_units 'days since 1850-1-1 00:00:00' + parent_variant_label 'r1i1p1f1' + physics_index np.int32(1) + product 'model-output' + project_id 'CMIP6' + realization_index np.int32(1) + realm 'atmos' + references 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System ...' + source 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 ...' + source_id 'MPI-ESM1-2-LR' + source_type 'AOGCM' + sub_experiment 'none' + sub_experiment_id 'none' + table_id 'Amon' + table_info 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc' + title 'MPI-ESM1-2-LR output prepared for CMIP6' + variable_id 'pr' + variant_label 'r1i1p1f1' +with lazy data to /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc +2025-05-27 11:05:47,613 UTC [148053] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clwvi_pr_model/pr +2025-05-27 11:05:47,615 UTC [148053] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:05:47,980 UTC [148053] INFO esmvalcore._task:295 Successfully completed task plot_joint_clwvi_pr_model/pr (priority 2) in 0:00:00.975231 +2025-05-27 11:05:47,980 UTC [148053] INFO esmvalcore._task:289 Starting task plot_joint_clwvi_pr_model/plot in process [148053] +2025-05-27 11:05:47,983 UTC [148053] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml'] +2025-05-27 11:05:47,983 UTC [148053] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:05:47,983 UTC [148053] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot +2025-05-27 11:05:47,983 UTC [148053] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot +2025-05-27 11:05:47,983 UTC [148053] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot +2025-05-27 11:05:47,983 UTC [148053] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt +2025-05-27 11:05:47,983 UTC [148053] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml +2025-05-27 11:05:51,023 UTC [148053] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:05:51,025 UTC [148053] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:05:51,025 UTC [148053] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:05:51,025 UTC [148053] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml +2025-05-27 11:05:51,044 UTC [148053] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): cera-www.dkrz.de:443 +2025-05-27 11:05:51,123 UTC [148053] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 280 +2025-05-27 11:05:51,147 UTC [148053] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 302 282 +2025-05-27 11:05:51,150 UTC [148053] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): www.wdc-climate.de:443 +2025-05-27 11:05:51,252 UTC [148053] DEBUG urllib3.connectionpool:546 https://www.wdc-climate.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical HTTP/11" 200 36807 +2025-05-27 11:05:51,288 UTC [148053] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:05:51,288 UTC [148053] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:05:51,288 UTC [148053] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:05:51,288 UTC [148053] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:05:51,400 UTC [148053] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_clwvi_pr_model/plot took 0.4 seconds +2025-05-27 11:05:51,400 UTC [148053] INFO esmvalcore._task:295 Successfully completed task plot_joint_clwvi_pr_model/plot (priority 0) in 0:00:03.419684 +2025-05-27 11:05:51,642 UTC [148053] INFO esmvalcore._recipe.recipe:1201 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110544/run/recipe_filled.yml +2025-05-27 11:05:51,686 UTC [148053] INFO esmvalcore.experimental.recipe_output:280 Wrote recipe output to: +file:///executions/recipe_20250527_110544/index.html +2025-05-27 11:05:51,687 UTC [148053] INFO esmvalcore._main:138 Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:05:51 UTC +2025-05-27 11:05:51,687 UTC [148053] INFO esmvalcore._main:142 Time for running the recipe was: 0:00:06.940094 +2025-05-27 11:05:52,668 UTC [148053] INFO esmvalcore._task:141 Maximum memory used (estimate): 1.5 GB +2025-05-27 11:05:52,668 UTC [148053] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:05:52,670 UTC [148053] INFO esmvalcore._main:518 Removing `preproc` directory containing preprocessed data +2025-05-27 11:05:52,670 UTC [148053] INFO esmvalcore._main:521 If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +2025-05-27 11:05:52,677 UTC [148053] INFO esmvalcore._main:496 Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..b31da00a5 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +: ancestors: + - /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc +: ancestors: + - /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc +: ancestors: + - /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + - /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram +? /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc +: ancestors: + - /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt new file mode 100644 index 000000000..6cde3c421 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt @@ -0,0 +1,94 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + diagnostic: plot_joint_clwvi_pr_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + frequency: mon + grid: gn + institute: MPI-M + long_name: Condensed Water Path + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_clivi_clwvi + project: CMIP6 + recipe_dataset_index: 0 + short_name: clwvi + standard_name: atmosphere_mass_content_of_cloud_condensed_water + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: kg m-2 + variable_group: clwvi + version: v20190710 + ? /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + : activity: CMIP + alias: MPI-ESM1-2-LR + dataset: MPI-ESM1-2-LR + diagnostic: plot_joint_clwvi_pr_model + end_year: 2014 + ensemble: r1i1p1f1 + exp: historical + filename: /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + frequency: mon + grid: gn + institute: MPI-M + long_name: Precipitation + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_pr + project: CMIP6 + recipe_dataset_index: 0 + short_name: pr + standard_name: lwe_precipitation_rate + start_year: 2007 + timerange: 20070116T120000/20141216T120000 + units: mm day-1 + variable_group: pr + version: v20190710 +input_files: +- /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/metadata.yml +- /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.03 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot +plot_filename: jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot +scheduler_address: tcp://127.0.0.1:37813 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +version: 2.12.0 +work_dir: /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot +x: clwvi +y: pr + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/resource_usage.txt new file mode 100644 index 000000000..92b2f356e --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/resource_usage.txt @@ -0,0 +1,3 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:05:49.009650 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:05:50.023454 2.0 1.9 90 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml new file mode 100644 index 000000000..5605bb7e3 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.03 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 +x: clwvi +y: pr +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot +plot_dir: /executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot +work_dir: /executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:37813 +input_files: +- /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/metadata.yml +- /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe.yml new file mode 100644 index 000000000..f3c45c61b --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe.yml @@ -0,0 +1,118 @@ +diagnostics: + plot_joint_clwvi_pr_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clwvi vs pr. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clwvi + y: pr + variables: + clwvi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + pr: + exp: historical + mip: Amon + preprocessor: common_grid_pr + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe_filled.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe_filled.yml new file mode 100644 index 000000000..02292af27 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/recipe_filled.yml @@ -0,0 +1,152 @@ +diagnostics: + plot_joint_clwvi_pr_model: + description: Scatterplot clwvi vs pr. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clwvi + y: pr + variables: + clwvi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 + pr: + exp: historical + mip: Amon + preprocessor: common_grid_pr + timerange: 20070116T120000/20141216T120000 + activity: CMIP + ensemble: r1i1p1f1 + grid: gn + institute: MPI-M + project: CMIP6 + version: v20190710 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_ta: + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + default: {} +regridding: + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 +timerange_for_data: + timerange: 2007/2011 +datasets: +- dataset: MPI-ESM1-2-LR diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/resource_usage.txt new file mode 100644 index 000000000..fdd502d9a --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/resource_usage.txt @@ -0,0 +1,8 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:05:45.613972 1.0 4.8 0 0.7 5 0.0 0.0 +2025-05-27 11:05:46.619162 2.0 6.3 63 1.1 7 0.0 0.0 +2025-05-27 11:05:47.625081 3.0 7.6 67 1.1 7 0.0 0.0 +2025-05-27 11:05:48.629894 4.0 8.8 7 1.3 9 0.0 0.0 +2025-05-27 11:05:49.634681 5.0 10.0 5 1.5 10 0.0 0.0 +2025-05-27 11:05:50.639724 6.0 11.3 10 1.5 10 0.0 0.0 +2025-05-27 11:05:51.668097 7.1 11.5 25 0.5 4 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..1fd4168d637b8a3d9551938b0e2dd686782a3771 GIT binary patch literal 8834 zcmeHNeQZ-z6u<53N-d9#kIDGh;DL<`HR5hV&!2;fKLBLW#DI5m*)2Y<*Ph6RlT!6-^3q9Q2Fd+vRAo6CqJ5&wEO zJ3IH|+;h+UopWxJo_1E0mW{Jcvl=ZH#9F`BUYbp3?ApR)OV;X|iqbkG|FMxSaVgpo z+cKP6jmQ8ZW+HDekpUj3HMh1WLyf^uJP}zL^R^WjsiN`Yfmdm2%jqQE4jrnSO8msp zC66Xyo&p_%NmGMTnnK~m=YQ5#DeK+z;~8T9xJ-i~9p;P%t%Lhy0&^}MES@0DL?#eH z0?M$Uj2Ce)#R@B2E}g%=mRho0v*ZOLjnKoHWFt35vv)Wm{r!9ih;sNu9!_m^`xDK+ zK%p9m#C)N!H{p+?@z@#ccrX&5OB&-a;2*~q#%j#S09f!H{%Hc9rES}}>2FgEr;h?d1)l_M z5h@&u3i~lqDXA30!C>22ZkY%&oBnX$1uWGMx6lkpe>r4g4#jgjZu4_Bw(txa|jDIs96B-zsD>!!mPzk1=B$@J4fDg zfp`hW6y)~sR9%F{0oZ!{a0>X(D`4lSrDcLI)aDO^zl5e$2_YOw3@#c^)o&A6 zbD*nVtdIv>HwSDm;%A0Efy{No$D@B5SxR@`Bc+Y^PH8PZ@8fY~<}wb~0XQ{x3ou5g zg))T3vW~`E4mmnmt|GKwb4(qRqK+|V!PsD;k1|45@>r6DyRF63By@B>@tuoicN%_( zF@l4yu&dHjkEUWZ@IYr^f=6(q*PR>*i?EJqV{PA`gBI?bMHbLy%IID3$3YGa8J;G# z8VM);;RKEdn%3-*SIhE6+k#WSc99QSgv!+#7dcNG)9X^(-~jd!%D~mk8klE*44>CP zA$J5l3KN6@Ze3}V>;H8GbOdw+bOdw+bOdw+bOdw+bOdw+bOdw+bOate0zKJlV%ghz zl$M)CpFZ)%apkw>*iCzN02?(^(@=Y(=(%10ZYp3$RlPpSZ*gv>CHvn-ACV7?ylb-O|9LhWHsztv3kvJ<*W0d%h|VgDI5CQH{5maP$sps zrZvC(n)2#|Q|RV|P0E4(r6+%%vqAacTJMEKv_qNNo_=TN@^&SemAmd{eoXPybuSKf zv?=KOM~Vv$?;;e4UMmK2ZO@W`0?ATB9gClpfLzl$3H5cpB>@F)9Uycg__+ksasEp} ze8p7>=*?qy2yNYJk%5*~O(Z06nKICK$Fm827@H>p#d8-DT6pOx83^rg$pw3#D|T%@ zUEG^vmHN!0bmPiWi9fYYns{!D)LpVy$~)8}9T(0@WnCAgbNx4@gU2{I85t)R=VZv- zH-dcT^<25jT_`Ux%W~$)a{0k~Tt7iaKu17FKu17F03oO=uxbq}RkQE%`BqlRutO!I z&ROQHbGlV$BdKH*;gSFp4Se2&H||dimNW)xQOE-8^oxIC#7YONov^Ay^gR=)oAM2` zm@)bq3ad{rPBdy40SktXp*Hc^rE25QyDx&m3~sfQA$~3V>VQLO=)bx + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + 20 + Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:37813 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clwvi + pr + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/532c7403-d46c-40c0-90fb-37ea254a25b1 + clwvi + r1i1p1f1 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clwvi_pr_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Condensed Water Path + Amon + ['atmos'] + clwvi + common_grid_clivi_clwvi + CMIP6 + 0 + clwvi + atmosphere_mass_content_of_cloud_condensed_water + 2007 + 20070116T120000/20141216T120000 + kg m-2 + clwvi + v20190710 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc')} + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/deb50b50-444c-4b37-af69-75885813cd21 + clwvi + r1i1p1f1 + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..8a046fd82b6945d9d39169e97eae45789509a230 GIT binary patch literal 13282 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 VIVN)wo5`|Zv3ttKOr1-j{{gc`v9bUF literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_provenance.xml new file mode 100644 index 000000000..0c0015b42 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_provenance.xml @@ -0,0 +1,419 @@ + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/09392905-ec0b-44a5-b057-03dd00eb385f + pr + r1i1p1f1 + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + + 20 + Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:37813 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clwvi + pr + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/532c7403-d46c-40c0-90fb-37ea254a25b1 + clwvi + r1i1p1f1 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clwvi_pr_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Condensed Water Path + Amon + ['atmos'] + clwvi + common_grid_clivi_clwvi + CMIP6 + 0 + clwvi + atmosphere_mass_content_of_cloud_condensed_water + 2007 + 20070116T120000/20141216T120000 + kg m-2 + clwvi + v20190710 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/clwvi/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_clwvi_gn_20070116T120000-20141216T120000.nc')} + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/deb50b50-444c-4b37-af69-75885813cd21 + clwvi + r1i1p1f1 + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clwvi_pr_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Precipitation + Amon + ['atmos'] + pr + common_grid_pr + CMIP6 + 0 + pr + precipitation_flux + 2007 + 20070116T120000/20141216T120000 + kg m-2 s-1 + pr + v20190710 + {'units': 'mm day-1'} + {'maximum': 4, 'minimum': 0.1} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc')} + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/11574760-d9ab-46f5-b547-0fa3cae46d43 + pr + r1i1p1f1 + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..66ab5d43e5a0747a980b5e9677be714189b2f55d GIT binary patch literal 8834 zcmeHNeQZ-z6hCeE(T&G85tzb|$0UHtN?#d6Vz&Ec*L}FHTh@gzGShWyw-vUwY0H*P zkcAjzAYmd1i8=-nslhKqB@q$`Xygx~XfT0H4J!B*$PmHsVKVQz_uXwSBaTG;>)rIc zbHCoX=l;$|lb&`L7ZgrRo|bGhn?bZet*y)CGgfV3s(D6dMR7ruQTo8hmrU{6l6Yk_ zPd0)9w^b82}e& zknjL@3~`zmh_Ckt+#LhjDrmdm$UBF>X6jGOFc>D|s?nfzXrE0`Zkmi5-zU$6INSm< zq?;jqE$zi8i7YkI_3*F$rMCz4o$vmkaKv3y2~@QBYFuaJot= zoNkvrzsv!WjPoXl=Px+(%N=Y#;*0wkYLtH>tqXhqsREtlZTnZ#U*i}~9|wkno`g+> z>fSD1X4~Mh~B;)=MBoUYtY7mN~Fi3&F)ju{4-15#u zuIF;j=;cHQZmv$)7_jW%|UlCK_a(YeQ;I48)3FfrXq)I z=dQV8|Da`l;KY_heE+iEX}c#2*ag z+U5tCf97UemRM}_o4t*Tauth`ZCPk<`_{>Q0Y>-&zKcz8EuLnL5l<{Pn36e~AhXwC zD`(@eK7|plGVTE22W{2N)T|wZ))=?-SpcSJZ;oKiwe}eZ@4x#jS0X|4onj$_NA}#j zz5UEe)Tc1EM~A9Pw;;9g*Wc<3puOb!RZ%$*j1DigdBT2AeT&Z` zi)Mr0zO2g|GTm&{!AR4LNP)t1qsQY{br4R?+%k>< zR&WL|L3A{};()DN#412cGfb7(#SN1%1ILCqo|FNSS+ZmScT4l9s|S~?WVS2g(Va>Y zF-34V3zwC+s^LK@1`~8TB}{^2Wp{R@mLc&{8!FG;9@emT7M-H)0%!cL^y^?QcNvKX zwmleV^97>RBY0SgByTUwQY?!JaJrW{TgMagaRIKYiJ>rUPVSZF`#Z*4sp?`E_YnB1ZZe*Ow+Pj*?6l7Y^oW^jFF=yKV?Lp+($Nkm$a#N{Tn2IPR*9h zAMGWf4|{e!?0uaKcD~fD9N0}#jD^;m=X=S(faS97+AHM!6Hh;T{q|0x1kXgtAKM6= zJ(b&K-jRm{{kIq$Te^TCf$Cw@x2>BXsoi@RonLd9Aa#Y$Fp`@t6QuK5CKbsVOJ&rR znV}+`esvxrIen3e6nZhA(Xk0m6)A1~az=H~q$0i78DRw1*Q#B4Pvsr^{bZh8Kb6## z7L&g0PI4vXWzu7MmsoFnMowQkPeR|{B<7V#>avSd)R;R{y>ZT>7FR!^?)xp_IzUXjCW2hDdW?bh#{L5ojIz;V6R2@QZ#<9AoRLhGQ}-CbxV_~;6)z(P|1cKtYG zKWdnOr6O8-qSbTO;;_mq$|+JV76eU@#H&7$U}Lo16ZWx6F8<{L53`4T^iKs|x!oUa zmL0D0rJk1RV6a7Qvso0I#VWONE1S8922Tj9ModDDCc)LWZAOHs^qZZS3*joA~ywOo7KA5swg?t3hh~~3v5;;Td@s| KADKGssPZ?gp?9kQ literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_citation.bibtex new file mode 100644 index 000000000..67e1dbad6 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_citation.bibtex @@ -0,0 +1,22 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} + +@misc{https://doi.org/10.22033/ESGF/CMIP6.6595, + url = {https://doi.org/10.22033/ESGF/CMIP6.6595}, + title = {MPI-M MPI-ESM1.2-LR model output prepared for CMIP6 CMIP historical}, + publisher = {Earth System Grid Federation}, + year = 2019, + author = {Wieners, Karl-Hermann and Giorgetta, Marco and Jungclaus, Johann and Reick, Christian and Esch, Monika and Bittner, Matthias and Legutke, Stephanie and Schupfner, Martin and Wachsmann, Fabian and Gayler, Veronika and Haak, Helmuth and de Vrese, Philipp and Raddatz, Thomas and Mauritsen, Thorsten and von Storch, Jin-Song and Behrens, Jörg and Brovkin, Victor and Claussen, Martin and Crueger, Traute and Fast, Irina and Fiedler, Stephanie and Hagemann, Stefan and Hohenegger, Cathy and Jahns, Thomas and Kloster, Silvia and Kinne, Stefan and Lasslop, Gitta and Kornblueh, Luis and Marotzke, Jochem and Matei, Daniela and Meraner, Katharina and Mikolajewicz, Uwe and Modali, Kameswarrao and Müller, Wolfgang and Nabel, Julia and Notz, Dirk and Peters-von Gehlen, Karsten and Pincus, Robert and Pohlmann, Holger and Pongratz, Julia and Rast, Sebastian and Schmidt, Hauke and Schnur, Reiner and Schulzweida, Uwe and Six, Katharina and Stevens, Bjorn and Voigt, Aiko and Roeckner, Erich}, + doi = {10.22033/ESGF/CMIP6.6595}, +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_data_citation_info.txt new file mode 100644 index 000000000..9289f250d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.CMIP.MPI-M.MPI-ESM1-2-LR.historical diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_provenance.xml new file mode 100644 index 000000000..b41a86299 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_provenance.xml @@ -0,0 +1,251 @@ + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T15:26:51Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T15:26:51Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/09392905-ec0b-44a5-b057-03dd00eb385f + pr + r1i1p1f1 + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + 20 + Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + ('histogram',) + tcp://127.0.0.1:37813 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + clwvi + pr + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + CMIP + MPI-ESM1-2-LR + MPI-ESM1-2-LR + plot_joint_clwvi_pr_model + 2014 + r1i1p1f1 + historical + /executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc + mon + gn + MPI-M + Precipitation + Amon + ['atmos'] + pr + common_grid_pr + CMIP6 + 0 + pr + precipitation_flux + 2007 + 20070116T120000/20141216T120000 + kg m-2 s-1 + pr + v20190710 + {'units': 'mm day-1'} + {'maximum': 4, 'minimum': 0.1} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110544/preproc/plot_joint_clwvi_pr_model/pr/CMIP6_MPI-ESM1-2-LR_Amon_historical_r1i1p1f1_pr_gn_20070116T120000-20141216T120000.nc')} + + + + + + + CF-1.7 CMIP-6.2 + CMIP + standard + 0.0 + 0.0 + 3.5.0 + cmip6-mpi-esm@dkrz.de + 2019-09-04T13:47:44Z + 01.00.30 + all-forcing simulation of the recent past + historical + areacella + 1 + mon + https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.historical.none.r1i1p1f1 + gn + gn + 2019-09-04T13:47:44Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards. + 1 + Max Planck Institute for Meteorology, Hamburg 20146, Germany + MPI-M + CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. + CMIP6 + 250 km + CMIP + piControl + CMIP6 + MPI-ESM1-2-LR + days since 1850-1-1 00:00:00 + r1i1p1f1 + 1 + model-output + CMIP6 + 1 + atmos + MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, +Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217 + MPI-ESM1.2-LR (2017): +aerosol: none, prescribed MACv2-SP +atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) +atmosChem: none +land: JSBACH3.20 +landIce: none/prescribed +ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) +ocnBgchem: HAMOCC6 +seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model) + MPI-ESM1-2-LR + AOGCM + none + none + Amon + Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc + MPI-ESM1-2-LR output prepared for CMIP6 + hdl:21.14100/11574760-d9ab-46f5-b547-0fa3cae46d43 + pr + r1i1p1f1 + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json new file mode 100644 index 000000000..034f82896 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json @@ -0,0 +1,42 @@ +{ + "index": "/executions/recipe_20250527_110544/index.html", + "provenance": { + "environment": {}, + "modeldata": [], + "obsdata": {}, + "log": "/executions/recipe_20250527_110544/run/main_log_debug.txt" + }, + "data": { + "executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc": { + "filename": "executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc", + "long_name": "Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc": { + "filename": "executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc", + "long_name": "Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + }, + "executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc": { + "filename": "executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc", + "long_name": "Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "plots": { + "executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png": { + "filename": "executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png", + "long_name": "Scatterplot clwvi vs pr (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000)", + "description": "" + } + }, + "html": { + "/executions/recipe_20250527_110544/index.html": { + "filename": "/executions/recipe_20250527_110544/index.html", + "long_name": "Results page", + "description": "Page showing the executions of the ESMValTool run." + } + }, + "metrics": null, + "diagnostics": {} +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml new file mode 100644 index 000000000..f3c45c61b --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/recipe.yml @@ -0,0 +1,118 @@ +diagnostics: + plot_joint_clwvi_pr_model: + additional_datasets: + - activity: CMIP + dataset: MPI-ESM1-2-LR + ensemble: r1i1p1f1 + exp: historical + grid: gn + institute: MPI-M + mip: Amon + project: CMIP6 + timerange: 20070116T120000/20141216T120000 + description: Scatterplot clwvi vs pr. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000 + x: clwvi + y: pr + variables: + clwvi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + pr: + exp: historical + mip: Amon + preprocessor: common_grid_pr + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id002 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id001 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id001 + common_grid_levels_ta: + custom_order: true + extract_levels: *id002 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id001 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id001 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id001 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id001 +regridding: + regrid: *id001 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/config/config.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/config/config.yml new file mode 100644 index 000000000..ded86a5a7 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/config/config.yml @@ -0,0 +1,16 @@ +drs: + CMIP6: ESGF + OBS: default + OBS6: default + native6: default + obs4MIPs: ESGF +output_dir: /executions +rootpath: + CMIP6: /climate_data + OBS: /home/bandela/.cache/climate_ref/ESMValTool/OBS + OBS6: /home/bandela/.cache/climate_ref/ESMValTool/OBS + native6: /home/bandela/.cache/climate_ref/ESMValTool/RAWOBS + obs4MIPs: + - /climate_data + - /home/bandela/.cache/climate_ref/ESMValTool +search_esgf: never diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/diagnostic.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/diagnostic.json new file mode 100644 index 000000000..30503d8c2 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/diagnostic.json @@ -0,0 +1,9 @@ +{ + "DIMENSIONS": { + "json_structure": [] + }, + "RESULTS": {}, + "PROVENANCE": null, + "DISCLAIMER": null, + "NOTES": null +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/index.html b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/index.html new file mode 100644 index 000000000..6713b4f9e --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/index.html @@ -0,0 +1,685 @@ + + + + + + + + Recipe + + + + + + + + + +

+ +

Model evaluation with focus on clouds.

+ +

+ Plot 2D histograms using the Seaborn diagnostic in ESMValTool. +

+ +

Authors

+ +
+ +

Maintainers

+ + + +

Projects

+ +
    + +
+ +

References

+ +
    + +
+ + + + + +
+ + +
+

Plot_Joint_Cli_Ta_Ref

+

Scatterplot clt vs lwcre.

+ + + + +

Plot Joint Cli Ta Ref: Plot

+ + + +
+
+ + Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + +
+ Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + + +
+

Plot_Joint_Clivi_Lwcre_Ref

+

Scatterplot clt vs lwcre.

+ + + + +

Plot Joint Clivi Lwcre Ref: Plot

+ + + +
+
+ + Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + +
+ Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + + +
+

Plot_Joint_Clt_Swcre_Ref

+

Scatterplot clt vs swcre.

+ + + + +

Plot Joint Clt Swcre Ref: Plot

+ + + +
+
+ + Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + +
+ Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + + +
+

Plot_Joint_Clwvi_Pr_Ref

+

Scatterplot clwvi vs pr.

+ + + + +

Plot Joint Clwvi Pr Ref: Plot

+ + + +
+
+ + Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + +
+ Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) +
+
+ download | + references | + extra data citation | + provenance +
+
+
+ + + + +

Data files

+ +
+
+ +
+
+ + + +
+ + +
+ +

Files

+ +

+ main_log.txt | + main_log_debug.txt | + recipe.yml | + figures | + data +

+ + + + + + \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png new file mode 100644 index 0000000000000000000000000000000000000000..006c1128a59e64f1e7f6d9b6b161baa1ade24ca7 GIT binary patch literal 127027 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 ge|spo!QKA#nsYnDc((jAdW^H*2g;3jhEB literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_data_citation_info.txt new file mode 100644 index 000000000..be8d9ff58 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_data_citation_info.txt @@ -0,0 +1,5 @@ +Follow the links below to find more information about CMIP6 data: +- https://cera-www.dkrz.de/WDCC/ui/cerasearch/cmip6?input=CMIP6.obs4MIPs.ECMWF.ERA-5. + +Additional data citation information was found, for which no entry is available in the bibtex file: +- doi:10.5067/CALIOP/CALIPSO/L3_Ice_Cloud-Standard-V1-00 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_provenance.xml new file mode 100644 index 000000000..faa49e720 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_provenance.xml @@ -0,0 +1,554 @@ + + + + 20 + Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CALIPSO-ICECLOUD / ERA-5 2007/2015 + cli + ta + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:57:40Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:57:40Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/8c6d64d7-44ca-4dc8-b118-71902eada196 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + ERA-5 + ERA-5 + plot_joint_cli_ta_ref + 2015 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + mon + gn + ECMWF + Air Temperature + Amon + ['atmos'] + ta + common_grid_levels_ta + obs4MIPs + 0 + ta + air_temperature + 2007 + 2007/2015 + K + ta + v20250220 + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 280, 'minimum': 200} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc')} + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:52:20Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:52:20Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/76637da7-8c93-4184-a9b9-2b1e6582d17b + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:51:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:51:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ebbe83a0-cec9-436c-a76b-1dbb529bbd00 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco) + Atmospheric Science Data Center (ASDC) + CF/CMOR + Thu Jan 12 11:24:11 2023: ncatted -a cell_measures,cli,d,, /work/bd0854/DATA/ESMValTool2/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Thu Jan 12 11:24:10 2023: ncatted -a cell_methods,cli,m,c,time: mean /work/bd0854/DATA/ESMValTool2/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Thu Aug 11 08:10:46 2022: ncatted -O -a tier,global,m,l,3 OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Created on Sat Apr 18 20:42:35 CEST 2020 + mistralpp4.hpc.dkrz.de + doi:10.5067/CALIOP/CALIPSO/L3_Ice_Cloud-Standard-V1-00 + https://eosweb.larc.nasa.gov/project/calipso/cal_lid_l3_ice_cloud_standard_v1_00 + 3 + CALIPSO-ICECLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:56:20Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:56:20Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/40c35170-3c22-4c55-a5b8-44fcf78f6f3e + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CALIPSO-ICECLOUD + CALIPSO-ICECLOUD + plot_joint_cli_ta_ref + 2015 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + mon + Mass Fraction of Cloud Ice + Amon + ['atmos'] + cli + common_grid_levels_cli + OBS + 0 + cli + mass_fraction_of_cloud_ice_in_air + 2007 + 3 + 2007/2015 + sat + 1 + cli + 1-00 + {'units': 'g kg-1'} + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 0.005, 'minimum': 0.0001} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc')} + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:49:39Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:49:39Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ddb7edc9-eccb-4eb3-b824-51a0f6ed4604 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:48:19Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:48:19Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/a39964c8-4eea-43fc-84cb-c6eb35addb8b + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:59:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:59:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ad03a7a4-9f38-493c-9d9f-099a9b492f70 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:55:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:55:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/73bd6794-c38f-4db9-bfb5-0b2590e3ac9e + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:53:40Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:53:40Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/acbbcc0c-97e0-42f4-a46a-653b8a238fbc + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png new file mode 100644 index 0000000000000000000000000000000000000000..a86158f4aa2c2a4bf084645e94c59e8ce1d28c23 GIT binary patch literal 95749 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 literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_data_citation_info.txt new file mode 100644 index 000000000..9784fa2ec --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_data_citation_info.txt @@ -0,0 +1,3 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 +- doi:10.1175/jcli-d-17-0208.1 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_provenance.xml new file mode 100644 index 000000000..dce997f8b --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_provenance.xml @@ -0,0 +1,219 @@ + + + + 20 + Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clivi + lwcre + + + + + + + CF/CMOR + Created on Thu Mar 21 15:00:54 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + + + + + CERES-EBAF + CERES-EBAF + True + plot_joint_clivi_lwcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + False + mon + TOA Longwave Cloud Radiative Effect + Amon + ['atmos'] + lwcre + common_grid_lwcre + OBS + 0 + lwcre + 2001 + 2 + 2001/2016 + sat + W m-2 + lwcre + Ed4.2 + {'short_name': 'lwcre', 'standard_name': '', 'long_name': 'TOA Longwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc')} + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clivi_lwcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + mon + Ice Water Path + Amon + ['atmos'] + clivi + common_grid_clivi_clwvi + OBS + 0 + clivi + atmosphere_cloud_ice_content + 2001 + 2 + 2001/2016 + sat + kg m-2 + clivi + AVHRR-AMPM-fv3.0 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc')} + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png new file mode 100644 index 0000000000000000000000000000000000000000..e99cde6dcb8a948ee02774ea116d3e3b1c488fd4 GIT binary patch literal 108705 zcmeFa2UL~k)-}3~u_OkSC@S5Sh$tXcL;;NgiUK0NM-k~DA|jo{L=h=AM5zi&F9B&H zB`QTkLD~kX3Mc|1(mUL_w&t9S@t^bm_x|7ae|Ow*KgKvG1lW7O@AIx_t-0o$>&eB# zs!D9%a(&BSFxU?4-*<$;ShSe_w|F6bB5*C}JpLi-s;PTg!~Vo+=cA|07>u)Fj>5_+ zTMwwH3si0`JA9IDl#U-l68H|*qZ@(ANZvPE0R;3pousv#Sw$IGb z^pxev)0Xyj^d?JGRkvFb;IYrkfFFm?f!M~ zV%!YA*6#W5xBF}D_Nx~xVKBIuVLKd;HD*|fdd*JjX4&X%H7VG|OwwCn+mz)$+SjC1 z8o(Rv+~1n^>O^SqyHI;RZrcp?f`fLotAq{Lh@W`w^T4sIpy=HwQ2Z6X2ghJ zJ6WHjCRQylP;OG-T}3$e7VRV-twe1Fb#?U&>w4kbGksj4_607iD|mau;N3&RI2{fS zj)7LU{^Ad>?whvexeQEnMV8_MO#2!$tM2T*;N-=h>)g+GZXuhmalY%@hn=oNg>y3^ z#$GccT)Y~G4=<-xS;{N3@4`~vW7kxqF8(rqQ3=z)o>xJ^&eXky)}g01Uex(xvr}6y zT_62@mTi+Ft)fntRlO1@xM5L&__>%SM4<|xxSDjn5Ea1_(MWqpLA35hQTI%=fufOWoAK`ub z_H9~!!BolP-a(h6<^PlzF9;hFxbR%2cOsUz}eY}F1qhJxh$t%CM|P= zX`t+}A|LjuRFgv2L`ST{z=!*lCHUzok;3UyTlF*I8cVaVoD12wR=V|N>hO4uzo~lY z+|Ly`7o=l+afRA0(d3!9=m6hxk;1%^nYVijQs3mc47E2}r>a=X_ryhWsqEG@G~@}~ zHMoD*(I$H(OH0elfTrWuRF3uMj|DtgCckSGcN(^^daT9S#PD>Lf@R;xNNbbV z+>E&A(nB}5t&?i9xoH332JgmsXcvQg_Wt{-$Ju>@~a2p5!_C=RAj(dlo6+$yvM4TBkhtvBO-^BmSe?^hmu)<@g_a zZ8PjzWX`m@bVj>DXc=YJeWb3kfC6jywpB^u^V zv%Sf*t}pSLn`#@cFP!DT%aXPDt(i#|x3{^Ax4I9#z-~YE9hZbaz>aq}rAHe~qp|cm z;vI{9IUJ_?vP*fLo7szti!*zo@7~>rXT)=DlUhJkv{LEEhy8r`ts&2uhNBnP=)LFC z?yFIg_ZKxSDe@R=(dj$qLL|4R-XCB@nXwjAc+PTGEJM59{yQ>HIMBymwWInsCrE3f^i;(Ji|!N#T1uf3&b$2&~3Th5d_WU4fUNLshQ4K@j& zog$n+Ts>Ya;>q4N^U-<8Nc)@%Zm^^Ml1Kn@6f-w)!ID))wACN~_6<9GT9qPqG3~|G zChiWWKQ`}B3K|U36y(^Vlj0Y&MTc@@JFfE5riioa*RRh#-TnOqo>Tj$$4lkyUM`Z6 zT6sn_L}K%et$OYGs9jaV{i+OxrLwYeyK~``QP`)JI>?k)8vp9l&HwwugN>hR#rDQvT~ z-@KlboBs4v5vDDpTR>^S0)_2*BoZ0POdnP}(Iww)M!>+tTDc?p)VUSRX) zGM72~ya7cXT=@X*xGT@T;JbOV1A$ⅇj?%j-7l7JMP`XyIgpL=G9+ydyKx?WUsNo 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 BMdAPe literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_data_citation_info.txt new file mode 100644 index 000000000..9784fa2ec --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_data_citation_info.txt @@ -0,0 +1,3 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 +- doi:10.1175/jcli-d-17-0208.1 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_provenance.xml new file mode 100644 index 000000000..ddf167a36 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_provenance.xml @@ -0,0 +1,219 @@ + + + + CF/CMOR + Created on Thu Mar 21 14:56:32 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + + + + + CF-1.7 + Created on 2024-03-08 10:54:33 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clt_swcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + mon + Total Cloud Fraction + Amon + ['atmos'] + clt + common_grid_clt + OBS + 0 + clt + cloud_area_fraction + 2001 + 2 + 2001/2016 + sat + % + clt + AVHRR-AMPM-fv3.0 + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc')} + + + CERES-EBAF + CERES-EBAF + True + plot_joint_clt_swcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + False + mon + TOA Shortwave Cloud Radiative Effect + Amon + ['atmos'] + swcre + common_grid_swcre + OBS + 0 + swcre + 2001 + 2 + 2001/2016 + sat + W m-2 + swcre + Ed4.2 + {'short_name': 'swcre', 'standard_name': '', 'long_name': 'TOA Shortwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': -1.0, 'minimum': -200.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc')} + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + 20 + Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clt + swcre + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png new file mode 100644 index 0000000000000000000000000000000000000000..691572649a3d1586a73609fd98c0e6bc2ac40d92 GIT binary patch literal 99853 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%0A)hJ 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 E4NAd~0RR91 literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_data_citation_info.txt new file mode 100644 index 000000000..b35f91be3 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_data_citation_info.txt @@ -0,0 +1,3 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; Adler et al. 2003, http://dx.doi.org/10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2; Huffman et al. 2009, http://dx.doi.org/10.1029/2009GL040000; Adler et al. 2016, Global Precipitation Climatology Project (GPCP) Monthly Analysis: Climate Algorithm Theoretical Basis Document (C-ATBD) +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml new file mode 100644 index 000000000..faad0fd11 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + 20 + Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / GPCP-SG + clwvi + pr + + + CF/CMOR + Created on Thu Mar 21 15:05:09 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + + + + + + GPCP-SG + GPCP-V2.3 + plot_joint_clwvi_pr_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + mon + Precipitation + Amon + ['atmos'] + pr + common_grid_pr + obs4MIPs + 0 + pr + precipitation_flux + 1992 + 1992/2016 + kg m-2 s-1 + pr + v20180519 + {'units': 'mm day-1'} + {'maximum': 4, 'minimum': 0.1} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc')} + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clwvi_pr_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + mon + Condensed Water Path + Amon + ['atmos'] + clwvi + common_grid_clivi_clwvi + OBS + 0 + clwvi + atmosphere_cloud_condensed_water_content + 1992 + 2 + 1992/2016 + sat + kg m-2 + clwvi + AVHRR-AMPM-fv3.0 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc')} + + + + + + + + + CF-1.4 + 2.9.1 + NOAA Climate Data Record Program for satellites, FY 2011. Global Precipitation Climatology Project (GPCP) Monthly Version 2.3 gridded, merged satellite/gauge precipitation Climate Data Record (CDR) with errors from 1979 to present. + George Huffman (george.j.huffman@nasa.gov) + 2018-02-08T15:25:54Z + mon + 2018-02-08T15:25:54Z CMOR rewrote data to comply with CF standards and CMIP5 requirements. + NASA-GSFC + NASA Goddard Space Flight Center, Greenbelt MD, USA + CMIP5 + Obs-GPCP + atmos + observations + obs4MIPs + atmos + Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; Adler et al. 2003, http://dx.doi.org/10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2; Huffman et al. 2009, http://dx.doi.org/10.1029/2009GL040000; Adler et al. 2016, Global Precipitation Climatology Project (GPCP) Monthly Analysis: Climate Algorithm Theoretical Basis Document (C-ATBD) + Obs-GPCP (Global Precipitation Climatology Project) v23rB1 + GPCP + satellite_retrieval_and_gauge_analysis + Table Amon_ana (10 March 2011) 34230b4cbd7bedf38c827d6e41c1b8ea + Global Precipitation Climatology Project (GPCP) Climate Data Record (CDR), Monthly V2.3 observation output prepared for obs4MIPs. + 4070c751-6c2d-440f-a4d7-5b325fb98990 + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/cmor_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/cmor_log.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log.txt new file mode 100644 index 000000000..77bcb90bd --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log.txt @@ -0,0 +1,181 @@ +INFO [148246] +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +INFO [148246] Package versions +INFO [148246] ---------------- +INFO [148246] ESMValCore: 2.12.0 +INFO [148246] ESMValTool: 2.13.0.dev65+g58fd0b8ec +INFO [148246] ---------------- +INFO [148246] Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +INFO [148246] Writing program log files to: +/executions/recipe_20250527_110608/run/main_log.txt +/executions/recipe_20250527_110608/run/main_log_debug.txt +/executions/recipe_20250527_110608/run/cmor_log.txt +WARNING [148246] /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +INFO [148246] Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:06:08 UTC +INFO [148246] ---------------------------------------------------------------------- +INFO [148246] RECIPE = /recipe.yml +INFO [148246] RUNDIR = /executions/recipe_20250527_110608/run +INFO [148246] WORKDIR = /executions/recipe_20250527_110608/work +INFO [148246] PREPROCDIR = /executions/recipe_20250527_110608/preproc +INFO [148246] PLOTDIR = /executions/recipe_20250527_110608/plots +INFO [148246] ---------------------------------------------------------------------- +INFO [148246] Running tasks using at most 1 processes +INFO [148246] If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +INFO [148246] If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +INFO [148246] Creating tasks from recipe +INFO [148246] Creating tasks for diagnostic plot_joint_cli_ta_ref +INFO [148246] Creating diagnostic task plot_joint_cli_ta_ref/plot +INFO [148246] Creating preprocessor task plot_joint_cli_ta_ref/cli +INFO [148246] Creating preprocessor 'common_grid_levels_cli' task for variable 'cli' +INFO [148246] Found input files for Dataset: cli, Amon, OBS, CALIPSO-ICECLOUD, historical, 1-00 +INFO [148246] PreprocessingTask plot_joint_cli_ta_ref/cli created. +INFO [148246] Creating preprocessor task plot_joint_cli_ta_ref/ta +INFO [148246] Creating preprocessor 'common_grid_levels_ta' task for variable 'ta' +INFO [148246] Found input files for Dataset: ta, Amon, obs4MIPs, ERA-5, historical, gn, v20250220 +INFO [148246] PreprocessingTask plot_joint_cli_ta_ref/ta created. +INFO [148246] Creating tasks for diagnostic plot_joint_clivi_lwcre_ref +INFO [148246] Creating diagnostic task plot_joint_clivi_lwcre_ref/plot +INFO [148246] Creating preprocessor task plot_joint_clivi_lwcre_ref/clivi +INFO [148246] Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clivi' +INFO [148246] Found input files for Dataset: clivi, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +INFO [148246] PreprocessingTask plot_joint_clivi_lwcre_ref/clivi created. +INFO [148246] Creating preprocessor task plot_joint_clivi_lwcre_ref/lwcre +INFO [148246] Creating preprocessor 'common_grid_lwcre' task for variable 'lwcre' +INFO [148246] Found input files for Dataset: lwcre, Amon, OBS, CERES-EBAF, historical, Ed4.2 +INFO [148246] PreprocessingTask plot_joint_clivi_lwcre_ref/lwcre created. +INFO [148246] Creating tasks for diagnostic plot_joint_clt_swcre_ref +INFO [148246] Creating diagnostic task plot_joint_clt_swcre_ref/plot +INFO [148246] Creating preprocessor task plot_joint_clt_swcre_ref/clt +INFO [148246] Creating preprocessor 'common_grid_clt' task for variable 'clt' +INFO [148246] Found input files for Dataset: clt, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +INFO [148246] PreprocessingTask plot_joint_clt_swcre_ref/clt created. +INFO [148246] Creating preprocessor task plot_joint_clt_swcre_ref/swcre +INFO [148246] Creating preprocessor 'common_grid_swcre' task for variable 'swcre' +INFO [148246] Found input files for Dataset: swcre, Amon, OBS, CERES-EBAF, historical, Ed4.2 +INFO [148246] PreprocessingTask plot_joint_clt_swcre_ref/swcre created. +INFO [148246] Creating tasks for diagnostic plot_joint_clwvi_pr_ref +INFO [148246] Creating diagnostic task plot_joint_clwvi_pr_ref/plot +INFO [148246] Creating preprocessor task plot_joint_clwvi_pr_ref/clwvi +INFO [148246] Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clwvi' +INFO [148246] Found input files for Dataset: clwvi, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +INFO [148246] PreprocessingTask plot_joint_clwvi_pr_ref/clwvi created. +INFO [148246] Creating preprocessor task plot_joint_clwvi_pr_ref/pr +INFO [148246] Creating preprocessor 'common_grid_pr' task for variable 'pr' +INFO [148246] Found input files for Dataset: pr, Amon, obs4MIPs, GPCP-V2.3, historical, v20180519 +INFO [148246] PreprocessingTask plot_joint_clwvi_pr_ref/pr created. +INFO [148246] These tasks will be executed: plot_joint_clivi_lwcre_ref/lwcre, plot_joint_clivi_lwcre_ref/plot, plot_joint_cli_ta_ref/cli, plot_joint_cli_ta_ref/plot, plot_joint_clwvi_pr_ref/clwvi, plot_joint_clt_swcre_ref/swcre, plot_joint_cli_ta_ref/ta, plot_joint_clwvi_pr_ref/plot, plot_joint_clwvi_pr_ref/pr, plot_joint_clt_swcre_ref/plot, plot_joint_clivi_lwcre_ref/clivi, plot_joint_clt_swcre_ref/clt +INFO [148246] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110608/run/recipe_filled.yml +INFO [148246] Using Dask distributed scheduler (address: tcp://127.0.0.1:45623, dashboard link: http://127.0.0.1:8787/status) +INFO [148246] Running 12 tasks sequentially +INFO [148246] Starting task plot_joint_cli_ta_ref/cli in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_cli_ta_ref/cli +INFO [148246] Successfully completed task plot_joint_cli_ta_ref/cli (priority 1) in 0:00:07.891364 +INFO [148246] Starting task plot_joint_cli_ta_ref/ta in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_cli_ta_ref/ta +INFO [148246] Successfully completed task plot_joint_cli_ta_ref/ta (priority 2) in 0:00:07.116152 +INFO [148246] Starting task plot_joint_cli_ta_ref/plot in process [148246] +INFO [148246] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml'] +INFO [148246] Writing output to /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot +INFO [148246] Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot +INFO [148246] Writing log to /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/log.txt +INFO [148246] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml +INFO [148246] Maximum memory used (estimate): 0.4 GB +INFO [148246] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +WARNING [148246] Error in the CMIP6 citation link: https://cera-www.dkrz.de/WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.obs4MIPs.ECMWF.ERA-5. +INFO [148246] Successfully completed task plot_joint_cli_ta_ref/plot (priority 0) in 0:00:05.337934 +INFO [148246] Starting task plot_joint_clivi_lwcre_ref/clivi in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_clivi_lwcre_ref/clivi +INFO [148246] Successfully completed task plot_joint_clivi_lwcre_ref/clivi (priority 4) in 0:00:05.796167 +INFO [148246] Starting task plot_joint_clivi_lwcre_ref/lwcre in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_clivi_lwcre_ref/lwcre +INFO [148246] Successfully completed task plot_joint_clivi_lwcre_ref/lwcre (priority 5) in 0:00:00.491735 +INFO [148246] Starting task plot_joint_clivi_lwcre_ref/plot in process [148246] +INFO [148246] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml'] +INFO [148246] Writing output to /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot +INFO [148246] Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot +INFO [148246] Writing log to /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/log.txt +INFO [148246] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml +INFO [148246] Maximum memory used (estimate): 0.4 GB +INFO [148246] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [148246] Successfully completed task plot_joint_clivi_lwcre_ref/plot (priority 3) in 0:00:04.168457 +INFO [148246] Starting task plot_joint_clt_swcre_ref/clt in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_clt_swcre_ref/clt +INFO [148246] Successfully completed task plot_joint_clt_swcre_ref/clt (priority 7) in 0:00:05.255463 +INFO [148246] Starting task plot_joint_clt_swcre_ref/swcre in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_clt_swcre_ref/swcre +INFO [148246] Successfully completed task plot_joint_clt_swcre_ref/swcre (priority 8) in 0:00:00.377870 +INFO [148246] Starting task plot_joint_clt_swcre_ref/plot in process [148246] +INFO [148246] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml'] +INFO [148246] Writing output to /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot +INFO [148246] Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot +INFO [148246] Writing log to /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/log.txt +INFO [148246] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml +INFO [148246] Maximum memory used (estimate): 0.4 GB +INFO [148246] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [148246] Successfully completed task plot_joint_clt_swcre_ref/plot (priority 6) in 0:00:04.183180 +INFO [148246] Starting task plot_joint_clwvi_pr_ref/clwvi in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_clwvi_pr_ref/clwvi +INFO [148246] Successfully completed task plot_joint_clwvi_pr_ref/clwvi (priority 10) in 0:00:06.492642 +INFO [148246] Starting task plot_joint_clwvi_pr_ref/pr in process [148246] +INFO [148246] Computing and saving data for preprocessing task plot_joint_clwvi_pr_ref/pr +INFO [148246] Successfully completed task plot_joint_clwvi_pr_ref/pr (priority 11) in 0:00:01.651816 +INFO [148246] Starting task plot_joint_clwvi_pr_ref/plot in process [148246] +INFO [148246] Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml'] +INFO [148246] Writing output to /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot +INFO [148246] Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot +INFO [148246] Writing log to /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/log.txt +INFO [148246] To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml +INFO [148246] Maximum memory used (estimate): 0.4 GB +INFO [148246] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [148246] Successfully completed task plot_joint_clwvi_pr_ref/plot (priority 9) in 0:00:04.166447 +INFO [148246] Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110608/run/recipe_filled.yml +INFO [148246] Wrote recipe output to: +file:///executions/recipe_20250527_110608/index.html +INFO [148246] Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:07:02 UTC +INFO [148246] Time for running the recipe was: 0:00:53.990751 +INFO [148246] Maximum memory used (estimate): 4.2 GB +INFO [148246] Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +INFO [148246] Removing `preproc` directory containing preprocessed data +INFO [148246] If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +INFO [148246] Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log_debug.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log_debug.txt new file mode 100644 index 000000000..0d70e408e --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log_debug.txt @@ -0,0 +1,5137 @@ +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:576 +______________________________________________________________________ + _____ ____ __ ____ __ _ _____ _ + | ____/ ___|| \/ \ \ / /_ _| |_ _|__ ___ | | + | _| \___ \| |\/| |\ \ / / _` | | | |/ _ \ / _ \| | + | |___ ___) | | | | \ V / (_| | | | | (_) | (_) | | + |_____|____/|_| |_| \_/ \__,_|_| |_|\___/ \___/|_| +______________________________________________________________________ + +Earth System Model Evaluation Tool + +A community tool for the evaluation of Earth system models. + +https://esmvaltool.org + +The Earth System Model Evaluation Tool (ESMValTool) is a community +diagnostics and performance metrics tool for the evaluation of Earth +System Models (ESMs) that allows for routine comparison of single or +multiple models, either against predecessor versions or against +observations. + +Tutorial: https://tutorial.esmvaltool.org +Documentation: https://docs.esmvaltool.org +Contact: esmvaltool-dev@listserv.dfn.de + +If you find this software useful for your research, please cite it using +https://doi.org/10.5281/zenodo.3387139 for ESMValCore or +https://doi.org/10.5281/zenodo.3401363 for ESMValTool or +any of the reference papers listed at https://esmvaltool.org/references/. + +Have fun! + +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:577 Package versions +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:578 ---------------- +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:579 ESMValCore: 2.12.0 +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:581 ESMValTool: 2.13.0.dev65+g58fd0b8ec +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:582 ---------------- +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:583 Reading configuration files from: +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/config/configurations/defaults (defaults) +/home/bandela/.config/esmvaltool (default user configuration directory) +/config (command line argument) +2025-05-27 11:06:08,643 UTC [148246] INFO esmvalcore._main:587 Writing program log files to: +/executions/recipe_20250527_110608/run/main_log.txt +/executions/recipe_20250527_110608/run/main_log_debug.txt +/executions/recipe_20250527_110608/run/cmor_log.txt +2025-05-27 11:06:08,751 UTC [148246] WARNING py.warnings:109 /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( + +2025-05-27 11:06:08,780 UTC [148246] INFO esmvalcore._main:93 Starting the Earth System Model Evaluation Tool at time: 2025-05-27 11:06:08 UTC +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:98 ---------------------------------------------------------------------- +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:99 RECIPE = /recipe.yml +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:100 RUNDIR = /executions/recipe_20250527_110608/run +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:101 WORKDIR = /executions/recipe_20250527_110608/work +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:102 PREPROCDIR = /executions/recipe_20250527_110608/preproc +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:103 PLOTDIR = /executions/recipe_20250527_110608/plots +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:104 ---------------------------------------------------------------------- +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:107 Running tasks using at most 1 processes +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:109 If your system hangs during execution, it may not have enough memory for keeping this number of tasks in memory. +2025-05-27 11:06:08,781 UTC [148246] INFO esmvalcore._main:113 If you experience memory problems, try reducing 'max_parallel_tasks' in your configuration. +2025-05-27 11:06:08,781 UTC [148246] DEBUG esmvalcore._recipe.check:67 Checking recipe against schema /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvalcore/_recipe/recipe_schema.yml +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable cli in diagnostic plot_joint_cli_ta_ref +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: cli, Amon, OBS, CALIPSO-ICECLOUD, historical, 1-00 +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable ta in diagnostic plot_joint_cli_ta_ref +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: ta, Amon, obs4MIPs, ERA-5, historical, gn +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable clivi in diagnostic plot_joint_clivi_lwcre_ref +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: clivi, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +2025-05-27 11:06:08,801 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable lwcre in diagnostic plot_joint_clivi_lwcre_ref +2025-05-27 11:06:08,821 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre[_.]*nc')] +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: lwcre, Amon, OBS, CERES-EBAF, historical, Ed4.2 +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable clt in diagnostic plot_joint_clt_swcre_ref +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: clt, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable swcre in diagnostic plot_joint_clt_swcre_ref +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre[_.]*nc')] +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: swcre, Amon, OBS, CERES-EBAF, historical, Ed4.2 +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable clwvi in diagnostic plot_joint_clwvi_pr_ref +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: clwvi, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:360 Populating list of datasets for variable pr in diagnostic plot_joint_clwvi_pr_ref +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.to_datasets:386 Found Dataset: pr, Amon, obs4MIPs, GPCP-V2.3, historical +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.recipe:879 Retrieving diagnostics from recipe +2025-05-27 11:06:08,824 UTC [148246] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_cli_ta_ref +2025-05-27 11:06:08,825 UTC [148246] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_clivi_lwcre_ref +2025-05-27 11:06:08,825 UTC [148246] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_clt_swcre_ref +2025-05-27 11:06:08,825 UTC [148246] DEBUG esmvalcore._recipe.recipe:909 Setting script for diagnostic plot_joint_clwvi_pr_ref +2025-05-27 11:06:08,825 UTC [148246] INFO esmvalcore._recipe.recipe:1119 Creating tasks from recipe +2025-05-27 11:06:08,825 UTC [148246] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_cli_ta_ref +2025-05-27 11:06:08,825 UTC [148246] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_cli_ta_ref/plot +2025-05-27 11:06:08,825 UTC [148246] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:06:08,825 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_cli_ta_ref/cli +2025-05-27 11:06:08,825 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_levels_cli' task for variable 'cli' +2025-05-27 11:06:08,825 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli[_.]*nc')] +2025-05-27 11:06:08,827 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable cli of dataset CALIPSO-ICECLOUD: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +2025-05-27 11:06:08,827 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: cli, Amon, OBS, CALIPSO-ICECLOUD, historical, 1-00 +2025-05-27 11:06:08,827 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_cli_ta_ref/cli created. +2025-05-27 11:06:08,827 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_cli_ta_ref/cli will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc +2025-05-27 11:06:08,827 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_cli_ta_ref/ta +2025-05-27 11:06:08,827 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_levels_ta' task for variable 'ta' +2025-05-27 11:06:08,828 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/obs4MIPs/ERA-5/*/ta_*.nc')] +2025-05-27 11:06:08,828 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/ERA-5/*/ta_*.nc')] +2025-05-27 11:06:08,829 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable ta of dataset ERA-5: + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc + /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc +2025-05-27 11:06:08,829 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: ta, Amon, obs4MIPs, ERA-5, historical, gn, v20250220 +2025-05-27 11:06:08,829 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_cli_ta_ref/ta created. +2025-05-27 11:06:08,829 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_cli_ta_ref/ta will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc +2025-05-27 11:06:08,829 UTC [148246] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_clivi_lwcre_ref +2025-05-27 11:06:08,829 UTC [148246] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_clivi_lwcre_ref/plot +2025-05-27 11:06:08,829 UTC [148246] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:06:08,829 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clivi_lwcre_ref/clivi +2025-05-27 11:06:08,829 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clivi' +2025-05-27 11:06:08,829 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi[_.]*nc')] +2025-05-27 11:06:08,830 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable clivi of dataset ESACCI-CLOUD: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc +2025-05-27 11:06:08,830 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: clivi, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +2025-05-27 11:06:08,830 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clivi_lwcre_ref/clivi created. +2025-05-27 11:06:08,830 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clivi_lwcre_ref/clivi will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc +2025-05-27 11:06:08,830 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clivi_lwcre_ref/lwcre +2025-05-27 11:06:08,830 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_lwcre' task for variable 'lwcre' +2025-05-27 11:06:08,831 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre[_.]*nc')] +2025-05-27 11:06:08,831 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre[_.]*nc')] +2025-05-27 11:06:08,831 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre[_.]*nc')] +2025-05-27 11:06:08,831 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut[_.]*nc')] +2025-05-27 11:06:08,831 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs[_.]*nc')] +2025-05-27 11:06:08,832 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rlut of dataset CERES-EBAF: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc +2025-05-27 11:06:08,832 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rlutcs of dataset CERES-EBAF: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: lwcre, Amon, OBS, CERES-EBAF, historical, Ed4.2 +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clivi_lwcre_ref/lwcre created. +2025-05-27 11:06:08,832 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clivi_lwcre_ref/lwcre will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_clt_swcre_ref +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_clt_swcre_ref/plot +2025-05-27 11:06:08,832 UTC [148246] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clt_swcre_ref/clt +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_clt' task for variable 'clt' +2025-05-27 11:06:08,832 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt[_.]*nc')] +2025-05-27 11:06:08,832 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable clt of dataset ESACCI-CLOUD: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc +2025-05-27 11:06:08,832 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: clt, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +2025-05-27 11:06:08,833 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clt_swcre_ref/clt created. +2025-05-27 11:06:08,833 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clt_swcre_ref/clt will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc +2025-05-27 11:06:08,833 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clt_swcre_ref/swcre +2025-05-27 11:06:08,833 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_swcre' task for variable 'swcre' +2025-05-27 11:06:08,833 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre[_.]*nc')] +2025-05-27 11:06:08,833 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre[_.]*nc')] +2025-05-27 11:06:08,833 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre[_.]*nc')] +2025-05-27 11:06:08,833 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut[_.]*nc')] +2025-05-27 11:06:08,834 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs[_.]*nc')] +2025-05-27 11:06:08,834 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rsut of dataset CERES-EBAF: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc +2025-05-27 11:06:08,834 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable rsutcs of dataset CERES-EBAF: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc +2025-05-27 11:06:08,834 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: swcre, Amon, OBS, CERES-EBAF, historical, Ed4.2 +2025-05-27 11:06:08,834 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clt_swcre_ref/swcre created. +2025-05-27 11:06:08,834 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clt_swcre_ref/swcre will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc +2025-05-27 11:06:08,834 UTC [148246] INFO esmvalcore._recipe.recipe:1128 Creating tasks for diagnostic plot_joint_clwvi_pr_ref +2025-05-27 11:06:08,834 UTC [148246] INFO esmvalcore._recipe.recipe:1041 Creating diagnostic task plot_joint_clwvi_pr_ref/plot +2025-05-27 11:06:08,834 UTC [148246] DEBUG esmvalcore._task:397 No local diagnostic script found. Attempting to load the script from the base repository. +2025-05-27 11:06:08,834 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clwvi_pr_ref/clwvi +2025-05-27 11:06:08,834 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_clivi_clwvi' task for variable 'clwvi' +2025-05-27 11:06:08,834 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi[_.]*nc')] +2025-05-27 11:06:08,835 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable clwvi of dataset ESACCI-CLOUD: + /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc +2025-05-27 11:06:08,835 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: clwvi, Amon, OBS, ESACCI-CLOUD, historical, AVHRR-AMPM-fv3.0 +2025-05-27 11:06:08,835 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clwvi_pr_ref/clwvi created. +2025-05-27 11:06:08,835 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clwvi_pr_ref/clwvi will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc +2025-05-27 11:06:08,835 UTC [148246] INFO esmvalcore._recipe.recipe:1103 Creating preprocessor task plot_joint_clwvi_pr_ref/pr +2025-05-27 11:06:08,835 UTC [148246] INFO esmvalcore._recipe.recipe:739 Creating preprocessor 'common_grid_pr' task for variable 'pr' +2025-05-27 11:06:08,835 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/climate_data/obs4MIPs/GPCP-V2.3/*/pr_*.nc')] +2025-05-27 11:06:08,835 UTC [148246] DEBUG esmvalcore.local:445 Looking for files matching [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/*/pr_*.nc')] +2025-05-27 11:06:08,836 UTC [148246] DEBUG esmvalcore._recipe.recipe:313 Using input files for variable pr of dataset GPCP-SG: + /home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc +2025-05-27 11:06:08,836 UTC [148246] INFO esmvalcore._recipe.recipe:597 Found input files for Dataset: pr, Amon, obs4MIPs, GPCP-V2.3, historical, v20180519 +2025-05-27 11:06:08,836 UTC [148246] INFO esmvalcore._recipe.recipe:766 PreprocessingTask plot_joint_clwvi_pr_ref/pr created. +2025-05-27 11:06:08,836 UTC [148246] DEBUG esmvalcore._recipe.recipe:767 PreprocessingTask plot_joint_clwvi_pr_ref/pr will create the files: +/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc +2025-05-27 11:06:08,836 UTC [148246] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_cli_ta_ref script plot +2025-05-27 11:06:08,836 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_cli_ta_ref/cli matches ['plot_joint_cli_ta_ref/cli'] +2025-05-27 11:06:08,836 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_cli_ta_ref/ta matches ['plot_joint_cli_ta_ref/ta'] +2025-05-27 11:06:08,836 UTC [148246] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_clivi_lwcre_ref script plot +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clivi_lwcre_ref/clivi matches ['plot_joint_clivi_lwcre_ref/clivi'] +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clivi_lwcre_ref/lwcre matches ['plot_joint_clivi_lwcre_ref/lwcre'] +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_clt_swcre_ref script plot +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clt_swcre_ref/clt matches ['plot_joint_clt_swcre_ref/clt'] +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clt_swcre_ref/swcre matches ['plot_joint_clt_swcre_ref/swcre'] +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:962 Linking tasks for diagnostic plot_joint_clwvi_pr_ref script plot +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clwvi_pr_ref/clwvi matches ['plot_joint_clwvi_pr_ref/clwvi'] +2025-05-27 11:06:08,837 UTC [148246] DEBUG esmvalcore._recipe.recipe:975 Pattern plot_joint_clwvi_pr_ref/pr matches ['plot_joint_clwvi_pr_ref/pr'] +2025-05-27 11:06:08,837 UTC [148246] INFO esmvalcore._recipe.recipe:1171 These tasks will be executed: plot_joint_clivi_lwcre_ref/lwcre, plot_joint_clivi_lwcre_ref/plot, plot_joint_cli_ta_ref/cli, plot_joint_cli_ta_ref/plot, plot_joint_clwvi_pr_ref/clwvi, plot_joint_clt_swcre_ref/swcre, plot_joint_cli_ta_ref/ta, plot_joint_clwvi_pr_ref/plot, plot_joint_clwvi_pr_ref/pr, plot_joint_clt_swcre_ref/plot, plot_joint_clivi_lwcre_ref/clivi, plot_joint_clt_swcre_ref/clt +2025-05-27 11:06:08,839 UTC [148246] DEBUG esmvalcore._main:133 Recipe summary: +DiagnosticTask: plot_joint_clivi_lwcre_ref/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.03}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot', + 'plot_filename': 'jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'ESACCI-CLOUD / CERES-EBAF', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot', + 'x': 'clivi', + 'y': 'lwcre'} +ancestors: + PreprocessingTask: plot_joint_clivi_lwcre_ref/clivi + order: ['mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] + settings: {'mask_outside_range': {'maximum': 0.2, 'minimum': 0.01}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_clivi_lwcre_ref/lwcre + order: ['derive', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] + settings: {'derive': {'long_name': 'TOA Longwave Cloud Radiative Effect', + 'short_name': 'lwcre', + 'standard_name': '', + 'units': 'W m-2'}, + 'mask_outside_range': {'maximum': 100.0, 'minimum': 1.0}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc')}} + ancestors: + None + + +DiagnosticTask: plot_joint_clwvi_pr_ref/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.03}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot', + 'plot_filename': 'jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'ESACCI-CLOUD / GPCP-SG', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot', + 'x': 'clwvi', + 'y': 'pr'} +ancestors: + PreprocessingTask: plot_joint_clwvi_pr_ref/clwvi + order: ['mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] + settings: {'mask_outside_range': {'maximum': 0.2, 'minimum': 0.01}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_clwvi_pr_ref/pr + order: ['convert_units', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] + settings: {'convert_units': {'units': 'mm day-1'}, + 'mask_outside_range': {'maximum': 4, 'minimum': 0.1}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc')}} + ancestors: + None + + +DiagnosticTask: plot_joint_cli_ta_ref/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.02}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot', + 'plot_filename': 'jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'CALIPSO-ICECLOUD / ERA-5 2007/2015', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot', + 'x': 'cli', + 'y': 'ta'} +ancestors: + PreprocessingTask: plot_joint_cli_ta_ref/cli + order: ['convert_units', 'extract_levels', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] + settings: {'convert_units': {'units': 'g kg-1'}, + 'extract_levels': {'coordinate': 'air_pressure', + 'levels': [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], + 'scheme': 'linear'}, + 'mask_outside_range': {'maximum': 0.005, 'minimum': 0.0001}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_cli_ta_ref/ta + order: ['extract_levels', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + input files: [LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] + settings: {'extract_levels': {'coordinate': 'air_pressure', + 'levels': [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], + 'scheme': 'linear'}, + 'mask_outside_range': {'maximum': 280, 'minimum': 200}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc')}} + ancestors: + None + + +DiagnosticTask: plot_joint_clt_swcre_ref/plot +script: seaborn_jointplot_histogram.py +settings: +{'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'bins': 20, + 'cbar': True, + 'cbar_kws': {'extend': 'max'}, + 'joint_kws': {'cmap': 'YlGnBu', 'vmax': 0.015}, + 'log_level': 'info', + 'marginal_kws': {'color': 'darkturquoise'}, + 'output_file_type': 'png', + 'plot_dir': '/executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot', + 'plot_filename': 'jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF', + 'profile_diagnostic': False, + 'recipe': PosixPath('recipe.yml'), + 'run_dir': '/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot', + 'script': 'plot', + 'seaborn_settings': {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'}, + 'suptitle': 'ESACCI-CLOUD / CERES-EBAF', + 'version': '2.12.0', + 'work_dir': '/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot', + 'x': 'clt', + 'y': 'swcre'} +ancestors: + PreprocessingTask: plot_joint_clt_swcre_ref/clt + order: ['mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] + settings: {'mask_outside_range': {'maximum': 100.0, 'minimum': 1.0}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc')}} + ancestors: + None + + PreprocessingTask: plot_joint_clt_swcre_ref/swcre + order: ['derive', 'mask_outside_range', 'regrid', 'remove_supplementary_variables', 'save'] + PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + input files: [LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] + settings: {'derive': {'long_name': 'TOA Shortwave Cloud Radiative Effect', + 'short_name': 'swcre', + 'standard_name': '', + 'units': 'W m-2'}, + 'mask_outside_range': {'maximum': -1.0, 'minimum': -200.0}, + 'regrid': {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, + 'target_grid': '1x1'}, + 'remove_supplementary_variables': {}, + 'save': {'compress': False, + 'compute': False, + 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc')}} + ancestors: + None + +2025-05-27 11:06:08,845 UTC [148246] INFO esmvalcore._recipe.recipe:1238 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110608/run/recipe_filled.yml +2025-05-27 11:06:08,845 UTC [148246] DEBUG esmvalcore.config._dask:170 Using Dask profile 'local_distributed' +2025-05-27 11:06:08,845 UTC [148246] DEBUG esmvalcore.config._dask:174 Using additional Dask settings {} +2025-05-27 11:06:08,845 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:09,539 UTC [148246] DEBUG esmvalcore.config._dask:192 Using Dask cluster LocalCluster(ef95c44d, 'tcp://127.0.0.1:45623', workers=1, threads=2, memory=4.00 GiB) +2025-05-27 11:06:09,540 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:09,544 UTC [148246] INFO esmvalcore.config._dask:205 Using Dask distributed scheduler (address: tcp://127.0.0.1:45623, dashboard link: http://127.0.0.1:8787/status) +2025-05-27 11:06:09,544 UTC [148246] INFO esmvalcore._task:844 Running 12 tasks sequentially +2025-05-27 11:06:09,544 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_cli_ta_ref/cli in process [148246] +2025-05-27 11:06:09,568 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['convert_units', 'extract_levels', 'mask_outside_range', 'regrid'] +2025-05-27 11:06:09,568 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc +2025-05-27 11:06:09,568 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:09,568 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:09,569 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/cli_Amon_OBS_CALIPSO-ICECLOUD_historical_1-00_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '2007/2015', +alias = 'CALIPSO-ICECLOUD', +dataset = 'CALIPSO-ICECLOUD', +project = 'OBS', +tier = 3, +type = 'sat', +version = '1-00', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = '1', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:09,569 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:09,569 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:09,569 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +2025-05-27 11:06:09,598 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +2025-05-27 11:06:09,598 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:09,600 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '2007/2015', +alias = 'CALIPSO-ICECLOUD', +dataset = 'CALIPSO-ICECLOUD', +project = 'OBS', +tier = 3, +type = 'sat', +version = '1-00', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = '1', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:09,600 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:09,601 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:09,601 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:09,601 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'cli' +2025-05-27 11:06:09,602 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:09,603 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +timerange = '2007/2015' +2025-05-27 11:06:09,605 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:09,606 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_cli', +timerange = '2007/2015', +alias = 'CALIPSO-ICECLOUD', +dataset = 'CALIPSO-ICECLOUD', +project = 'OBS', +tier = 3, +type = 'sat', +version = '1-00', +short_name = 'cli', +variable_group = 'cli', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'cli', +standard_name = 'mass_fraction_of_cloud_ice_in_air', +long_name = 'Mass Fraction of Cloud Ice', +units = '1', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:09,606 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:09,606 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'cli' +2025-05-27 11:06:09,606 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:09,607 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:09,607 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step convert_units +2025-05-27 11:06:09,607 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'convert_units' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +units = 'g kg-1' +2025-05-27 11:06:09,608 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step extract_levels +2025-05-27 11:06:09,608 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'extract_levels' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +coordinate = 'air_pressure', +levels = [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], +scheme = 'linear' +2025-05-27 11:06:09,608 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:09,608 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +maximum = 0.005, +minimum = 0.0001 +2025-05-27 11:06:09,609 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:09,609 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:09,610 UTC [148246] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:06:10,536 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:10,537 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc') +2025-05-27 11:06:10,537 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +mass_fraction_of_cloud_ice_in_air / (g kg-1) (time: 108; air_pressure: 27; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + NCO 'netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = h ...' + conventions 'CF/CMOR' + host 'mistralpp4.hpc.dkrz.de' + reference 'doi:10.5067/CALIOP/CALIPSO/L3_Ice_Cloud-Standard-V1-00' + source 'https://eosweb.larc.nasa.gov/project/calipso/cal_lid_l3_ice_cloud_stan ...' + tier np.int32(3) + title 'CALIPSO-ICECLOUD data reformatted for the ESMValTool v2.0' + user 'b380103' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc +2025-05-27 11:06:10,569 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_cli_ta_ref/cli +2025-05-27 11:06:10,572 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:17,435 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_cli_ta_ref/cli (priority 1) in 0:00:07.891364 +2025-05-27 11:06:17,436 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_cli_ta_ref/ta in process [148246] +2025-05-27 11:06:17,459 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['extract_levels', 'mask_outside_range', 'regrid'] +2025-05-27 11:06:17,460 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc +2025-05-27 11:06:17,460 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:17,460 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:17,460 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,475 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,475 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,476 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,476 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,476 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,477 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,477 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,477 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/ta_Amon_obs4MIPs_ERA-5_historical_gn_v20250220_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,478 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:17,478 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,478 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc +2025-05-27 11:06:17,487 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc +2025-05-27 11:06:17,487 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,487 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc +2025-05-27 11:06:17,494 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc +2025-05-27 11:06:17,495 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,495 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc +2025-05-27 11:06:17,502 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc +2025-05-27 11:06:17,502 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,502 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc +2025-05-27 11:06:17,510 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc +2025-05-27 11:06:17,510 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,510 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc +2025-05-27 11:06:17,518 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc +2025-05-27 11:06:17,518 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,518 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc +2025-05-27 11:06:17,527 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc +2025-05-27 11:06:17,527 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,527 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc +2025-05-27 11:06:17,537 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc +2025-05-27 11:06:17,537 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,537 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc +2025-05-27 11:06:17,548 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc +2025-05-27 11:06:17,548 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc') +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:17,548 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc +2025-05-27 11:06:17,558 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc +2025-05-27 11:06:17,559 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:17,564 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[, + , + , + , + , + , + , + , + ] +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,567 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:17,571 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[, + , + , + , + , + , + , + , + ] +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:17,574 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,575 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,575 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,576 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,576 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,577 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,577 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,578 UTC [148246] DEBUG esmvalcore.preprocessor._io:235 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,579 UTC [148246] DEBUG esmvalcore.preprocessor._io:279 Using air_temperature / (K) (time: 12; air_pressure: 37; latitude: 19; longitude: 36) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +2025-05-27 11:06:17,586 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:17,587 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +check_level = , +cmor_table = 'obs4MIPs', +mip = 'Amon', +frequency = 'mon', +short_name = 'ta' +2025-05-27 11:06:17,588 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:17,589 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +timerange = '2007/2015' +2025-05-27 11:06:17,590 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:17,591 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_levels_ta', +timerange = '2007/2015', +alias = 'ERA-5', +dataset = 'ERA-5', +frequency = 'mon', +grid = 'gn', +institute = 'ECMWF', +project = 'obs4MIPs', +short_name = 'ta', +variable_group = 'ta', +diagnostic = 'plot_joint_cli_ta_ref', +recipe_dataset_index = 0, +original_short_name = 'ta', +standard_name = 'air_temperature', +long_name = 'Air Temperature', +units = 'K', +modeling_realm = ['atmos'], +version = 'v20250220' +2025-05-27 11:06:17,591 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:17,592 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +check_level = , +cmor_table = 'obs4MIPs', +mip = 'Amon', +frequency = 'mon', +short_name = 'ta' +2025-05-27 11:06:17,592 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:17,592 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:17,592 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step extract_levels +2025-05-27 11:06:17,593 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'extract_levels' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +coordinate = 'air_pressure', +levels = [100000.0, + 97500.0, + 95000.0, + 92500.0, + 90000.0, + 87500.0, + 85000.0, + 82500.0, + 80000.0, + 77500.0, + 75000.0, + 70000.0, + 65000.0, + 60000.0, + 55000.0, + 50000.0, + 45000.0, + 40000.0, + 35000.0, + 30000.0, + 25000.0, + 22500.0, + 20000.0, + 17500.0, + 15000.0, + 12500.0, + 10000.0], +scheme = 'linear' +2025-05-27 11:06:17,594 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:17,594 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +maximum = 280, +minimum = 200 +2025-05-27 11:06:17,595 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:17,595 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:17,596 UTC [148246] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:06:18,166 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:18,167 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200701-200712.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200801-200812.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_200901-200912.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201001-201012.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201101-201112.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201201-201212.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201301-201312.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201401-201412.nc'), + LocalFile('/climate_data/obs4MIPs/ERA-5/v20250220/ta_mon_ERA-5_PCMDI_gn_201501-201512.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc') +2025-05-27 11:06:18,167 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +air_temperature / (K) (time: 108; air_pressure: 27; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - - + air_pressure - x - - + latitude - - x - + longitude - - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.11; ODS-2.5' + _QuantizeGranularBitRoundNumberOfSignificantDigits np.int32(5) + activity_id 'obs4MIPs' + cmor_version '3.9.0' + contact 'submissions-obs4mips@wcrp-cmip.org' + data_specs_version 'ODS-2.5' + dataset_contributor 'PjG' + external_variables 'areacella' + frequency 'mon' + further_info_url '.' + grid '0.25x 0.25 degree latitude x longitude' + grid_label 'gn' + institution 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, ...' + institution_id 'ECMWF' + license 'License to use Copernicus products available https://cds.climate.coper ...' + mip_era 'CMIP6' + nominal_resolution '25 km' + product 'reanalysis' + realm 'atmos' + references 'https://doi.org/10.1002/qj.3803' + region 'global' + source 'ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis)' + source_data_retrieval_date '20240404' + source_id 'ERA-5' + source_type 'reanalysis' + source_version_number '1.0' + table_id 'obs4MIPs_Amon' + table_info 'Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747' + title 'ERA5 monthly mean data' + variable_id 'ta' + variant_info 'obs4MIPs-compliant product prepared by PCMDI (ODS2.5)' + variant_label 'PCMDI' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc +2025-05-27 11:06:18,178 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_cli_ta_ref/ta +2025-05-27 11:06:18,183 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:24,552 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_cli_ta_ref/ta (priority 2) in 0:00:07.116152 +2025-05-27 11:06:24,552 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_cli_ta_ref/plot in process [148246] +2025-05-27 11:06:24,555 UTC [148246] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml'] +2025-05-27 11:06:24,555 UTC [148246] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:06:24,555 UTC [148246] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot +2025-05-27 11:06:24,555 UTC [148246] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot +2025-05-27 11:06:24,555 UTC [148246] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot +2025-05-27 11:06:24,555 UTC [148246] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/log.txt +2025-05-27 11:06:24,555 UTC [148246] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml +2025-05-27 11:06:29,597 UTC [148246] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:06:29,597 UTC [148246] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:06:29,597 UTC [148246] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:06:29,597 UTC [148246] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/diagnostic_provenance.yml +2025-05-27 11:06:29,609 UTC [148246] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): cera-www.dkrz.de:443 +2025-05-27 11:06:29,667 UTC [148246] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.obs4MIPs.ECMWF.ERA-5. HTTP/11" 302 266 +2025-05-27 11:06:29,684 UTC [148246] DEBUG urllib3.connectionpool:546 https://cera-www.dkrz.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.obs4MIPs.ECMWF.ERA-5. HTTP/11" 302 268 +2025-05-27 11:06:29,685 UTC [148246] DEBUG urllib3.connectionpool:1051 Starting new HTTPS connection (1): www.wdc-climate.de:443 +2025-05-27 11:06:29,752 UTC [148246] DEBUG urllib3.connectionpool:546 https://www.wdc-climate.de:443 "GET /ui/cerarest/exportcmip6?input=CMIP6.obs4MIPs.ECMWF.ERA-5. HTTP/11" 404 48 +2025-05-27 11:06:29,752 UTC [148246] WARNING esmvalcore._citation:162 Error in the CMIP6 citation link: https://cera-www.dkrz.de/WDCC/ui/cerasearch/cerarest/exportcmip6?input=CMIP6.obs4MIPs.ECMWF.ERA-5. +2025-05-27 11:06:29,759 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:06:29,759 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:06:29,759 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:06:29,759 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:06:29,890 UTC [148246] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_cli_ta_ref/plot took 0.3 seconds +2025-05-27 11:06:29,890 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_cli_ta_ref/plot (priority 0) in 0:00:05.337934 +2025-05-27 11:06:29,890 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clivi_lwcre_ref/clivi in process [148246] +2025-05-27 11:06:29,898 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['mask_outside_range', 'regrid'] +2025-05-27 11:06:29,898 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc +2025-05-27 11:06:29,898 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:29,898 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:29,899 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/clivi_Amon_OBS_ESACCI-CLOUD_historical_AVHRR-AMPM-fv3.0_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '2001/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_ref', +recipe_dataset_index = 0, +original_short_name = 'clivi', +standard_name = 'atmosphere_cloud_ice_content', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:29,899 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:29,899 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:29,899 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc +2025-05-27 11:06:29,976 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc +2025-05-27 11:06:29,976 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:29,978 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '2001/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_ref', +recipe_dataset_index = 0, +original_short_name = 'clivi', +standard_name = 'atmosphere_cloud_ice_content', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:29,979 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:29,980 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:29,980 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:29,980 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'clivi' +2025-05-27 11:06:29,983 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:29,984 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +timerange = '2001/2016' +2025-05-27 11:06:29,987 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:29,987 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '2001/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clivi', +variable_group = 'clivi', +diagnostic = 'plot_joint_clivi_lwcre_ref', +recipe_dataset_index = 0, +original_short_name = 'clivi', +standard_name = 'atmosphere_cloud_ice_content', +long_name = 'Ice Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:29,988 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:29,988 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'clivi' +2025-05-27 11:06:29,988 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:29,988 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:29,989 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:29,989 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +maximum = 0.2, +minimum = 0.01 +2025-05-27 11:06:29,989 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:29,990 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:29,991 UTC [148246] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:06:34,501 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:34,502 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_198201-201612.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc') +2025-05-27 11:06:34,502 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +atmosphere_cloud_ice_content / (kg m-2) (time: 192; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 time: mean + Attributes: + conventions 'CF/CMOR' + host 'l10390.lvt.dkrz.de' + reference 'Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 20 ...' + source 'https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3 ...' + tier np.int32(2) + title 'ESACCI-CLOUD data reformatted for the ESMValTool v2.0' + user 'b380103' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc +2025-05-27 11:06:34,509 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clivi_lwcre_ref/clivi +2025-05-27 11:06:34,514 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:35,686 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clivi_lwcre_ref/clivi (priority 4) in 0:00:05.796167 +2025-05-27 11:06:35,687 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clivi_lwcre_ref/lwcre in process [148246] +2025-05-27 11:06:35,710 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['derive', 'mask_outside_range', 'regrid'] +2025-05-27 11:06:35,710 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc +2025-05-27 11:06:35,710 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:35,710 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:35,711 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/rlut_Amon_OBS_CERES-EBAF_historical_Ed4.2_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rlut', +recipe_dataset_index = 0, +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:35,711 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:35,711 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:35,711 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc +2025-05-27 11:06:35,721 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc +2025-05-27 11:06:35,721 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:35,722 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rlut', +recipe_dataset_index = 0, +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:35,723 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:35,723 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:35,723 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:35,724 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlut' +2025-05-27 11:06:35,725 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:35,725 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +timerange = '2001/2016' +2025-05-27 11:06:35,727 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:35,728 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rlut', +recipe_dataset_index = 0, +original_short_name = 'rlut', +standard_name = 'toa_outgoing_longwave_flux', +long_name = 'TOA Outgoing Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:35,728 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:35,729 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlut' +2025-05-27 11:06:35,729 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:35,729 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:35,729 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:35,729 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:35,730 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/rlutcs_Amon_OBS_CERES-EBAF_historical_Ed4.2_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rlutcs', +recipe_dataset_index = 0, +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:35,730 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:35,730 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:35,730 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc +2025-05-27 11:06:35,740 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc +2025-05-27 11:06:35,740 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:35,741 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rlutcs', +recipe_dataset_index = 0, +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:35,742 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:35,742 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:35,742 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:35,743 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlutcs' +2025-05-27 11:06:35,744 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:35,744 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +timerange = '2001/2016' +2025-05-27 11:06:35,746 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:35,747 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_lwcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rlutcs', +recipe_dataset_index = 0, +original_short_name = 'rlutcs', +standard_name = 'toa_outgoing_longwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Longwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:35,747 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:35,748 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rlutcs' +2025-05-27 11:06:35,748 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:35,748 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:35,748 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step derive +2025-05-27 11:06:35,749 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'derive' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +short_name = 'lwcre', +standard_name = '', +long_name = 'TOA Longwave Cloud Radiative Effect', +units = 'W m-2' +2025-05-27 11:06:35,753 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:35,753 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +maximum = 100.0, +minimum = 1.0 +2025-05-27 11:06:35,754 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:35,754 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:35,755 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:35,756 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rlutcs_200003-202311.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc') +2025-05-27 11:06:35,756 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +TOA Longwave Cloud Radiative Effect / (W m-2) (time: 192; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Attributes: + Conventions 'CF-1.7' + host 'levante2.lvt.dkrz.de' + mip 'Amon' + modeling_realm 'sat' + positive 'down' + project_id 'OBS' + reference 'doi:10.1175/jcli-d-17-0208.1' + source 'https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp' + tier '2' + title 'CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d2 ...' + user 'b309141' + version 'Ed4.2' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc +2025-05-27 11:06:35,762 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clivi_lwcre_ref/lwcre +2025-05-27 11:06:35,765 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:36,178 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clivi_lwcre_ref/lwcre (priority 5) in 0:00:00.491735 +2025-05-27 11:06:36,179 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clivi_lwcre_ref/plot in process [148246] +2025-05-27 11:06:36,183 UTC [148246] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml'] +2025-05-27 11:06:36,184 UTC [148246] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:06:36,184 UTC [148246] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot +2025-05-27 11:06:36,184 UTC [148246] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot +2025-05-27 11:06:36,184 UTC [148246] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot +2025-05-27 11:06:36,184 UTC [148246] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/log.txt +2025-05-27 11:06:36,184 UTC [148246] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml +2025-05-27 11:06:40,227 UTC [148246] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:06:40,227 UTC [148246] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:06:40,227 UTC [148246] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:06:40,228 UTC [148246] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/diagnostic_provenance.yml +2025-05-27 11:06:40,240 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:06:40,240 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:06:40,240 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:06:40,240 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:06:40,347 UTC [148246] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_clivi_lwcre_ref/plot took 0.1 seconds +2025-05-27 11:06:40,347 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clivi_lwcre_ref/plot (priority 3) in 0:00:04.168457 +2025-05-27 11:06:40,347 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clt_swcre_ref/clt in process [148246] +2025-05-27 11:06:40,369 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['mask_outside_range', 'regrid'] +2025-05-27 11:06:40,369 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc +2025-05-27 11:06:40,369 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:40,369 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:40,369 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/clt_Amon_OBS_ESACCI-CLOUD_historical_AVHRR-AMPM-fv3.0_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '2001/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_ref', +recipe_dataset_index = 0, +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Fraction', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:40,369 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:40,370 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:40,370 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc +2025-05-27 11:06:40,457 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc +2025-05-27 11:06:40,457 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:40,459 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '2001/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_ref', +recipe_dataset_index = 0, +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Fraction', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:40,460 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:40,461 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:40,461 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:40,461 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'clt' +2025-05-27 11:06:40,463 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:40,463 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +timerange = '2001/2016' +2025-05-27 11:06:40,465 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:40,466 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clt', +timerange = '2001/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clt', +variable_group = 'clt', +diagnostic = 'plot_joint_clt_swcre_ref', +recipe_dataset_index = 0, +original_short_name = 'clt', +standard_name = 'cloud_area_fraction', +long_name = 'Total Cloud Fraction', +units = '%', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:40,466 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:40,467 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'clt' +2025-05-27 11:06:40,467 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:40,467 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:40,467 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:40,467 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +maximum = 100.0, +minimum = 1.0 +2025-05-27 11:06:40,468 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:40,468 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:40,469 UTC [148246] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:06:44,671 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:44,672 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_198201-201612.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc') +2025-05-27 11:06:44,672 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +cloud_area_fraction / (%) (time: 192; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 time: mean + Attributes: + conventions 'CF/CMOR' + host 'l10390.lvt.dkrz.de' + reference 'Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 20 ...' + source 'https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3 ...' + tier np.int32(2) + title 'ESACCI-CLOUD data reformatted for the ESMValTool v2.0' + user 'b380103' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc +2025-05-27 11:06:44,679 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clt_swcre_ref/clt +2025-05-27 11:06:44,684 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:45,603 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clt_swcre_ref/clt (priority 7) in 0:00:05.255463 +2025-05-27 11:06:45,603 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clt_swcre_ref/swcre in process [148246] +2025-05-27 11:06:45,620 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['derive', 'mask_outside_range', 'regrid'] +2025-05-27 11:06:45,620 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc +2025-05-27 11:06:45,620 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:45,620 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:45,620 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/rsut_Amon_OBS_CERES-EBAF_historical_Ed4.2_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rsut', +recipe_dataset_index = 0, +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:45,621 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:45,621 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:45,621 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc +2025-05-27 11:06:45,631 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc +2025-05-27 11:06:45,631 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:45,632 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rsut', +recipe_dataset_index = 0, +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:45,632 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:45,633 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:45,633 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:45,633 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsut' +2025-05-27 11:06:45,634 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:45,634 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +timerange = '2001/2016' +2025-05-27 11:06:45,636 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:45,637 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rsut', +recipe_dataset_index = 0, +original_short_name = 'rsut', +standard_name = 'toa_outgoing_shortwave_flux', +long_name = 'TOA Outgoing Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:45,637 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:45,637 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsut' +2025-05-27 11:06:45,638 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:45,638 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:45,638 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:45,638 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:45,638 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/rsutcs_Amon_OBS_CERES-EBAF_historical_Ed4.2_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rsutcs', +recipe_dataset_index = 0, +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:45,639 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:45,639 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:45,639 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc +2025-05-27 11:06:45,648 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc +2025-05-27 11:06:45,648 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:45,649 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rsutcs', +recipe_dataset_index = 0, +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:45,649 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:45,650 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:45,650 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:45,650 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsutcs' +2025-05-27 11:06:45,651 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:45,651 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +timerange = '2001/2016' +2025-05-27 11:06:45,653 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:45,654 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +derive = True, +exp = 'historical', +force_derivation = False, +mip = 'Amon', +preprocessor = 'common_grid_swcre', +timerange = '2001/2016', +alias = 'CERES-EBAF', +dataset = 'CERES-EBAF', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'Ed4.2', +short_name = 'rsutcs', +recipe_dataset_index = 0, +original_short_name = 'rsutcs', +standard_name = 'toa_outgoing_shortwave_flux_assuming_clear_sky', +long_name = 'TOA Outgoing Clear-Sky Shortwave Radiation', +units = 'W m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:45,654 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:45,655 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'rsutcs' +2025-05-27 11:06:45,655 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:45,655 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:45,655 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step derive +2025-05-27 11:06:45,656 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'derive' on the data +[, + ] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +short_name = 'swcre', +standard_name = '', +long_name = 'TOA Shortwave Cloud Radiative Effect', +units = 'W m-2' +2025-05-27 11:06:45,659 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:45,660 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +maximum = -1.0, +minimum = -200.0 +2025-05-27 11:06:45,660 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:45,661 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:45,662 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:45,662 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsut_200003-202311.nc'), + LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/CERES-EBAF/OBS_CERES-EBAF_sat_Ed4.2_Amon_rsutcs_200003-202311.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc') +2025-05-27 11:06:45,663 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +TOA Shortwave Cloud Radiative Effect / (W m-2) (time: 192; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Attributes: + Conventions 'CF-1.7' + host 'levante2.lvt.dkrz.de' + mip 'Amon' + modeling_realm 'sat' + positive 'down' + project_id 'OBS' + reference 'doi:10.1175/jcli-d-17-0208.1' + source 'https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp' + tier '2' + title 'CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d2 ...' + user 'b309141' + version 'Ed4.2' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc +2025-05-27 11:06:45,670 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clt_swcre_ref/swcre +2025-05-27 11:06:45,671 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:45,981 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clt_swcre_ref/swcre (priority 8) in 0:00:00.377870 +2025-05-27 11:06:45,981 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clt_swcre_ref/plot in process [148246] +2025-05-27 11:06:45,982 UTC [148246] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml'] +2025-05-27 11:06:45,982 UTC [148246] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:06:45,982 UTC [148246] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot +2025-05-27 11:06:45,982 UTC [148246] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot +2025-05-27 11:06:45,982 UTC [148246] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot +2025-05-27 11:06:45,982 UTC [148246] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/log.txt +2025-05-27 11:06:45,982 UTC [148246] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml +2025-05-27 11:06:50,035 UTC [148246] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:06:50,036 UTC [148246] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:06:50,036 UTC [148246] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:06:50,036 UTC [148246] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/diagnostic_provenance.yml +2025-05-27 11:06:50,054 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:06:50,055 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:06:50,055 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:06:50,055 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:06:50,164 UTC [148246] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_clt_swcre_ref/plot took 0.1 seconds +2025-05-27 11:06:50,164 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clt_swcre_ref/plot (priority 6) in 0:00:04.183180 +2025-05-27 11:06:50,164 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clwvi_pr_ref/clwvi in process [148246] +2025-05-27 11:06:50,185 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['mask_outside_range', 'regrid'] +2025-05-27 11:06:50,186 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc +2025-05-27 11:06:50,186 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:50,186 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:50,186 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/clwvi_Amon_OBS_ESACCI-CLOUD_historical_AVHRR-AMPM-fv3.0_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '1992/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_ref', +recipe_dataset_index = 0, +original_short_name = 'clwvi', +standard_name = 'atmosphere_cloud_condensed_water_content', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:50,186 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:50,186 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:50,187 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc +2025-05-27 11:06:50,366 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc +2025-05-27 11:06:50,366 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:50,367 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '1992/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_ref', +recipe_dataset_index = 0, +original_short_name = 'clwvi', +standard_name = 'atmosphere_cloud_condensed_water_content', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:50,368 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:50,368 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:50,368 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:50,369 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'clwvi' +2025-05-27 11:06:50,370 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:50,370 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +timerange = '1992/2016' +2025-05-27 11:06:50,373 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:50,374 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_clivi_clwvi', +timerange = '1992/2016', +alias = 'ESACCI-CLOUD', +dataset = 'ESACCI-CLOUD', +project = 'OBS', +tier = 2, +type = 'sat', +version = 'AVHRR-AMPM-fv3.0', +short_name = 'clwvi', +variable_group = 'clwvi', +diagnostic = 'plot_joint_clwvi_pr_ref', +recipe_dataset_index = 0, +original_short_name = 'clwvi', +standard_name = 'atmosphere_cloud_condensed_water_content', +long_name = 'Condensed Water Path', +units = 'kg m-2', +modeling_realm = ['atmos'], +frequency = 'mon' +2025-05-27 11:06:50,374 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:50,374 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +check_level = , +cmor_table = 'OBS', +mip = 'Amon', +frequency = 'mon', +short_name = 'clwvi' +2025-05-27 11:06:50,374 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:50,375 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:50,375 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:50,375 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +maximum = 0.2, +minimum = 0.01 +2025-05-27 11:06:50,375 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:50,376 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:50,376 UTC [148246] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:06:54,767 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:54,768 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/OBS/Tier2/ESACCI-CLOUD/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_198201-201612.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc') +2025-05-27 11:06:54,768 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +atmosphere_cloud_condensed_water_content / (kg m-2) (time: 300; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 time: mean + Attributes: + conventions 'CF/CMOR' + host 'l10390.lvt.dkrz.de' + reference 'Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 20 ...' + source 'https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3 ...' + tier np.int32(2) + title 'ESACCI-CLOUD data reformatted for the ESMValTool v2.0' + user 'b380103' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc +2025-05-27 11:06:54,775 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clwvi_pr_ref/clwvi +2025-05-27 11:06:54,780 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:56,657 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clwvi_pr_ref/clwvi (priority 10) in 0:00:06.492642 +2025-05-27 11:06:56,657 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clwvi_pr_ref/pr in process [148246] +2025-05-27 11:06:56,678 UTC [148246] DEBUG esmvalcore.preprocessor:716 Running block ['convert_units', 'mask_outside_range', 'regrid'] +2025-05-27 11:06:56,678 UTC [148246] DEBUG esmvalcore.preprocessor:724 Applying single-model steps to PreprocessorFile: /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc +2025-05-27 11:06:56,678 UTC [148246] DEBUG esmvalcore.esgf._download:560 All required data is available locally, not downloading anything. +2025-05-27 11:06:56,678 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_file +2025-05-27 11:06:56,679 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_file' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +output_dir = PosixPath('/executions/recipe_20250527_110608/preproc/fixed_files/pr_Amon_obs4MIPs_GPCP-V2.3_historical_v20180519_'), +add_unique_suffix = True, +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '1992/2016', +alias = 'GPCP-SG', +dataset = 'GPCP-V2.3', +project = 'obs4MIPs', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_ref', +recipe_dataset_index = 0, +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20180519' +2025-05-27 11:06:56,679 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step load +2025-05-27 11:06:56,679 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'load' on the data +LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc') +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +ignore_warnings = None +2025-05-27 11:06:56,679 UTC [148246] DEBUG esmvalcore.preprocessor._io:103 Loading: +/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc +2025-05-27 11:06:56,717 UTC [148246] DEBUG esmvalcore.preprocessor._io:151 Done with loading /home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc +2025-05-27 11:06:56,718 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_metadata +2025-05-27 11:06:56,719 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_metadata' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '1992/2016', +alias = 'GPCP-SG', +dataset = 'GPCP-V2.3', +project = 'obs4MIPs', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_ref', +recipe_dataset_index = 0, +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20180519' +2025-05-27 11:06:56,719 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step concatenate +2025-05-27 11:06:56,720 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'concatenate' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +check_level = +2025-05-27 11:06:56,720 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_metadata +2025-05-27 11:06:56,721 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_metadata' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +check_level = , +cmor_table = 'obs4MIPs', +mip = 'Amon', +frequency = 'mon', +short_name = 'pr' +2025-05-27 11:06:56,722 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step clip_timerange +2025-05-27 11:06:56,722 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'clip_timerange' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +timerange = '1992/2016' +2025-05-27 11:06:56,725 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step fix_data +2025-05-27 11:06:56,725 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'fix_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +session = Session({'auxiliary_data_dir': PosixPath('/home/bandela/auxiliary_data'), + 'check_level': , + 'compress_netcdf': False, + 'config_developer_file': PosixPath('/home/bandela/src/esmvalgroup/esmvaltool/config-developer.yml'), + 'dask': {'profiles': {'debug': {'scheduler': 'synchronous'}, + 'local_distributed': {'cluster': {'memory_limit': '4GiB', + 'n_workers': 2, + 'threads_per_worker': 2, + 'type': 'distributed.LocalCluster'}}, + 'local_threaded': {'scheduler': 'threads'}, + 'threaded': {'num_workers': 2}}, + 'use': 'local_distributed'}, + 'diagnostics': None, + 'download_dir': PosixPath('/home/bandela/climate_data'), + 'drs': {'CMIP3': 'ESGF', + 'CMIP5': 'ESGF', + 'CMIP6': 'ESGF', + 'CORDEX': 'ESGF', + 'OBS': 'default', + 'OBS6': 'default', + 'native6': 'default', + 'obs4MIPs': 'ESGF'}, + 'exit_on_warning': False, + 'extra_facets_dir': [], + 'log_level': 'info', + 'logging': {'log_progress_interval': 0.0}, + 'max_datasets': None, + 'max_parallel_tasks': 1, + 'max_years': None, + 'output_dir': PosixPath('/executions'), + 'output_file_type': 'png', + 'profile_diagnostic': False, + 'remove_preproc_dir': True, + 'resume_from': [], + 'rootpath': {'CMIP6': [PosixPath('/climate_data')], + 'OBS': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'OBS6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/OBS')], + 'default': [PosixPath('/home/bandela/climate_data')], + 'native6': [PosixPath('/home/bandela/.cache/climate_ref/ESMValTool/RAWOBS')], + 'obs4MIPs': [PosixPath('/climate_data'), + PosixPath('/home/bandela/.cache/climate_ref/ESMValTool')]}, + 'run_diagnostic': True, + 'save_intermediary_cubes': False, + 'search_esgf': 'never', + 'skip_nonexistent': False, + 'write_ncl_interface': False}), +exp = 'historical', +mip = 'Amon', +preprocessor = 'common_grid_pr', +timerange = '1992/2016', +alias = 'GPCP-SG', +dataset = 'GPCP-V2.3', +project = 'obs4MIPs', +short_name = 'pr', +variable_group = 'pr', +diagnostic = 'plot_joint_clwvi_pr_ref', +recipe_dataset_index = 0, +original_short_name = 'pr', +standard_name = 'precipitation_flux', +long_name = 'Precipitation', +units = 'kg m-2 s-1', +modeling_realm = ['atmos'], +frequency = 'mon', +version = 'v20180519' +2025-05-27 11:06:56,725 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step cmor_check_data +2025-05-27 11:06:56,726 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'cmor_check_data' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +check_level = , +cmor_table = 'obs4MIPs', +mip = 'Amon', +frequency = 'mon', +short_name = 'pr' +2025-05-27 11:06:56,726 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step add_supplementary_variables +2025-05-27 11:06:56,727 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'add_supplementary_variables' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +supplementary_cubes = [] +2025-05-27 11:06:56,727 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step convert_units +2025-05-27 11:06:56,727 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'convert_units' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +units = 'mm day-1' +2025-05-27 11:06:56,728 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step mask_outside_range +2025-05-27 11:06:56,729 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'mask_outside_range' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +maximum = 4, +minimum = 0.1 +2025-05-27 11:06:56,729 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step regrid +2025-05-27 11:06:56,730 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'regrid' on the data + +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +scheme = {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, +target_grid = '1x1' +2025-05-27 11:06:56,730 UTC [148246] DEBUG esmvalcore.preprocessor._regrid:634 Loaded regridding scheme ESMFAreaWeighted(mdtol=0) +2025-05-27 11:06:57,583 UTC [148246] DEBUG esmvalcore.preprocessor:411 Running preprocessor step save +2025-05-27 11:06:57,584 UTC [148246] DEBUG esmvalcore.preprocessor:358 Running preprocessor function 'save' on the data +[] +loaded from original input file(s) +[LocalFile('/home/bandela/.cache/climate_ref/ESMValTool/obs4MIPs/GPCP-V2.3/v20180519/pr_GPCP-SG_L3_v2.3_197901-201710.nc')] +with function argument(s) +compress = False, +compute = False, +filename = PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc') +2025-05-27 11:06:57,584 UTC [148246] DEBUG esmvalcore.preprocessor._io:497 Saving cube: +lwe_precipitation_rate / (mm day-1) (time: 300; latitude: 180; longitude: 360) + Dimension coordinates: + time x - - + latitude - x - + longitude - - x + Cell methods: + 0 time: mean + Attributes: + Conventions 'CF-1.4' + associated_files 'baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile: gridspec_atmos_fx_Obs-GPCP_GPCP_r0i0p0.nc ...' + cmor_version '2.9.1' + contact 'George Huffman (george.j.huffman@nasa.gov)' + frequency 'mon' + institute_id 'NASA-GSFC' + institution 'NASA Goddard Space Flight Center, Greenbelt MD, USA' + mip_specs 'CMIP5' + model_id 'Obs-GPCP' + modeling_realm 'atmos' + original_name 'precip' + product 'observations' + project_id 'obs4MIPs' + realm 'atmos' + references 'Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; ...' + source 'Obs-GPCP (Global Precipitation Climatology Project) v23rB1' + source_id 'GPCP' + source_type 'satellite_retrieval_and_gauge_analysis' + table_id 'Table Amon_ana (10 March 2011) 34230b4cbd7bedf38c827d6e41c1b8ea' + title 'Global Precipitation Climatology Project (GPCP) Climate Data Record (CDR), ...' +with lazy data to /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc +2025-05-27 11:06:57,591 UTC [148246] INFO esmvalcore.preprocessor:747 Computing and saving data for preprocessing task plot_joint_clwvi_pr_ref/pr +2025-05-27 11:06:57,594 UTC [148246] DEBUG asyncio:64 Using selector: EpollSelector +2025-05-27 11:06:58,309 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clwvi_pr_ref/pr (priority 11) in 0:00:01.651816 +2025-05-27 11:06:58,309 UTC [148246] INFO esmvalcore._task:289 Starting task plot_joint_clwvi_pr_ref/plot in process [148246] +2025-05-27 11:06:58,311 UTC [148246] INFO esmvalcore._task:564 Running command ['/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python', '/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py', '/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml'] +2025-05-27 11:06:58,311 UTC [148246] DEBUG esmvalcore._task:565 in environment +{'MPLBACKEND': 'Agg'} +2025-05-27 11:06:58,311 UTC [148246] DEBUG esmvalcore._task:567 in current working directory: /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot +2025-05-27 11:06:58,311 UTC [148246] INFO esmvalcore._task:568 Writing output to /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot +2025-05-27 11:06:58,311 UTC [148246] INFO esmvalcore._task:569 Writing plots to /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot +2025-05-27 11:06:58,311 UTC [148246] INFO esmvalcore._task:570 Writing log to /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/log.txt +2025-05-27 11:06:58,311 UTC [148246] INFO esmvalcore._task:580 To re-run this diagnostic script, run: +cd /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot; MPLBACKEND="Agg" /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/bin/python /home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmvaltool/diag_scripts/seaborn_jointplot_histogram.py /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml +2025-05-27 11:07:02,356 UTC [148246] INFO esmvalcore._task:141 Maximum memory used (estimate): 0.4 GB +2025-05-27 11:07:02,357 UTC [148246] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:07:02,357 UTC [148246] DEBUG esmvalcore._task:657 Script seaborn_jointplot_histogram.py completed successfully +2025-05-27 11:07:02,357 UTC [148246] DEBUG esmvalcore._task:682 Collecting provenance from /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/diagnostic_provenance.yml +2025-05-27 11:07:02,369 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IHDR' 16 13 +2025-05-27 11:07:02,369 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'tEXt' 41 58 +2025-05-27 11:07:02,369 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'pHYs' 111 9 +2025-05-27 11:07:02,369 UTC [148246] DEBUG PIL.PngImagePlugin:198 STREAM b'IDAT' 132 65536 +2025-05-27 11:07:02,475 UTC [148246] DEBUG esmvalcore._task:770 Collecting provenance of task plot_joint_clwvi_pr_ref/plot took 0.1 seconds +2025-05-27 11:07:02,476 UTC [148246] INFO esmvalcore._task:295 Successfully completed task plot_joint_clwvi_pr_ref/plot (priority 9) in 0:00:04.166447 +2025-05-27 11:07:02,729 UTC [148246] INFO esmvalcore._recipe.recipe:1201 Wrote recipe with version numbers and wildcards to: +file:///executions/recipe_20250527_110608/run/recipe_filled.yml +2025-05-27 11:07:02,771 UTC [148246] INFO esmvalcore.experimental.recipe_output:280 Wrote recipe output to: +file:///executions/recipe_20250527_110608/index.html +2025-05-27 11:07:02,771 UTC [148246] INFO esmvalcore._main:138 Ending the Earth System Model Evaluation Tool at time: 2025-05-27 11:07:02 UTC +2025-05-27 11:07:02,771 UTC [148246] INFO esmvalcore._main:142 Time for running the recipe was: 0:00:53.990751 +2025-05-27 11:07:02,959 UTC [148246] INFO esmvalcore._task:141 Maximum memory used (estimate): 4.2 GB +2025-05-27 11:07:02,959 UTC [148246] INFO esmvalcore._task:144 Sampled every second. It may be inaccurate if short but high spikes in memory consumption occur. +2025-05-27 11:07:02,960 UTC [148246] INFO esmvalcore._main:518 Removing `preproc` directory containing preprocessed data +2025-05-27 11:07:02,960 UTC [148246] INFO esmvalcore._main:521 If this data is further needed, then set `remove_preproc_dir` to `false` in your configuration +2025-05-27 11:07:03,061 UTC [148246] INFO esmvalcore._main:496 Run was successful diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..ef9fe37b8 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/log.txt new file mode 100644 index 000000000..0cff744d4 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/log.txt @@ -0,0 +1,90 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + : alias: CALIPSO-ICECLOUD + dataset: CALIPSO-ICECLOUD + diagnostic: plot_joint_cli_ta_ref + end_year: 2015 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + frequency: mon + long_name: Mass Fraction of Cloud Ice + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_levels_cli + project: OBS + recipe_dataset_index: 0 + short_name: cli + standard_name: mass_fraction_of_cloud_ice_in_air + start_year: 2007 + tier: 3 + timerange: 2007/2015 + type: sat + units: g kg-1 + variable_group: cli + version: 1-00 + ? /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + : alias: ERA-5 + dataset: ERA-5 + diagnostic: plot_joint_cli_ta_ref + end_year: 2015 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + frequency: mon + grid: gn + institute: ECMWF + long_name: Air Temperature + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_levels_ta + project: obs4MIPs + recipe_dataset_index: 0 + short_name: ta + standard_name: air_temperature + start_year: 2007 + timerange: 2007/2015 + units: K + variable_group: ta + version: v20250220 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.02 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot +plot_filename: jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot +scheduler_address: tcp://127.0.0.1:45623 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CALIPSO-ICECLOUD / ERA-5 2007/2015 +version: 2.12.0 +work_dir: /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot +x: cli +y: ta + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/resource_usage.txt new file mode 100644 index 000000000..01c2bbc8f --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/resource_usage.txt @@ -0,0 +1,5 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:06:25.579554 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:06:26.584715 2.0 2.0 98 0.4 3 0.0 0.0 +2025-05-27 11:06:27.591406 3.0 2.0 1 0.4 3 0.0 0.0 +2025-05-27 11:06:28.597025 4.0 2.0 2 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml new file mode 100644 index 000000000..94663e03a --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.02 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: CALIPSO-ICECLOUD / ERA-5 2007/2015 +x: cli +y: ta +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot +work_dir: /executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:45623 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..1fedbb47d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/log.txt new file mode 100644 index 000000000..d5bfaf696 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/log.txt @@ -0,0 +1,92 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + : alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + diagnostic: plot_joint_clivi_lwcre_ref + end_year: 2016 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + frequency: mon + long_name: Ice Water Path + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_clivi_clwvi + project: OBS + recipe_dataset_index: 0 + short_name: clivi + standard_name: atmosphere_cloud_ice_content + start_year: 2001 + tier: 2 + timerange: 2001/2016 + type: sat + units: kg m-2 + variable_group: clivi + version: AVHRR-AMPM-fv3.0 + ? /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + : alias: CERES-EBAF + dataset: CERES-EBAF + derive: true + diagnostic: plot_joint_clivi_lwcre_ref + end_year: 2016 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + force_derivation: false + frequency: mon + long_name: TOA Longwave Cloud Radiative Effect + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_lwcre + project: OBS + recipe_dataset_index: 0 + short_name: lwcre + standard_name: '' + start_year: 2001 + tier: 2 + timerange: 2001/2016 + type: sat + units: W m-2 + variable_group: lwcre + version: Ed4.2 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.03 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot +plot_filename: jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot +scheduler_address: tcp://127.0.0.1:45623 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: ESACCI-CLOUD / CERES-EBAF +version: 2.12.0 +work_dir: /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot +x: clivi +y: lwcre + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/resource_usage.txt new file mode 100644 index 000000000..8f2cdcdb7 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/resource_usage.txt @@ -0,0 +1,4 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:06:37.216188 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:06:38.222434 2.0 2.0 99 0.4 3 0.0 0.0 +2025-05-27 11:06:39.226933 3.0 2.6 56 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml new file mode 100644 index 000000000..d64a95d72 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.03 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: ESACCI-CLOUD / CERES-EBAF +x: clivi +y: lwcre +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot +work_dir: /executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:45623 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..5fc52fdfa --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/log.txt new file mode 100644 index 000000000..7c41bb969 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/log.txt @@ -0,0 +1,92 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + : alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + diagnostic: plot_joint_clt_swcre_ref + end_year: 2016 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + frequency: mon + long_name: Total Cloud Fraction + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_clt + project: OBS + recipe_dataset_index: 0 + short_name: clt + standard_name: cloud_area_fraction + start_year: 2001 + tier: 2 + timerange: 2001/2016 + type: sat + units: '%' + variable_group: clt + version: AVHRR-AMPM-fv3.0 + ? /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + : alias: CERES-EBAF + dataset: CERES-EBAF + derive: true + diagnostic: plot_joint_clt_swcre_ref + end_year: 2016 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + force_derivation: false + frequency: mon + long_name: TOA Shortwave Cloud Radiative Effect + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_swcre + project: OBS + recipe_dataset_index: 0 + short_name: swcre + standard_name: '' + start_year: 2001 + tier: 2 + timerange: 2001/2016 + type: sat + units: W m-2 + variable_group: swcre + version: Ed4.2 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.015 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot +plot_filename: jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot +scheduler_address: tcp://127.0.0.1:45623 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: ESACCI-CLOUD / CERES-EBAF +version: 2.12.0 +work_dir: /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot +x: clt +y: swcre + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/resource_usage.txt new file mode 100644 index 000000000..1ed2ebbca --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/resource_usage.txt @@ -0,0 +1,4 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:06:47.023341 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:06:48.030755 2.0 2.0 99 0.4 3 0.0 0.0 +2025-05-27 11:06:49.035328 3.0 2.4 42 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml new file mode 100644 index 000000000..7267d4076 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.015 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: ESACCI-CLOUD / CERES-EBAF +x: clt +y: swcre +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot +work_dir: /executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:45623 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/diagnostic_provenance.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/diagnostic_provenance.yml new file mode 100644 index 000000000..99ee53895 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/diagnostic_provenance.yml @@ -0,0 +1,46 @@ +? /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + - /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + plot_types: + - histogram +? /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc +: ancestors: + - /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + authors: + - lauer_axel + - bock_lisa + - schlund_manuel + - andela_bouwe + caption: Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + plot_types: + - histogram diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/log.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/log.txt new file mode 100644 index 000000000..881fcebe5 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/log.txt @@ -0,0 +1,88 @@ +/home/bandela/src/Climate-REF/climate-ref/.ref/software/conda/esmvaltool-9776cff81b525ef5fc839c1b70ccfa40943cee1d/lib/python3.12/site-packages/esmpy/interface/loadESMF.py:94: VersionWarning: ESMF installation version 8.8.0, ESMPy version 8.8.0b0 + warnings.warn("ESMF installation version {}, ESMPy version {}".format( +INFO:esmvaltool.diag_scripts.shared._base:Starting diagnostic script plot with configuration: +auxiliary_data_dir: /home/bandela/auxiliary_data +bins: 20 +cbar: true +cbar_kws: + extend: max +input_data: + ? /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + : alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + diagnostic: plot_joint_clwvi_pr_ref + end_year: 2016 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + frequency: mon + long_name: Condensed Water Path + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_clivi_clwvi + project: OBS + recipe_dataset_index: 0 + short_name: clwvi + standard_name: atmosphere_cloud_condensed_water_content + start_year: 1992 + tier: 2 + timerange: 1992/2016 + type: sat + units: kg m-2 + variable_group: clwvi + version: AVHRR-AMPM-fv3.0 + ? /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + : alias: GPCP-SG + dataset: GPCP-V2.3 + diagnostic: plot_joint_clwvi_pr_ref + end_year: 2016 + exp: historical + filename: /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + frequency: mon + long_name: Precipitation + mip: Amon + modeling_realm: + - atmos + preprocessor: common_grid_pr + project: obs4MIPs + recipe_dataset_index: 0 + short_name: pr + standard_name: lwe_precipitation_rate + start_year: 1992 + timerange: 1992/2016 + units: mm day-1 + variable_group: pr + version: v20180519 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/metadata.yml +joint_kws: + cmap: YlGnBu + vmax: 0.03 +log_level: info +marginal_kws: + color: darkturquoise +output_file_type: png +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot +plot_filename: jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG +recipe: recipe.yml +run_dir: /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot +scheduler_address: tcp://127.0.0.1:45623 +script: plot +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: ESACCI-CLOUD / GPCP-SG +version: 2.12.0 +work_dir: /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot +x: clwvi +y: pr + +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Creating /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot +INFO:esmvaltool.diag_scripts.shared._base:Plotting analysis results to /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:Saving analysis results to /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc +INFO:esmvaltool.diag_scripts.shared._base:End of diagnostic script run. diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/resource_usage.txt new file mode 100644 index 000000000..5174fe63b --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/resource_usage.txt @@ -0,0 +1,4 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:06:59.347362 1.0 1.0 0 0.3 2 0.0 0.0 +2025-05-27 11:07:00.352052 2.0 2.0 100 0.4 3 0.0 0.0 +2025-05-27 11:07:01.356657 3.0 2.4 34 0.4 3 0.0 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml new file mode 100644 index 000000000..4e6ba415a --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/settings.yml @@ -0,0 +1,30 @@ +bins: 20 +cbar: true +cbar_kws: + extend: max +joint_kws: + cmap: YlGnBu + vmax: 0.03 +marginal_kws: + color: darkturquoise +plot_filename: jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG +seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks +suptitle: ESACCI-CLOUD / GPCP-SG +x: clwvi +y: pr +recipe: recipe.yml +version: 2.12.0 +script: plot +run_dir: /executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot +plot_dir: /executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot +work_dir: /executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot +output_file_type: png +log_level: info +auxiliary_data_dir: /home/bandela/auxiliary_data +scheduler_address: tcp://127.0.0.1:45623 +input_files: +- /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/metadata.yml +- /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/metadata.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe.yml new file mode 100644 index 000000000..fd282c520 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe.yml @@ -0,0 +1,263 @@ +diagnostics: + plot_joint_cli_ta_ref: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: &id001 + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.02 + marginal_kws: &id002 + color: darkturquoise + plot_filename: jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + script: seaborn_jointplot_histogram.py + seaborn_settings: &id003 + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CALIPSO-ICECLOUD / ERA-5 2007/2015 + x: cli + y: ta + variables: + cli: + additional_datasets: + - alias: CALIPSO-ICECLOUD + dataset: CALIPSO-ICECLOUD + end_year: 2015 + project: OBS + start_year: 2007 + tier: 3 + type: sat + version: 1-00 + exp: historical + mip: Amon + preprocessor: common_grid_levels_cli + timerange: 2007/2011 + ta: + additional_datasets: + - alias: ERA-5 + dataset: ERA-5 + frequency: mon + grid: gn + institute: ECMWF + project: obs4MIPs + timerange: 2007/2015 + exp: historical + mip: Amon + preprocessor: common_grid_levels_ta + timerange: 2007/2011 + plot_joint_clivi_lwcre_ref: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: *id001 + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: *id002 + plot_filename: jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + script: seaborn_jointplot_histogram.py + seaborn_settings: *id003 + suptitle: ESACCI-CLOUD / CERES-EBAF + x: clivi + y: lwcre + variables: + clivi: + additional_datasets: + - alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + lwcre: + additional_datasets: + - alias: CERES-EBAF + dataset: CERES-EBAF + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: Ed4.2 + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_lwcre + timerange: 2007/2011 + plot_joint_clt_swcre_ref: + description: Scatterplot clt vs swcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: *id001 + joint_kws: + cmap: YlGnBu + vmax: 0.015 + marginal_kws: *id002 + plot_filename: jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + script: seaborn_jointplot_histogram.py + seaborn_settings: *id003 + suptitle: ESACCI-CLOUD / CERES-EBAF + x: clt + y: swcre + variables: + clt: + additional_datasets: + - alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + exp: historical + mip: Amon + preprocessor: common_grid_clt + timerange: 2007/2011 + swcre: + additional_datasets: + - alias: CERES-EBAF + dataset: CERES-EBAF + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: Ed4.2 + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_swcre + timerange: 2007/2011 + plot_joint_clwvi_pr_ref: + description: Scatterplot clwvi vs pr. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: *id001 + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: *id002 + plot_filename: jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + script: seaborn_jointplot_histogram.py + seaborn_settings: *id003 + suptitle: ESACCI-CLOUD / GPCP-SG + x: clwvi + y: pr + variables: + clwvi: + additional_datasets: + - alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + end_year: 2016 + project: OBS + start_year: 1992 + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + pr: + additional_datasets: + - alias: GPCP-SG + dataset: GPCP-V2.3 + project: obs4MIPs + timerange: 1992/2016 + exp: historical + mip: Amon + preprocessor: common_grid_pr + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id005 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id004 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id004 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id005 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id004 + common_grid_levels_ta: + custom_order: true + extract_levels: *id005 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id004 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id004 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id004 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id004 +regridding: + regrid: *id004 +timerange_for_data: + timerange: 2007/2011 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe_filled.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe_filled.yml new file mode 100644 index 000000000..54985be91 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/recipe_filled.yml @@ -0,0 +1,297 @@ +diagnostics: + plot_joint_cli_ta_ref: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.02 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CALIPSO-ICECLOUD / ERA-5 2007/2015 + x: cli + y: ta + variables: + cli: + exp: historical + mip: Amon + preprocessor: common_grid_levels_cli + timerange: 2007/2015 + alias: CALIPSO-ICECLOUD + project: OBS + tier: 3 + type: sat + version: 1-00 + additional_datasets: + - dataset: CALIPSO-ICECLOUD + ta: + exp: historical + mip: Amon + preprocessor: common_grid_levels_ta + timerange: 2007/2015 + alias: ERA-5 + frequency: mon + grid: gn + institute: ECMWF + project: obs4MIPs + version: v20250220 + additional_datasets: + - dataset: ERA-5 + plot_joint_clivi_lwcre_ref: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: ESACCI-CLOUD / CERES-EBAF + x: clivi + y: lwcre + variables: + clivi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2001/2016 + alias: ESACCI-CLOUD + project: OBS + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + additional_datasets: + - dataset: ESACCI-CLOUD + lwcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_lwcre + timerange: 2001/2016 + alias: CERES-EBAF + project: OBS + tier: 2 + type: sat + version: Ed4.2 + additional_datasets: + - dataset: CERES-EBAF + plot_joint_clt_swcre_ref: + description: Scatterplot clt vs swcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.015 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: ESACCI-CLOUD / CERES-EBAF + x: clt + y: swcre + variables: + clt: + exp: historical + mip: Amon + preprocessor: common_grid_clt + timerange: 2001/2016 + alias: ESACCI-CLOUD + project: OBS + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + additional_datasets: + - dataset: ESACCI-CLOUD + swcre: + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_swcre + timerange: 2001/2016 + alias: CERES-EBAF + project: OBS + tier: 2 + type: sat + version: Ed4.2 + additional_datasets: + - dataset: CERES-EBAF + plot_joint_clwvi_pr_ref: + description: Scatterplot clwvi vs pr. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: + color: darkturquoise + plot_filename: jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + script: seaborn_jointplot_histogram.py + seaborn_settings: + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: ESACCI-CLOUD / GPCP-SG + x: clwvi + y: pr + variables: + clwvi: + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 1992/2016 + alias: ESACCI-CLOUD + project: OBS + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + additional_datasets: + - dataset: ESACCI-CLOUD + pr: + exp: historical + mip: Amon + preprocessor: common_grid_pr + timerange: 1992/2016 + alias: GPCP-SG + project: obs4MIPs + version: v20180519 + additional_datasets: + - dataset: GPCP-V2.3 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_levels_ta: + custom_order: true + extract_levels: + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + default: {} +regridding: + regrid: + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 +timerange_for_data: + timerange: 2007/2011 +datasets: [] diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/resource_usage.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/resource_usage.txt new file mode 100644 index 000000000..6fac58144 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/resource_usage.txt @@ -0,0 +1,54 @@ +Date and time (UTC) Real time (s) CPU time (s) CPU (%) Memory (GB) Memory (%) Disk read (GB) Disk write (GB) +2025-05-27 11:06:09.651885 1.0 4.7 0 0.7 5 0.005 0.0 +2025-05-27 11:06:10.656427 2.0 5.9 98 0.8 6 0.005 0.0 +2025-05-27 11:06:11.662116 3.0 8.0 5 1.5 10 0.073 0.0 +2025-05-27 11:06:12.671462 4.0 11.8 6 3.6 25 0.134 0.0 +2025-05-27 11:06:13.679651 5.0 16.1 6 4.2 28 0.134 0.0 +2025-05-27 11:06:14.685399 6.0 19.9 6 2.5 17 0.134 0.0 +2025-05-27 11:06:15.690797 7.0 22.9 5 2.8 19 0.134 0.0 +2025-05-27 11:06:16.695861 8.0 24.4 6 1.8 12 0.134 0.0 +2025-05-27 11:06:17.700889 9.1 25.5 31 1.1 8 0.134 0.0 +2025-05-27 11:06:18.708440 10.1 28.2 55 3.1 21 0.134 0.0 +2025-05-27 11:06:19.715707 11.1 32.5 6 3.4 23 0.134 0.0 +2025-05-27 11:06:20.721265 12.1 35.5 7 2.8 19 0.134 0.0 +2025-05-27 11:06:21.734903 13.1 38.6 6 2.9 20 0.134 0.0 +2025-05-27 11:06:22.739740 14.1 40.2 5 1.7 11 0.134 0.0 +2025-05-27 11:06:23.744558 15.1 41.4 5 1.5 10 0.134 0.0 +2025-05-27 11:06:24.750057 16.1 42.6 7 1.2 8 0.134 0.0 +2025-05-27 11:06:25.754860 17.1 43.8 5 1.5 10 0.134 0.0 +2025-05-27 11:06:26.760493 18.1 45.2 6 2.4 16 0.134 0.0 +2025-05-27 11:06:27.765506 19.1 48.5 12 3.0 20 0.134 0.0 +2025-05-27 11:06:28.770502 20.1 51.5 13 1.6 11 0.134 0.0 +2025-05-27 11:06:29.775632 21.1 51.8 9 1.1 8 0.134 0.0 +2025-05-27 11:06:30.781337 22.1 53.0 98 1.2 8 0.141 0.0 +2025-05-27 11:06:31.787164 23.1 54.2 104 1.3 9 0.141 0.0 +2025-05-27 11:06:32.792262 24.1 55.4 104 1.3 9 0.141 0.0 +2025-05-27 11:06:33.797282 25.2 56.6 104 1.4 9 0.141 0.0 +2025-05-27 11:06:34.802759 26.2 57.9 79 2.0 14 0.343 0.0 +2025-05-27 11:06:35.807594 27.2 59.6 14 1.4 10 0.375 0.0 +2025-05-27 11:06:36.813112 28.2 60.6 8 1.6 11 0.48 0.0 +2025-05-27 11:06:37.819311 29.2 61.8 5 1.8 12 0.48 0.0 +2025-05-27 11:06:38.824664 30.2 63.2 8 1.9 13 0.48 0.0 +2025-05-27 11:06:39.834682 31.2 63.5 8 1.4 9 0.48 0.0 +2025-05-27 11:06:40.839594 32.2 64.4 59 1.4 9 0.488 0.0 +2025-05-27 11:06:41.844266 33.2 65.5 104 1.4 9 0.488 0.0 +2025-05-27 11:06:42.849856 34.2 66.7 104 1.4 9 0.488 0.0 +2025-05-27 11:06:43.855046 35.2 67.9 104 1.4 9 0.488 0.0 +2025-05-27 11:06:44.863953 36.2 69.1 89 1.6 11 0.689 0.0 +2025-05-27 11:06:45.870387 37.2 70.8 13 1.5 10 0.826 0.0 +2025-05-27 11:06:46.875654 38.2 72.0 8 1.7 11 0.826 0.0 +2025-05-27 11:06:47.880585 39.2 73.2 4 1.8 12 0.826 0.0 +2025-05-27 11:06:48.885979 40.2 74.7 9 1.9 13 0.826 0.0 +2025-05-27 11:06:49.892549 41.2 74.9 6 1.4 10 0.826 0.0 +2025-05-27 11:06:50.898163 42.3 76.0 84 1.4 10 0.834 0.0 +2025-05-27 11:06:51.903418 43.3 77.2 105 1.4 10 0.834 0.0 +2025-05-27 11:06:52.909031 44.3 78.4 104 1.4 10 0.834 0.0 +2025-05-27 11:06:53.914724 45.3 79.6 104 1.4 10 0.834 0.0 +2025-05-27 11:06:54.919726 46.3 80.8 92 1.6 11 0.987 0.0 +2025-05-27 11:06:55.924893 47.3 83.7 7 3.3 22 1.135 0.0 +2025-05-27 11:06:56.930021 48.3 85.3 29 1.4 10 1.142 0.0 +2025-05-27 11:06:57.935063 49.3 86.5 72 2.0 14 1.153 0.0 +2025-05-27 11:06:58.940381 50.3 87.6 8 1.6 11 1.153 0.0 +2025-05-27 11:06:59.945372 51.3 88.9 5 1.8 12 1.153 0.0 +2025-05-27 11:07:00.950599 52.3 90.3 8 2.1 14 1.153 0.0 +2025-05-27 11:07:01.958784 53.3 90.6 6 1.4 10 1.153 0.0 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..93647d02d0aa3f5c06f0e5474504d393e8eee066 GIT binary patch literal 8803 zcmeHNeN0nV6hHj{YAJ#r6DJ}Mhv*av6wuKpKD$z&3T;Q7B!pQDEl>k3DNk4?i+?Qp z(8c)`V~j(bADd2>&FR!ACeEmHnYy_T=e9Vv8BJW~W};iN&4t}_@4LVVW|++V^=>%t zy!(Cb@0@d+@OvxDOG*=r6O3Ae0eICpuW2Kh&{ULto>Fev!zC{wk>6b(Ktq@0qRA7tym?6BdPyCkVIfc5{D2ZxkE}qEuo=tV4ioy zF*|FRB8THI@Ox+CMz_6uJ`Rk5y8`Rjru3udboaBLDHFp%2XV}Eb&;jvKpXX)ku2Hg zJ6|0(L-Eq^ao{PXYzf7U*CwGwCI`0QS!vYxTy{@1(i)7)Arf{NJ(G#xitWK@TPPAP zwq%8Ad=?j&i_Dg+ra(hsah^G^z?^SyzwBbM00UwH=VIYn$*1%o@`>IJIwM091Ue1Y zF*O|T6BzL*!%hIU(K^LVP0B{-jbVGACg4bA<^a`HYfnXZ|2<}z5wS|_l=C%MW>1~7 z;~VNF5>uGlgHv@b8IHg%AXleA{`>-Qj=iK*2!vXKVf2?!w^SCw5xKvs-5(A4>zadR zffoz>cwzCJKG$WS4O()|@GFqJZg740S0hj9t@lW2?Y&c4iO>7E9J#q%<8cs9#oYqd z0hTZY5YJx}y=0$d1_$cO>*i@`*^z2dwFw)DCCfpxNJdJ^ah17QyEV~oQ zMNAOvzlAHD-UaY5Sq3lYWFmM84t2ZJEwK~(iM-_b>d$@)x1`e!IK>n@EBQH?%0kA( z65AdLw+F*Ai3pa~{F1kqX6Kn_&3NRuQZ~KJ?yjKw(Vt$v7_$vW@E=hQu3}bSI|pQN zy8;S5Bd#Oyfmk7BO(N6kQ$;{UKt(`BKt(`BKt(`BKt(`BKt(`BKt(`B;K3u%@J!d% z_>(83q-9_9Xl@>r_6Kg<{;2VgbbeZL&+euJQpSkso_TlnNmu7gS$VnlZOL}&+l7ZW z?Umv$#*aUFaJS^l*mySLu6Ddjb3aZk$Q$FFRW zoVH?jX2Pq|>TOrn*K}@@-u*;pm^W^tG_#{RJZH+QU+igr~V z{(1BoDdW(E$As?>6rs$1bAlD+`qdgLAHK56iqgI3Eh_Svb5@jj*KSft(!_}<%Mz2R zTu+@UqCAl`i^@@JnTV3A8|L8cFN*q8t3~VCjbh}pZt=l;T-`xMKt(`BKt(`B004Of&em|Mn*T4~ z)XbTTTx2q;9Hovbhs*BpQ6^(1p#+dL2>4}xTTt$&H2SzGFknCX$G0kt7ecB=oa)&<}q)cuanTDI$ zqe1dfK|tsT$xVX8Te;BRydV;37TPW5Jc~KkRL#6>U`y2dTah)QD_E5ky!C!r4n|v> z39m>#+z{H^1lcc4BVQFbJzjUV)9$cWxSuQ$as)?}ExS;# + + + + + + + + + + + 20 + Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CALIPSO-ICECLOUD / ERA-5 2007/2015 + cli + ta + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco) + Atmospheric Science Data Center (ASDC) + CF/CMOR + Thu Jan 12 11:24:11 2023: ncatted -a cell_measures,cli,d,, /work/bd0854/DATA/ESMValTool2/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Thu Jan 12 11:24:10 2023: ncatted -a cell_methods,cli,m,c,time: mean /work/bd0854/DATA/ESMValTool2/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Thu Aug 11 08:10:46 2022: ncatted -O -a tier,global,m,l,3 OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Created on Sat Apr 18 20:42:35 CEST 2020 + mistralpp4.hpc.dkrz.de + doi:10.5067/CALIOP/CALIPSO/L3_Ice_Cloud-Standard-V1-00 + https://eosweb.larc.nasa.gov/project/calipso/cal_lid_l3_ice_cloud_standard_v1_00 + 3 + CALIPSO-ICECLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CALIPSO-ICECLOUD + CALIPSO-ICECLOUD + plot_joint_cli_ta_ref + 2015 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + mon + Mass Fraction of Cloud Ice + Amon + ['atmos'] + cli + common_grid_levels_cli + OBS + 0 + cli + mass_fraction_of_cloud_ice_in_air + 2007 + 3 + 2007/2015 + sat + 1 + cli + 1-00 + {'units': 'g kg-1'} + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 0.005, 'minimum': 0.0001} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc')} + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..3575ad9309677dde0bf85055d5d1d2345959fba6 GIT binary patch literal 13251 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 X-q?y{ZfZJfhPkPk)%1~ + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:57:40Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:57:40Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/8c6d64d7-44ca-4dc8-b118-71902eada196 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + ERA-5 + ERA-5 + plot_joint_cli_ta_ref + 2015 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + mon + gn + ECMWF + Air Temperature + Amon + ['atmos'] + ta + common_grid_levels_ta + obs4MIPs + 0 + ta + air_temperature + 2007 + 2007/2015 + K + ta + v20250220 + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 280, 'minimum': 200} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc')} + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:52:20Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:52:20Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/76637da7-8c93-4184-a9b9-2b1e6582d17b + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:51:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:51:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ebbe83a0-cec9-436c-a76b-1dbb529bbd00 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + netCDF Operators version 5.0.6 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco) + Atmospheric Science Data Center (ASDC) + CF/CMOR + Thu Jan 12 11:24:11 2023: ncatted -a cell_measures,cli,d,, /work/bd0854/DATA/ESMValTool2/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Thu Jan 12 11:24:10 2023: ncatted -a cell_methods,cli,m,c,time: mean /work/bd0854/DATA/ESMValTool2/OBS/Tier3/CALIPSO-ICECLOUD/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Thu Aug 11 08:10:46 2022: ncatted -O -a tier,global,m,l,3 OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_200701-201512.nc +Created on Sat Apr 18 20:42:35 CEST 2020 + mistralpp4.hpc.dkrz.de + doi:10.5067/CALIOP/CALIPSO/L3_Ice_Cloud-Standard-V1-00 + https://eosweb.larc.nasa.gov/project/calipso/cal_lid_l3_ice_cloud_standard_v1_00 + 3 + CALIPSO-ICECLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:56:20Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:56:20Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/40c35170-3c22-4c55-a5b8-44fcf78f6f3e + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + CALIPSO-ICECLOUD + CALIPSO-ICECLOUD + plot_joint_cli_ta_ref + 2015 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc + mon + Mass Fraction of Cloud Ice + Amon + ['atmos'] + cli + common_grid_levels_cli + OBS + 0 + cli + mass_fraction_of_cloud_ice_in_air + 2007 + 3 + 2007/2015 + sat + 1 + cli + 1-00 + {'units': 'g kg-1'} + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 0.005, 'minimum': 0.0001} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/cli/OBS_CALIPSO-ICECLOUD_sat_1-00_Amon_cli_2007-2015.nc')} + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:49:39Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:49:39Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ddb7edc9-eccb-4eb3-b824-51a0f6ed4604 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:48:19Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:48:19Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/a39964c8-4eea-43fc-84cb-c6eb35addb8b + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:59:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:59:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ad03a7a4-9f38-493c-9d9f-099a9b492f70 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:55:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:55:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/73bd6794-c38f-4db9-bfb5-0b2590e3ac9e + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:53:40Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:53:40Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/acbbcc0c-97e0-42f4-a46a-653b8a238fbc + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + 20 + Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CALIPSO-ICECLOUD / ERA-5 2007/2015 + cli + ta + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..4737bbe588cefd74164b6161813a47d0cc4722f4 GIT binary patch literal 8803 zcmeHNZ){Ul6hH0jx>_C^PRK-O!10)`9h-FB(r#$TV%M%6Eq3i}A46p# zpx{6uNMbN1{0TD=oe7vhLSjseV*G$6$_ElPMk66cB~eUR0+P&g?w@TgBaTG;^ltil z=iPhHyZ7ARx#zy5=k2NY)lGHZ=eE0CAj_~Q9rJigh3NR=-2CRIdSA${p0@KYr9gDa zN5)IH9c-lHoI_WegH`ZOHKUPaDsN^t=AvCycIpI}HjS?9#F%TTLd8iJJ}}p~qEHJ! zm;OE)%$7zPSrsZ8X#-$gG7Z3rDdv7DJdb+*kmoqFvyafA1)0i`mXEWTTt0}fIF z4N6^5`Xb&HxT!~Zgt!0E%Z=F}hJS%+1I(Ds9#jg2$>SLr9#(5fRlylmnl%zkm>u!X zY9pJ?#Z#H6naIO5bcURsjKq0ak&-IvB3v^L;{+G!8iCqy81BIiVv(ruH8lEz;fAJQ zBy7|M{Ge*ou0R2QAXwYzXZpl1=`+?)o>O<`;{P-OTX}io!mPub!&#HyP{*05tbyt& zP(6%H6%=s}M>pG%wXPD)rU)H^OiG9NQeCNudElN87IHf` zaDj`HH*meT_)wEkzm60O;HJhqj*EWsoN_z!sq<+&C{V~f7t3zW#PiH|ZX9yNcaa!1 z!_J}2B_Lx;ObIm`FW*lVseWpqwX$6k2^!70Y!-1sJmz=vgXKig=nkK|HauL2+|7L1T}>K`tia zeWa0=GU))|6CD(8N{Wfd8Pdz*$Y;`{T=fX z?kS4x@u9i~)rr^^JUcb~MKyGe;j7c)sjftZ{H4Vn8V0;TK5*C&58%8)*Gi;%Y8I;6$^yp6+AnkywOhv*dU)~F7!i3@-! z@PcQGEs$l&NH z9B2r)z)T#54(L(@9fA{`?rchNLeir8n!ovL)WRcku?fp(T=2Ex>tF%jGAa*jBb(_- zWK7%7UMQ z`+WMGe!ca~P}f^kZ|aV{rSA;%4(R)?9zC&e#VLJN^5boX51rJnJvMytOXqv~kFE;~ zZd~fu`<(kOp7QkTA6`BE=!}wn{kPbl8%t5^(J3|I_U3|I`@ zc?Kx2AhR_xRW1L^SJN_+Q9+rEkiX6!@&^rngk>_8VM>6K2JxsF%_q#!l*ULd3S89B z|M=G?%yh`y2~V=%yZK!Q%bTigJee{19E!|ONI5o#LKcjzQ*PpupBn9B*S>}lGgz9r z0JWDsJW!w*{;Rc1%cLBip_N<+1K{YTvH`NtNvR@CJt?BYL0MjzPEl(pA*jGzJnNIs zcA8tFxdhAP(kB-*nUPE2M+I?hOUg`Y{&3^^Xu2hvO=~?~Po>vWp+3RA?BYXoM7t?# z#70;tMhJIAO*4_}PGerNBc0NE@|qdd7UEY04b9=E#SMnv2sE|&v?ZE9RJ(Yo=B=n$ QzQkKmx%A + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:57:40Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:57:40Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/8c6d64d7-44ca-4dc8-b118-71902eada196 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + 20 + Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.02} + {'color': 'darkturquoise'} + jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + CALIPSO-ICECLOUD / ERA-5 2007/2015 + cli + ta + + + + ERA-5 + ERA-5 + plot_joint_cli_ta_ref + 2015 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc + mon + gn + ECMWF + Air Temperature + Amon + ['atmos'] + ta + common_grid_levels_ta + obs4MIPs + 0 + ta + air_temperature + 2007 + 2007/2015 + K + ta + v20250220 + {'coordinate': 'air_pressure', 'levels': [100000.0, 97500.0, 95000.0, 92500.0, 90000.0, 87500.0, 85000.0, 82500.0, 80000.0, 77500.0, 75000.0, 70000.0, 65000.0, 60000.0, 55000.0, 50000.0, 45000.0, 40000.0, 35000.0, 30000.0, 25000.0, 22500.0, 20000.0, 17500.0, 15000.0, 12500.0, 10000.0], 'scheme': 'linear'} + {'maximum': 280, 'minimum': 200} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_cli_ta_ref/ta/obs4MIPs_ERA-5_ta_2007-2015.nc')} + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:52:20Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:52:20Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/76637da7-8c93-4184-a9b9-2b1e6582d17b + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:51:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:51:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ebbe83a0-cec9-436c-a76b-1dbb529bbd00 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:56:20Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:56:20Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/40c35170-3c22-4c55-a5b8-44fcf78f6f3e + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:49:39Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:49:39Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ddb7edc9-eccb-4eb3-b824-51a0f6ed4604 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:48:19Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:48:19Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/a39964c8-4eea-43fc-84cb-c6eb35addb8b + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:59:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:59:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/ad03a7a4-9f38-493c-9d9f-099a9b492f70 + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:55:00Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:55:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/73bd6794-c38f-4db9-bfb5-0b2590e3ac9e + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + CF-1.11; ODS-2.5 + obs4MIPs + 3.9.0 + submissions-obs4mips@wcrp-cmip.org + 2025-02-20T18:53:40Z + ODS-2.5 + PjG + areacella + mon + . + 0.25x 0.25 degree latitude x longitude + gn + 2025-02-20T18:53:40Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards + The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK + ECMWF + License to use Copernicus products available https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels-monthly-means?tab=overview + CMIP6 + 25 km + reanalysis + atmos + https://doi.org/10.1002/qj.3803 + global + ECMWF-ERA-5 1.0 (2019): ECMWF - ERA5 (European ReAnalysis) + 20240404 + ERA-5 + reanalysis + 1.0 + obs4MIPs_Amon + Creation Date:(18 November 2020) MD5:e1c3cfad2bd885020628302b713a1747 + ERA5 monthly mean data + hdl:21.14102/acbbcc0c-97e0-42f4-a46a-653b8a238fbc + ta + obs4MIPs-compliant product prepared by PCMDI (ODS2.5) + PCMDI + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..eddff3114db0296373d8e9e53d2b3bb578aaff5c GIT binary patch literal 8799 zcmeHNeQZ-z6u<53wyqS$$8@j{_lC>HXWhzRG3>oZdF|Fg*N(lpgpW|V^^JAu+Szs; z#t}5p2nM4}2!2Fd4B*s-U@{2tBTUp0gCD^_3>aeq(Wt@kk*E=d^PYR(-R3glNW{P1 z&Cbrd_nv$1xxaJHeM!&T<#tw1w`5z4W;0@KL~H)}bfiR^xb4~A>vKEnjMjc5o#Ilo zDYj%Hw-}KDL{f>o!9+T^pV1T!B}4v}P&^Uc8Vj^7Gg3t}X98cVsjZ@ecsV>!-BjWV zN2e4`B6Ti27)+WPl+qZA__tlvW+~fb&sj;#pPp+lWWt!ypgrJcGJrXk2^P=d^N|Te z5RbCVC~F6PO0mEUw}_5k>!Oxy&@95^rg6%++c{a#!21I;_P!Du*V@R6*419CtVSS&JYXIFv>`*BI@H1mnba7OZmA zcm75gMnXqq0I`J9wnW0#A07aUtS%UVvy!Osd*#|#v|WuQLOARodgfySjY%~Y4@Dz_ zeMyAGr%+~l*k)hS5^P>Bl-f$mY|G^2cU~F`Xk0A7T4;=G`BX4TK9ReDvrse z%BJFd3?m$6$_YR>>ek%UqHP4;n6mdt0?yD@j$tz+>mg&PqNQYEvWNFTSxO!AGKrv8iMr778?mRU6Nm z9sP24i#Y1KLa@PzuNig)GS^M)PyK3SDcy62ls4WurM39Hi_4Lj%Qzed;MCmBLm#15 z$`G2y9yH$iu6-BFRfKvq$J8+?>X_6#=o?J*Qbx!^E=!VdH??@0gN`pJzVp!R&cGKj zMsVyF_EanNXdYGr7jzaTxCAG=-N}|P3GTS=2*lp5xaFp#H^q0?@_dG9lyYRsm>l^G-s=eXj~Y?_WPc$X9+!0J_w5o>0fB zp9G+E^Dv>W4yTDgFICSX)OaOZ1X}WZA)(((Z6eUXxpG3gIvpaAlD$@ROYw>u#|A6- zAJc`ZM@xjraD%Y#neD>n^lst0_mJ@P-V?&yi)Vzs{O<)xy&<%oH;QH3tm5tL`^D2A z=8Jo_EEG3#%f!ON72=S)QoQ#b*LTnn&=JrP&=JrPKnUsztXjiL)$F%?YnW9sN}!Ta z=c;toxxBK=PbwKJa7h4)2Ejlg5LXjpC5_Qq6f(m+{o$XVw9>(9C!_*_W!v8}k-DjM z6D?*;y@tZ-6O0p$+CjjA@qMUGoVrwF9DnvzP?*83mNI1Rg0BuZl!5-Mvop&WpID(~ zSZD^I*DvS20~V%2sR);zwC@a%397uToMIKAM8u(VTJ?!Xn-iUZm`W + + + + + + + CF/CMOR + Created on Thu Mar 21 15:00:54 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clivi_lwcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + mon + Ice Water Path + Amon + ['atmos'] + clivi + common_grid_clivi_clwvi + OBS + 0 + clivi + atmosphere_cloud_ice_content + 2001 + 2 + 2001/2016 + sat + kg m-2 + clivi + AVHRR-AMPM-fv3.0 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc')} + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + + + + + + + + + + + + + + 20 + Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clivi + lwcre + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..b41acb200a915fc541f0a1c7f09cd041b45ce6d0 GIT binary patch literal 13247 zcmeHOcT`l#(!WFrLr`=DOd}vcVI+gf++qfXoKX>!%nTwpqyYp`K`|i;B7&?6K3!QA zTmvR_&5Ed)Q4td=%c_V1D`xTCzG2pH!#TU>+kJo0hoWz%>gr!r_pN)nX1SZQi<*kA zimZ|n#-uNFI&MYPn9~h2Qa8T!b#o4oW$lyIBkSatLClcf<|?w74C<+=iT>9PK>sn! ziOMiVWAq>+FH4t)L?^_h$Au?kM5hSDXU3&U5@S;$XJ^P!%@mJz1*(+Bj2Vu}6OVH8 z*l*`%${5N1%a@}=M-C^&R~s%PGZ+n*m7yPqXR-n@8jK_!$R0(q#V|HDR0$ipfM`)r zK`nA)(R3Krl}*X>3suDY$yy8>Ld!GYPvv3pP**u(Mi!bi+(#&hjuBZqB_^iC#EBy% z!cgQ0&5%r9l=HsQ$l^6ym*0um=@81phin}cJ~(e1iJhBga_y!lpHZ@Rm}Peu{RXdDZ6C$B8FACDh)z?`6l>2k*6ri4e%Q~6u z%jAdwiTn)8LNy4JB$oB7J$ktZPR4YIUdU935`;uYn~~wbACF*b?V{bij}LtnSwxQ-YyfVUV?^_!^d?@Ndse5CrT zgjX#oKCftYh#F3vc;j}UNX31*y}M=lN;Sb5$z?yDv0xlO!CMczNd|x zL8^9olrG&)WUfxWUgWMKU(m#1LO0Qy4r7$cFk$K$u1uN9nf_>ZqQuk>rS+srRsXJ@ zKA)uZ41c;i7NNmB_2>Nv^dr!ZKtBTg2=pV+k3c^H{Rs3U(2qbr0{sZ|Bk*?-SW{^D z-~%@grWHAaM^9P`AM5+>%$MYW-xlus2QE2KUHbFSkDlehNE?L>WATL$;Ac~89Ge81 zl_|ok?IG~$MDB($w_PE*C_6i8y&Y6^E53bw-58>K6d#4&7zS%BdX5_kH6Un%UdI4U z3`}+2H=VQW#^2Wtd-0if7oYz=_^r#TM%?dG?8d%vd-43dTWWUzpE8(Z54PH*ptKr*KeM8cdi@>y^ae<6=8C)A*R&j9UI^e8MNFz z%liD21hUzZ^Nn>;;E`LEGICx3Y;c%n zszt3e_CK0%NtplU{RBDKva{j%yrrFZr*Y-Y`0dSjs`!5EzTP^iyy=Ob*Wm5*;A+>q z{H1#qLuAK&zlC#Gz>wRgKKeVaggbR5F`m0{lYJX`@=U1jukI} zTx@oi-m?TaV<&W6Q#b?8-tgcQhWWuF2W^!}I?kZd(6m>**dD(3I<`Pd(+rB;kKImG z9}UAd>fKDz)B-%!d_wdt8Sv<<@$GeejgOkUXu|$kH}PA8sUOTf#)ZP^Ik8Zez~V_*|k2`bO4j(YM-q2_L9TAM{4 z^n9LER^Och*Y<3g*L*JuibeUYQ4^)C7YG;1CGlfmdHxQ1f1{Q}Ml?6)AJ$Si|fRiw?37@|!LSM(Ge% zR8S=fjD_6|&i1jo(?RD_*|0}}{veW=ufxn;U{0VveshNd7-z{1vD{$+i*+-_3sMci z4%@lzW5Y1`@z&vFy{D=W`y}FmUg%p|zBc@>g#8467YmuMY)!9aCPDSu#O7dyWC)em z@BFBm4(gIY8P{&*f&1)|xuvt$LfCA6!GDge1zfRZmA}t2*mY0MM65Rlo;q(?dZRfG zj?Y_Ds{36y^y!p)+eJ?XXRl)_4+}j(x#=)oE8;Z_4lFnZxGC5v_GI z3}E8ITfP-zzLDzLc6GMs&id!LnzO1wc-~ZKyK*}|)Mf@0{A9k?llIs>-ijuxS!1Zddd$bBCd z1#@c}B3c!LVS)Q)8Bx6-nAx7ae>ltqlpd@+H71%1LeAa~X>wNZqE5WUJ=+Lu^t`MO zigh4|6_|bQr~)wZH715;CD{7H)_{&d!7A%3$S?6Oog}D$QN$Bc*lm<5jzto><6Ayk(*L#|?qTph{>f}t7 z5OAxP4;@wK51imUQ>@n&jHVmNt5pH)Gzt$s*%}v)>f1Lw6~MKdEqAvDxq*@DjmH}E{NQ4rgULk4sZfzHV*in*D5zgH z#&ptN3Fr#59)Fvg1K#SdR{eM)8^&%dwVC6R3ZL$!8I<|N!HHKst#4LF!ls&Stkcnoq88oyVN#VYD4F+k zOpZ~O?&FbR2hC66ju5!#i0j%eM<_g3!oIY}1@_*aSh{taFKC$at)^uMgZxa7G9$vi zYK@I{d!5aIj<=EaNpb1Wnc~%8mz)F_t0TG=hKN90b;a%hya<@}JoR+n!65L|Sw5k8 zhd&G*+-}e_%?)bI0xGqv93jPjVDriI)=>8@Sna_|69~R__)}-BE>Q0kRj4k^E*`M{ zH9pvO@rj*%HZ;z5kou~#_!;#X@@ zdAw=+FzAU7eHw1fhV%6$wlRD3;fr~SX0w5r)K0GZb(bdu^P&6AgrtrQ0if}vWDG5FC7oWgM+9H?$c&rtjZd=HDY=YP_M zSCiI-yl5T`v%8o4*fPi%6rMy(d3n!p-MPrQFYWr6yJ}}Nppi9 z;jGPS7o6b2Opn~6yEtqv`g9Z|I$-sOEx|+(|GKwnENtI1jC0yi54N5->D+hV z8(7>hSm2kU0%dw$+dE!IlJ0Y-s)A@Uk)1_(HWK48Qt)XOpGTj*}UiG z(HK*x>8m+o(l7?h54|i2J;IjC<yj6is*XzLaXSKQFGA-z7i>P=Vss@zZE7JOUNBgTCIOQkY zrTxJMT&qh_U;p}b+HZY`Ki;T!{Ep@=eASMIp)HFa;UDV%@##V0U?&!m*_f{`159?%$S~_XH zJ(BvRj2}(u^$ab~E?Upu(SGZ8x?CbHQ~vfYobr1P{>Hz(F7?wWJGw=WZ<4N`8Ar|k zqjWqa$3Cf_OqEOM@p)4Jp1he3K{xxq4@_~ysO#OyL?{rO_={u{7t&77F6@}N*+Mb8 zqh?2?N!a2<$*)c6ktuPJQ3*m0n@N_~^J@{f^aA;J0T;{#G81^gl$n5wKe$l-!$2Ts z`s(zzfk6Lys09+3x^liu-)+w#YRIIw%VCxl)Tn%B@KomEpU+v9cLbz0{i9JQX!T!5 zouGU03GS1peZBT9V`?>i^rBeVM1TgddJW7R#k~XwTm%6EA16UL8TVpK=nGx8$3#jZ zQ-zXW17M_9jVYma>Jp#*hjB4XNE|&O#;A-bFKUU}@WI&7;o{g$B6Pb6Kb8h|5O=RT06 zs2938BGW_}Rk!NU;+>U!dCkm}I0zutk}uFQ2!Hs^{zP35j#I*%Ks zT+HqE*~(p9a)_(la*LKCI_i$(3l*O&*u<*~i-{9wtj>1<*nBddptZ;)W2mGa* z3vr_4fJk)Aks=OHB;xSO%jc0K5>*l9DjtSiCaJu5*h*Wy?o|VICwk zHiq&Mm6s=zWL3M6kEp!7fFvxZl#fUx+C);L*A6}+E317ZmFpbiBf_u-qCL#9u~Ctj ze=0F=G0)2CFt4%k5znetp5UQPj5FnbtK-NQwFmMoYh#JJxqMO8QhsB>YQ9zKdVYEE zRzBvqi!U;)<2SNS6FmDElX66 zCw)x9!$SeA|DK1(cyvfWl$fYqrd+x_{t(rIVgJ0>i`GrfM7#4SI@8!~?u4(s-dQHp z{QrBem%)I+gu$UGq4_D2kO@y_VphrUs>6s!VezXz8&WMxDWD5elr$#1BPE1T- zr(1F?EIH<^Kq{zQiDD5QnS>@IIoQ%10;3}(5@AYG0`VnF{se}dp2{YF1;aKL1oE7m d+|8W4e5W|G$FrS?Pl-S?0iWk$lK(7J|G!vH-!K3G literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_data_citation_info.txt new file mode 100644 index 000000000..9784fa2ec --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_data_citation_info.txt @@ -0,0 +1,3 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 +- doi:10.1175/jcli-d-17-0208.1 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_provenance.xml new file mode 100644 index 000000000..8cc6b0241 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_provenance.xml @@ -0,0 +1,219 @@ + + + + CF/CMOR + Created on Thu Mar 21 15:00:54 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + CERES-EBAF + CERES-EBAF + True + plot_joint_clivi_lwcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + False + mon + TOA Longwave Cloud Radiative Effect + Amon + ['atmos'] + lwcre + common_grid_lwcre + OBS + 0 + lwcre + 2001 + 2 + 2001/2016 + sat + W m-2 + lwcre + Ed4.2 + {'short_name': 'lwcre', 'standard_name': '', 'long_name': 'TOA Longwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc')} + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clivi_lwcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc + mon + Ice Water Path + Amon + ['atmos'] + clivi + common_grid_clivi_clwvi + OBS + 0 + clivi + atmosphere_cloud_ice_content + 2001 + 2 + 2001/2016 + sat + kg m-2 + clivi + AVHRR-AMPM-fv3.0 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/clivi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clivi_2001-2016.nc')} + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clivi + lwcre + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..c06eeaca6bfa78994931bd1bf8559b2056ed68b9 GIT binary patch literal 8799 zcmeHNeQZ-z6uxzT69W^5Z^R4`R#`h{z>L?vw~kG^j;sR#k<(q9bBH9pdfmv*10iXEOyZvZWeQmQ@I$>s0mK;7M zmW<{3W@18-Tq-57nvgqZ(1n&fZtqw`hK3|JidtYt33mHuH0EP3HK-gjQ%mPA<>2M+$iN|Uj z^J6qVYpU#v?2h^EA$?&@rM`B*HFQL%t)u?f!escf8lqIZKOpP@-)x{MrP zY$DzV81X0*P5`#i0q&-Dz7cw3!rrF|Sio0~V(n|SQiS*4W0o0_%VVcr=wO*Wd&!Y6 zsh1$8Ft^91std#s*cP}rW%vuq;2f>CP7Xyn!ZGxh+}f3rWAW6;R63Z51Y4tFyDXZ6 z{BVB#l3~}~gEpAqnh{r^aNXGc#IHt?(!DoGY4eR!n#bo&T#mwA!SOf1Gj=dsR2|3Cg(=4QzV{%KeZ?dvWnUH*XS<-~N#^dRi{zaRp@4PI#3*jOL z1V?URZ-c*ulzOF=}iv=*1VR##DJzhCV*)5Ml9)tbC?KlB`N>z5 z(udWz@^&0kTHe@ix^n!u(sS&zWhCza;MdmehA@lECO^D~Q9w;ooe#I9-P-3Jw=_^}mN=k+MP)mMMITDnIWs8}VH zZr!Q$tvWL4oo~C8^uc3uJ|EnqoVvJmp?Z0}viQQ{ZRg6H73KYxX1MCyO6BgAsj|Vj z3L!fcT_12Uvb%NN?#^VkQ_}T5==Zq^`Iu5B^DB%a6{twMK8upmS*;=w@*t&b_7N2+ zli5tk*}qFg%4GIYB0HZ}k#xP6Qr7#LisW>jpp+>YP>~2Z3-jw-*=#QCzY_L6;C4Ds zy0h7fZfCz0bWDSF^VMfdT&h0kR~`KuVC+#-F}>X%jGI;QI7@2Xkp z1JG$S0|5g80|5g81A$wQ0M->mwMLYx#c%miR8%q+U?rp3Q|D>+_%u&|Rx+y1tdbE5 zrh>_EYNVtwT#F($EGn=c{^fBi9inzZD-a;t`Kp!HO{KN0m@)Ah3K&D1;8Y_&2wE_@ zkF|-@-!z&>pWTIp8EDHHBT_ehbzmWdH-Nl&sq}TUFc(WjP3|JRwazX2YKa76$B literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_data_citation_info.txt new file mode 100644 index 000000000..7a86fa838 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- doi:10.1175/jcli-d-17-0208.1 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_provenance.xml new file mode 100644 index 000000000..991ce864c --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_provenance.xml @@ -0,0 +1,164 @@ + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + CERES-EBAF + CERES-EBAF + True + plot_joint_clivi_lwcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc + False + mon + TOA Longwave Cloud Radiative Effect + Amon + ['atmos'] + lwcre + common_grid_lwcre + OBS + 0 + lwcre + 2001 + 2 + 2001/2016 + sat + W m-2 + lwcre + Ed4.2 + {'short_name': 'lwcre', 'standard_name': '', 'long_name': 'TOA Longwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clivi_lwcre_ref/lwcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_lwcre_2001-2016.nc')} + + + + + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + + + + + + 20 + Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clivi + lwcre + + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..8b03eaea2441c347216ed1542f9d3cdd72d29ed0 GIT binary patch literal 8797 zcmeHNYitx%6h8atb}8Ey1yisf1M-xzw562tqs-3CZfWgy3*DlI0PVhLx7qHN-Ragq z#RTG`#uz99(MBj*9zuhH4G1I%8bwXSKq5*E8W8xQhMJI&h-kg%-nngUN-T-^Yi@ex z%zdBxopbIc{idzdS(2XiXqwS#1z!5JvT7=8$<;cpTs&V=S?a7Z+Iozv%ao#Z@hL-f znh^{*#3JC+V5SxFmL7G3qIJ&Y{ai7Yyt2x z1(xynVlZpVK#D&ct$DUr>jkZO?VY=$sQKv=4Tf>pX*6gr)lOErwzC2rv}MPFNgJ zFd7Q_2vR8-48wt7+quO0Fpe=9fO-+26RV_fB+dT^k_b!&aR@<@JH#1o3=fY3^SmdO z*|~x#ayb41zqe-Ys8mYJabODE6V6V!KUWXXQt z)%dX)ikqXSfv1$VB^1|Pe+(_Mxv&M#N~5O6qb!ZbnnH0kOu`PMXDSg~F&T;{!m(&^ zeomCeXK{gjkv%`BKDcH9|UiPq9fI+cIJrZk2o2y_~> zGc^+L6BzL*BTfLeQM=}*dTk^0#)!R76EH)YIY`y7R3;(3{~oi<2#XdwrF;#R*)tb+ zeNVkaVhVG6XsSBMa0IrRT%7{>^9jT`inBxrh8sgs^q1goR)uIx9q3B>;$fdZ60!@t zE3OBo=IUY0cB?r8Be7LG2UzH_te&LkHx zL2%#}c9(gpVFFnOFX${HcnJ=7yVEVP6Z?t0y!6r^0~YR_LOb9irr24@&%sOTlDed4V7FP=Ge;D8u7)qQ25?U1;9#$W4lK7C&dCce4d z{rVBH{M7C_*FNYGPaNED?YetRR2CFAZJc&e{O)+s57G7$qWk*c&gCpZ+8j z<>o3G<(Xq^sT7{xD5IR|dXGr(kf^VUu(&cyBrSr!%@}pxeImj)sFRY>yeja%Z@Gb zmh~NScI_T{uk$@QclL4lWcnv$O}*#{=m_Wt=m_WtJa`0gn?@@)~$WaJ`~ zQROOeRk=KhtA;Weg@h77(je$leTk4dKxy=IQDDV>_K$yISf+z>CyZnPXnNO7c~jd; zMrMqhL*e`c*Mm6}v|w-@xrvXjRu~7L-GRgmDNC6GTPuEdV1i8eug=ab<9aAV%dyZ5 zfL%XLI*1lpkSZe7llGkfn33h>bc(GQDIyb$VysUhwnlC7#Y2?IolK_TW=cFnJ}L+b zEn&4@aCs}9@Cb8X9*m#u7xfUgNzBf3I?wt_d{Q`JzsDMENf^5KS% oObCgVKs+SOa(N|1DVwXfE0;Tkd4fU$#5>m|OC_`SjqZ5iZ>G0=X#fBK literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_data_citation_info.txt new file mode 100644 index 000000000..db6c3181e --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_provenance.xml new file mode 100644 index 000000000..26f4ab94d --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_provenance.xml @@ -0,0 +1,137 @@ + + + + CF/CMOR + Created on Thu Mar 21 14:56:32 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + + + + + + + + + + 20 + Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clt + swcre + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clt_swcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + mon + Total Cloud Fraction + Amon + ['atmos'] + clt + common_grid_clt + OBS + 0 + clt + cloud_area_fraction + 2001 + 2 + 2001/2016 + sat + % + clt + AVHRR-AMPM-fv3.0 + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc')} + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..d8ee7ccb138b946999793fc6ae2a94116b6660f7 GIT binary patch literal 13245 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 S`jGIm67ro~MlPCFZu}pH$&pR~ literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_data_citation_info.txt new file mode 100644 index 000000000..9784fa2ec --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_data_citation_info.txt @@ -0,0 +1,3 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 +- doi:10.1175/jcli-d-17-0208.1 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_provenance.xml new file mode 100644 index 000000000..1e9e96b12 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_provenance.xml @@ -0,0 +1,219 @@ + + + + CF/CMOR + Created on Thu Mar 21 14:56:32 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + CF-1.7 + Created on 2024-03-08 10:54:33 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clt_swcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc + mon + Total Cloud Fraction + Amon + ['atmos'] + clt + common_grid_clt + OBS + 0 + clt + cloud_area_fraction + 2001 + 2 + 2001/2016 + sat + % + clt + AVHRR-AMPM-fv3.0 + {'maximum': 100.0, 'minimum': 1.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/clt/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clt_2001-2016.nc')} + + + CERES-EBAF + CERES-EBAF + True + plot_joint_clt_swcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + False + mon + TOA Shortwave Cloud Radiative Effect + Amon + ['atmos'] + swcre + common_grid_swcre + OBS + 0 + swcre + 2001 + 2 + 2001/2016 + sat + W m-2 + swcre + Ed4.2 + {'short_name': 'swcre', 'standard_name': '', 'long_name': 'TOA Shortwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': -1.0, 'minimum': -200.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc')} + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + + + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + 20 + Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clt + swcre + + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..169fce619a03c903f95a704bce5653bfe371800a GIT binary patch literal 8797 zcmeHNdu)?c6u*6}tKGMCAP54J54Op8tb0&-{4u_bZ|yedy15Qw5Gmc-u|jEQ+jSuU zMHF#~OB68(1Ozm^G&4M6&=|ITMdn`$i-H7+LE{2Og&@obvU$&aY;zfLB;sG+&Cbq! zoO|xMzjMxQ($nVBVtcY_f=O#MBHsE~du}S7$z=;y&Y!balonTMg%eu3q)T8+e9KU7 z(jpCr7>K+^PX>5wjx^PVeeQaHBpO;3_N<+)rHWEhfiGriOXwut4jrnSO8lauOD-m1 z7!Mtdo~c0zHU6M`-F3D~+2ymY=ZX2rlQfz!FsIe94(^i)%ynbH;!)ycqz4fsqH#tv z?nT^7Fu{s$2A#jLo?5buS+aphBQ$mr*{Dlo_6|j)uTLlfQ5`-}fK%O0U$oX+XO%;t zu-6~-M12vIik-oa2P5&hq;U=dVJ5yXR%1X$kd+-pE*E+fF93vqLvdNT&FLzuaJpS` zk;8@r5$1I$fo^aXmD`9sfD7^jGR#j4o5J3Int*3%d%J7mZi?Z=5nw3clb{tMYZ9{d zVWbjLD24;Uwx`568f0`DM0|+QUKrxWk<|YmNCGe^*dZ86?vP^tTL17kP|rIPsh!Ix z!_6oUlF$gB0zeKvQpRI%EbPsZ#@FawT4kc30)r1;@-U#uX39Ib)ox296 z(Waip(TFD$I}#PF`soRF!@B@2AzqbiA1suZKZ4^ z-p4S)RYsfu^q{TGP4(;`@WzO}PZBVN?Ht7Fm&<7Y@4v?^HNwDRrC_1nd^Mw7Lnt;zD@|KT& zKDTl~zw0u<1}%PO_!G!oH*`Gmr;(@h-utAq_Wmi&;`0F>M{X|Xa23k? z;1zb1xvJ6QSPeYT<1oP^INa+_j$|(+TZfD{3Zo0ihu5gg^$OkW1Mr{KL{t?Q-WoGryb3lg9Gf>DK zL65`*VSw8kX3Ew7Dgr73Dgr73Dgr73Dgr73Dgr73Dgr73Dgr734n)@^Plgqn4Z}veR9b3%I)_yONY~U zEZSDtBAseKv*(PkO{)DUz9O}Jr?mf`J9eaWpR~)@a_;1n1CqAwXxGi;R!P|XlK*x8 zG3nk`r6Zj5u{7GAb^O@wPo+p^@8%^-+ofAYM`pOcX_o?%6uO_(;&uyl(CNyTA3-tfqJc4LUWsMC_v#u-w|r<{6Yb`)_sCd zhGCxqv@)}W(7fib0`y_$B0?F4biAI9=XyGTM8iQwIhf~kAhfYD9YIFO0V^0Y|jeiYWEy` zt{I>8Wk+uF3s`4c`@{FRdV-38ihzoMihzm$LQq%W)f!%^=HKND0ba?-g-S-1&2Fo* zIc1xhR5Iq^k^mG9yq>5h;)@QHH2P~%$O!B7i+^$0N(Zlwd0Wp?u$;-Fo3Qton8>xy~PXknqhz2Xu;HvdRqrPxM0M`|315q&+ m5y|g2#4MYuNS4d8Wk + + + + + + + CF-1.7 + Created on 2024-03-08 10:54:33 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + CERES-EBAF + CERES-EBAF + True + plot_joint_clt_swcre_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc + False + mon + TOA Shortwave Cloud Radiative Effect + Amon + ['atmos'] + swcre + common_grid_swcre + OBS + 0 + swcre + 2001 + 2 + 2001/2016 + sat + W m-2 + swcre + Ed4.2 + {'short_name': 'swcre', 'standard_name': '', 'long_name': 'TOA Shortwave Cloud Radiative Effect', 'units': 'W m-2'} + {'maximum': -1.0, 'minimum': -200.0} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clt_swcre_ref/swcre/OBS_CERES-EBAF_sat_Ed4.2_Amon_swcre_2001-2016.nc')} + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + + + + + + + + + + + + + 20 + Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.015} + {'color': 'darkturquoise'} + jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / CERES-EBAF + clt + swcre + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + CF-1.7 + Created on 2024-03-08 10:54:34 + levante2.lvt.dkrz.de + Amon + sat + up + OBS + doi:10.1175/jcli-d-17-0208.1 + https://ceres-tool.larc.nasa.gov/ord-tool/jsp/EBAFTOA42Selection.jsp + 2 + CERES-EBAF data reformatted for ESMValTool v2.11.0.dev34+g9a8f66d6e.d20240123 + b309141 + Ed4.2 + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..f158ef99d52fbe16bad799c46179947ab49be172 GIT binary patch literal 8793 zcmeHNeQZ-z6u8ggD;I=Kr|`=bU@-CI+A(Mz3*;w8F3`yU+-pT z=iPhHz4zSTx#zy5zqixvEXgwEnzTkEVr5V%s}|6fLZ!pJ;)_LOXTBHFJ1F_fWNd?z)8k$>DVSi&dk&Ld72R1I%(upQb0$r|5TS^=8aCo3|Q;VBA z+T~L$471=tqgSRu8TH|ae{;XmOI6?Q8=nyOv*u_t)1XbOQ6BI!X~0@H4LqLA&qI1J zK|GpiL^GeoPZ=iY(LGArZ?#cRRx6%tCDsT{pF;-fG8KPEBQiM1IlxqhSL9$-zc-X@ z2(Gis(P%svjs%jS1e%0{!IlRn@w%ii4Ha%N-Y}lVfQ(=(dmKI=nuKBKsglDkGa>IDFU+mKvvkjZT9|3=!&tDlQC3{r`a^0F#Xaf{|naafUaB$Hsw1 z-kVANTul|;9D6{2w&lE3DZ9(TFazD?X~!E%KSWMy`;ti`8yfDyM$%(zAd@oCO#Qg=r<9=8ut2uhN|+jzg&-Q^jy_4iY-QvK)mST=0p5QYIUK4-d{K9q1#f=w9*bU?Dv+ z98GLF8cBsBNqiz`TC+=DE?Hu=EbqF!>NXu-Dpz{QdgR5+CZoQA1$%`ua22rnmy0GBenl(TwM3?QEA}y z#o5R64of>uZP@YrFP)Of=9}`>zWvgEeO2!Hu07H~-^aJFzT7VL*PhyvekLYO&!4fg zeT_pZ%FHi1ncGR^d+TpSAlvfH0!UW3Oyt0mO#;Zih7KZYkG?8^YTNTvvK-94Ge=QnaikoR}z5!q+8h#;*OmlIjr;t)X`x#i-Txrrjr zkuycTmnR4%O@+dxKUNCC?OTObLt1#sb67B?KNQY?eOB0Sz9Q5$+!6L()QX#1II%W& zhFE-Zo|sp+NHpq}iZ>4ziC?-)#0MX7bp;gx6#*3i6#*3ign(CIYz?ET*>Cw=Gh;Fe zfytJ zxmrqQjGsec`~=e@ITY|dNAA5Ch#6d}s6t#De088hIq1LIJM)a`(F`ra zLU91S_LKP-cxV8s2vbkWcLqogEH9%|H~}ak9hyK{pG0(BvLz4?5hiyY9tMla@eux~ zAjr3bla0K~SFtkCToa8p^C_FfYO@q_6*S65Iz>Yu2CNa8p-`E@*APf1L-ANM<`v0@ m8+ + + + + + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + CF/CMOR + Created on Thu Mar 21 15:05:09 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + + + + + + + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + 20 + Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / GPCP-SG + clwvi + pr + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clwvi_pr_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + mon + Condensed Water Path + Amon + ['atmos'] + clwvi + common_grid_clivi_clwvi + OBS + 0 + clwvi + atmosphere_cloud_condensed_water_content + 1992 + 2 + 1992/2016 + sat + kg m-2 + clwvi + AVHRR-AMPM-fv3.0 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc')} + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..d988fe0c74ccd46c8d93c00263f1f5a6983d0140 GIT binary patch literal 13241 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 F`wtCQ#JT_g literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_data_citation_info.txt new file mode 100644 index 000000000..b35f91be3 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_data_citation_info.txt @@ -0,0 +1,3 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; Adler et al. 2003, http://dx.doi.org/10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2; Huffman et al. 2009, http://dx.doi.org/10.1029/2009GL040000; Adler et al. 2016, Global Precipitation Climatology Project (GPCP) Monthly Analysis: Climate Algorithm Theoretical Basis Document (C-ATBD) +- Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_provenance.xml new file mode 100644 index 000000000..76c24173f --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_provenance.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + + + + + + + + + + CF/CMOR + Created on Thu Mar 21 15:05:09 CET 2024 + l10390.lvt.dkrz.de + Stengel et al., Earth Syst. Sci. Data, doi:10.5194/essd-9-881-2017, 2017 + https://public.satproj.klima.dwd.de/data/ESA_Cloud_CCI/CLD_PRODUCTS/v3.0/ + 2 + ESACCI-CLOUD data reformatted for the ESMValTool v2.0 + b380103 + + + + + + + + + + + + + GPCP-SG + GPCP-V2.3 + plot_joint_clwvi_pr_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + mon + Precipitation + Amon + ['atmos'] + pr + common_grid_pr + obs4MIPs + 0 + pr + precipitation_flux + 1992 + 1992/2016 + kg m-2 s-1 + pr + v20180519 + {'units': 'mm day-1'} + {'maximum': 4, 'minimum': 0.1} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc')} + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + 20 + Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / GPCP-SG + clwvi + pr + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + ESACCI-CLOUD + ESACCI-CLOUD + plot_joint_clwvi_pr_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc + mon + Condensed Water Path + Amon + ['atmos'] + clwvi + common_grid_clivi_clwvi + OBS + 0 + clwvi + atmosphere_cloud_condensed_water_content + 1992 + 2 + 1992/2016 + sat + kg m-2 + clwvi + AVHRR-AMPM-fv3.0 + {'maximum': 0.2, 'minimum': 0.01} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/clwvi/OBS_ESACCI-CLOUD_sat_AVHRR-AMPM-fv3.0_Amon_clwvi_1992-2016.nc')} + + + + + + + + + + CF-1.4 + 2.9.1 + NOAA Climate Data Record Program for satellites, FY 2011. Global Precipitation Climatology Project (GPCP) Monthly Version 2.3 gridded, merged satellite/gauge precipitation Climate Data Record (CDR) with errors from 1979 to present. + George Huffman (george.j.huffman@nasa.gov) + 2018-02-08T15:25:54Z + mon + 2018-02-08T15:25:54Z CMOR rewrote data to comply with CF standards and CMIP5 requirements. + NASA-GSFC + NASA Goddard Space Flight Center, Greenbelt MD, USA + CMIP5 + Obs-GPCP + atmos + observations + obs4MIPs + atmos + Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; Adler et al. 2003, http://dx.doi.org/10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2; Huffman et al. 2009, http://dx.doi.org/10.1029/2009GL040000; Adler et al. 2016, Global Precipitation Climatology Project (GPCP) Monthly Analysis: Climate Algorithm Theoretical Basis Document (C-ATBD) + Obs-GPCP (Global Precipitation Climatology Project) v23rB1 + GPCP + satellite_retrieval_and_gauge_analysis + Table Amon_ana (10 March 2011) 34230b4cbd7bedf38c827d6e41c1b8ea + Global Precipitation Climatology Project (GPCP) Climate Data Record (CDR), Monthly V2.3 observation output prepared for obs4MIPs. + 4070c751-6c2d-440f-a4d7-5b325fb98990 + + + + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc new file mode 100644 index 0000000000000000000000000000000000000000..ca3ecce5a322db5954994f8dc82b16535dac47f0 GIT binary patch literal 8793 zcmeHNeQZ-z6hCeEQOX;eFhoAa9z$gyl&u>oG3|Zxt!oEcH`Yl4&WvvDw!+qywiLmE z1Ossqh2Y0Bf=KuXj873YnDLK53^5P_Xown7K>Y(Sq6QK`GVi(f-EA%-jzs+H-R!*c z?!D*Ud+zUiG}(D=?&6X(%NUE%YzEP~wKgw@kK}0+SeR_?)fn>B0`S6nyZFxx{r7jsSQ$ zgOtbc#gL?J1Icy4Q0=ncv{}%k;pl;`ubKL3;|zvOoHZJ>7y8ZyC^u!I#*fI^kc1*2 z!zeS1dX>HCt*{d za3~aZQ>2oIaSVH%ZHvo19A!)fU}gl^ie1_Sl1cvuk_gN&Y7mN~Fi3H*B{(n+-144O zuIGHt=;g!<+-^;8uTb5yQ7{?)lKI3oZ5}OWdXV#^C(#{DkjgDr7hV$b$C&Lbbju#w z)z;xKtiH8mIEa|ijs$z-&*M=e$%!L)SLQXf9@_wNYQ-9E%xA%J;|}- zJ7y*7QyAO*Lsg;T2y8XYoihFN$<#P%af$2?wgf_GFS%|>Tn>ffy;BKaH0Y~q4p?Q; zY;g7L0!NSO9!DLFG|h+7L|-VtYlO< zOPp0skLs*tm5irpNdSumeqY=d3&eX%8a=frFylP`$G<#ar9;$Cc##Dl(wW5SrcwZDBI*-@_pPCz27UWjn>cp4+}QW-3KnK)tKfBmz(P|1 zKDdd1@5QV}gZY2O(@5>|OdIYqK#LC^$4c-1EsZip}SMFXsoi=SNJVQMr$KPvFc zOM~$y+378x>uatKhnwYu&6;ns=1Jw;%4WVry)S}QBep}Hwu86c7mo*`k!D&~tZ!bL n2+E0=9Er-gPH&N_mQGX4Dqbj-r^~KNwQ`!*HTgyN4_SW$#w&DT literal 0 HcmV?d00001 diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_citation.bibtex b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_citation.bibtex new file mode 100644 index 000000000..4109c6319 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_citation.bibtex @@ -0,0 +1,13 @@ +@article{righi20gmd, + doi = {10.5194/gmd-13-1179-2020}, + url = {https://doi.org/10.5194/gmd-13-1179-2020}, + year = {2020}, + month = mar, + publisher = {Copernicus {GmbH}}, + volume = {13}, + number = {3}, + pages = {1179--1199}, + author = {Mattia Righi and Bouwe Andela and Veronika Eyring and Axel Lauer and Valeriu Predoi and Manuel Schlund and Javier Vegas-Regidor and Lisa Bock and Bj"{o}rn Br"{o}tz and Lee de Mora and Faruk Diblen and Laura Dreyer and Niels Drost and Paul Earnshaw and Birgit Hassler and Nikolay Koldunov and Bill Little and Saskia Loosveldt Tomas and Klaus Zimmermann}, + title = {Earth System Model Evaluation Tool (ESMValTool) v2.0 -- technical overview}, + journal = {Geoscientific Model Development} +} diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_data_citation_info.txt b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_data_citation_info.txt new file mode 100644 index 000000000..b5bc51ceb --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_data_citation_info.txt @@ -0,0 +1,2 @@ +Additional data citation information was found, for which no entry is available in the bibtex file: +- Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; Adler et al. 2003, http://dx.doi.org/10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2; Huffman et al. 2009, http://dx.doi.org/10.1029/2009GL040000; Adler et al. 2016, Global Precipitation Climatology Project (GPCP) Monthly Analysis: Climate Algorithm Theoretical Basis Document (C-ATBD) diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_provenance.xml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_provenance.xml new file mode 100644 index 000000000..607f09018 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_provenance.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + b.andela@esciencecenter.nl + bouweandela + NLeSC, Netherlands + https://orcid.org/0000-0001-9005-8940 + + + + + + + + + + + + LisaBock + DLR, Germany + https://orcid.org/0000-0001-7058-5938 + + + + + + + 20 + Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG) + True + {'extend': 'max'} + {'cmap': 'YlGnBu', 'vmax': 0.03} + {'color': 'darkturquoise'} + jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + ('histogram',) + tcp://127.0.0.1:45623 + plot + seaborn_jointplot_histogram.py + {'rc': {'axes.titlepad': 15.0}, 'style': 'ticks'} + ESACCI-CLOUD / GPCP-SG + clwvi + pr + + + + + + + + + + + + GPCP-SG + GPCP-V2.3 + plot_joint_clwvi_pr_ref + 2016 + historical + /executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc + mon + Precipitation + Amon + ['atmos'] + pr + common_grid_pr + obs4MIPs + 0 + pr + precipitation_flux + 1992 + 1992/2016 + kg m-2 s-1 + pr + v20180519 + {'units': 'mm day-1'} + {'maximum': 4, 'minimum': 0.1} + {'scheme': {'reference': 'esmf_regrid.schemes:ESMFAreaWeighted'}, 'target_grid': '1x1'} + {} + {'compress': False, 'compute': False, 'filename': PosixPath('/executions/recipe_20250527_110608/preproc/plot_joint_clwvi_pr_ref/pr/obs4MIPs_GPCP-V2.3_pr_1992-2016.nc')} + + + axel.lauer@dlr.de + DLR, Germany + https://orcid.org/0000-0002-9270-1044 + + + manuel.schlund@dlr.de + schlunma + DLR, Germany + https://orcid.org/0000-0001-5251-0158 + + + Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + [] + + + + + + + + + + + + + CF-1.4 + 2.9.1 + NOAA Climate Data Record Program for satellites, FY 2011. Global Precipitation Climatology Project (GPCP) Monthly Version 2.3 gridded, merged satellite/gauge precipitation Climate Data Record (CDR) with errors from 1979 to present. + George Huffman (george.j.huffman@nasa.gov) + 2018-02-08T15:25:54Z + mon + 2018-02-08T15:25:54Z CMOR rewrote data to comply with CF standards and CMIP5 requirements. + NASA-GSFC + NASA Goddard Space Flight Center, Greenbelt MD, USA + CMIP5 + Obs-GPCP + atmos + observations + obs4MIPs + atmos + Huffman et al. 1997, http://dx.doi.org/10.1175/1520-0477(1997)078<0005:TGPCPG>2.0.CO;2; Adler et al. 2003, http://dx.doi.org/10.1175/1525-7541(2003)004<1147:TVGPCP>2.0.CO;2; Huffman et al. 2009, http://dx.doi.org/10.1029/2009GL040000; Adler et al. 2016, Global Precipitation Climatology Project (GPCP) Monthly Analysis: Climate Algorithm Theoretical Basis Document (C-ATBD) + Obs-GPCP (Global Precipitation Climatology Project) v23rB1 + GPCP + satellite_retrieval_and_gauge_analysis + Table Amon_ana (10 March 2011) 34230b4cbd7bedf38c827d6e41c1b8ea + Global Precipitation Climatology Project (GPCP) Climate Data Record (CDR), Monthly V2.3 observation output prepared for obs4MIPs. + 4070c751-6c2d-440f-a4d7-5b325fb98990 + + + + + + + + diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/out.log b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/out.log new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/output.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/output.json new file mode 100644 index 000000000..1993c3abc --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/output.json @@ -0,0 +1,102 @@ +{ + "index": "/executions/recipe_20250527_110608/index.html", + "provenance": { + "environment": {}, + "modeldata": [], + "obsdata": {}, + "log": "/executions/recipe_20250527_110608/run/main_log_debug.txt" + }, + "data": { + "executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc", + "long_name": "Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc", + "long_name": "Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc", + "long_name": "Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc", + "long_name": "Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc", + "long_name": "Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc", + "long_name": "Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc", + "long_name": "Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc", + "long_name": "Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc", + "long_name": "Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc", + "long_name": "Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc", + "long_name": "Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG)", + "description": "" + }, + "executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc": { + "filename": "executions/recipe_20250527_110608/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc", + "long_name": "Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG)", + "description": "" + } + }, + "plots": { + "executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png": { + "filename": "executions/recipe_20250527_110608/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png", + "long_name": "Scatterplot clivi vs lwcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png": { + "filename": "executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png", + "long_name": "Scatterplot cli vs ta (CALIPSO-ICECLOUD / ERA-5 2007/2015)", + "description": "" + }, + "executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png": { + "filename": "executions/recipe_20250527_110608/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png", + "long_name": "Scatterplot clt vs swcre (ESACCI-CLOUD / CERES-EBAF)", + "description": "" + }, + "executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png": { + "filename": "executions/recipe_20250527_110608/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png", + "long_name": "Scatterplot clwvi vs pr (ESACCI-CLOUD / GPCP-SG)", + "description": "" + } + }, + "html": { + "/executions/recipe_20250527_110608/index.html": { + "filename": "/executions/recipe_20250527_110608/index.html", + "long_name": "Results page", + "description": "Page showing the executions of the ESMValTool run." + } + }, + "metrics": null, + "diagnostics": {} +} \ No newline at end of file diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/recipe.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/recipe.yml new file mode 100644 index 000000000..fd282c520 --- /dev/null +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/recipe.yml @@ -0,0 +1,263 @@ +diagnostics: + plot_joint_cli_ta_ref: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: &id001 + extend: max + joint_kws: + cmap: YlGnBu + vmax: 0.02 + marginal_kws: &id002 + color: darkturquoise + plot_filename: jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015 + script: seaborn_jointplot_histogram.py + seaborn_settings: &id003 + rc: + axes.titlepad: 15.0 + style: ticks + suptitle: CALIPSO-ICECLOUD / ERA-5 2007/2015 + x: cli + y: ta + variables: + cli: + additional_datasets: + - alias: CALIPSO-ICECLOUD + dataset: CALIPSO-ICECLOUD + end_year: 2015 + project: OBS + start_year: 2007 + tier: 3 + type: sat + version: 1-00 + exp: historical + mip: Amon + preprocessor: common_grid_levels_cli + timerange: 2007/2011 + ta: + additional_datasets: + - alias: ERA-5 + dataset: ERA-5 + frequency: mon + grid: gn + institute: ECMWF + project: obs4MIPs + timerange: 2007/2015 + exp: historical + mip: Amon + preprocessor: common_grid_levels_ta + timerange: 2007/2011 + plot_joint_clivi_lwcre_ref: + description: Scatterplot clt vs lwcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: *id001 + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: *id002 + plot_filename: jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF + script: seaborn_jointplot_histogram.py + seaborn_settings: *id003 + suptitle: ESACCI-CLOUD / CERES-EBAF + x: clivi + y: lwcre + variables: + clivi: + additional_datasets: + - alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + lwcre: + additional_datasets: + - alias: CERES-EBAF + dataset: CERES-EBAF + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: Ed4.2 + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_lwcre + timerange: 2007/2011 + plot_joint_clt_swcre_ref: + description: Scatterplot clt vs swcre. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: *id001 + joint_kws: + cmap: YlGnBu + vmax: 0.015 + marginal_kws: *id002 + plot_filename: jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF + script: seaborn_jointplot_histogram.py + seaborn_settings: *id003 + suptitle: ESACCI-CLOUD / CERES-EBAF + x: clt + y: swcre + variables: + clt: + additional_datasets: + - alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + exp: historical + mip: Amon + preprocessor: common_grid_clt + timerange: 2007/2011 + swcre: + additional_datasets: + - alias: CERES-EBAF + dataset: CERES-EBAF + end_year: 2016 + project: OBS + start_year: 2001 + tier: 2 + type: sat + version: Ed4.2 + derive: true + exp: historical + force_derivation: false + mip: Amon + preprocessor: common_grid_swcre + timerange: 2007/2011 + plot_joint_clwvi_pr_ref: + description: Scatterplot clwvi vs pr. + scripts: + plot: + bins: 20 + cbar: true + cbar_kws: *id001 + joint_kws: + cmap: YlGnBu + vmax: 0.03 + marginal_kws: *id002 + plot_filename: jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG + script: seaborn_jointplot_histogram.py + seaborn_settings: *id003 + suptitle: ESACCI-CLOUD / GPCP-SG + x: clwvi + y: pr + variables: + clwvi: + additional_datasets: + - alias: ESACCI-CLOUD + dataset: ESACCI-CLOUD + end_year: 2016 + project: OBS + start_year: 1992 + tier: 2 + type: sat + version: AVHRR-AMPM-fv3.0 + exp: historical + mip: Amon + preprocessor: common_grid_clivi_clwvi + timerange: 2007/2011 + pr: + additional_datasets: + - alias: GPCP-SG + dataset: GPCP-V2.3 + project: obs4MIPs + timerange: 1992/2016 + exp: historical + mip: Amon + preprocessor: common_grid_pr + timerange: 2007/2011 +documentation: + authors: + - bock_lisa + - lauer_axel + - andela_bouwe + description: 'Plot 2D histograms using the Seaborn diagnostic in ESMValTool. + + ' + maintainer: + - bock_lisa + title: Model evaluation with focus on clouds. +levels_for_3d_vars: + extract_levels: &id005 + coordinate: air_pressure + levels: + cmor_table: CMIP6 + coordinate: plev27 + scheme: linear +preprocessors: + common_grid_clivi_clwvi: + custom_order: true + mask_outside_range: + maximum: 0.2 + minimum: 0.01 + regrid: &id004 + scheme: + reference: esmf_regrid.schemes:ESMFAreaWeighted + target_grid: 1x1 + common_grid_clt: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id004 + common_grid_levels_cli: + convert_units: + units: g kg-1 + custom_order: true + extract_levels: *id005 + mask_outside_range: + maximum: 0.005 + minimum: 0.0001 + regrid: *id004 + common_grid_levels_ta: + custom_order: true + extract_levels: *id005 + mask_outside_range: + maximum: 280 + minimum: 200 + regrid: *id004 + common_grid_lwcre: + custom_order: true + mask_outside_range: + maximum: 100.0 + minimum: 1.0 + regrid: *id004 + common_grid_pr: + convert_units: + units: mm day-1 + custom_order: true + mask_outside_range: + maximum: 4 + minimum: 0.1 + regrid: *id004 + common_grid_swcre: + custom_order: true + mask_outside_range: + maximum: -1.0 + minimum: -200.0 + regrid: *id004 +regridding: + regrid: *id004 +timerange_for_data: + timerange: 2007/2011 From ed0e9c9f260bd9e1a60e7c6ad8b1bbe60ce90c45 Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 27 May 2025 13:10:21 +0200 Subject: [PATCH 12/18] Remove setuptools dependency, no idea how it got there --- packages/climate-ref/pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/climate-ref/pyproject.toml b/packages/climate-ref/pyproject.toml index 17431b7d1..02d7ae3ec 100644 --- a/packages/climate-ref/pyproject.toml +++ b/packages/climate-ref/pyproject.toml @@ -39,7 +39,6 @@ dependencies = [ "loguru>=0.7.2", "ecgtools>=2024.7.31", "platformdirs>=4.3.6", - "setuptools>=75.8.0", "tqdm>=4.67.1" ] From 1348524c637a70d241405da98f5db44f1216cf84 Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Tue, 27 May 2025 13:11:07 +0200 Subject: [PATCH 13/18] Update uv.lock --- uv.lock | 2 -- 1 file changed, 2 deletions(-) diff --git a/uv.lock b/uv.lock index 7922f1331..2749585d9 100644 --- a/uv.lock +++ b/uv.lock @@ -571,7 +571,6 @@ dependencies = [ { name = "environs" }, { name = "loguru" }, { name = "platformdirs" }, - { name = "setuptools" }, { name = "sqlalchemy" }, { name = "tomlkit" }, { name = "tqdm" }, @@ -616,7 +615,6 @@ requires-dist = [ { name = "loguru", specifier = ">=0.7.2" }, { name = "platformdirs", specifier = ">=4.3.6" }, { name = "psycopg2-binary", marker = "extra == 'postgres'", specifier = ">=2.9.2" }, - { name = "setuptools", specifier = ">=75.8.0" }, { name = "sqlalchemy", specifier = ">=2.0.36" }, { name = "tomlkit", specifier = ">=0.13.2" }, { name = "tqdm", specifier = ">=4.67.1" }, From 934352ff5b9bf24923bd3005c256037cea541cca Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Thu, 21 Aug 2025 11:12:15 +0200 Subject: [PATCH 14/18] Update ESMValTool version --- .../src/climate_ref_esmvaltool/recipe.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py index 31b249e4b..a038d2a2b 100644 --- a/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py +++ b/packages/climate-ref-esmvaltool/src/climate_ref_esmvaltool/recipe.py @@ -140,8 +140,8 @@ def dataframe_to_recipe( return variables -_ESMVALTOOL_COMMIT = "58fd0b8ece981bc97c4fbd213b11f2228d90db28" -_ESMVALTOOL_VERSION = f"2.13.0.dev65+g{_ESMVALTOOL_COMMIT[:9]}" +_ESMVALTOOL_COMMIT = "8f56863a70ba4df76ec501ba0372c571a0af6cf9" +_ESMVALTOOL_VERSION = f"2.13.0.dev120+g{_ESMVALTOOL_COMMIT[:9]}" _RECIPES = pooch.create( path=pooch.os_cache("climate_ref_esmvaltool"), From e01ff468c281a0c144113a17aab282427edd9f3c Mon Sep 17 00:00:00 2001 From: Bouwe Andela Date: Thu, 21 Aug 2025 11:46:02 +0200 Subject: [PATCH 15/18] Update example output --- .../config/config.yml | 0 .../diagnostic.json | 0 .../recipe_20250821_093708}/index.html | 44 +- ...1f1_gn_20070115T120000-20141215T120000.png | Bin 0 -> 131228 bytes ...115T120000-20141215T120000_citation.bibtex | 22 + ...00-20141215T120000_data_citation_info.txt} | 2 +- ...0115T120000-20141215T120000_provenance.xml | 275 ++ .../recipe_20250821_093708}/run/cmor_log.txt | 0 .../recipe_20250821_093708/run/main_log.txt | 105 + .../run/main_log_debug.txt | 1091 ++++++++ .../plot/diagnostic_provenance.yml | 50 + .../run/plot_joint_cli_ta_model/plot/log.txt | 94 + .../plot/resource_usage.txt | 6 + .../plot_joint_cli_ta_model/plot/settings.yml | 30 + .../recipe_20250821_093708/run}/recipe.yml | 10 +- .../run/recipe_filled.yml | 18 +- .../run/resource_usage.txt | 19 + ...5T120000-20141215T120000_cli_histogram.nc} | Bin 8832 -> 8874 bytes ...41215T120000_cli_histogram_citation.bibtex | 22 + ...0000_cli_histogram_data_citation_info.txt} | 2 +- ...141215T120000_cli_histogram_provenance.xml | 179 ++ ...20000-20141215T120000_cli_ta_histogram.nc} | Bin 13280 -> 13322 bytes ...15T120000_cli_ta_histogram_citation.bibtex | 22 + ...0_cli_ta_histogram_data_citation_info.txt} | 2 +- ...215T120000_cli_ta_histogram_provenance.xml | 275 ++ ...15T120000-20141215T120000_ta_histogram.nc} | Bin 8832 -> 8874 bytes ...141215T120000_ta_histogram_citation.bibtex | 22 + ...20000_ta_histogram_data_citation_info.txt} | 2 +- ...0141215T120000_ta_histogram_provenance.xml | 178 ++ .../output.json | 42 + .../recipe.yml | 10 +- ...1f1_gn_20070116T120000-20141216T120000.png | Bin 130020 -> 0 bytes ...116T120000-20141216T120000_citation.bibtex | 22 - ...0116T120000-20141216T120000_provenance.xml | 421 --- .../recipe_20250527_110023/run/main_log.txt | 126 - .../run/main_log_debug.txt | 1538 ----------- .../plot/diagnostic_provenance.yml | 46 - .../run/plot_joint_cli_ta_model/plot/log.txt | 94 - .../plot/resource_usage.txt | 6 - .../plot_joint_cli_ta_model/plot/settings.yml | 30 - .../run/resource_usage.txt | 25 - ...41216T120000_cli_histogram_citation.bibtex | 22 - ...141216T120000_cli_histogram_provenance.xml | 252 -- ...16T120000_cli_ta_histogram_citation.bibtex | 22 - ...216T120000_cli_ta_histogram_provenance.xml | 421 --- ...141216T120000_ta_histogram_citation.bibtex | 22 - ...0141216T120000_ta_histogram_provenance.xml | 251 -- .../output.json | 42 - .../config/config.yml | 0 .../diagnostic.json | 0 .../recipe_20250821_093953}/index.html | 44 +- ...1f1_gn_20070115T120000-20141215T120000.png | Bin 0 -> 110932 bytes ...115T120000-20141215T120000_citation.bibtex | 22 + ...000-20141215T120000_data_citation_info.txt | 2 + ...0115T120000-20141215T120000_provenance.xml | 327 +++ .../recipe_20250821_093953}/run/cmor_log.txt | 0 .../recipe_20250821_093953/run/main_log.txt | 102 + .../run/main_log_debug.txt | 1235 +++++++++ .../plot/diagnostic_provenance.yml | 50 + .../plot_joint_clivi_lwcre_model/plot/log.txt | 96 + .../plot/resource_usage.txt | 4 +- .../plot/settings.yml | 30 + .../recipe_20250821_093953}/run/recipe.yml | 10 +- .../run/recipe_filled.yml | 18 +- .../run/resource_usage.txt | 8 + ...120000-20141215T120000_clivi_histogram.nc} | Bin 8834 -> 8887 bytes ...215T120000_clivi_histogram_citation.bibtex | 22 + ...000_clivi_histogram_data_citation_info.txt | 2 + ...1215T120000_clivi_histogram_provenance.xml | 177 ++ ...-20141215T120000_clivi_lwcre_histogram.nc} | Bin 13285 -> 13335 bytes ...0000_clivi_lwcre_histogram_citation.bibtex | 22 + ...ivi_lwcre_histogram_data_citation_info.txt | 2 + ...20000_clivi_lwcre_histogram_provenance.xml | 327 +++ ...120000-20141215T120000_lwcre_histogram.nc} | Bin 8837 -> 8887 bytes ...215T120000_lwcre_histogram_citation.bibtex | 22 + ...000_lwcre_histogram_data_citation_info.txt | 2 + ...1215T120000_lwcre_histogram_provenance.xml | 232 ++ .../out.log | 0 .../output.json | 42 + .../recipe.yml | 10 +- ...1f1_gn_20070116T120000-20141216T120000.png | Bin 108662 -> 0 bytes ...116T120000-20141216T120000_citation.bibtex | 22 - ...000-20141216T120000_data_citation_info.txt | 2 - ...0116T120000-20141216T120000_provenance.xml | 546 ---- .../recipe_20250527_110438/run/cmor_log.txt | 6 - .../recipe_20250527_110438/run/main_log.txt | 103 - .../run/main_log_debug.txt | 1856 ------------- .../plot/diagnostic_provenance.yml | 46 - .../plot_joint_clivi_lwcre_model/plot/log.txt | 96 - .../plot/settings.yml | 30 - .../run/resource_usage.txt | 8 - ...T120000-20141216T120000_clivi_histogram.nc | Bin 8837 -> 0 bytes ...216T120000_clivi_histogram_citation.bibtex | 22 - ...000_clivi_histogram_data_citation_info.txt | 2 - ...1216T120000_clivi_histogram_provenance.xml | 250 -- ...0000_clivi_lwcre_histogram_citation.bibtex | 22 - ...ivi_lwcre_histogram_data_citation_info.txt | 2 - ...20000_clivi_lwcre_histogram_provenance.xml | 546 ---- ...216T120000_lwcre_histogram_citation.bibtex | 22 - ...000_lwcre_histogram_data_citation_info.txt | 2 - ...1216T120000_lwcre_histogram_provenance.xml | 378 --- .../output.json | 42 - .../config/config.yml | 0 .../diagnostic.json | 0 .../recipe_20250821_094026}/index.html | 44 +- ...1f1_gn_20070115T120000-20141215T120000.png | Bin 0 -> 120428 bytes ...115T120000-20141215T120000_citation.bibtex | 22 + ...000-20141215T120000_data_citation_info.txt | 2 + ...0115T120000-20141215T120000_provenance.xml | 327 +++ .../recipe_20250821_094026}/run/cmor_log.txt | 0 .../recipe_20250821_094026/run/main_log.txt | 102 + .../run/main_log_debug.txt | 1235 +++++++++ .../plot/diagnostic_provenance.yml | 50 + .../plot_joint_clt_swcre_model/plot/log.txt | 96 + .../plot/resource_usage.txt | 4 +- .../plot/settings.yml | 30 + .../recipe_20250821_094026}/run/recipe.yml | 10 +- .../run/recipe_filled.yml | 18 +- .../run/resource_usage.txt | 8 + ...5T120000-20141215T120000_clt_histogram.nc} | Bin 8835 -> 8900 bytes ...41215T120000_clt_histogram_citation.bibtex | 22 + ...20000_clt_histogram_data_citation_info.txt | 2 + ...141215T120000_clt_histogram_provenance.xml | 177 ++ ...00-20141215T120000_clt_swcre_histogram.nc} | Bin 13283 -> 13348 bytes ...120000_clt_swcre_histogram_citation.bibtex | 22 + ...clt_swcre_histogram_data_citation_info.txt | 2 + ...T120000_clt_swcre_histogram_provenance.xml | 327 +++ ...120000-20141215T120000_swcre_histogram.nc} | Bin 8835 -> 8900 bytes ...215T120000_swcre_histogram_citation.bibtex | 22 + ...000_swcre_histogram_data_citation_info.txt | 2 + ...1215T120000_swcre_histogram_provenance.xml | 232 ++ .../out.log | 0 .../output.json | 42 + .../recipe.yml | 10 +- ...1f1_gn_20070116T120000-20141216T120000.png | Bin 119250 -> 0 bytes ...116T120000-20141216T120000_citation.bibtex | 22 - ...000-20141216T120000_data_citation_info.txt | 2 - ...0116T120000-20141216T120000_provenance.xml | 546 ---- .../recipe_20250527_110519/run/cmor_log.txt | 6 - .../recipe_20250527_110519/run/main_log.txt | 103 - .../run/main_log_debug.txt | 1862 ------------- .../plot/diagnostic_provenance.yml | 46 - .../plot_joint_clt_swcre_model/plot/log.txt | 96 - .../plot/settings.yml | 30 - .../run/resource_usage.txt | 8 - ...41216T120000_clt_histogram_citation.bibtex | 22 - ...20000_clt_histogram_data_citation_info.txt | 2 - ...141216T120000_clt_histogram_provenance.xml | 250 -- ...120000_clt_swcre_histogram_citation.bibtex | 22 - ...clt_swcre_histogram_data_citation_info.txt | 2 - ...T120000_clt_swcre_histogram_provenance.xml | 546 ---- ...216T120000_swcre_histogram_citation.bibtex | 22 - ...000_swcre_histogram_data_citation_info.txt | 2 - ...1216T120000_swcre_histogram_provenance.xml | 378 --- .../output.json | 42 - .../config/config.yml | 0 .../diagnostic.json | 0 .../recipe_20250821_094107}/index.html | 44 +- ...1f1_gn_20070115T120000-20141215T120000.png | Bin 0 -> 112914 bytes ...115T120000-20141215T120000_citation.bibtex | 22 + ...000-20141215T120000_data_citation_info.txt | 2 + ...0115T120000-20141215T120000_provenance.xml | 273 ++ .../recipe_20250821_094107/run/cmor_log.txt} | 0 .../recipe_20250821_094107/run/main_log.txt | 102 + .../run/main_log_debug.txt | 944 +++++++ .../plot/diagnostic_provenance.yml | 50 + .../plot_joint_clwvi_pr_model/plot/log.txt | 94 + .../plot/resource_usage.txt | 4 + .../plot/settings.yml | 30 + .../recipe_20250821_094107}/run/recipe.yml | 10 +- .../run/recipe_filled.yml | 18 +- .../run/resource_usage.txt | 8 + ...120000-20141215T120000_clwvi_histogram.nc} | Bin 8834 -> 8868 bytes ...215T120000_clwvi_histogram_citation.bibtex | 22 + ...000_clwvi_histogram_data_citation_info.txt | 2 + ...1215T120000_clwvi_histogram_provenance.xml | 177 ++ ...000-20141215T120000_clwvi_pr_histogram.nc} | Bin 13282 -> 13316 bytes ...T120000_clwvi_pr_histogram_citation.bibtex | 22 + ..._clwvi_pr_histogram_data_citation_info.txt | 2 + ...5T120000_clwvi_pr_histogram_provenance.xml | 273 ++ ...115T120000-20141215T120000_pr_histogram.nc | Bin 0 -> 8868 bytes ...141215T120000_pr_histogram_citation.bibtex | 22 + ...120000_pr_histogram_data_citation_info.txt | 2 + ...0141215T120000_pr_histogram_provenance.xml | 178 ++ .../out.log | 0 .../output.json | 42 + .../recipe.yml | 10 +- ...1f1_gn_20070116T120000-20141216T120000.png | Bin 111364 -> 0 bytes ...116T120000-20141216T120000_citation.bibtex | 22 - ...000-20141216T120000_data_citation_info.txt | 2 - ...0116T120000-20141216T120000_provenance.xml | 419 --- .../recipe_20250527_110544/run/main_log.txt | 102 - .../run/main_log_debug.txt | 1348 ---------- .../plot/diagnostic_provenance.yml | 46 - .../plot_joint_clwvi_pr_model/plot/log.txt | 94 - .../plot/resource_usage.txt | 3 - .../plot/settings.yml | 30 - .../run/resource_usage.txt | 8 - ...216T120000_clwvi_histogram_citation.bibtex | 22 - ...000_clwvi_histogram_data_citation_info.txt | 2 - ...1216T120000_clwvi_histogram_provenance.xml | 250 -- ...T120000_clwvi_pr_histogram_citation.bibtex | 22 - ..._clwvi_pr_histogram_data_citation_info.txt | 2 - ...6T120000_clwvi_pr_histogram_provenance.xml | 419 --- ...141216T120000_pr_histogram_citation.bibtex | 22 - ...120000_pr_histogram_data_citation_info.txt | 2 - ...0141216T120000_pr_histogram_provenance.xml | 251 -- .../output.json | 42 - ..._ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png | Bin 127027 -> 0 bytes .../recipe_20250527_110608/run/main_log.txt | 181 -- .../plot/resource_usage.txt | 5 - .../plot/resource_usage.txt | 4 - .../plot/resource_usage.txt | 4 - .../plot/resource_usage.txt | 4 - .../run/resource_usage.txt | 54 - .../index.html | 40 +- ..._ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png | Bin 0 -> 127072 bytes ...ICECLOUD_-_ERA-5_2007-2015_citation.bibtex | 0 ...D_-_ERA-5_2007-2015_data_citation_info.txt | 0 ...-ICECLOUD_-_ERA-5_2007-2015_provenance.xml | 384 +-- ...ot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png | Bin 95749 -> 95797 bytes ...re_ESACCI-CLOUD_CERES-EBAF_citation.bibtex | 0 ...CI-CLOUD_CERES-EBAF_data_citation_info.txt | 0 ...cre_ESACCI-CLOUD_CERES-EBAF_provenance.xml | 290 +- ...plot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png | Bin 108705 -> 108757 bytes ...re_ESACCI_CLOUD_CERES-EBAF_citation.bibtex | 0 ...CI_CLOUD_CERES-EBAF_data_citation_info.txt | 0 ...cre_ESACCI_CLOUD_CERES-EBAF_provenance.xml | 226 +- ...ointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png | Bin 99853 -> 99890 bytes ...vi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex | 0 ...SACCI-CLOUD_GPCP-SG_data_citation_info.txt | 0 ...wvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml | 284 +- .../recipe_20250821_094132/run/cmor_log.txt | 0 .../recipe_20250821_094132/run/main_log.txt | 181 ++ .../run/main_log_debug.txt | 2380 ++++++++--------- .../plot/diagnostic_provenance.yml | 32 +- .../run/plot_joint_cli_ta_ref/plot/log.txt | 34 +- .../plot/resource_usage.txt | 6 + .../plot_joint_cli_ta_ref/plot/settings.yml | 12 +- .../plot/diagnostic_provenance.yml | 32 +- .../plot_joint_clivi_lwcre_ref/plot/log.txt | 34 +- .../plot/resource_usage.txt | 4 + .../plot/settings.yml | 12 +- .../plot/diagnostic_provenance.yml | 32 +- .../run/plot_joint_clt_swcre_ref/plot/log.txt | 34 +- .../plot/resource_usage.txt | 4 + .../plot/settings.yml | 12 +- .../plot/diagnostic_provenance.yml | 32 +- .../run/plot_joint_clwvi_pr_ref/plot/log.txt | 34 +- .../plot/resource_usage.txt | 4 + .../plot_joint_clwvi_pr_ref/plot/settings.yml | 12 +- .../run/recipe.yml | 0 .../run/recipe_filled.yml | 0 .../run/resource_usage.txt | 51 + ...CECLOUD_-_ERA-5_2007-2015_cli_histogram.nc | Bin 8803 -> 8853 bytes ...-5_2007-2015_cli_histogram_citation.bibtex | 0 ...-2015_cli_histogram_data_citation_info.txt | 0 ...A-5_2007-2015_cli_histogram_provenance.xml | 168 +- ...LOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc | Bin 13251 -> 13301 bytes ...2007-2015_cli_ta_histogram_citation.bibtex | 0 ...15_cli_ta_histogram_data_citation_info.txt | 0 ..._2007-2015_cli_ta_histogram_provenance.xml | 382 +-- ...ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc | Bin 8803 -> 8853 bytes ...A-5_2007-2015_ta_histogram_citation.bibtex | 0 ...7-2015_ta_histogram_data_citation_info.txt | 0 ...RA-5_2007-2015_ta_histogram_provenance.xml | 338 +-- ...ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc | Bin 8799 -> 8857 bytes ...CERES-EBAF_clivi_histogram_citation.bibtex | 0 ...BAF_clivi_histogram_data_citation_info.txt | 0 ..._CERES-EBAF_clivi_histogram_provenance.xml | 154 +- ...-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc | Bin 13247 -> 13305 bytes ...EBAF_clivi_lwcre_histogram_citation.bibtex | 0 ...ivi_lwcre_histogram_data_citation_info.txt | 0 ...-EBAF_clivi_lwcre_histogram_provenance.xml | 296 +- ...ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc | Bin 8799 -> 8857 bytes ...CERES-EBAF_lwcre_histogram_citation.bibtex | 0 ...BAF_lwcre_histogram_data_citation_info.txt | 0 ..._CERES-EBAF_lwcre_histogram_provenance.xml | 208 +- ...e_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc | Bin 8797 -> 8862 bytes ...D_CERES-EBAF_clt_histogram_citation.bibtex | 0 ...-EBAF_clt_histogram_data_citation_info.txt | 0 ...UD_CERES-EBAF_clt_histogram_provenance.xml | 160 +- ...CI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc | Bin 13245 -> 13310 bytes ...S-EBAF_clt_swcre_histogram_citation.bibtex | 0 ...clt_swcre_histogram_data_citation_info.txt | 0 ...ES-EBAF_clt_swcre_histogram_provenance.xml | 270 +- ...ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc | Bin 8797 -> 8862 bytes ...CERES-EBAF_swcre_histogram_citation.bibtex | 0 ...BAF_swcre_histogram_data_citation_info.txt | 0 ..._CERES-EBAF_swcre_histogram_provenance.xml | 182 +- ...pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc | Bin 8793 -> 8835 bytes ...UD_GPCP-SG_clwvi_histogram_citation.bibtex | 0 ...-SG_clwvi_histogram_data_citation_info.txt | 0 ...OUD_GPCP-SG_clwvi_histogram_provenance.xml | 186 +- ...ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc | Bin 13241 -> 13283 bytes ...GPCP-SG_clwvi_pr_histogram_citation.bibtex | 0 ..._clwvi_pr_histogram_data_citation_info.txt | 0 ..._GPCP-SG_clwvi_pr_histogram_provenance.xml | 280 +- ...vi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc | Bin 8793 -> 8835 bytes ...CLOUD_GPCP-SG_pr_histogram_citation.bibtex | 0 ...PCP-SG_pr_histogram_data_citation_info.txt | 0 ...-CLOUD_GPCP-SG_pr_histogram_provenance.xml | 174 +- .../output.json | 104 +- 303 files changed, 13981 insertions(+), 18290 deletions(-) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/config/config.yml (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/diagnostic.json (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708}/index.html (81%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_citation.bibtex rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram_data_citation_info.txt => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_data_citation_info.txt} (78%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708}/run/cmor_log.txt (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/plot_joint_cli_ta_model/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/plot_joint_cli_ta_model/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/plot_joint_cli_ta_model/plot/settings.yml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run}/recipe.yml (89%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708}/run/recipe_filled.yml (88%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/run/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_histogram.nc} (85%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_histogram_citation.bibtex rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram_data_citation_info.txt => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_histogram_data_citation_info.txt} (78%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_ta_histogram.nc} (66%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_ta_histogram_citation.bibtex rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram_data_citation_info.txt => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_ta_histogram_data_citation_info.txt} (78%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_cli_ta_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_ta_histogram.nc} (84%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_ta_histogram_citation.bibtex rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_ta_histogram_data_citation_info.txt} (78%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_ta_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/recipe.yml (89%) delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/plots/plot_joint_cli_ta_model/plot/png/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/main_log_debug.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/diagnostic_provenance.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/plot_joint_cli_ta_model/plot/settings.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/run/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_cli_ta_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/work/plot_joint_cli_ta_model/plot/jointplot_cli_ta_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_ta_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/config/config.yml (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/diagnostic.json (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953}/index.html (80%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_provenance.xml rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544 => cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953}/run/cmor_log.txt (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/plot_joint_clivi_lwcre_model/plot/log.txt rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model => cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/plot_joint_clivi_lwcre_model}/plot/resource_usage.txt (51%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/plot_joint_clivi_lwcre_model/plot/settings.yml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953}/run/recipe.yml (89%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953}/run/recipe_filled.yml (88%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/run/resource_usage.txt rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram.nc => cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_histogram.nc} (86%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_lwcre_histogram.nc} (67%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_lwcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_lwcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clivi_lwcre_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_lwcre_histogram.nc} (84%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_lwcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_lwcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093953/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_lwcre_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2}/out.log (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/recipe.yml (89%) delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/plots/plot_joint_clivi_lwcre_model/plot/png/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/cmor_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/main_log_debug.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/diagnostic_provenance.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model/plot/settings.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram.nc delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clivi_lwcre_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/work/plot_joint_clivi_lwcre_model/plot/jointplot_clivi_lwcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_lwcre_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/config/config.yml (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/diagnostic.json (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026}/index.html (80%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_provenance.xml rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608 => cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026}/run/cmor_log.txt (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/plot_joint_clt_swcre_model/plot/log.txt rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110438/run/plot_joint_clivi_lwcre_model => cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/plot_joint_clt_swcre_model}/plot/resource_usage.txt (51%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/plot_joint_clt_swcre_model/plot/settings.yml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026}/run/recipe.yml (89%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026}/run/recipe_filled.yml (88%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/run/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_histogram.nc} (84%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_swcre_histogram.nc} (71%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_swcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_swcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clt_swcre_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_swcre_histogram.nc} (84%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_swcre_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_swcre_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094026/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_swcre_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-clivi-lwcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2}/out.log (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_CESM2/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/recipe.yml (89%) delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/plots/plot_joint_clt_swcre_model/plot/png/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/cmor_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/main_log_debug.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/diagnostic_provenance.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/plot_joint_clt_swcre_model/plot/settings.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/run/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clt_swcre_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110519/work/plot_joint_clt_swcre_model/plot/jointplot_clt_swcre_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_swcre_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/config/config.yml (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/diagnostic.json (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107}/index.html (81%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000.png create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_provenance.xml rename tests/test-data/regression/esmvaltool/{cloud-scatterplots-clt-swcre/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/out.log => cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/cmor_log.txt} (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/main_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/main_log_debug.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/plot_joint_clwvi_pr_model/plot/log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/plot_joint_clwvi_pr_model/plot/resource_usage.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/plot_joint_clwvi_pr_model/plot/settings.yml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107}/run/recipe.yml (89%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544 => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107}/run/recipe_filled.yml (88%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/run/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_histogram.nc} (90%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram.nc => cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_pr_histogram.nc} (67%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_pr_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_pr_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_clwvi_pr_histogram_provenance.xml create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_pr_histogram.nc create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_pr_histogram_citation.bibtex create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_pr_histogram_data_citation_info.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_094107/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_CESM2_r1i1p1f1_gn_20070115T120000-20141215T120000_pr_histogram_provenance.xml rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/out.log (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_CESM2/output.json rename tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/{cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR => cmip6_historical_mon_gn_r1i1p1f1_CESM2}/recipe.yml (89%) delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000.png delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/plots/plot_joint_clwvi_pr_model/plot/png/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/main_log_debug.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/diagnostic_provenance.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/plot_joint_clwvi_pr_model/plot/settings.yml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/run/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_clwvi_pr_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_citation.bibtex delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_data_citation_info.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110544/work/plot_joint_clwvi_pr_model/plot/jointplot_clwvi_pr_CMIP6_MPI-ESM1-2-LR_r1i1p1f1_gn_20070116T120000-20141216T120000_pr_histogram_provenance.xml delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-clwvi-pr/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/output.json delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/main_log.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_cli_ta_ref/plot/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clivi_lwcre_ref/plot/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clt_swcre_ref/plot/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/plot_joint_clwvi_pr_ref/plot/resource_usage.txt delete mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250527_110608/run/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/index.html (91%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015.png rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_cli_ta_ref/plot/png/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_provenance.xml (94%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF.png (97%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clivi_lwcre_ref/plot/png/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_provenance.xml (87%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF.png (99%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clt_swcre_ref/plot/png/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_provenance.xml (86%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG.png (99%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/plots/plot_joint_clwvi_pr_ref/plot/png/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_provenance.xml (87%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/cmor_log.txt create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/main_log.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/main_log_debug.txt (73%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_cli_ta_ref/plot/diagnostic_provenance.yml (50%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_cli_ta_ref/plot/log.txt (69%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/plot_joint_cli_ta_ref/plot/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_cli_ta_ref/plot/settings.yml (62%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clivi_lwcre_ref/plot/diagnostic_provenance.yml (53%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clivi_lwcre_ref/plot/log.txt (71%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/plot_joint_clivi_lwcre_ref/plot/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clivi_lwcre_ref/plot/settings.yml (62%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clt_swcre_ref/plot/diagnostic_provenance.yml (51%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clt_swcre_ref/plot/log.txt (70%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/plot_joint_clt_swcre_ref/plot/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clt_swcre_ref/plot/settings.yml (62%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clwvi_pr_ref/plot/diagnostic_provenance.yml (53%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clwvi_pr_ref/plot/log.txt (69%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/plot_joint_clwvi_pr_ref/plot/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/plot_joint_clwvi_pr_ref/plot/settings.yml (61%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/recipe.yml (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/run/recipe_filled.yml (100%) create mode 100644 tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/recipe_20250821_094132/run/resource_usage.txt rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram.nc (93%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_histogram_provenance.xml (86%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram.nc (69%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_cli_ta_histogram_provenance.xml (94%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram.nc (85%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_cli_ta_ref/plot/jointplot_cli_ta_CALIPSO-ICECLOUD_-_ERA-5_2007-2015_ta_histogram_provenance.xml (94%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram.nc (94%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_histogram_provenance.xml (84%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram.nc (97%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_clivi_lwcre_histogram_provenance.xml (87%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram.nc (83%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clivi_lwcre_ref/plot/jointplot_clivi_lwcre_ESACCI-CLOUD_CERES-EBAF_lwcre_histogram_provenance.xml (86%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram.nc (95%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_histogram_provenance.xml (84%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram.nc (97%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_clt_swcre_histogram_provenance.xml (86%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram.nc (95%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clt_swcre_ref/plot/jointplot_clt_swcre_ESACCI_CLOUD_CERES-EBAF_swcre_histogram_provenance.xml (86%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram.nc (95%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_histogram_provenance.xml (84%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram.nc (97%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_clwvi_pr_histogram_provenance.xml (87%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram.nc (96%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_citation.bibtex (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_data_citation_info.txt (100%) rename tests/test-data/regression/esmvaltool/cloud-scatterplots-reference/obs4mips_obs4MIPs.obs4MIPs.ECMWF.ERA-5.ta.gn.v20250220/executions/{recipe_20250527_110608 => recipe_20250821_094132}/work/plot_joint_clwvi_pr_ref/plot/jointplot_clwvi_pr_ESACCI-CLOUD_GPCP-SG_pr_histogram_provenance.xml (86%) diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/config/config.yml similarity index 100% rename from tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/config/config.yml rename to tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/config/config.yml diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/diagnostic.json similarity index 100% rename from tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/diagnostic.json rename to tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/diagnostic.json diff --git a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/index.html similarity index 81% rename from tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html rename to tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/index.html index f37faea05..9dd319603 100644 --- a/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_MPI-ESM1-2-LR/executions/recipe_20250527_110023/index.html +++ b/tests/test-data/regression/esmvaltool/cloud-scatterplots-cli-ta/cmip6_historical_mon_gn_r1i1p1f1_CESM2/executions/recipe_20250821_093708/index.html @@ -210,17 +210,17 @@

Plot Joint Cli Ta Model: Plot

">
- - Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + + Scatterplot of Mass Fraction of Cloud Ice (cli) vs Air Temperature (ta) (CMIP6 CESM2 r1i1p1f1 gn 20070115T120000/20141215T120000)
- Scatterplot cli vs ta (CMIP6 MPI-ESM1-2-LR r1i1p1f1 gn 20070116T120000/20141216T120000) + Scatterplot of Mass Fraction of Cloud Ice (cli) vs Air Temperature (ta) (CMIP6 CESM2 r1i1p1f1 gn 20070115T120000/20141215T120000)

- download | - references | - extra data citation | - provenance + download | + references | + extra data citation | + provenance
@@ -236,31 +236,31 @@

Data files + @@ -201,13 +201,13 @@

Plot Types

-

Plot_Joint_Cli_Ta_Ref

-

Scatterplot clt vs lwcre.

+

Plot_Joint_Clt_Swcre_Ref

+

Scatterplot clt vs swcre.

-

Plot Joint Cli Ta Ref: Plot

+

Plot Joint Clt Swcre Ref: Plot

@@ -222,17 +222,17 @@

Plot Joint Cli Ta Ref: Plot

">
- - Scatterplot of Mass Fraction of Cloud Ice (cli) vs Air Temperature (ta) (CALIPSO-ICECLOUD / ERA-5 2007/2015) + + Scatterplot of Total Cloud Fraction (clt) vs TOA Shortwave Cloud Radiative Effect (swcre) (ESACCI-CLOUD / CERES-EBAF)
- Scatterplot of Mass Fraction of Cloud Ice (cli) vs Air Temperature (ta) (CALIPSO-ICECLOUD / ERA-5 2007/2015) + Scatterplot of Total Cloud Fraction (clt) vs TOA Shortwave Cloud Radiative Effect (swcre) (ESACCI-CLOUD / CERES-EBAF)

- download | - references | - extra data citation | - provenance + download | + references | + extra data citation | + provenance
@@ -248,31 +248,31 @@

Data files