diff --git a/pcmdi_metrics/mean_climate/lib/calculate_climatology.py b/pcmdi_metrics/mean_climate/lib/calculate_climatology.py
index ab0b7700a..34d9f958c 100644
--- a/pcmdi_metrics/mean_climate/lib/calculate_climatology.py
+++ b/pcmdi_metrics/mean_climate/lib/calculate_climatology.py
@@ -1,7 +1,7 @@
 import datetime
 import os
 
-from pcmdi_metrics.io import select_subset, xcdat_open
+from pcmdi_metrics.io import get_time, select_subset, xcdat_open
 from pcmdi_metrics.utils import (
     check_monthly_time_axis,
     check_time_bounds_exist,
@@ -26,6 +26,7 @@ def calculate_climatology(
     periodinname: bool = None,
     climlist: list = None,
     repair_time_axis: bool = False,
+    overwrite_output: bool = True,
 ):
     """
     Calculate climatology from a dataset over a specified period.
@@ -60,6 +61,8 @@ def calculate_climatology(
         List of climatologies to calculate and save (e.g., ["AC", "DJF", "MAM", "JJA", "SON"], default is all).
     repair_time_axis : bool, optional
         If True, regenerate time axis if data has incorrect time axis, default is False
+    overwrite_output: bool, optional
+        If True, output file will be overwritten regardless of its existance
 
     Returns
     -------
@@ -115,13 +118,20 @@ def calculate_climatology(
             ds = ds.bounds.add_missing_bounds(["T"])
             print("Generated time bounds")
 
+    if len(get_time(ds)) == 12:
+        input_is_annual_cycle = True
+        dec_mode = "JFD"
+    else:
+        input_is_annual_cycle = False
+        dec_mode = "DJF"
+
     # Determine the output directory, using outpath if provided, else use the directory of outfile
     outdir = outpath or os.path.dirname(outfile)
     os.makedirs(outdir, exist_ok=True)  # Create the directory if it doesn't exist
     print("outdir:", outdir)
 
     # Define the climatology period based on the provided start and end dates, or use the entire time series
-    if start is not None and end is not None:
+    if start is not None and end is not None and not input_is_annual_cycle:
         # If a period is specified by the user, parse the start and end dates
         start_yr, start_mo = map(int, start.split("-")[:2])
         start_da = 1  # Default to the first day of the start month
@@ -162,33 +172,21 @@ def calculate_climatology(
     print(f"start: {start_yr:04d}-{start_mo:02d}-{start_da:02d}")
     print(f"end: {end_yr:04d}-{end_mo:02d}-{end_da:02d}")
 
-    # Configure Dask to handle large chunks and calculate climatology
-    # dask.config.set(**{"array.slicing.split_large_chunks": True})
-
-    # Compute seasonal climatology (weighted)
-    ds_clim = ds.temporal.climatology(
-        var,
-        freq="season",
-        weighted=True,
-        season_config={"dec_mode": "DJF", "drop_incomplete_djf": True},
-    )
-    # Compute monthly climatology (weighted)
-    ds_ac = ds.temporal.climatology(var, freq="month", weighted=True)
-
-    # Organize the computed climatologies into a dictionary
-    ds_clim_dict = {
-        season: ds_clim.isel(time=i)
-        for i, season in enumerate(["DJF", "MAM", "JJA", "SON"])
-    }
-    ds_clim_dict["AC"] = ds_ac  # Add the annual cycle climatology
-
     # Determine which climatologies to process, defaulting to all if none are specified
-    clims = climlist or ["AC", "DJF", "MAM", "JJA", "SON"]
+    seasons = climlist or ["AC", "DJF", "MAM", "JJA", "SON"]
+
+    # Find the first element except "AC"
+    first_season = next(item for item in seasons if item != "AC")
+
+    # Create a dictionary as pointer to climatology fields
+    ds_clim_dict = dict()
+
+    season_index_dict = {"DJF": 0, "MAM": 1, "JJA": 2, "SON": 3}
 
     print("outdir, outfilename, outfile:", outdir, outfilename, outfile)
 
     # Iterate over the selected climatologies and save each to a NetCDF file
-    for s in clims:
+    for s in seasons:
         if outfilename_default_template:
             # Define the output filename suffix based on the climatology and period (if specified)
             addf = (
@@ -216,9 +214,47 @@ def calculate_climatology(
                 ).replace("%(season)", s),
             )
 
-        print(f"output file for {s} is {outpath_season}")
-        # Save the climatology to the output NetCDF file, including global attributes
-        ds_clim_dict[s].to_netcdf(outpath_season)
+        if not os.path.isfile(outpath_season) or overwrite_output:
+            # Handle the "AC" (Annual Cycle) case
+            if s == "AC":
+                ds_ac = (
+                    ds
+                    if input_is_annual_cycle
+                    else ds.temporal.climatology(var, freq="month", weighted=True)
+                )
+
+                # Add the annual cycle climatology to the dictionary
+                ds_clim_dict["AC"] = ds_ac
+
+            # Handle the first season and subsequent seasons
+            else:
+                # (Optional) Configure Dask for large chunk processing if necessary
+                # dask.config.set(**{"array.slicing.split_large_chunks": True})  # Uncomment if needed
+
+                # Compute seasonal climatology (weighted) with specific settings for DJF
+                if s == first_season:
+                    ds_clim = ds.temporal.climatology(
+                        var,
+                        freq="season",
+                        weighted=True,
+                        season_config={
+                            "dec_mode": dec_mode,
+                            "drop_incomplete_djf": True,
+                        },
+                    )
+
+                # Add computed climatology to the dictionary
+                ds_clim_dict[s] = ds_clim.isel(time=season_index_dict[s])
+
+            # Save the climatology file unless it's an annual cycle input and "AC"
+            if s != "AC" or not input_is_annual_cycle:
+                # Save climatology to the output NetCDF file, including global attributes
+                ds_clim_dict[s].to_netcdf(outpath_season)
+                print(
+                    f"Successfully saved climatology for season '{s}' to {outpath_season}"
+                )
+            else:
+                print("Skipping 'AC' as input is already an annual cycle.")
 
     ds.close()
 
diff --git a/pcmdi_metrics/mean_climate/lib_unified/lib_unified.py b/pcmdi_metrics/mean_climate/lib_unified/lib_unified.py
index 31b740aa1..86c15a47f 100644
--- a/pcmdi_metrics/mean_climate/lib_unified/lib_unified.py
+++ b/pcmdi_metrics/mean_climate/lib_unified/lib_unified.py
@@ -53,6 +53,55 @@ def extract_info_from_model_catalogue(
     return variables, models, runs_dict
 
 
+def get_annual_cycle(
+    var,
+    data_path,
+    out_path,
+    start="1981-01",
+    end="2005-12",
+    repair_time_axis=True,
+    overwrite_output_ac=True,
+):
+    ver = datetime.datetime.now().strftime("v%Y%m%d")
+
+    out_path_ver = os.path.join(out_path, ver)
+    os.makedirs(out_path_ver, exist_ok=True)
+
+    outfilename_head = (
+        f"{replace_date_pattern(str(os.path.basename(data_path)), '')}".replace(
+            "_.nc", ""
+        )
+        .replace("_*", "")
+        .replace(".nc", "")
+        .replace("*", "")
+    )
+    outfilename_template = (
+        f"{outfilename_head}_%(start-yyyymm)-%(end-yyyymm)_%(season).nc"
+    )
+
+    print("get_annual_cycle, var:", var)
+    print("data_path:", data_path)
+    print("out_path:", out_path)
+    print("outfilename_head:", outfilename_head)
+    print("outfilename_template:", outfilename_template)
+
+    d_clim_dict = calculate_climatology(
+        var,
+        infile=data_path,
+        outpath=out_path_ver,
+        outfilename=outfilename_template,
+        outfilename_default_template=False,
+        start=start,
+        end=end,
+        ver="",
+        periodinname=False,
+        repair_time_axis=repair_time_axis,
+        overwrite_output=overwrite_output_ac,
+    )
+
+    return d_clim_dict
+
+
 def generate_model_data_path(model_data_path_template, var, model, run):
     return (
         model_data_path_template.replace("%(var)", var)
@@ -216,47 +265,6 @@ def get_unique_bases(variables):
     return result
 
 
-def get_annual_cycle(var, data_path, out_path):
-    start = "1981-01"
-    end = "2005-12"
-    ver = datetime.datetime.now().strftime("v%Y%m%d")
-
-    repair_time_axis = True
-
-    out_path_ver = os.path.join(out_path, ver)
-    os.makedirs(out_path_ver, exist_ok=True)
-
-    outfilename_head = (
-        f"{replace_date_pattern(str(os.path.basename(data_path)), '')}".replace(
-            "_.nc", ""
-        ).replace("_*", "")
-    )
-    outfilename_template = (
-        f"{outfilename_head}_%(start-yyyymm)-%(end-yyyymm)_%(season).nc"
-    )
-
-    print("get_annual_cycle, var:", var)
-    print("data_path:", data_path)
-    print("out_path:", out_path)
-    print("outfilename_head:", outfilename_head)
-    print("outfilename_template:", outfilename_template)
-
-    d_clim_dict = calculate_climatology(
-        var,
-        infile=data_path,
-        outpath=out_path_ver,
-        outfilename=outfilename_template,
-        outfilename_default_template=False,
-        start=start,
-        end=end,
-        ver="",
-        periodinname=False,
-        repair_time_axis=repair_time_axis,
-    )
-
-    return d_clim_dict
-
-
 def calc_metrics(ac_ref, ac_run, in_progress=True):
     if in_progress:
         metrics = None
@@ -293,6 +301,10 @@ def process_dataset(
     common_grid,
     interim_output_path_dict_data,
     data_type="ref",
+    start="1981-01",
+    end="2005-12",
+    repair_time_axis=False,
+    overwrite_output_ac=True,
 ):
     # Sanity checks
     if data_type not in ["ref", "model"]:
@@ -338,7 +350,15 @@ def process_dataset(
 
     # Calculate the annual cycle and save annual cycle
     if var not in rad_diagnostic_variables:
-        ac = get_annual_cycle(varname, data_path, out_path)
+        ac = get_annual_cycle(
+            varname,
+            data_path,
+            out_path,
+            start=start,
+            end=end,
+            repair_time_axis=repair_time_axis,
+            overwrite_output_ac=overwrite_output_ac,
+        )
     else:
         ac = derive_rad_var(
             var,
diff --git a/pcmdi_metrics/mean_climate/mean_climate_unified_driver.ipynb b/pcmdi_metrics/mean_climate/mean_climate_unified_driver.ipynb
index b954cc094..156f3294f 100644
--- a/pcmdi_metrics/mean_climate/mean_climate_unified_driver.ipynb
+++ b/pcmdi_metrics/mean_climate/mean_climate_unified_driver.ipynb
@@ -4,12 +4,36 @@
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "\"logging.basicConfig(\\n    filemode='w',\\n    level=logging.ERROR,\\n    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\\n    handlers=[\\n        logging.FileHandler('error_log.txt'),\\n        logging.StreamHandler(sys.stdout)\\n    ]\\n)\\n\\nlogger = logging.getLogger(__name__)\""
+      ]
+     },
+     "execution_count": 1,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "import logging\n",
+    "import sys\n",
     "\n",
     "logging.basicConfig(filename='error_log.txt', level=logging.ERROR, filemode='w',\n",
-    "                    format='%(asctime)s - %(levelname)s - %(message)s')"
+    "                    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')\n",
+    "\n",
+    "\"\"\"logging.basicConfig(\n",
+    "    filemode='w',\n",
+    "    level=logging.ERROR,\n",
+    "    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n",
+    "    handlers=[\n",
+    "        logging.FileHandler('error_log.txt'),\n",
+    "        logging.StreamHandler(sys.stdout)\n",
+    "    ]\n",
+    ")\n",
+    "\n",
+    "logger = logging.getLogger(__name__)\"\"\""
    ]
   },
   {
@@ -35,7 +59,7 @@
    "outputs": [],
    "source": [
     "variables = [\n",
-    "    \"pr\", \"ua-200\", \"ua-850\", \"va-200\", \n",
+    "    \"pr\", \"ua-200\", \"ua-850\", \"va-200\", \"ta-850\",\n",
     "    \"rsdt\", \"rsut\", \"rsutcs\", \"rlut\", \"rlutcs\", \n",
     "    \"rstcre\", \"rltcre\", \"rt\", \"rst\"\n",
     "]  # optional. If given, prioritized over the model_catalogue.json. If not given, use all variables commonly in ref_catalogue.json and model_catalogue.json\n",
@@ -139,69 +163,16 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "variables_unique: ['pr', 'ua', 'va', 'rsdt', 'rsut', 'rsutcs', 'rlut', 'rlutcs', 'rstcre', 'rltcre', 'rt', 'rst']\n",
-      "variables_dict: {'pr': [None], 'ua': [200, 850], 'va': [200], 'rsdt': [None], 'rsut': [None], 'rsutcs': [None], 'rlut': [None], 'rlutcs': [None], 'rstcre': [None], 'rltcre': [None], 'rt': [None], 'rst': [None]}\n",
+      "variables_unique: ['pr', 'ua', 'va', 'ta', 'rsdt', 'rsut', 'rsutcs', 'rlut', 'rlutcs', 'rstcre', 'rltcre', 'rt', 'rst']\n",
+      "variables_dict: {'pr': [None], 'ua': [200, 850], 'va': [200], 'ta': [850], 'rsdt': [None], 'rsut': [None], 'rsutcs': [None], 'rlut': [None], 'rlutcs': [None], 'rstcre': [None], 'rltcre': [None], 'rt': [None], 'rst': [None]}\n",
       "var: pr\n",
-      "=== var, ref: pr, CMAP-V1902\n",
-      "Processing data for: CMAP-V1902\n",
-      "Processing ref dataset - varname: pr, data: CMAP-V1902, path: /p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/CMAP-V1902/mon/pr/gn/v20230612/pr_mon_CMAP-V1902_PCMDI_gn_197901-202210.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/CMAP-V1902/mon/pr/gn/v20230612/pr_mon_CMAP-V1902_PCMDI_gn_197901-202210.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_CMAP-V1902_PCMDI_gn\n",
-      "outfilename_template: pr_mon_CMAP-V1902_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_CMAP-V1902_PCMDI_gn_197901-202210.nc\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "2024-09-23 11:48:02,615 [ERROR]: 433231579.py(process_references:26) >> Error for pr CMAP-V1902: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2023-06-12T21:20:00Z', 'curation_provenance': 'work-in-progress', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.NOAA-ESRL-PSD.CMAP-V1902.experiment_idsub_experiment_idPCMDI', 'grid': '0.25x0.25 degree latitude x longitude', 'grid_label': 'gn', 'history': '2023-06-12T21:20:00Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.7 ODS-2.1 standards', 'institution': 'NOAA Earth System Research Laboratory, Physical Sciences Division, Boulder, CO 80305, USA', 'institution_id': 'NOAA-ESRL-PSD', 'mip_era': 'CMIP6', 'nominal_resolution': '100 km', 'product': 'observations', 'realm': 'atmos', 'release_year': 'N/A', 'source': 'CMAP Precipitation', 'source_description': 'CMAP Precipitation', 'source_id': 'CMAP-V1902', 'source_label': 'CMAP', 'source_name': 'CMAP', 'source_type': 'satellite_blended', 'source_version_number': 'V1902', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d1af722d9e37e8366f3ccb22881c8e27', 'title': 'CPC Merged Analysis of Precipitation prepared for PMPObs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/5438ba0e-1a94-4ffb-9284-bc778f3a6028', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file processed for obs4MIPs by PCMDI and is for research purposes only.', 'cmor_version': '3.7.1'}\n",
-      "Error logged for pr CMAP-V1902\n",
-      "Error from process_references for pr CMAP-V1902: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
-      "=== var, ref: pr, ERA-INT\n",
-      "Processing data for: ERA-INT\n",
-      "Processing ref dataset - varname: pr, data: ERA-INT, path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-INT/mon/pr/gn/v20210727/pr_mon_ERA-INT_PCMDI_gn_197901-201903.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-INT/mon/pr/gn/v20210727/pr_mon_ERA-INT_PCMDI_gn_197901-201903.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_ERA-INT_PCMDI_gn\n",
-      "outfilename_template: pr_mon_ERA-INT_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_ERA-INT_PCMDI_gn_197901-201903.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2021-07-27T18:26:35Z', 'curation_provenance': 'work-in-progress', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.ECMWF.ERA-INT.experiment_idsub_experiment_idPCMDI', 'grid': '1.5x1.5 degree latitude x longitude', 'grid_label': 'gn', 'history': '2021-07-27T18:26:35Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.7 ODS-2.1 standards', 'institution': 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK', 'institution_id': 'ECMWF', 'mip_era': 'CMIP6', 'nominal_resolution': '100 km', 'product': 'observations', 'realm': 'atmos', 'release_year': '2010', 'source': 'ECMWF-ERAINT 1.0 (2010): ECMWF - ERAINT (European ReAnalysis 1989-2010)', 'source_description': 'ECMWF-ERAINT 1.0 (2010): ECMWF - ERAINT (European ReAnalysis 1989-2010)', 'source_id': 'ERA-INT', 'source_label': 'ECMWF-ERAINT', 'source_name': 'ECMWF-ERAINT', 'source_type': 'reanalysis', 'source_version_number': 'N/A', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d8a4a72de798e86a999881bdaeb1809e', 'title': 'ERAINT prepared for PCMDIObs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/1d11b300-247a-48a2-9054-388546a31640', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file processed for obs4MIPs by PCMDI and is for research purposes only.', 'cmor_version': '3.6.1'}\n",
-      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923\n",
-      "start: 1981-01-16\n",
-      "end: 2005-12-16\n",
-      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923 pr_mon_ERA-INT_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
-      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_ERA-INT_PCMDI_gn_198101-200512_AC.nc\n",
-      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_ERA-INT_PCMDI_gn_198101-200512_DJF.nc\n",
-      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_ERA-INT_PCMDI_gn_198101-200512_MAM.nc\n",
-      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_ERA-INT_PCMDI_gn_198101-200512_JJA.nc\n",
-      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_ERA-INT_PCMDI_gn_198101-200512_SON.nc\n",
-      "level: None\n",
       "=== var, ref: pr, GPCP-2-3\n",
       "Processing data for: GPCP-2-3\n",
       "Processing ref dataset - varname: pr, data: GPCP-2-3, path: /p/user_pub/PCMDIobs/obs4MIPs/NOAA-NCEI/GPCP-2-3/mon/pr/gn/v20210727/pr_mon_GPCP-2-3_PCMDI_gn_197901-201907.nc\n",
@@ -210,311 +181,184 @@
       "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
       "outfilename_head: pr_mon_GPCP-2-3_PCMDI_gn\n",
       "outfilename_template: pr_mon_GPCP-2-3_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
+      "ver: v20240924\n",
       "infilename: pr_mon_GPCP-2-3_PCMDI_gn_197901-201907.nc\n",
       "type(d): <class 'xarray.core.dataset.Dataset'>\n",
       "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2021-07-27T18:21:32Z', 'curation_provenance': 'work-in-progress', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.NOAA-NCEI.GPCP-2-3.experiment_idsub_experiment_idPCMDI', 'grid': '2.5x2.5 degree latitude x longitude', 'grid_label': 'gn', 'history': '2021-07-27T18:21:32Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.7 ODS-2.1 standards', 'institution': 'NOAA Earth System Research Laboratory, Physical Sciences Division, Boulder, CO 80305, USA', 'institution_id': 'NOAA-NCEI', 'mip_era': 'CMIP6', 'nominal_resolution': '250 km', 'product': 'observations', 'realm': 'atmos', 'release_year': 'N/A', 'source': 'Merged Precipitation', 'source_description': 'Merged Precipitation', 'source_id': 'GPCP-2-3', 'source_label': 'GPCP', 'source_name': 'GPCP', 'source_type': 'satellite_blended', 'source_version_number': '2.3', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d8a4a72de798e86a999881bdaeb1809e', 'title': 'GPCP 2.3 prepared for PMPObs (ODS-v2.1.0)', 'tmpoutput_path_template': '<activity_id><institution_id><source_id><frequency><variable_id><grid_label><version>', 'tracking_id': 'hdl:21.14102/28f3a96e-26c5-49aa-a860-65bdccf1f9d9', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file processed for obs4MIPs by PCMDI and is for research purposes only.', 'cmor_version': '3.6.1'}\n",
-      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923\n",
+      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924\n",
       "start: 1981-01-16\n",
-      "end: 2005-12-16\n",
-      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923 pr_mon_GPCP-2-3_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
-      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-2-3_PCMDI_gn_198101-200512_AC.nc\n",
-      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-2-3_PCMDI_gn_198101-200512_DJF.nc\n",
-      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-2-3_PCMDI_gn_198101-200512_MAM.nc\n",
-      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-2-3_PCMDI_gn_198101-200512_JJA.nc\n",
-      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-2-3_PCMDI_gn_198101-200512_SON.nc\n",
-      "level: None\n",
-      "=== var, ref: pr, GPCP-Monthly-3-2\n",
-      "Processing data for: GPCP-Monthly-3-2\n",
-      "Processing ref dataset - varname: pr, data: GPCP-Monthly-3-2, path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/GPCP-Monthly-3-2/mon/pr/gn/v20240408/pr_mon_GPCP-Monthly-3-2_RSS_gn_*.nc\n",
-      "Warning: No 'YYYYMM-YYYYMM' pattern found in pr_mon_GPCP-Monthly-3-2_RSS_gn_*.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/GPCP-Monthly-3-2/mon/pr/gn/v20240408/pr_mon_GPCP-Monthly-3-2_RSS_gn_*.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_GPCP-Monthly-3-2_RSS_gn.nc\n",
-      "outfilename_template: pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_GPCP-Monthly-3-2_RSS_gn_*.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.11; ODS-2.5', 'activity_id': 'obs4MIPs', 'contact': 'RSS (support@remss.com)', 'creation_date': '2024-04-08T21:06:00Z', 'data_specs_version': 'ODS-2.5', 'dataset_contributor': 'Andrew I. Manaster', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': '.', 'grid': '0.5x0.5 degree latitude x longitude', 'grid_label': 'gn', 'history': '2024-04-08T21:06:00Z; CMOR rewrote data to be consistent with obs4MIPs and CF-1.11; ODS-2.5 standards', 'institution': 'NASA Goddard Space Flight Center, Greenbelt MD, USA', 'institution_id': 'NASA-GSFC', 'mip_era': 'CMIP6', 'nominal_resolution': '50 km', 'processing_code_location': 'https://github.com/PCMDI/obs4MIPs-cmor-tables/tree/9e78da6a7abe9203f43b73c266873ea2db1354f2/inputs/RSS/NASA-GSFC/GPCP-3-2', 'product': 'observations', 'realm': 'atmos', 'references': 'https://docserver.gesdisc.eosdis.nasa.gov/public/project/MEaSUREs/GPCP/GPCP_ATBD_V3.2_Monthly.pdf', 'region': 'global', 'source': 'GPCP 3.2 (2022): Merged Precipitation', 'source_data_retrieval_date': '20231026', 'source_data_url': 'https://disc.gsfc.nasa.gov/datasets/GPCPMON_3.2/summary?keywords=GPCPMON_3.2', 'source_id': 'GPCP-Monthly-3-2', 'source_label': 'GPCP-Monthly-3-2', 'source_type': 'satellite_blended', 'source_version_number': '3.2', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:6eb29c0516f0c480b52815b28b3cf029', 'title': 'NASA-GSFC Monthly GPCP v3.2 (ODS-v2.5.0)', 'tracking_id': 'hdl:21.14102/b035106b-3fe4-45e9-a792-fc6a51696fce', 'variable_id': 'pr', 'variant_info': 'obs4MIPs-compliant product prepared by RSS', 'variant_label': 'RSS', 'license': 'Data in this file produced by NASA-GSFC are licensed under a Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). Use of the data must be acknowledged following guidelines found at https://disc.gsfc.nasa.gov/. Further information about this data, including some limitations, can be found via https://disc.gsfc.nasa.gov/.', 'cmor_version': '3.7.3'}\n",
-      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923\n",
-      "start: 1983-01-16\n",
-      "end: 2005-12-16\n",
-      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923 pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
-      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_198301-200512_AC.nc\n",
-      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_198301-200512_DJF.nc\n",
-      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_198301-200512_MAM.nc\n",
-      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_198301-200512_JJA.nc\n",
-      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_GPCP-Monthly-3-2_RSS_gn.nc_198301-200512_SON.nc\n",
-      "level: None\n",
-      "=== var, ref: pr, IMERG-V07-Final\n",
-      "Processing data for: IMERG-V07-Final\n",
-      "Processing ref dataset - varname: pr, data: IMERG-V07-Final, path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-V07-Final/mon/pr/gn/v20240515/pr_mon_IMERG-V07-Final_RSS_gn_*.nc\n",
-      "Warning: No 'YYYYMM-YYYYMM' pattern found in pr_mon_IMERG-V07-Final_RSS_gn_*.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-V07-Final/mon/pr/gn/v20240515/pr_mon_IMERG-V07-Final_RSS_gn_*.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_IMERG-V07-Final_RSS_gn.nc\n",
-      "outfilename_template: pr_mon_IMERG-V07-Final_RSS_gn.nc_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_IMERG-V07-Final_RSS_gn_*.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.11; ODS-2.5', 'activity_id': 'obs4MIPs', 'contact': 'RSS (support@remss.com)', 'creation_date': '2024-05-15T15:47:57Z', 'data_specs_version': 'ODS-2.5', 'dataset_contributor': 'Andrew I. Manaster', 'external_variables': 'areacella', 'frequency': 'mon', 'grid': '0.1x0.1 degree latitude x longitude', 'grid_label': 'gn', 'history': '2024-05-15T15:47:57Z; CMOR rewrote data to be consistent with obs4MIPs and CF-1.11; ODS-2.5 standards', 'institution': 'NASA Goddard Space Flight Center, Greenbelt MD, USA', 'institution_id': 'NASA-GSFC', 'mip_era': 'CMIP6', 'nominal_resolution': '10 km', 'processing_code_location': 'https://github.com/PCMDI/obs4MIPs-cmor-tables/tree/c88c558305d742bfa058e6d9c8c22cc2d77c00db//inputs/RSS/NASA-GSFC/IMERG-V07', 'product': 'observations', 'realm': 'atmos', 'references': 'gpm.nasa.gov/data/imerg', 'region': 'global', 'source': 'IMERG-V07-Final V07 (2023): NASA IMERG 30-min, 0.1x0.1 degrees', 'source_data_retrieval_date': '20240207', 'source_data_url': 'gpm1.gesdisc.eosdis.nasa.gov/data/GPM_L3/GPM_3IMERGM.07/', 'source_id': 'IMERG-V07-Final', 'source_label': 'IMERG-V07-Final', 'source_type': 'satellite_blended', 'source_version_number': 'V07', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:c5e3901327117ce7d53a73152bfb127d', 'title': 'IMERG V07 Monthly Maps (ODS-v2.5.0)', 'tracking_id': 'hdl:21.14102/18def6a6-4d7a-4c02-842d-0105b5585ad5', 'variable_id': 'pr', 'variant_info': 'obs4MIPs-compliant product prepared by RSS', 'variant_label': 'RSS', 'license': 'Data in this file produced by NASA-GSFC are licensed under a Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). Use of the data must be acknowledged following guidelines found at https://disc.gsfc.nasa.gov/. Further information about this data, including some limitations, can be found via https://disc.gsfc.nasa.gov/.', 'cmor_version': '3.7.3'}\n",
-      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923\n",
-      "start: 2000-06-16\n",
-      "end: 2005-12-16\n",
-      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923 pr_mon_IMERG-V07-Final_RSS_gn.nc_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
-      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_IMERG-V07-Final_RSS_gn.nc_200006-200512_AC.nc\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/dask/core.py:127: RuntimeWarning: invalid value encountered in divide\n",
-      "  return func(*(_execute_task(a, cache) for a in args))\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_IMERG-V07-Final_RSS_gn.nc_200006-200512_DJF.nc\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/dask/core.py:127: RuntimeWarning: invalid value encountered in divide\n",
-      "  return func(*(_execute_task(a, cache) for a in args))\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_IMERG-V07-Final_RSS_gn.nc_200006-200512_MAM.nc\n"
+      "end: 2013-12-16\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/dask/core.py:127: RuntimeWarning: invalid value encountered in divide\n",
-      "  return func(*(_execute_task(a, cache) for a in args))\n"
+      "2024-09-24 21:17:46,812 [ERROR]: 1711169368.py(process_references:30) >> Error for pr ERA-5: 'ERA-5'\n",
+      "2024-09-24 21:17:46,813 [ERROR]: 1711169368.py(process_references:30) >> Error for ua GPCP-2-3: 'GPCP-2-3'\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_IMERG-V07-Final_RSS_gn.nc_200006-200512_JJA.nc\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/dask/core.py:127: RuntimeWarning: invalid value encountered in divide\n",
-      "  return func(*(_execute_task(a, cache) for a in args))\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_IMERG-V07-Final_RSS_gn.nc_200006-200512_SON.nc\n"
+      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924 pr_mon_GPCP-2-3_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
+      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924/pr_mon_GPCP-2-3_PCMDI_gn_198101-201312_AC.nc\n",
+      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924/pr_mon_GPCP-2-3_PCMDI_gn_198101-201312_DJF.nc\n",
+      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924/pr_mon_GPCP-2-3_PCMDI_gn_198101-201312_MAM.nc\n",
+      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924/pr_mon_GPCP-2-3_PCMDI_gn_198101-201312_JJA.nc\n",
+      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240924/pr_mon_GPCP-2-3_PCMDI_gn_198101-201312_SON.nc\n",
+      "level: None\n",
+      "=== var, ref: pr, ERA-5\n",
+      "Processing data for: ERA-5\n",
+      "Error logged for pr ERA-5\n",
+      "Error from process_references for pr ERA-5: 'ERA-5'\n",
+      "var: ua\n",
+      "=== var, ref: ua, GPCP-2-3\n",
+      "Processing data for: GPCP-2-3\n",
+      "Error logged for ua GPCP-2-3\n",
+      "Error from process_references for ua GPCP-2-3: 'GPCP-2-3'\n",
+      "=== var, ref: ua, ERA-5\n",
+      "Processing data for: ERA-5\n",
+      "Processing ref dataset - varname: ua, data: ERA-5, path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-5/mon/ua/gn/v20210728/ua_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "Warning: No 'YYYYMM-YYYYMM' pattern found in ua_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "get_annual_cycle, var: ua\n",
+      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-5/mon/ua/gn/v20210728/ua_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua\n",
+      "outfilename_head: ua_mon_ERA-5_PCMDI_gn\n",
+      "outfilename_template: ua_mon_ERA-5_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
+      "ver: v20240924\n",
+      "infilename: ua_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
+      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2021-07-29T00:14:27Z', 'curation_provenance': 'work-in-progress', 'data_specs_version': '2.1.0', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.ECMWF.ERA-5.experiment_idsub_experiment_idPCMDI', 'grid': '1.5x1.5 degree latitude x longitude', 'grid_label': 'gn', 'history': '2021-07-29T00:14:27Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.7 ODS-2.1 standards', 'institution': 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK', 'institution_id': 'ECMWF', 'mip_era': 'CMIP6', 'nominal_resolution': '100 km', 'product': 'observations', 'realm': 'atmos', 'release_year': '2019', 'source': 'ECMWF - ERA5 (European ReAnalysis)', 'source_description': 'ECMWF - ERA5 (European ReAnalysis)', 'source_id': 'ERA-5', 'source_label': 'ECMWF-ERA-5', 'source_name': 'ECMWF ERA-5', 'source_type': 'reanalysis', 'source_version_number': '1.0', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d8a4a72de798e86a999881bdaeb1809e', 'title': 'ERA5 prepared for PCMDIObs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/cd08e6ee-b6d9-4d58-aa53-0cdaeae0777d', 'variable_id': 'ua', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file processed for obs4MIPs by PCMDI and is for research purposes only.', 'cmor_version': '3.6.1'}\n",
+      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924\n",
+      "start: 1981-01-16\n",
+      "end: 2013-12-16\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/dask/core.py:127: RuntimeWarning: invalid value encountered in divide\n",
-      "  return func(*(_execute_task(a, cache) for a in args))\n"
+      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/xarray/core/indexing.py:1430: PerformanceWarning: Slicing with an out-of-order index is generating 33 times more chunks\n",
+      "  return self.array[key]\n",
+      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/xarray/core/indexing.py:1430: PerformanceWarning: Slicing with an out-of-order index is generating 33 times more chunks\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "level: None\n",
-      "=== var, ref: pr, IMERG-v06B-Final\n",
-      "Processing data for: IMERG-v06B-Final\n",
-      "Processing ref dataset - varname: pr, data: IMERG-v06B-Final, path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-v06B-Final/mon/pr/gn/v20240408/pr_mon_IMERG-v06B-Final_RSS_gn_200101-200101.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-v06B-Final/mon/pr/gn/v20240408/pr_mon_IMERG-v06B-Final_RSS_gn_200101-200101.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_IMERG-v06B-Final_RSS_gn\n",
-      "outfilename_template: pr_mon_IMERG-v06B-Final_RSS_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_IMERG-v06B-Final_RSS_gn_200101-200101.nc\n"
+      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924 ua_mon_ERA-5_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
+      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924/ua_mon_ERA-5_PCMDI_gn_198101-201312_AC.nc\n",
+      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924/ua_mon_ERA-5_PCMDI_gn_198101-201312_DJF.nc\n",
+      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924/ua_mon_ERA-5_PCMDI_gn_198101-201312_MAM.nc\n",
+      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924/ua_mon_ERA-5_PCMDI_gn_198101-201312_JJA.nc\n",
+      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ua/v20240924/ua_mon_ERA-5_PCMDI_gn_198101-201312_SON.nc\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "2024-09-23 11:49:51,175 [ERROR]: 433231579.py(process_references:26) >> Error for pr IMERG-v06B-Final: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n"
+      "2024-09-24 22:28:21,766 [ERROR]: 1711169368.py(process_references:30) >> Error for va GPCP-2-3: 'GPCP-2-3'\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
+      "level: 200\n",
+      "level: 850\n",
+      "var: va\n",
+      "=== var, ref: va, GPCP-2-3\n",
+      "Processing data for: GPCP-2-3\n",
+      "Error logged for va GPCP-2-3\n",
+      "Error from process_references for va GPCP-2-3: 'GPCP-2-3'\n",
+      "=== var, ref: va, ERA-5\n",
+      "Processing data for: ERA-5\n",
+      "Processing ref dataset - varname: va, data: ERA-5, path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-5/mon/va/gn/v20210728/va_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "Warning: No 'YYYYMM-YYYYMM' pattern found in va_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "get_annual_cycle, var: va\n",
+      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-5/mon/va/gn/v20210728/va_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va\n",
+      "outfilename_head: va_mon_ERA-5_PCMDI_gn\n",
+      "outfilename_template: va_mon_ERA-5_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
+      "ver: v20240924\n",
+      "infilename: va_mon_ERA-5_PCMDI_gn_*.nc\n",
       "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.11; ODS-2.5', 'activity_id': 'obs4MIPs', 'contact': 'RSS (support@remss.com)', 'creation_date': '2024-04-08T21:28:42Z', 'data_specs_version': 'ODS-2.5', 'dataset_contributor': 'Andrew I. Manaster', 'external_variables': 'areacella', 'frequency': 'mon', 'grid': '0.1x0.1 degree latitude x longitude', 'grid_label': 'gn', 'history': '2024-04-08T21:28:42Z; CMOR rewrote data to be consistent with obs4MIPs and CF-1.11; ODS-2.5 standards', 'institution': 'NASA Goddard Space Flight Center, Greenbelt MD, USA', 'institution_id': 'NASA-GSFC', 'mip_era': 'CMIP6', 'nominal_resolution': '10 km', 'processing_code_location': 'https://github.com/PCMDI/obs4MIPs-cmor-tables/tree/b6b9d3e649c03141de0bd345a49de34b4118147a//inputs/RSS/NASA-GSFC/IMERG-V06', 'product': 'observations', 'realm': 'atmos', 'references': 'gpm.nasa.gov/data/imerg', 'region': 'global', 'source': 'IMERG v06B Final v06B_Final (2019): Integrated Multi-satellitE Retrievals for Global Precipitation Measurement (IMERG)', 'source_data_retrieval_date': '20230612', 'source_data_url': 'gpm1.gesdisc.eosdis.nasa.gov/data/GPM_L3/GPM_3IMERGHH.06/', 'source_id': 'IMERG-v06B-Final', 'source_label': 'IMERG-v06B-Final', 'source_type': 'satellite_blended', 'source_version_number': 'v06B_Final', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:6eb29c0516f0c480b52815b28b3cf029', 'title': 'IMERG V06B (ODS-v2.5.0)', 'tracking_id': 'hdl:21.14102/bf02e857-8939-4833-8502-9daac61f178d', 'variable_id': 'pr', 'variant_info': 'obs4MIPs-compliant product prepared by RSS', 'variant_label': 'RSS', 'license': 'Data in this file produced by NASA-GSFC are licensed under a Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/). Use of the data must be acknowledged following guidelines found at https://disc.gsfc.nasa.gov/. Further information about this data, including some limitations, can be found via https://disc.gsfc.nasa.gov/.', 'cmor_version': '3.7.3'}\n",
-      "Error logged for pr IMERG-v06B-Final\n",
-      "Error from process_references for pr IMERG-v06B-Final: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n",
-      "=== var, ref: pr, MSWEP-V280-Past\n",
-      "Processing data for: MSWEP-V280-Past\n",
-      "Processing ref dataset - varname: pr, data: MSWEP-V280-Past, path: /p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past/mon/pr/10km/v20240514/pr_mon_MSWEP-V280-Past_PCMDI_10km_198012-198112.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past/mon/pr/10km/v20240514/pr_mon_MSWEP-V280-Past_PCMDI_10km_198012-198112.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_MSWEP-V280-Past_PCMDI_10km\n",
-      "outfilename_template: pr_mon_MSWEP-V280-Past_PCMDI_10km_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_MSWEP-V280-Past_PCMDI_10km_198012-198112.nc\n"
+      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2021-07-29T00:41:25Z', 'curation_provenance': 'work-in-progress', 'data_specs_version': '2.1.0', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.ECMWF.ERA-5.experiment_idsub_experiment_idPCMDI', 'grid': '1.5x1.5 degree latitude x longitude', 'grid_label': 'gn', 'history': '2021-07-29T00:41:25Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.7 ODS-2.1 standards', 'institution': 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK', 'institution_id': 'ECMWF', 'mip_era': 'CMIP6', 'nominal_resolution': '100 km', 'product': 'observations', 'realm': 'atmos', 'release_year': '2019', 'source': 'ECMWF - ERA5 (European ReAnalysis)', 'source_description': 'ECMWF - ERA5 (European ReAnalysis)', 'source_id': 'ERA-5', 'source_label': 'ECMWF-ERA-5', 'source_name': 'ECMWF ERA-5', 'source_type': 'reanalysis', 'source_version_number': '1.0', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d8a4a72de798e86a999881bdaeb1809e', 'title': 'ERA5 prepared for PCMDIObs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/51502942-16fa-400e-a784-4c486570fd02', 'variable_id': 'va', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file processed for obs4MIPs by PCMDI and is for research purposes only.', 'cmor_version': '3.6.1'}\n",
+      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924\n",
+      "start: 1981-01-16\n",
+      "end: 2013-12-16\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "2024-09-23 11:49:51,499 [ERROR]: 433231579.py(process_references:26) >> Error for pr MSWEP-V280-Past: DATA ERROR: time is not correct!\n",
-      "Months from data: [12, 1, 3, 3, 5, 5, 7, 7, 8, 10, 10, 12]\n",
-      "Months expected: [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n",
-      "2024-09-23 11:49:51,671 [ERROR]: 433231579.py(process_references:26) >> Error for pr MSWEP-V280-Past-nogauge: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n"
+      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/xarray/core/indexing.py:1430: PerformanceWarning: Slicing with an out-of-order index is generating 33 times more chunks\n",
+      "  return self.array[key]\n",
+      "/home/lee1043/.conda/envs/pcmdi_metrics_dev_20240220/lib/python3.10/site-packages/xarray/core/indexing.py:1430: PerformanceWarning: Slicing with an out-of-order index is generating 33 times more chunks\n",
+      "  return self.array[key]\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.11; ODS-2.5', 'activity_id': 'obs4MIPs', 'contact': 'obs4MIPs-admin@llnl.gov, http://www.gloh2o.org/contact', 'creation_date': '2024-05-14T20:44:39Z', 'data_specs_version': 'ODS-2.5', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.GloH2O.MSWEP-V280-Past.experiment_idsub_experiment_idPCMDI', 'grid': '10 x 10 km latitude x longitude', 'grid_label': '10km', 'history': '2024-05-14T20:44:39Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards', 'institution': 'gloh2o.org', 'institution_id': 'GloH2O', 'mip_era': 'CMIP6', 'nominal_resolution': '10 km', 'product': 'observations', 'realm': 'atmos', 'references': 'Beck, H. E., Wood, E. F., Pan, M., Fisher, C. K., Miralles, D. M., van Dijk, A. I. J. M., McVicar, T. R., and Adler, R. F. MSWEP V2 global 3‑hourly 0.1° precipitation: methodology and quantitative assessment Bulletin of the American Meteorological Society 100(3), 473–500, 2019', 'region': 'global', 'source': 'MSWEP V280-Past (2021): Multi-Source Weighted-Ensemble Precipitation', 'source_id': 'MSWEP-V280-Past', 'source_type': 'gridded_insitu', 'source_version_number': 'V280-Past', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:c5e3901327117ce7d53a73152bfb127d', 'title': 'Multi-Source Weighted-Ensemble Precipitation', 'tracking_id': 'hdl:21.14102/adeb4d33-ee2e-42e9-904a-7f0a02cea567', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'MSWEP is released under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) license.', 'cmor_version': '3.7.3'}\n",
-      "Error logged for pr MSWEP-V280-Past\n",
-      "Error from process_references for pr MSWEP-V280-Past: DATA ERROR: time is not correct!\n",
-      "Months from data: [12, 1, 3, 3, 5, 5, 7, 7, 8, 10, 10, 12]\n",
-      "Months expected: [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n",
-      "=== var, ref: pr, MSWEP-V280-Past-nogauge\n",
-      "Processing data for: MSWEP-V280-Past-nogauge\n",
-      "Processing ref dataset - varname: pr, data: MSWEP-V280-Past-nogauge, path: /p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past-nogauge/mon/pr/10km/v20240514/pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km_198101-198112.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past-nogauge/mon/pr/10km/v20240514/pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km_198101-198112.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km\n",
-      "outfilename_template: pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km_198101-198112.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.11; ODS-2.5', 'activity_id': 'obs4MIPs', 'contact': 'obs4MIPs-admin@llnl.gov, http://www.gloh2o.org/contact', 'creation_date': '2024-05-14T20:34:15Z', 'data_specs_version': 'ODS-2.5', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.GloH2O.MSWEP-V280-Past-nogauge.experiment_idsub_experiment_idPCMDI', 'grid': '10 x 10 km latitude x longitude', 'grid_label': '10km', 'history': '2024-05-14T20:34:15Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards', 'institution': 'gloh2o.org', 'institution_id': 'GloH2O', 'mip_era': 'CMIP6', 'nominal_resolution': '10 km', 'product': 'observations', 'realm': 'atmos', 'references': 'Beck, H. E., Wood, E. F., Pan, M., Fisher, C. K., Miralles, D. M., van Dijk, A. I. J. M., McVicar, T. R., and Adler, R. F. MSWEP V2 global 3‑hourly 0.1° precipitation: methodology and quantitative assessment Bulletin of the American Meteorological Society 100(3), 473–500, 2019', 'region': 'global', 'source': 'MSWEP V280-Past-nogauge (2021): Multi-Source Weighted-Ensemble Precipitation', 'source_id': 'MSWEP-V280-Past-nogauge', 'source_type': 'gridded_insitu', 'source_version_number': 'V280-Past-nogauge', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:c5e3901327117ce7d53a73152bfb127d', 'title': 'Multi-Source Weighted-Ensemble Precipitation', 'tracking_id': 'hdl:21.14102/2f87932e-70ab-4e95-b23c-e639b0506660', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'MSWEP is released under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) license.', 'cmor_version': '3.7.3'}\n",
-      "Error logged for pr MSWEP-V280-Past-nogauge\n",
-      "Error from process_references for pr MSWEP-V280-Past-nogauge: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n",
-      "=== var, ref: pr, PRISM-M3\n",
-      "Processing data for: PRISM-M3\n",
-      "Processing ref dataset - varname: pr, data: PRISM-M3, path: /p/user_pub/PCMDIobs/obs4MIPs/OSU/PRISM-M3/mon/pr/gn/v20230612/pr_mon_PRISM-M3_PCMDI_gn_198101-200512.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/OSU/PRISM-M3/mon/pr/gn/v20230612/pr_mon_PRISM-M3_PCMDI_gn_198101-200512.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_PRISM-M3_PCMDI_gn\n",
-      "outfilename_template: pr_mon_PRISM-M3_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_PRISM-M3_PCMDI_gn_198101-200512.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'obs4MIPs-admin@llnl.gov, prism-questions@nacse.org', 'creation_date': '2023-06-12T21:21:57Z', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/obs4MIPs.OSU.PRISM.PRISM-M3.pr', 'grid': '5 km latitude x longitude', 'grid_label': 'gn', 'history': '2023-06-12T21:21:57Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 ODS-2.1 and CF standards.;\\nNo history in original files', 'institution': 'Oregon State University', 'institution_id': 'OSU', 'mip_era': 'CMIP6', 'nominal_resolution': '5 km', 'originData_URL': 'https://www.prism.oregonstate.edu/', 'originData_notes': 'This space is for additional info relevant to how the retrieved data will be made obs4MIPs compliant.', 'originData_retrieved': '20230524; JL @ PCMDI', 'product': 'observations', 'realm': 'atmos', 'references': 'https://www.prism.oregonstate.edu/documents/', 'region': 'north_america', 'release_year': '2022', 'source': 'PRISM Spatial Climate Datasets for CONUS', 'source_description': 'PRISM Spatial Climate Datasets for CONUS', 'source_id': 'PRISM-M3', 'source_label': 'PRISM', 'source_name': 'PRISM', 'source_type': 'gridded_insitu', 'source_version_number': 'M3', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d1af722d9e37e8366f3ccb22881c8e27', 'title': 'PRISM data prepared for obs4MIPs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/83915370-7945-4550-b37f-deb14e12698d', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (https://creativecommons.org/licenses).', 'cmor_version': '3.7.1'}\n",
-      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923\n",
-      "start: 1981-01-31\n",
-      "end: 2005-12-31\n",
-      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923 pr_mon_PRISM-M3_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
-      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_PRISM-M3_PCMDI_gn_198101-200512_AC.nc\n",
-      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_PRISM-M3_PCMDI_gn_198101-200512_DJF.nc\n",
-      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_PRISM-M3_PCMDI_gn_198101-200512_MAM.nc\n",
-      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_PRISM-M3_PCMDI_gn_198101-200512_JJA.nc\n",
-      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_PRISM-M3_PCMDI_gn_198101-200512_SON.nc\n",
-      "level: None\n",
-      "=== var, ref: pr, TRMM-3B43v-7\n",
-      "Processing data for: TRMM-3B43v-7\n",
-      "Processing ref dataset - varname: pr, data: TRMM-3B43v-7, path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/TRMM-3B43v-7/mon/pr/gn/v20210727/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-201712.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/TRMM-3B43v-7/mon/pr/gn/v20210727/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-201712.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_TRMM-3B43v-7_PCMDI_gn\n",
-      "outfilename_template: pr_mon_TRMM-3B43v-7_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-201712.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2021-07-27T18:21:53Z', 'curation_provenance': 'work-in-progress', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.NASA-GSFC.TRMM-3B43v-7.experiment_idsub_experiment_idPCMDI', 'grid': '0.25x0.25 degree latitude x longitude', 'grid_label': 'gn', 'history': '2021-07-27T18:21:53Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.7 ODS-2.1 standards', 'institution': 'NASA Goddard Space Flight Center, Greenbelt MD, USA', 'institution_id': 'NASA-GSFC', 'mip_era': 'CMIP6', 'nominal_resolution': '25 km', 'product': 'observations', 'realm': 'atmos', 'release_year': 'N/A', 'source': 'NASA-TRMM (observation 2000-2009)', 'source_description': 'NASA-TRMM (observation 2000-2009)', 'source_id': 'TRMM-3B43v-7', 'source_label': 'TRMM', 'source_name': 'TRMM', 'source_type': 'satellite_blended', 'source_version_number': '3B43v.7', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d8a4a72de798e86a999881bdaeb1809e', 'title': 'TRMM prepared for PMPObs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/09b6d275-54bd-4dd0-ac77-72a4d7754d8c', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file processed for obs4MIPs by PCMDI and is for research purposes only.', 'cmor_version': '3.6.1'}\n",
-      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923\n",
-      "start: 1998-01-16\n",
-      "end: 2005-12-16\n",
-      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923 pr_mon_TRMM-3B43v-7_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
-      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-200512_AC.nc\n",
-      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-200512_DJF.nc\n",
-      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-200512_MAM.nc\n",
-      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-200512_JJA.nc\n",
-      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr/v20240923/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-200512_SON.nc\n",
-      "level: None\n",
-      "=== var, ref: pr, livneh-1-0\n",
-      "Processing data for: livneh-1-0\n",
-      "Processing ref dataset - varname: pr, data: livneh-1-0, path: /p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/livneh-1-0/mon/pr/gn/v20230621/pr_mon_livneh-1-0_PCMDI_gn_191501-191612.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/livneh-1-0/mon/pr/gn/v20230621/pr_mon_livneh-1-0_PCMDI_gn_191501-191612.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_livneh-1-0_PCMDI_gn\n",
-      "outfilename_template: pr_mon_livneh-1-0_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_livneh-1-0_PCMDI_gn_191501-191612.nc\n"
+      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924 va_mon_ERA-5_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
+      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924/va_mon_ERA-5_PCMDI_gn_198101-201312_AC.nc\n",
+      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924/va_mon_ERA-5_PCMDI_gn_198101-201312_DJF.nc\n",
+      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924/va_mon_ERA-5_PCMDI_gn_198101-201312_MAM.nc\n",
+      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924/va_mon_ERA-5_PCMDI_gn_198101-201312_JJA.nc\n",
+      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/va/v20240924/va_mon_ERA-5_PCMDI_gn_198101-201312_SON.nc\n"
      ]
     },
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "2024-09-23 11:51:42,558 [ERROR]: 433231579.py(process_references:26) >> Error for pr livneh-1-0: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n",
-      "2024-09-23 11:51:42,729 [ERROR]: 433231579.py(process_references:26) >> Error for pr livneh-unsplit-1-0: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n"
+      "2024-09-24 23:37:33,826 [ERROR]: 1711169368.py(process_references:30) >> Error for ta GPCP-2-3: 'GPCP-2-3'\n"
      ]
     },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
+      "level: 200\n",
+      "var: ta\n",
+      "=== var, ref: ta, GPCP-2-3\n",
+      "Processing data for: GPCP-2-3\n",
+      "Error logged for ta GPCP-2-3\n",
+      "Error from process_references for ta GPCP-2-3: 'GPCP-2-3'\n",
+      "=== var, ref: ta, ERA-5\n",
+      "Processing data for: ERA-5\n",
+      "Processing ref dataset - varname: ta, data: ERA-5, path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-5/mon/ta/gn/v20240430/ta_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "Warning: No 'YYYYMM-YYYYMM' pattern found in ta_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "get_annual_cycle, var: ta\n",
+      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-5/mon/ta/gn/v20240430/ta_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta\n",
+      "outfilename_head: ta_mon_ERA-5_PCMDI_gn\n",
+      "outfilename_template: ta_mon_ERA-5_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
+      "ver: v20240924\n",
+      "infilename: ta_mon_ERA-5_PCMDI_gn_*.nc\n",
       "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'obs4MIPs-admin@llnl.gov', 'creation_date': '2023-06-21T16:47:12Z', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/obs4MIPs.NOAA-ESRL-PSD.livneh.livneh-1-0.pr', 'grid': '5 km latitude x longitude', 'grid_label': 'gn', 'history': '2023-06-21T16:47:12Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 ODS-2.1 and CF standards.', 'institution': 'NOAA Earth System Research Laboratory, Physical Sciences Division, Boulder, CO 80305, USA', 'institution_id': 'NOAA-ESRL-PSD', 'mip_era': 'CMIP6', 'nominal_resolution': '5 km', 'originData_URL': 'https://psl.noaa.gov/data/gridded/data.livneh.html', 'originData_notes': 'This space is for additional info relevant to how the retrieved data will be made obs4MIPs compliant.', 'originData_retrieved': '20230524; PJG @ PCMDI', 'product': 'observations', 'realm': 'atmos', 'references': 'https://www.prism.oregonstate.edu/documents/', 'region': 'north_america', 'release_year': '2021', 'source': 'Livneh daily CONUS near-surface gridded meteorological and derived hydrometeorological data data provided by the NOAA PSL', 'source_description': 'Livneh daily CONUS near-surface gridded meteorological and derived hydrometeorological data data provided by the NOAA PSL', 'source_id': 'livneh-1-0', 'source_label': 'livneh', 'source_name': 'livneh', 'source_type': 'gridded_insitu', 'source_version_number': '1.0', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d1af722d9e37e8366f3ccb22881c8e27', 'title': 'livneh-1-0 data prepared for obs4MIPs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/7cf89097-70e2-4626-a852-a1d70c93b804', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (https://creativecommons.org/licenses).', 'cmor_version': '3.7.1'}\n",
-      "Error logged for pr livneh-1-0\n",
-      "Error from process_references for pr livneh-1-0: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n",
-      "=== var, ref: pr, livneh-unsplit-1-0\n",
-      "Processing data for: livneh-unsplit-1-0\n",
-      "Processing ref dataset - varname: pr, data: livneh-unsplit-1-0, path: /p/user_pub/PCMDIobs/obs4MIPs/UCSD-SIO/livneh-unsplit-1-0/mon/pr/gn/v20230608/pr_mon_livneh-unsplit-1-0_PCMDI_gn_198101-200512.nc\n",
-      "get_annual_cycle, var: pr\n",
-      "data_path: /p/user_pub/PCMDIobs/obs4MIPs/UCSD-SIO/livneh-unsplit-1-0/mon/pr/gn/v20230608/pr_mon_livneh-unsplit-1-0_PCMDI_gn_198101-200512.nc\n",
-      "out_path: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\n",
-      "outfilename_head: pr_mon_livneh-unsplit-1-0_PCMDI_gn\n",
-      "outfilename_template: pr_mon_livneh-unsplit-1-0_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc\n",
-      "ver: v20240923\n",
-      "infilename: pr_mon_livneh-unsplit-1-0_PCMDI_gn_198101-200512.nc\n",
-      "type(d): <class 'xarray.core.dataset.Dataset'>\n",
-      "atts: {'Conventions': 'CF-1.7 ODS-2.1', 'activity_id': 'obs4MIPs', 'contact': 'obs4MIPs-admin@llnl.gov', 'creation_date': '2023-06-08T18:07:49Z', 'data_specs_version': '2.1.0', 'external_variables': 'areacella', 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/obs4MIPs.UCSD-SIO.livneh_unsplit.livneh-unsplit-1-0.pr', 'grid': '5 km latitude x longitude', 'grid_label': 'gn', 'history': '2023-06-08T18:07:49Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 ODS-2.1 and CF standards.', 'institution': 'University of California, San Diego, Scripps Institution of Oceanography', 'institution_id': 'UCSD-SIO', 'mip_era': 'CMIP6', 'nominal_resolution': '5 km', 'originData_URL': 'https://cirrus.ucsd.edu/~pierce/nonsplit_precip/', 'originData_notes': 'This space is for additional info relevant to how the retrieved data will be made obs4MIPs compliant.', 'originData_retrieved': '20230306; JL @ PCMDI', 'product': 'observations', 'realm': 'atmos', 'references': 'https://journals.ametsoc.org/view/journals/hydr/22/7/JHM-D-20-0212.1.xml', 'region': 'north_america', 'release_year': '2021', 'source': 'Livneh daily CONUS unsplit', 'source_description': 'Livneh daily CONUS unsplit', 'source_id': 'livneh-unsplit-1-0', 'source_label': 'livneh_unsplit', 'source_name': 'livneh_unsplit', 'source_type': 'gridded_insitu', 'source_version_number': '1.0', 'table_id': 'obs4MIPs_Amon', 'table_info': 'Creation Date:(18 November 2020) MD5:d1af722d9e37e8366f3ccb22881c8e27', 'title': 'livneh-unsplit-1-0 data prepared for obs4MIPs (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/21387fea-6a39-4f0f-b58c-18b438339bed', 'variable_id': 'pr', 'variant_info': 'Best Estimate', 'variant_label': 'PCMDI', 'license': 'Data in this file is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (https://creativecommons.org/licenses).', 'cmor_version': '3.7.1'}\n",
-      "Error logged for pr livneh-unsplit-1-0\n",
-      "Error from process_references for pr livneh-unsplit-1-0: DATA ERROR: time is not correct!\n",
-      "Months from data: [1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12, 1, 1, 3, 3, 5, 5, 7, 8, 8, 10, 10, 12]\n",
-      "Months expected: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n"
+      "atts: {'Conventions': 'CF-1.11; ODS-2.5', 'activity_id': 'obs4MIPs', 'contact': 'PCMDI (pcmdi-metrics@llnl.gov)', 'creation_date': '2024-05-01T00:07:04Z', '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', 'history': '2024-05-01T00:07:04Z; CMOR rewrote data to be consistent with obs4MIPs, and CF-1.11; ODS-2.5 standards', 'institution': 'The European Centre for Medium-Range Weather Forecasts, Shinfield Park, Reading RG2 9AX, UK', 'institution_id': 'ECMWF', 'mip_era': 'CMIP6', 'nominal_resolution': '25 km', 'processing_code_location': 'https://github.com/PCMDI/obs4MIPs-cmor-tables/tree/e48f0b24406c5deb82e685f550088a2e32eb9678//inputs/PCMDI/ECMWF/ERA5', '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:6eb29c0516f0c480b52815b28b3cf029', 'title': 'ERA5 (ODS-v2.1.0)', 'tracking_id': 'hdl:21.14102/e8295d3a-b916-4376-92a6-d57d44831554', 'variable_id': 'ta', 'variant_info': 'obs4MIPs-compliant product prepared by RSS', 'variant_label': 'PCMDI', 'license': 'Generated using Copernicus Climate Change Service information for research purposes only, licensed as an obs4MIPs product under a Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/)', 'cmor_version': '3.7.3'}\n",
+      "Error: time axis error from ta_mon_ERA-5_PCMDI_gn_*.nc\n",
+      "Regenerating time axis and bounds\n",
+      "Regenerated time axis and bounds\n",
+      "outdir: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924\n",
+      "start: 1981-01-01\n",
+      "end: 2013-12-01\n",
+      "outdir, outfilename, outfile: /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924 ta_mon_ERA-5_PCMDI_gn_%(start-yyyymm)-%(end-yyyymm)_%(season).nc None\n",
+      "output file for AC is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924/ta_mon_ERA-5_PCMDI_gn_198101-201312_AC.nc\n",
+      "output file for DJF is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924/ta_mon_ERA-5_PCMDI_gn_198101-201312_DJF.nc\n",
+      "output file for MAM is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924/ta_mon_ERA-5_PCMDI_gn_198101-201312_MAM.nc\n",
+      "output file for JJA is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924/ta_mon_ERA-5_PCMDI_gn_198101-201312_JJA.nc\n",
+      "output file for SON is /p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/ta/v20240924/ta_mon_ERA-5_PCMDI_gn_198101-201312_SON.nc\n",
+      "level: 850\n"
      ]
     }
    ],
@@ -534,14 +378,20 @@
     "\n",
     "\n",
     "\n",
-    "def process_references(var, refs, rad_diagnostic_variables, levels, common_grid):\n",
+    "def process_references(var, refs, rad_diagnostic_variables, levels, common_grid, start, end):\n",
     "\n",
-    "    #refs = [\"GPCP-2-3\"]\n",
+    "    refs = [\"GPCP-2-3\", \"ERA-5\"]\n",
     "\n",
     "    for ref in refs:\n",
     "        print(f\"=== var, ref: {var}, {ref}\")\n",
     "        try:\n",
-    "            process_dataset(var, ref, refs_dict, ac_ref_dict, rad_diagnostic_variables, encountered_variables, levels, common_grid, interim_output_path_dict[\"ref\"], data_type=\"ref\")\n",
+    "            process_dataset(\n",
+    "                var, ref, refs_dict, ac_ref_dict, rad_diagnostic_variables, \n",
+    "                encountered_variables, levels, common_grid, interim_output_path_dict[\"ref\"], data_type=\"ref\",\n",
+    "                start=start, end=end,     \n",
+    "                repair_time_axis=True,\n",
+    "                overwrite_output_ac=False,\n",
+    "            )\n",
     "        except Exception as e:\n",
     "            # Log the error to a file\n",
     "            logging.error(f\"Error for {var} {ref}: {str(e)}\")\n",
@@ -549,11 +399,16 @@
     "            print(f'Error from process_references for {var} {ref}:', e)\n",
     "            \n",
     "\n",
-    "def process_models(var, models, runs_dict, rad_diagnostic_variables, levels, common_grid, refs):\n",
+    "def process_models(var, models, runs_dict, rad_diagnostic_variables, levels, common_grid, refs, start, end):\n",
     "    for model in models:\n",
     "        for run in runs_dict[model]:\n",
     "            try:\n",
-    "                process_dataset(var, (model, run), models_dict, ac_model_run_dict, rad_diagnostic_variables, encountered_variables, levels, common_grid, interim_output_path_dict[\"model\"], data_type=\"model\")\n",
+    "                process_dataset(\n",
+    "                    var, (model, run), models_dict, ac_model_run_dict, \n",
+    "                    rad_diagnostic_variables, encountered_variables, levels, common_grid, \n",
+    "                    interim_output_path_dict[\"model\"], data_type=\"model\",\n",
+    "                    start=start, end=end\n",
+    "                )\n",
     "                for level in levels:\n",
     "                    ac_model_run_level_interp = ac_model_run_dict[var][model][run][level]\n",
     "                    calculate_and_save_metrics(var, model, run, level, regions, refs, ac_ref_dict, ac_model_run_level_interp, output_path, refs_dict, metrics_dict)\n",
@@ -570,7 +425,10 @@
     "\n",
     "def main():  \n",
     "\n",
-    "    variables_unique = [\"pr\"]\n",
+    "    variables_unique = [\"pr\", \"ua\", \"va\", \"ta\"]\n",
+    "\n",
+    "    start = \"1981-01\"\n",
+    "    end = \"2013-12\"\n",
     "\n",
     "    for var in variables_unique:\n",
     "        try:\n",
@@ -579,8 +437,8 @@
     "            levels = variables_dict[var]\n",
     "            refs = refs_dict[var].keys()\n",
     "\n",
-    "            process_references(var, refs, rad_diagnostic_variables, levels, common_grid)\n",
-    "            # process_models(var, models, runs_dict, rad_diagnostic_variables, levels, common_grid, refs)\n",
+    "            process_references(var, refs, rad_diagnostic_variables, levels, common_grid, start, end)\n",
+    "            # process_models(var, models, runs_dict, rad_diagnostic_variables, levels, common_grid, refs, start, end)\n",
     "        except Exception as e:\n",
     "            print(f'Error from main for {var}:', e)            \n",
     "\n",
@@ -686,7 +544,6 @@
       "            \"MD5sum\": \"0810cafddc7200234ea7f2031937ba3c\",\n",
       "            \"filename\": \"pr_mon_CMAP-V1902_PCMDI_gn_197901-202210.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/CMAP-V1902/mon/pr/gn/v20230612\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"197901-202210\",\n",
       "            \"shape\": \"(526, 72, 144)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/CMAP-V1902/mon/pr/gn/v20230612/pr_mon_CMAP-V1902_PCMDI_gn_197901-202210.nc\"\n",
@@ -695,7 +552,6 @@
       "            \"MD5sum\": \"92e48c992cde6850d41c52e1778057c2\",\n",
       "            \"filename\": \"pr_mon_ERA-INT_PCMDI_gn_197901-201903.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-INT/mon/pr/gn/v20210727\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"197901-201903\",\n",
       "            \"shape\": \"(483, 241, 480)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/ECMWF/ERA-INT/mon/pr/gn/v20210727/pr_mon_ERA-INT_PCMDI_gn_197901-201903.nc\"\n",
@@ -704,7 +560,6 @@
       "            \"MD5sum\": \"0877f014868b83547448f96c3e7c83e9\",\n",
       "            \"filename\": \"pr_mon_GPCP-2-3_PCMDI_gn_197901-201907.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NOAA-NCEI/GPCP-2-3/mon/pr/gn/v20210727\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"197901-201907\",\n",
       "            \"shape\": \"(487, 72, 144)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NOAA-NCEI/GPCP-2-3/mon/pr/gn/v20210727/pr_mon_GPCP-2-3_PCMDI_gn_197901-201907.nc\"\n",
@@ -713,7 +568,6 @@
       "            \"MD5sum\": \"N/A\",\n",
       "            \"filename\": \"pr_mon_GPCP-Monthly-3-2_RSS_gn_*.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/GPCP-Monthly-3-2/mon/pr/gn/v20240408\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"198301-202303\",\n",
       "            \"shape\": \"(483, 360, 720)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/GPCP-Monthly-3-2/mon/pr/gn/v20240408/pr_mon_GPCP-Monthly-3-2_RSS_gn_*.nc\"\n",
@@ -722,7 +576,6 @@
       "            \"MD5sum\": \"N/A\",\n",
       "            \"filename\": \"pr_mon_IMERG-V07-Final_RSS_gn_*.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-V07-Final/mon/pr/gn/v20240515\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"200006-202308\",\n",
       "            \"shape\": \"(279, 1800, 3600)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-V07-Final/mon/pr/gn/v20240515/pr_mon_IMERG-V07-Final_RSS_gn_*.nc\"\n",
@@ -731,7 +584,6 @@
       "            \"MD5sum\": \"8d0887bc4f3d7fbf019c97c6ea501961\",\n",
       "            \"filename\": \"pr_mon_IMERG-v06B-Final_RSS_gn_200101-200101.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-v06B-Final/mon/pr/gn/v20240408\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"200101-200101\",\n",
       "            \"shape\": \"(48, 1800, 3600)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/IMERG-v06B-Final/mon/pr/gn/v20240408/pr_mon_IMERG-v06B-Final_RSS_gn_200101-200101.nc\"\n",
@@ -740,7 +592,6 @@
       "            \"MD5sum\": \"a8a8c89eb54c798cb0ec2547f5657183\",\n",
       "            \"filename\": \"pr_mon_MSWEP-V280-Past_PCMDI_10km_198012-198112.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past/mon/pr/10km/v20240514\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"198012-198112\",\n",
       "            \"shape\": \"(12, 1800, 3600)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past/mon/pr/10km/v20240514/pr_mon_MSWEP-V280-Past_PCMDI_10km_198012-198112.nc\"\n",
@@ -749,7 +600,6 @@
       "            \"MD5sum\": \"a3325bdfbca39a148ce47b230e8bd2b7\",\n",
       "            \"filename\": \"pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km_198101-198112.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past-nogauge/mon/pr/10km/v20240514\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"198101-198112\",\n",
       "            \"shape\": \"(12, 1800, 3600)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/GloH2O/MSWEP-V280-Past-nogauge/mon/pr/10km/v20240514/pr_mon_MSWEP-V280-Past-nogauge_PCMDI_10km_198101-198112.nc\"\n",
@@ -758,7 +608,6 @@
       "            \"MD5sum\": \"47e4adf65b66f8e689e2faa0bb0eaf14\",\n",
       "            \"filename\": \"pr_mon_PRISM-M3_PCMDI_gn_198101-200512.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/OSU/PRISM-M3/mon/pr/gn/v20230612\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"198101-200512\",\n",
       "            \"shape\": \"(300, 621, 1405)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/OSU/PRISM-M3/mon/pr/gn/v20230612/pr_mon_PRISM-M3_PCMDI_gn_198101-200512.nc\"\n",
@@ -767,7 +616,6 @@
       "            \"MD5sum\": \"b80c9989d358656c781be5ea5a44c64c\",\n",
       "            \"filename\": \"pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-201712.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/TRMM-3B43v-7/mon/pr/gn/v20210727\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"199801-201712\",\n",
       "            \"shape\": \"(240, 400, 1440)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NASA-GSFC/TRMM-3B43v-7/mon/pr/gn/v20210727/pr_mon_TRMM-3B43v-7_PCMDI_gn_199801-201712.nc\"\n",
@@ -776,7 +624,6 @@
       "            \"MD5sum\": \"af2e70fc5c654da85fa2df92aabbf205\",\n",
       "            \"filename\": \"pr_mon_livneh-1-0_PCMDI_gn_191501-191612.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/livneh-1-0/mon/pr/gn/v20230621\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"191501-191612\",\n",
       "            \"shape\": \"(24, 444, 922)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/NOAA-ESRL-PSD/livneh-1-0/mon/pr/gn/v20230621/pr_mon_livneh-1-0_PCMDI_gn_191501-191612.nc\"\n",
@@ -785,7 +632,6 @@
       "            \"MD5sum\": \"b2cdea184c7208fd0f37509162feafcd\",\n",
       "            \"filename\": \"pr_mon_livneh-unsplit-1-0_PCMDI_gn_198101-200512.nc\",\n",
       "            \"path\": \"/p/user_pub/PCMDIobs/obs4MIPs/UCSD-SIO/livneh-unsplit-1-0/mon/pr/gn/v20230608\",\n",
-      "            \"path_ac\": \"/p/user_pub/climate_work/lee1043/temporary/mean_climate_workflow_refactorization/output/clims_ref/pr\",\n",
       "            \"period\": \"198101-200512\",\n",
       "            \"shape\": \"(300, 444, 922)\",\n",
       "            \"template\": \"/p/user_pub/PCMDIobs/obs4MIPs/UCSD-SIO/livneh-unsplit-1-0/mon/pr/gn/v20230608/pr_mon_livneh-unsplit-1-0_PCMDI_gn_198101-200512.nc\"\n",
@@ -1923,6 +1769,36 @@
       "            }\n",
       "        }\n",
       "    },\n",
+      "    \"ta\": {\n",
+      "        \"model-a\": {\n",
+      "            \"r1\": {\n",
+      "                \"filename\": \"model-a_r1_ta_blabla.nc\",\n",
+      "                \"path\": \"/home/data/model-a/ta\",\n",
+      "                \"template\": \"/home/data/model-a/ta/model-a_r1_ta_blabla.nc\",\n",
+      "                \"varname\": \"ta\"\n",
+      "            },\n",
+      "            \"r2\": {\n",
+      "                \"filename\": \"model-a_r2_ta_blabla.nc\",\n",
+      "                \"path\": \"/home/data/model-a/ta\",\n",
+      "                \"template\": \"/home/data/model-a/ta/model-a_r2_ta_blabla.nc\",\n",
+      "                \"varname\": \"ta\"\n",
+      "            }\n",
+      "        },\n",
+      "        \"model-b\": {\n",
+      "            \"r1\": {\n",
+      "                \"filename\": \"model-b_r1_ta_blabla.nc\",\n",
+      "                \"path\": \"/home/data/model-b/ta\",\n",
+      "                \"template\": \"/home/data/model-b/ta/model-b_r1_ta_blabla.nc\",\n",
+      "                \"varname\": \"ta\"\n",
+      "            },\n",
+      "            \"r2\": {\n",
+      "                \"filename\": \"model-b_r2_ta_blabla.nc\",\n",
+      "                \"path\": \"/home/data/model-b/ta\",\n",
+      "                \"template\": \"/home/data/model-b/ta/model-b_r2_ta_blabla.nc\",\n",
+      "                \"varname\": \"ta\"\n",
+      "            }\n",
+      "        }\n",
+      "    },\n",
       "    \"ua\": {\n",
       "        \"model-a\": {\n",
       "            \"r1\": {\n",