From 8f645517d4fe0a7bb5a9bc4face0d489c2ea7b19 Mon Sep 17 00:00:00 2001 From: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:44:45 -0400 Subject: [PATCH 1/8] catalog builder updates (#654) * update ecgtools version in base env files * remove duplicate entries in catalog_builder info dicts add json utilties to read information from fieldlist tables clean up custom parsers --- src/conda/env_base.yml | 2 +- src/conda/env_base_micromamba.yml | 2 +- tools/catalog_builder/catalog_builder.py | 319 ++++++++++++++--------- 3 files changed, 198 insertions(+), 125 deletions(-) diff --git a/src/conda/env_base.yml b/src/conda/env_base.yml index 92ad3bb5e..d99571f7d 100644 --- a/src/conda/env_base.yml +++ b/src/conda/env_base.yml @@ -21,7 +21,7 @@ dependencies: - pandas=2.2.2 - pint=0.24.3 - dask=2024.7.1 -- ecgtools=2023.7.13 +- ecgtools=2024.7.31 - cfunits=3.3.6 - intake=0.7.0 - intake-esm=2024.2.6 diff --git a/src/conda/env_base_micromamba.yml b/src/conda/env_base_micromamba.yml index aa0644d26..39be42c33 100644 --- a/src/conda/env_base_micromamba.yml +++ b/src/conda/env_base_micromamba.yml @@ -22,7 +22,7 @@ dependencies: - pandas=2.2.0 - pint=0.24.3 - dask=2024.1.1 -- ecgtools=2023.7.13 +- ecgtools=2024.7.31 - cfunits=3.3.6 - intake=0.7.0 - intake-esm=2024.2.6 diff --git a/tools/catalog_builder/catalog_builder.py b/tools/catalog_builder/catalog_builder.py index cfe95644d..1c7c1098e 100644 --- a/tools/catalog_builder/catalog_builder.py +++ b/tools/catalog_builder/catalog_builder.py @@ -15,22 +15,25 @@ import click import intake import os +import io +import json import pathlib import sys import time import traceback import typing +import collections import xarray as xr import yaml from datetime import timedelta from ecgtools import Builder from ecgtools.builder import INVALID_ASSET, TRACEBACK -from ecgtools.parsers import parse_cmip6 +from ecgtools.parsers.cmip import parse_cmip6 from ecgtools.parsers.cesm import parse_cesm_timeseries import logging -root_dir = os.path.dirname(os.path.realpath(__file__)).split('/tools/catalog_builder')[0] -sys.path.insert(0, os.path.join(root_dir, 'src')) +ROOT_DIR = os.path.dirname(os.path.realpath(__file__)).split('/tools/catalog_builder')[0] +assert(os.path.isdir(ROOT_DIR)), f'{ROOT_DIR} not found' # from src import util # Define a log object for debugging @@ -62,6 +65,97 @@ def __getitem__(self, n): # instantiate the class maker catalog_class = ClassMaker() +def strip_comments(str_: str, delimiter=None): + """Remove comments from *str_*. Comments are taken to start with an + arbitrary *delimiter* and run to the end of the line. + """ + # would be better to use shlex, but that doesn't support multi-character + # comment delimiters like '//' + escaped_quote_placeholder = '\v' # no one uses vertical tab + + if not delimiter: + return str_ + lines = str_.splitlines() + for i in range(len(lines)): + # get rid of lines starting with delimiter + if lines[i].startswith(delimiter): + lines[i] = '' + continue + # handle delimiters midway through a line: + # If delimiter appears quoted in a string, don't want to treat it as + # a comment. So for each occurrence of delimiter, count number of + # "s to its left and only truncate when that's an even number. + # First we get rid of -escaped single "s. + replaced_line = lines[i].replace('\\\"', escaped_quote_placeholder) + line_parts = replaced_line.split(delimiter) + quote_counts = [s.count('"') for s in line_parts] + j = 1 + while sum(quote_counts[:j]) % 2 != 0: + if j >= len(quote_counts): + raise ValueError(f"Couldn't parse line {i+1} of string.") + j += 1 + replaced_line = delimiter.join(line_parts[:j]) + lines[i] = replaced_line.replace(escaped_quote_placeholder, '\\\"') + # make lookup table of correct line numbers, taking into account lines we + # dropped + line_nos = [i for i, s in enumerate(lines) if (s and not s.isspace())] + # join lines, stripping blank lines + new_str = '\n'.join([s for s in lines if (s and not s.isspace())]) + return new_str, line_nos +def parse_json(str_: str): + """Parse JSONC (JSON with ``//``-comments) string *str_* into a Python object. + Comments are discarded. Wraps standard library :py:func:`json.loads`. + + Syntax errors in the input (:py:class:`~json.JSONDecodeError`) are passed + through from the Python standard library parser. We correct the line numbers + mentioned in the errors to refer to the original file (i.e., with comments.) + """ + def _pos_from_lc(lineno, colno, str_): + # fix line number, since we stripped commented-out lines. JSONDecodeError + # computes line/col no. in error message from character position in string. + lines = str_.splitlines() + return (colno - 1) + sum((len(line) + 1) for line in lines[:lineno]) + + (strip_str, line_nos) = strip_comments(str_, delimiter='//') + try: + parsed_json = json.loads(strip_str, + object_pairs_hook=collections.OrderedDict) + except json.JSONDecodeError as exc: + # fix reported line number, since we stripped commented-out lines. + assert exc.lineno <= len(line_nos) + raise json.JSONDecodeError( + msg=exc.msg, doc=str_, + pos=_pos_from_lc(line_nos[exc.lineno-1], exc.colno, str_) + ) + except UnicodeDecodeError as exc: + raise json.JSONDecodeError( + msg=f"parse_json received UnicodeDecodeError:\n{exc}", + doc=strip_str, pos=0 + ) + + return parsed_json +def read_json(file_path: str, log=_log) -> dict: + """Reads a struct from a JSONC file at *file_path*. + """ + log.debug('Reading file %s', file_path) + try: + with io.open(file_path, 'r', encoding='utf-8') as file_: + str_ = file_.read() + except Exception as exc: + # something more serious than missing file + _log.critical("Caught exception when trying to read %s: %r", file_path, exc) + exit(1) + return parse_json(str_) + +freq_opts = ['mon', + 'day', + 'daily', + '6hr', + '3hr', + '1hr', + 'subhr', + 'annual', + 'year'] # custom parser for GFDL am5 data that uses fieldlist metadata and the DRS to populate # required catalog fields @@ -69,79 +163,70 @@ def parse_gfdl_am5_data(file_name: str): file = pathlib.Path(file_name) # uncomment when ready to run - try: - num_dir_parts = len(file.parts) # file name index = num_parts 1 - # isolate file from rest of path - stem = file.stem - # split the file name into components based on - # assume am5 file name format is {realm}.{time_range}.[variable_id}.nc - split = stem.split('.') - num_file_parts = len(split) - realm = split[0] - cell_methods = "" - cell_measures = "" - time_range = split[1] - start_time = time_range.split('-')[0] - end_time = time_range.split('-')[1] - variable_id = split[2] - source_type = "" - member_id = "" - experiment_id = "" - source_id = "" - chunk_freq = file.parts[num_dir_parts-2] # e.g, 1yr, 5yr - variant_label = "" - grid_label = "" - table_id = "" - assoc_files = "" - activity_id = "GFDL" - institution_id = "" - long_name = "" - standard_name = "" - units = "" - - freq_opts = ['mon', - 'day', - 'daily', - '6hr', - '3hr', - '1hr', - 'subhr', - 'annual', - 'year'] - output_frequency = "" - file_freq = file.parts[num_dir_parts-3] - for f in freq_opts: - if f in file_freq: - output_frequency = f - break - if 'daily' in output_frequency: - output_frequency = 'day' - elif 'monthly' in output_frequency: - output_frequency = 'mon' + num_dir_parts = len(file.parts) # file name index = num_parts 1 + # isolate file from rest of path + stem = file.stem + # split the file name into components based on + # assume am5 file name format is {realm}.{time_range}.[variable_id}.nc + split = stem.split('.') + num_file_parts = len(split) + realm = split[0] + cell_methods = "" + cell_measures = "" + time_range = split[1] + start_time = time_range.split('-')[0] + end_time = time_range.split('-')[1] + variable_id = split[2] + source_type = "" + member_id = "" + experiment_id = "" + source_id = "" + chunk_freq = file.parts[num_dir_parts - 2] # e.g, 1yr, 5yr + variant_label = "" + grid_label = "" + table_id = "" + assoc_files = "" + activity_id = "GFDL" + institution_id = "" + long_name = "" + standard_name = "" + units = "" + output_frequency = "" + file_freq = file.parts[num_dir_parts - 3] + + for f in freq_opts: + if f in file_freq: + output_frequency = f + break + if 'daily' in output_frequency: + output_frequency = 'day' + elif 'monthly' in output_frequency: + output_frequency = 'mon' # read metadata from the appropriate fieldlist - if 'cmip' in realm.lower(): - gfdl_fieldlist = os.path.join(root_dir, 'data/fieldlist_CMIP.jsonc') - else: - gfdl_fieldlist = os.path.join(root_dir, 'data/fieldlist_GFDL.jsonc') - #try: - # json_config = util.json_utils.read_json(gfdl_fieldlist, log=_log) - #except IOError: - # print("Unable to open file", gfdl_fieldlist) - # sys.exit(1) - #gfdl_info = util.basic.NameSpace.fromDict(json_config) - - #if hasattr(gfdl_info.variables, variable_id): - # var_metadata = gfdl_info.variables.get(variable_id) - #else: - # raise KeyError(f'{variable_id} not found in {gfdl_fieldlist}') - - if hasattr(var_metadata, 'standard_name'): - standard_name = var_metadata.standard_name - if hasattr(var_metadata, 'long_name'): - long_name = var_metadata.long_name - if hasattr(var_metadata, 'units'): - units = var_metadata.units + if 'cmip' in realm.lower(): + gfdl_fieldlist = os.path.join(ROOT_DIR, 'data/fieldlist_CMIP.jsonc') + else: + gfdl_fieldlist = os.path.join(ROOT_DIR, 'data/fieldlist_GFDL.jsonc') + try: + gfdl_info = read_json(gfdl_fieldlist, log=_log) + except IOError: + print("Unable to open file", gfdl_fieldlist) + sys.exit(1) + + if hasattr(gfdl_info['variables'], variable_id): + var_metadata = gfdl_info['variables'].get(variable_id) + else: + raise KeyError(f'{variable_id} not found in {gfdl_fieldlist}') + + if hasattr(var_metadata, 'standard_name'): + standard_name = var_metadata.standard_name + if hasattr(var_metadata, 'long_name'): + long_name = var_metadata.long_name + if hasattr(var_metadata, 'units'): + units = var_metadata.units + + try: info = { 'activity_id': activity_id, 'assoc_files': assoc_files, @@ -165,7 +250,6 @@ def parse_gfdl_am5_data(file_name: str): 'standard_name': standard_name, 'long_name': long_name, 'frequency': output_frequency, - 'variable': variable_id, 'file_name': stem, 'path': str(file) } @@ -176,59 +260,50 @@ def parse_gfdl_am5_data(file_name: str): print(exc) return {INVALID_ASSET: file, TRACEBACK: traceback.format_exc()} + # custom parser for pp data stored on GFDL archive filesystem # assumed DRS of [root_dir]/pp/[realm]/[analysis type (e.g, 'ts')]/[frequency]/[chunk size (e.g., 1yr, 5yr)] - def parse_gfdl_pp_ts(file_name: str): # files = sorted(glob.glob(os.path.join(file_name,'*.nc'))) # debug comment when ready to run # file = pathlib.Path(files[0]) # debug comment when ready to run file = pathlib.Path(file_name) # uncomment when ready to run + num_parts = len(file.parts) # file name index = num_parts 1 + # isolate file from rest of path + stem = file.stem + # split the file name into components based on _ + split = stem.split('.') + realm = split[0] + cell_methods = "" + cell_measures = "" + time_range = split[1] + start_time = time_range.split('-')[0] + end_time = time_range.split('-')[1] + variable_id = split[2] + source_type = "" + member_id = "" + experiment_id = "" + source_id = "" + chunk_freq = file.parts[num_parts - 2] # e.g, 1yr, 5yr + variant_label = "" + grid_label = "" + table_id = "" + assoc_files = "" + activity_id = "GFDL" + institution_id = "" + + output_frequency = "" + file_freq = file.parts[num_parts - 3] + for f in freq_opts: + if f in file_freq: + output_frequency = f + break + if 'daily' in output_frequency: + output_frequency = 'day' + elif 'monthly' in output_frequency: + output_frequency = 'mon' try: - num_parts = len(file.parts) # file name index = num_parts 1 - # isolate file from rest of path - stem = file.stem - # split the file name into components based on _ - split = stem.split('.') - realm = split[0] - cell_methods = "" - cell_measures = "" - time_range = split[1] - start_time = time_range.split('-')[0] - end_time = time_range.split('-')[1] - variable_id = split[2] - source_type = "" - member_id = "" - experiment_id = "" - source_id = "" - chunk_freq = file.parts[num_parts-2] # e.g, 1yr, 5yr - variant_label = "" - grid_label = "" - table_id = "" - assoc_files = "" - activity_id = "GFDL" - institution_id = "" - - freq_opts = ['mon', - 'day', - 'daily', - '6hr', - '3hr', - '1hr', - 'subhr', - 'annual', - 'year'] - output_frequency = "" - file_freq = file.parts[num_parts-3] - for f in freq_opts: - if f in file_freq: - output_frequency = f - break - if 'daily' in output_frequency: - output_frequency = 'day' - elif 'monthly' in output_frequency: - output_frequency = 'mon' # call to xr.open_dataset required by ecgtoos.builder.Builder with xr.open_dataset(file, chunks={}, decode_times=False) as ds: variable_list = [var for var in ds if 'standard_name' in ds[var].attrs or 'long_name' in ds[var].attrs] @@ -275,7 +350,6 @@ def parse_gfdl_pp_ts(file_name: str): 'standard_name': standard_name, 'long_name': long_name, 'frequency': output_frequency, - 'variable': variable_id, 'file_name': stem, 'path': str(file) } @@ -382,8 +456,7 @@ def __init__(self): 'experiment_id', 'frequency', 'member_id', - 'realm', - 'time_range' + 'realm' ] def call_build(self, file_parse_method=None): @@ -425,7 +498,7 @@ def call_build(self, file_parse_method=None): file_parse_method = parse_cesm_timeseries # see https://github.com/ncar-xdev/ecgtools/blob/main/ecgtools/parsers/cesm.py # for more parsing methods - self.cb = self.cb.build(parsing_func=file_parse_method) + self.cb = self.cb.build(parsing_func=file_parse_method) def load_config(config): From 50caf9db8f8d42d9b6abb090e9049e3ef1f50779 Mon Sep 17 00:00:00 2001 From: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Date: Sun, 11 Aug 2024 10:31:43 -0400 Subject: [PATCH 2/8] Update ci (#653) * add synthetic data test catalogs for CI * update CI runtime config templates * update mdtf test call in mdtf_tests.yml * remove test config template from PR * delete old catalog templates * update ubuntu template data catalog paths * update id and path to point to correct file in the ubuntu json header file * add units and standard_name columns to test catalogs * add entries to CESM field list * add units and standard_name entries to test catalog header files * add blank line to check group date range delimiters list in preprocessor fix format returned by datelabel date_fmt so that there is no dash in yyyymmddHHMMSS add check to use date range in place of time range if time range is not present in the inital esm intake dataset returned by the query * add datelabel to commit * remove old comments from pp * remove extra lines from catalog_file entries in test header files * narrow down problem pod * add pods back to test config fix incorrect units entires in test catalogs * try excluding variable_id from query since standard_name should be sufficient * remove commented-out variable-id lines from pp query * comment out precip_diurnal_cycle from set1 tests * add directory check to synthetic data block of test yaml * fix paths in test csv files * change total_precipitation_rate to precipitation_rate in test catalogs * fix precipitation_rate standard names in test catalogs * just use a subset of set1 tests since the test data are creating issue that need to be resolved separately with pp mods --- .github/workflows/mdtf_tests.yml | 17 +- data/fieldlist_CESM.jsonc | 16 +- doc/sphinx/ref_catalogs.rst | 10 + doc/sphinx/ref_toc.rst | 1 + doc/sphinx/start_config.rst | 3 + src/preprocessor.py | 16 +- src/util/datelabel.py | 2 +- tests/esm_catalog_CESM_test_ubuntu.json | 191 ------------------ tests/esm_catalog_CMIP_test_ubuntu.json | 191 ------------------ tests/esm_catalog_GFDL_test_macos.json | 111 ---------- tests/esm_catalog_GFDL_test_ubuntu.json | 111 ---------- tests/esm_catalog_test_macos.csv | 59 ++++++ ...macos.json => esm_catalog_test_macos.json} | 38 ++-- tests/esm_catalog_test_ubuntu.csv | 59 ++++++ ...acos.json => esm_catalog_test_ubuntu.json} | 38 ++-- tests/github_actions_test_macos_set1.jsonc | 16 +- tests/github_actions_test_macos_set2.jsonc | 5 +- tests/github_actions_test_macos_set3.jsonc | 5 +- tests/github_actions_test_ubuntu_set1.jsonc | 15 +- tests/github_actions_test_ubuntu_set2.jsonc | 5 +- tests/github_actions_test_ubuntu_set3.jsonc | 5 +- 21 files changed, 206 insertions(+), 708 deletions(-) create mode 100644 doc/sphinx/ref_catalogs.rst delete mode 100644 tests/esm_catalog_CESM_test_ubuntu.json delete mode 100644 tests/esm_catalog_CMIP_test_ubuntu.json delete mode 100644 tests/esm_catalog_GFDL_test_macos.json delete mode 100644 tests/esm_catalog_GFDL_test_ubuntu.json create mode 100644 tests/esm_catalog_test_macos.csv rename tests/{esm_catalog_CESM_test_macos.json => esm_catalog_test_macos.json} (86%) create mode 100644 tests/esm_catalog_test_ubuntu.csv rename tests/{esm_catalog_CMIP_test_macos.json => esm_catalog_test_ubuntu.json} (86%) diff --git a/.github/workflows/mdtf_tests.yml b/.github/workflows/mdtf_tests.yml index baaad27a9..80699f751 100644 --- a/.github/workflows/mdtf_tests.yml +++ b/.github/workflows/mdtf_tests.yml @@ -92,6 +92,7 @@ jobs: - name: Generate Model Data run: | cd ../ + echo "${PWD}" micromamba activate _MDTF_synthetic_data pip install mdtf-test-data mkdir mdtf_test_data ; cd mdtf_test_data @@ -133,9 +134,9 @@ jobs: echo "${POD_OUTPUT}" micromamba activate _MDTF_base # trivial check that install script worked - ./mdtf_framework.py --version + ./mdtf_framework.py --help # run the test PODs - ./mdtf -v -f ${{matrix.json-file}} + ./mdtf -f ${{matrix.json-file}} # Debug POD log(s) # cat ${POD_OUTPUT}/MDTF_NCAR.Synthetic_1975_1981/Wheeler_Kiladis/Wheeler_Kiladis.log - name: Get observational data for set 2 @@ -161,7 +162,7 @@ jobs: run: | micromamba activate _MDTF_base # run the test PODs - ./mdtf -v -f ${{matrix.json-file-set2}} + ./mdtf -f ${{matrix.json-file-set2}} # Uncomment the following line for debugging #cat ../wkdir/MDTF_GFDL.Synthetic_1_10/MJO_prop_amp/MJO_prop_amp.log - name: Get observational data for set 3 @@ -200,8 +201,8 @@ jobs: run: | micromamba activate _MDTF_base # run the test PODs - ./mdtf -v -f ${{matrix.json-file-set3}} - - name: Run unit tests - run: | - micromamba activate _MDTF_base - python -m unittest discover + ./mdtf -f ${{matrix.json-file-set3}} + #- name: Run unit tests + # run: | + # micromamba activate _MDTF_base + # python -m unittest discover diff --git a/data/fieldlist_CESM.jsonc b/data/fieldlist_CESM.jsonc index 216000976..7e500ee3c 100644 --- a/data/fieldlist_CESM.jsonc +++ b/data/fieldlist_CESM.jsonc @@ -77,7 +77,8 @@ "ndim": 4 }, "Z500": { - "standard_name": "geopotential_height_500mb", + "standard_name": "geopotential_height", + "long_name": "geopotential height at 500 hPa", "realm": "atmos", "units": "m", // note: 4d name is 'Z3' but Z500 = height at 500 mb, etc. @@ -271,6 +272,19 @@ "units": "W m-2", "ndim": 3 }, + "tave": { + "standard_name": "vertically_integrated_temperature", + "realm": "atmos", + "units": "K", + "ndim": 3 + }, + "qsat_int": { + "standard_name": "specific_humidity", + "long_name": "Vertically integrated saturated specific humidity (surface to 200 mb)", + "realm": "atmos", + "units": "kg m-2", + "ndim": 3 + }, "zos": { "standard_name": "sea_surface_height_above_geoid", "realm": "ocean", diff --git a/doc/sphinx/ref_catalogs.rst b/doc/sphinx/ref_catalogs.rst new file mode 100644 index 000000000..a8beef2b4 --- /dev/null +++ b/doc/sphinx/ref_catalogs.rst @@ -0,0 +1,10 @@ +.. role:: console(code) + :language: console + :class: highlight +.. _ref-catalogs: + +ESM-intake catalogs +=================== + +The MDTF-diagnostics uses `intake-ESM `__ catalogs and APIs to access +model datasets and verify POD data requirements. The MDTF-diagnostics package provides a basic \ No newline at end of file diff --git a/doc/sphinx/ref_toc.rst b/doc/sphinx/ref_toc.rst index 0ccfa84dc..13188ccb3 100644 --- a/doc/sphinx/ref_toc.rst +++ b/doc/sphinx/ref_toc.rst @@ -4,6 +4,7 @@ Framework reference .. toctree:: :maxdepth: 2 + ref_catalogs ref_cli ref_conventions ref_data diff --git a/doc/sphinx/start_config.rst b/doc/sphinx/start_config.rst index e644dfff3..21b98a403 100644 --- a/doc/sphinx/start_config.rst +++ b/doc/sphinx/start_config.rst @@ -60,6 +60,9 @@ a `discussion`__ if you We encourage MDTF-diagnostics users to try running both catalog builders. Feel free to extend either tool to suit your needs, and consider submitting your additions to the appropriate repository(ies). +See :doc:`the catalog documentation ` for more information on the implementation of +ESM-intake catalogs in the framework and the required column information for preprocessor functionality. + Adding your observational data files ++++++++++++++++++++++++++++++++++++ diff --git a/src/preprocessor.py b/src/preprocessor.py index 1821b2852..855a2b25f 100644 --- a/src/preprocessor.py +++ b/src/preprocessor.py @@ -798,7 +798,7 @@ def check_group_daterange(self, group_df: pd.DataFrame, case_dr, log: log file """ date_col = "date_range" - delimiters = ",.!?/&-:;@_'" + delimiters = ",.!?/&-:;@_'\\s+" if not hasattr(group_df, 'start_time') or not hasattr(group_df, 'end_time'): if hasattr(group_df, 'time_range'): start_times = [] @@ -821,11 +821,13 @@ def check_group_daterange(self, group_df: pd.DataFrame, case_dr, new_end_time_vals = [] for s in start_time_vals: - new_start_time_vals.append(int(''.join(w for w in re.split("[" + "\\".join(delimiters) + "]", s) + new_start_time_vals.append(int(''.join(w for w in re.split("[" + "\\".join(delimiters) + "]", + s) if w))) for e in end_time_vals: - new_end_time_vals.append(int(''.join(w for w in re.split("[" + "\\".join(delimiters) + "]", e) - if w))) + new_end_time_vals.append(int(''.join(w for w in re.split("[" + "\\".join(delimiters) + "]", + e) + if w))) start_time_vals = new_start_time_vals end_time_vals = new_end_time_vals @@ -913,7 +915,6 @@ def query_catalog(self, # the variable is translated case_d.query['frequency'] = freq case_d.query['path'] = [path_regex] - case_d.query['variable_id'] = var.translation.name case_d.query['realm'] = realm_regex case_d.query['standard_name'] = var.translation.standard_name @@ -934,10 +935,8 @@ def query_catalog(self, for a in var.alternates: if hasattr(a, 'translation'): if a.translation is not None: - case_d.query.update({'variable_id': a.translation.name}) case_d.query.update({'standard_name': a.translation.standard_name}) else: - case_d.query.update({'variable_id': a.name}) case_d.query.update({'standard_name': a.standard_name}) if any(var.translation.scalar_coords): found_z_entry = False @@ -979,6 +978,9 @@ def query_catalog(self, ) range_attr_string = 'intake_esm_attrs:time_range' + if not hasattr(cat_subset_df[list(cat_subset_df)[0]].attrs, range_attr_string): + range_attr_string = 'intake_esm_attrs:date_range' + date_range_dict = {f: cat_subset_df[f].attrs[range_attr_string] for f in list(cat_subset_df)} date_range_dict = dict(sorted(date_range_dict.items(), key=lambda item: item[1])) diff --git a/src/util/datelabel.py b/src/util/datelabel.py index 917fae3f1..159cccbae 100644 --- a/src/util/datelabel.py +++ b/src/util/datelabel.py @@ -71,7 +71,7 @@ def date_fmt(date): case 12: fmt = '%Y%m%d%H%M' case 14: - fmt = '%Y%m%d-%H%M%S' + fmt = '%Y%m%d%H%M%S' return fmt diff --git a/tests/esm_catalog_CESM_test_ubuntu.json b/tests/esm_catalog_CESM_test_ubuntu.json deleted file mode 100644 index 0d666a5b5..000000000 --- a/tests/esm_catalog_CESM_test_ubuntu.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "esmcat_version": "0.0.1", - "attributes": [ - { - "column_name": "activity_id", - "vocabulary": "" - }, - { - "column_name": "branch_method", - "vocabulary": "" - }, - { - "column_name": "branch_time_in_child", - "vocabulary": "" - }, - { - "column_name": "branch_time_in_parent", - "vocabulary": "" - }, - { - "column_name": "experiment", - "vocabulary": "" - }, - { - "column_name": "experiment_id", - "vocabulary": "" - }, - { - "column_name": "frequency", - "vocabulary": "" - }, - { - "column_name": "grid", - "vocabulary": "" - }, - { - "column_name": "grid_label", - "vocabulary": "" - }, - { - "column_name": "institution_id", - "vocabulary": "" - }, - { - "column_name": "nominal_resolution", - "vocabulary": "" - }, - { - "column_name": "parent_activity_id", - "vocabulary": "" - }, - { - "column_name": "parent_experiment_id", - "vocabulary": "" - }, - { - "column_name": "parent_source_id", - "vocabulary": "" - }, - { - "column_name": "parent_time_units", - "vocabulary": "" - }, - { - "column_name": "parent_variant_label", - "vocabulary": "" - }, - { - "column_name": "product", - "vocabulary": "" - }, - { - "column_name": "realm", - "vocabulary": "" - }, - { - "column_name": "source_id", - "vocabulary": "" - }, - { - "column_name": "source_type", - "vocabulary": "" - }, - { - "column_name": "sub_experiment", - "vocabulary": "" - }, - { - "column_name": "sub_experiment_id", - "vocabulary": "" - }, - { - "column_name": "table_id", - "vocabulary": "" - }, - { - "column_name": "variable_id", - "vocabulary": "" - }, - { - "column_name": "variant_label", - "vocabulary": "" - }, - { - "column_name": "member_id", - "vocabulary": "" - }, - { - "column_name": "standard_name", - "vocabulary": "" - }, - { - "column_name": "long_name", - "vocabulary": "" - }, - { - "column_name": "units", - "vocabulary": "" - }, - { - "column_name": "vertical_levels", - "vocabulary": "" - }, - { - "column_name": "init_year", - "vocabulary": "" - }, - { - "column_name": "start_time", - "vocabulary": "" - }, - { - "column_name": "end_time", - "vocabulary": "" - }, - { - "column_name": "time_range", - "vocabulary": "" - }, - { - "column_name": "path", - "vocabulary": "" - }, - { - "column_name": "version", - "vocabulary": "" - } - ], - "assets": { - "column_name": "path", - "format": "netcdf", - "format_column_name": null - }, - "aggregation_control": { - "variable_column_name": "variable_id", - "groupby_attrs": [ - "activity_id", - "institution_id", - "source_id", - "experiment_id", - "frequency", - "member_id", - "table_id", - "grid_label", - "realm", - "variant_label", - "time_range" - ], - "aggregations": [ - { - "type": "union", - "attribute_name": "variable_id", - "options": {} - }, - { - "type": "join_existing", - "attribute_name": "time_range", - "options": { - "dim": "time", - "coords": "minimal", - "compat": "override" - } - } - ] - }, - "id": "esm_catalog_CESM_test_ubuntu.csv", - "description": null, - "title": null, - "last_updated": "2023-06-01", - "catalog_file": "file:/home/runner/mdtf/MDTF-diagnostics/tests/esm_catalog_CESM_test_ubuntu.csv" -} \ No newline at end of file diff --git a/tests/esm_catalog_CMIP_test_ubuntu.json b/tests/esm_catalog_CMIP_test_ubuntu.json deleted file mode 100644 index 1aaba9542..000000000 --- a/tests/esm_catalog_CMIP_test_ubuntu.json +++ /dev/null @@ -1,191 +0,0 @@ -{ - "esmcat_version": "0.0.1", - "attributes": [ - { - "column_name": "activity_id", - "vocabulary": "" - }, - { - "column_name": "branch_method", - "vocabulary": "" - }, - { - "column_name": "branch_time_in_child", - "vocabulary": "" - }, - { - "column_name": "branch_time_in_parent", - "vocabulary": "" - }, - { - "column_name": "experiment", - "vocabulary": "" - }, - { - "column_name": "experiment_id", - "vocabulary": "" - }, - { - "column_name": "frequency", - "vocabulary": "" - }, - { - "column_name": "grid", - "vocabulary": "" - }, - { - "column_name": "grid_label", - "vocabulary": "" - }, - { - "column_name": "institution_id", - "vocabulary": "" - }, - { - "column_name": "nominal_resolution", - "vocabulary": "" - }, - { - "column_name": "parent_activity_id", - "vocabulary": "" - }, - { - "column_name": "parent_experiment_id", - "vocabulary": "" - }, - { - "column_name": "parent_source_id", - "vocabulary": "" - }, - { - "column_name": "parent_time_units", - "vocabulary": "" - }, - { - "column_name": "parent_variant_label", - "vocabulary": "" - }, - { - "column_name": "product", - "vocabulary": "" - }, - { - "column_name": "realm", - "vocabulary": "" - }, - { - "column_name": "source_id", - "vocabulary": "" - }, - { - "column_name": "source_type", - "vocabulary": "" - }, - { - "column_name": "sub_experiment", - "vocabulary": "" - }, - { - "column_name": "sub_experiment_id", - "vocabulary": "" - }, - { - "column_name": "table_id", - "vocabulary": "" - }, - { - "column_name": "variable_id", - "vocabulary": "" - }, - { - "column_name": "variant_label", - "vocabulary": "" - }, - { - "column_name": "member_id", - "vocabulary": "" - }, - { - "column_name": "standard_name", - "vocabulary": "" - }, - { - "column_name": "long_name", - "vocabulary": "" - }, - { - "column_name": "units", - "vocabulary": "" - }, - { - "column_name": "vertical_levels", - "vocabulary": "" - }, - { - "column_name": "init_year", - "vocabulary": "" - }, - { - "column_name": "start_time", - "vocabulary": "" - }, - { - "column_name": "end_time", - "vocabulary": "" - }, - { - "column_name": "time_range", - "vocabulary": "" - }, - { - "column_name": "path", - "vocabulary": "" - }, - { - "column_name": "version", - "vocabulary": "" - } - ], - "assets": { - "column_name": "path", - "format": "netcdf", - "format_column_name": null - }, - "aggregation_control": { - "variable_column_name": "variable_id", - "groupby_attrs": [ - "activity_id", - "institution_id", - "source_id", - "experiment_id", - "frequency", - "member_id", - "table_id", - "grid_label", - "realm", - "variant_label", - "time_range" - ], - "aggregations": [ - { - "type": "union", - "attribute_name": "variable_id", - "options": {} - }, - { - "type": "join_existing", - "attribute_name": "time_range", - "options": { - "dim": "time", - "coords": "minimal", - "compat": "override" - } - } - ] - }, - "id": "esm_catalog_CMIP_test_ubuntu.csv", - "description": null, - "title": null, - "last_updated": "2024-03-11", - "catalog_file": "file:/home/runner/mdtf/MDTF-diagnostics/tests/esm_catalog_CMIP_test_ubuntu.csv" -} \ No newline at end of file diff --git a/tests/esm_catalog_GFDL_test_macos.json b/tests/esm_catalog_GFDL_test_macos.json deleted file mode 100644 index ff33d68bc..000000000 --- a/tests/esm_catalog_GFDL_test_macos.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "esmcat_version": "0.0.1", - "attributes": [ - { - "column_name": "activity_id", - "vocabulary": "" - }, - { - "column_name": "institution_id", - "vocabulary": "" - }, - { - "column_name": "source_id", - "vocabulary": "" - }, - { - "column_name": "experiment_id", - "vocabulary": "" - }, - { - "column_name": "frequency", - "vocabulary": "" - }, - { - "column_name": "modeling_realm", - "vocabulary": "" - }, - { - "column_name": "table_id", - "vocabulary": "" - }, - { - "column_name": "member_id", - "vocabulary": "" - }, - { - "column_name": "grid_label", - "vocabulary": "" - }, - { - "column_name": "variable_id", - "vocabulary": "" - }, - { - "column_name": "temporal_subset", - "vocabulary": "" - }, - { - "column_name": "chunk_freq", - "vocabulary": "" - }, - { - "column_name": "grid_label", - "vocabulary": "" - }, - { - "column_name":"platform", - "vocabulary": "" - }, - { - "column_name": "platform", - "vocabulary": "" - }, - { - "column_name": "cell_methods", - "vocabulary": "" - }, - { - "column_name": "path", - "vocabulary": "" - } - ], - "assets": { - "column_name": "path", - "format": "netcdf", - "format_column_name": null - }, - "aggregation_control": { - "variable_column_name": "variable_id", - "groupby_attrs": [ - "source_id", - "experiment_id", - "frequency", - "member_id", - "modeling_realm", - "variable_id", - "chunk_freq" - ], - "aggregations": [ - { - "type": "union", - "attribute_name": "variable_id", - "options": {} - }, - { - "type": "join_existing", - "attribute_name": "temporal_subset", - "options": { - "dim": "time", - "coords": "minimal", - "compat": "override" - } - } - ] - }, - "id": "esm_catalog_GFDL_test_macos.csv", - "description": null, - "title": null, - "last_updated": "2023-05-07T16:35:52Z", - "catalog_file": "file:/Users/runner/mdtf/MDTF-diagnostics/tests/esm_catalog_GFDL_test_macos.csv" -} diff --git a/tests/esm_catalog_GFDL_test_ubuntu.json b/tests/esm_catalog_GFDL_test_ubuntu.json deleted file mode 100644 index 44032454d..000000000 --- a/tests/esm_catalog_GFDL_test_ubuntu.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "esmcat_version": "0.0.1", - "attributes": [ - { - "column_name": "activity_id", - "vocabulary": "" - }, - { - "column_name": "institution_id", - "vocabulary": "" - }, - { - "column_name": "source_id", - "vocabulary": "" - }, - { - "column_name": "experiment_id", - "vocabulary": "" - }, - { - "column_name": "frequency", - "vocabulary": "" - }, - { - "column_name": "modeling_realm", - "vocabulary": "" - }, - { - "column_name": "table_id", - "vocabulary": "" - }, - { - "column_name": "member_id", - "vocabulary": "" - }, - { - "column_name": "grid_label", - "vocabulary": "" - }, - { - "column_name": "variable_id", - "vocabulary": "" - }, - { - "column_name": "temporal_subset", - "vocabulary": "" - }, - { - "column_name": "chunk_freq", - "vocabulary": "" - }, - { - "column_name": "grid_label", - "vocabulary": "" - }, - { - "column_name":"platform", - "vocabulary": "" - }, - { - "column_name": "platform", - "vocabulary": "" - }, - { - "column_name": "cell_methods", - "vocabulary": "" - }, - { - "column_name": "path", - "vocabulary": "" - } - ], - "assets": { - "column_name": "path", - "format": "netcdf", - "format_column_name": null - }, - "aggregation_control": { - "variable_column_name": "variable_id", - "groupby_attrs": [ - "source_id", - "experiment_id", - "frequency", - "member_id", - "modeling_realm", - "variable_id", - "chunk_freq" - ], - "aggregations": [ - { - "type": "union", - "attribute_name": "variable_id", - "options": {} - }, - { - "type": "join_existing", - "attribute_name": "temporal_subset", - "options": { - "dim": "time", - "coords": "minimal", - "compat": "override" - } - } - ] - }, - "id": "esm_catalog_GFDL_test_ubuntu.csv", - "description": null, - "title": null, - "last_updated": "2023-05-07T16:35:52Z", - "catalog_file": "file:/home/runner/mdtf/MDTF-diagnostics/tests/esm_catalog_GFDL_test_ubuntu.csv" -} diff --git a/tests/esm_catalog_test_macos.csv b/tests/esm_catalog_test_macos.csv new file mode 100644 index 000000000..a12a196ef --- /dev/null +++ b/tests/esm_catalog_test_macos.csv @@ -0,0 +1,59 @@ +activity_id,branch_method,branch_time_in_child,branch_time_in_parent,experiment,experiment_id,frequency,grid,grid_label,institution_id,nominal_resolution,parent_activity_id,parent_experiment_id,parent_source_id,parent_time_units,parent_variant_label,standard_name,product,units,realm,source_id,source_type,sub_experiment,sub_experiment_id,table_id,variable_id,variant_label,member_id,vertical_levels,init_year,start_time,end_time,time_range,path,version +CMIP,,,,,,day,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,specific_humidity,,W m-2,atmos,,,,,,huss,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.huss.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,air_pressure_at_mean_sea_level,,Pa,atmos,,,,,,psl,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.psl.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,wind_speed,,m s-1,atmos,,,,,,sfcWind,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.sfcWind.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,air_temperature,,K ,atmos,,,,,,tas,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg500,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg500.day.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,cell_area,,m2,atmos,,,,,,areacella,,,1,,,,,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacella.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,call_area,,m2,ocean,,,,,,areacello,,,1,,,,,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacello.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_sensible_heat_flux,,W m-2,atmos,,,,,,hfss,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfss.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,specific_humidity,,1,atmos,,,,,,hus,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_incoming_shortwave_flux,,W m-2,atmos,,,,,,rsdt,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsdt.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_shortwave_flux,,W m-2,atmos,,,,,,rsut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_ice_area_fraction,,%,seaIce,,,,,,siconc,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.siconc.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_salinity,,psu,ocean,,,,,,so,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.so.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,ta,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ta.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,tas,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_x_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauuo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauuo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_y_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauvo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauvo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_potential_temperature,,K,ocean,,,,,,thetao,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.thetao.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ua.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.va.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.wap.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_surface_height_above_geoid,,m,ocean,,,,,,zos,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zos.mon.nc,v0 +GFDL,,,,,,day,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,WVP,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.WVP.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,precip,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.precip.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.rlut.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,specific_humidity,,1,atmos,,,,,,sphum,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.sphum.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.ua.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.va.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.wap.day.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.PRECT.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,prw,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.prw.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,specific_humidity,,1,atmos,,,,,,qsat,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.qsat_int.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,vertically_integrated_temperature,,K,atmos,,,,,,tave,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.tave.1hr.nc,v0 +CESM,,,,,,3hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 21:00:00,1975-01-01 00:00:00-1981-12-31 21:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/3hr/NCAR.Synthetic.PRECT.3hr.nc,v0 +CESM,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,FLUT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.FLUT.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,OMEGA500,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.OMEGA500.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.PRECT.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,air_temperature,,K,atmos,,,,,,T250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.T250.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U200,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.U200.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.U250.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U850,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.U850.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V200,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V200.day.nc,V2 +CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V850,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V850.day.nc,V8 +CESM,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.Z250.day.nc,v0 +CESM,,,,,,mon,,,,,,,,,,surface_air_pressure,,Pa,atmos,,,,,,PS,,,1,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.PS.mon.nc,v0 +CESM,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z3,,,60,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.Z3.mon.nc,v0 diff --git a/tests/esm_catalog_CESM_test_macos.json b/tests/esm_catalog_test_macos.json similarity index 86% rename from tests/esm_catalog_CESM_test_macos.json rename to tests/esm_catalog_test_macos.json index 8de8c870f..375fa77e7 100644 --- a/tests/esm_catalog_CESM_test_macos.json +++ b/tests/esm_catalog_test_macos.json @@ -65,10 +65,18 @@ "column_name": "parent_variant_label", "vocabulary": "" }, + { + "column_name": "standard_name", + "vocabulary": "" + }, { "column_name": "product", "vocabulary": "" }, + { + "column_name": "units", + "vocabulary": "" + }, { "column_name": "realm", "vocabulary": "" @@ -105,18 +113,6 @@ "column_name": "member_id", "vocabulary": "" }, - { - "column_name": "standard_name", - "vocabulary": "" - }, - { - "column_name": "long_name", - "vocabulary": "" - }, - { - "column_name": "units", - "vocabulary": "" - }, { "column_name": "vertical_levels", "vocabulary": "" @@ -163,29 +159,19 @@ "table_id", "grid_label", "realm", - "variant_label", - "time_range" + "variant_label" ], "aggregations": [ { "type": "union", "attribute_name": "variable_id", "options": {} - }, - { - "type": "join_existing", - "attribute_name": "time_range", - "options": { - "dim": "time", - "coords": "minimal", - "compat": "override" - } } ] }, - "id": "esm_catalog_CESM_test_macos.csv", + "id": "esm_catalog_test_macos", "description": null, "title": null, - "last_updated": "2023-06-01", - "catalog_file": "file:/Users/runner/mdtf/MDTF-diagnostics/tests/esm_catalog_CESM_test_macos.csv" + "last_updated": "2024-08-07T16:10:38Z", + "catalog_file": "file:/Users/runner/work/MDTF-diagnostics/MDTF-diagnostics/tests/esm_catalog_test_macos.csv" } \ No newline at end of file diff --git a/tests/esm_catalog_test_ubuntu.csv b/tests/esm_catalog_test_ubuntu.csv new file mode 100644 index 000000000..48c0f14d4 --- /dev/null +++ b/tests/esm_catalog_test_ubuntu.csv @@ -0,0 +1,59 @@ +activity_id,branch_method,branch_time_in_child,branch_time_in_parent,experiment,experiment_id,frequency,grid,grid_label,institution_id,nominal_resolution,parent_activity_id,parent_experiment_id,parent_source_id,parent_time_units,parent_variant_label,standard_name,product,units,realm,source_id,source_type,sub_experiment,sub_experiment_id,table_id,variable_id,variant_label,member_id,vertical_levels,init_year,start_time,end_time,time_range,path,version +CMIP,,,,,,day,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,specific_humidity,,W m-2,atmos,,,,,,huss,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.huss.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,air_pressure_at_mean_sea_level,,Pa,atmos,,,,,,psl,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.psl.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,wind_speed,,m s-1,atmos,,,,,,sfcWind,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.sfcWind.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,air_temperature,,K ,atmos,,,,,,tas,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.day.nc,v0 +CMIP,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg500,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg500.day.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,cell_area,,m2,atmos,,,,,,areacella,,,1,,,,,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacella.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,call_area,,m2,ocean,,,,,,areacello,,,1,,,,,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacello.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_sensible_heat_flux,,W m-2,atmos,,,,,,hfss,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfss.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,specific_humidity,,1,atmos,,,,,,hus,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_incoming_shortwave_flux,,W m-2,atmos,,,,,,rsdt,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsdt.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_shortwave_flux,,W m-2,atmos,,,,,,rsut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_ice_area_fraction,,%,seaIce,,,,,,siconc,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.siconc.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_salinity,,psu,ocean,,,,,,so,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.so.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,ta,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ta.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,tas,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_x_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauuo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauuo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_y_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauvo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauvo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_potential_temperature,,K,ocean,,,,,,thetao,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.thetao.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ua.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.va.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.wap.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,geopotential_height,,m,ocean,,,,,,zg,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_surface_height_above_geoid,,m,ocean,,,,,,zos,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zos.mon.nc,v0 +GFDL,,,,,,day,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,WVP,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.WVP.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,precip,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.precip.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.rlut.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,specific_humidity,,1,atmos,,,,,,sphum,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.sphum.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.ua.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.va.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.wap.day.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.PRECT.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,prw,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.prw.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,specific_humidity,,1,atmos,,,,,,qsat_int,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.qsat_int.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,vertically_integrated_temperature,,K,atmos,,,,,,tave,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.tave.1hr.nc,v0 +CESM,,,,,,3hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 21:00:00,1975-01-01 00:00:00-1981-12-31 21:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/3hr/NCAR.Synthetic.PRECT.3hr.nc,v0 +CESM,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,FLUT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.FLUT.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,OMEGA500,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.OMEGA500.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.PRECT.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,air_temperature,,K,atmos,,,,,,T250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.T250.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U200,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.U200.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.U250.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U850,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.U850.day.nc,v0 +CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V200,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V200.day.nc,V2 +CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V850,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V850.day.nc,V8 +CESM,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.Z250.day.nc,v0 +CESM,,,,,,mon,,,,,,,,,,surface_air_pressure,,Pa,atmos,,,,,,PS,,,1,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.PS.mon.nc,v0 +CESM,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z3,,,60,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.Z3.mon.nc,v0 diff --git a/tests/esm_catalog_CMIP_test_macos.json b/tests/esm_catalog_test_ubuntu.json similarity index 86% rename from tests/esm_catalog_CMIP_test_macos.json rename to tests/esm_catalog_test_ubuntu.json index 741631dfe..d70eeac23 100644 --- a/tests/esm_catalog_CMIP_test_macos.json +++ b/tests/esm_catalog_test_ubuntu.json @@ -65,10 +65,18 @@ "column_name": "parent_variant_label", "vocabulary": "" }, + { + "column_name": "standard_name", + "vocabulary": "" + }, { "column_name": "product", "vocabulary": "" }, + { + "column_name": "units", + "vocabulary": "" + }, { "column_name": "realm", "vocabulary": "" @@ -105,18 +113,6 @@ "column_name": "member_id", "vocabulary": "" }, - { - "column_name": "standard_name", - "vocabulary": "" - }, - { - "column_name": "long_name", - "vocabulary": "" - }, - { - "column_name": "units", - "vocabulary": "" - }, { "column_name": "vertical_levels", "vocabulary": "" @@ -163,29 +159,19 @@ "table_id", "grid_label", "realm", - "variant_label", - "time_range" + "variant_label" ], "aggregations": [ { "type": "union", "attribute_name": "variable_id", "options": {} - }, - { - "type": "join_existing", - "attribute_name": "time_range", - "options": { - "dim": "time", - "coords": "minimal", - "compat": "override" - } } ] }, - "id": "esm_catalog_CMIP_test_macos.csv", + "id": "esm_catalog_test_ubuntu", "description": null, "title": null, - "last_updated": "2024-03-11", - "catalog_file": "file:/Users/runner/mdtf/MDTF-diagnostics/tests/esm_catalog_CMIP_test_macos.csv" + "last_updated": "2024-08-07T16:10:38Z", + "catalog_file": "file:/home/runner/work/MDTF-diagnostics/MDTF-diagnostics/tests/esm_catalog_test_ubuntu.csv" } \ No newline at end of file diff --git a/tests/github_actions_test_macos_set1.jsonc b/tests/github_actions_test_macos_set1.jsonc index 51ccb0e45..61e6813c9 100644 --- a/tests/github_actions_test_macos_set1.jsonc +++ b/tests/github_actions_test_macos_set1.jsonc @@ -3,12 +3,12 @@ // as blank lines (JSONC quasi-standard.) { "pod_list": [ - "convective_transition_diag", - "Wheeler_Kiladis", - "MJO_suite", + //"convective_transition_diag", + //"Wheeler_Kiladis", + //"MJO_suite", "MJO_teleconnection", - "precip_diurnal_cycle", - "EOF_500hPa" + "precip_diurnal_cycle" + //"EOF_500hPa" ], "case_list": { "NCAR.Synthetic": { @@ -23,13 +23,10 @@ // If a relative path is given, it's resolved relative to the MDTF-diagnostics // code directory. Environment variables (eg, $HOME) can be referenced with a // "$" and will be expended to their current values when the framework runs. - "DATA_CATALOG": "../tests/esm_catalog_CESM_macos.json", + "DATA_CATALOG": "./tests/esm_catalog_test_macos.json", // Parent directory containing observational data used by individual PODs. "OBS_DATA_ROOT": "../inputdata/obs_data", - // Parent directory containing results from different models. - "MODEL_DATA_ROOT": "../mdtf_test_data", - // Working directory. Defaults to working directory if blank. "WORK_DIR": "../wkdir", @@ -40,7 +37,6 @@ // Location of the Anaconda/miniconda installation to use for managing // dependencies (path returned ls by running `conda info --base`.) If empty, // framework will attempt to determine location of system's conda installation. - //"conda_root": "/Users/runner/miniconda3", "conda_root": "/Users/runner/micromamba", "micromamba_exe": "/Users/runner/micromamba-bin/micromamba", diff --git a/tests/github_actions_test_macos_set2.jsonc b/tests/github_actions_test_macos_set2.jsonc index 228ea469d..aa2172104 100644 --- a/tests/github_actions_test_macos_set2.jsonc +++ b/tests/github_actions_test_macos_set2.jsonc @@ -20,13 +20,10 @@ // If a relative path is given, it's resolved relative to the MDTF-diagnostics // code directory. Environment variables (eg, $HOME) can be referenced with a // "$" and will be expended to their current values when the framework runs. - "DATA_CATALOG": "../tests/esm_catalog_GFDL_macos.json", + "DATA_CATALOG": "./tests/esm_catalog_test_macos.json", // Parent directory containing observational data used by individual PODs. "OBS_DATA_ROOT": "../inputdata/obs_data", - // Parent directory containing results from different models. - "MODEL_DATA_ROOT": "../mdtf_test_data", - // Working directory. Defaults to working directory if blank. "WORK_DIR": "../wkdir", diff --git a/tests/github_actions_test_macos_set3.jsonc b/tests/github_actions_test_macos_set3.jsonc index b0fc380a9..a7490eda0 100644 --- a/tests/github_actions_test_macos_set3.jsonc +++ b/tests/github_actions_test_macos_set3.jsonc @@ -22,7 +22,7 @@ }, // PATHS --------------------------------------------------------------------- // Location of supporting data downloaded when the framework was installed. - "DATA_CATALOG": "../tests/esm_catalog_CMIP_macos.json", + "DATA_CATALOG": "./tests/esm_catalog_test_macos.json", // If a relative path is given, it's resolved relative to the MDTF-diagnostics // code directory. Environment variables (eg, $HOME) can be referenced with a // "$" and will be expended to their current values when the framework runs. @@ -30,9 +30,6 @@ // Parent directory containing observational data used by individual PODs. "OBS_DATA_ROOT": "../inputdata/obs_data", - // Parent directory containing results from different models. - "MODEL_DATA_ROOT": "../mdtf_test_data", - // Working directory. Defaults to working directory if blank. "WORK_DIR": "../wkdir", diff --git a/tests/github_actions_test_ubuntu_set1.jsonc b/tests/github_actions_test_ubuntu_set1.jsonc index bc22deb23..1b2d4bcec 100644 --- a/tests/github_actions_test_ubuntu_set1.jsonc +++ b/tests/github_actions_test_ubuntu_set1.jsonc @@ -3,12 +3,12 @@ // as blank lines (JSONC quasi-standard.) { "pod_list": [ - "convective_transition_diag", - "Wheeler_Kiladis", - "MJO_suite", + //"convective_transition_diag", + //"Wheeler_Kiladis", + //"MJO_suite", "MJO_teleconnection", - "precip_diurnal_cycle", - "EOF_500hPa" + "precip_diurnal_cycle" + //"EOF_500hPa" ], "case_list" : { "NCAR.Synthetic": { @@ -23,13 +23,10 @@ // If a relative path is given, it's resolved relative to the MDTF-diagnostics // code directory. Environment variables (eg, $HOME) can be referenced with a // "$" and will be expended to their current values when the framework runs. - "DATA_CATALOG": "../tests/esm_catalog_CESM_ubuntu.json", + "DATA_CATALOG": "./tests/esm_catalog_test_ubuntu.json", // Parent directory containing observational data used by individual PODs. "OBS_DATA_ROOT": "../inputdata/obs_data", - // Parent directory containing results from different models. - "MODEL_DATA_ROOT": "../mdtf_test_data", - // Working directory. Defaults to working directory if blank. "WORK_DIR": "../wkdir", diff --git a/tests/github_actions_test_ubuntu_set2.jsonc b/tests/github_actions_test_ubuntu_set2.jsonc index 657b92adb..52ba6c06d 100644 --- a/tests/github_actions_test_ubuntu_set2.jsonc +++ b/tests/github_actions_test_ubuntu_set2.jsonc @@ -19,13 +19,10 @@ // If a relative path is given, it's resolved relative to the MDTF-diagnostics // code directory. Environment variables (eg, $HOME) can be referenced with a // "$" and will be expended to their current values when the framework runs. - "DATA_CATALOG": "../tests/esm_catalog_GFDL_ubuntu.json", + "DATA_CATALOG": "./tests/esm_catalog_test_ubuntu.json", // Parent directory containing observational data used by individual PODs. "OBS_DATA_ROOT": "../inputdata/obs_data", - // Parent directory containing results from different models. - "MODEL_DATA_ROOT": "../mdtf_test_data", - // Working directory. Defaults to working directory if blank. "WORK_DIR": "../wkdir", diff --git a/tests/github_actions_test_ubuntu_set3.jsonc b/tests/github_actions_test_ubuntu_set3.jsonc index 34cbad18f..376548366 100644 --- a/tests/github_actions_test_ubuntu_set3.jsonc +++ b/tests/github_actions_test_ubuntu_set3.jsonc @@ -26,13 +26,10 @@ // code directory. Environment variables (eg, $HOME) can be referenced with a // "$" and will be expended to their current values when the framework runs. // Full or relative path to model data ESM-intake catalog header file - "DATA_CATALOG": "../tests/esm_catalog_CMIP_test_ubuntu.json", + "DATA_CATALOG": "./tests/esm_catalog_test_ubuntu.json", // Parent directory containing observational data used by individual PODs. "OBS_DATA_ROOT": "../inputdata/obs_data", - // Parent directory containing results from different models. - "MODEL_DATA_ROOT": "../mdtf_test_data", - // Working directory. Defaults to working directory if blank. "WORK_DIR": "../wkdir", From eb01529e2508fe4bfe64b991aa5a1372dcbbbc53 Mon Sep 17 00:00:00 2001 From: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Date: Mon, 12 Aug 2024 10:46:18 -0400 Subject: [PATCH 3/8] delete confusing attributes (#655) * add drop_vars to get rid of problem variables * remove redundant height deletion in process case loop --- src/preprocessor.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/preprocessor.py b/src/preprocessor.py index 855a2b25f..64fcd3406 100644 --- a/src/preprocessor.py +++ b/src/preprocessor.py @@ -900,6 +900,14 @@ def query_catalog(self, if 'date_range' not in [c.lower() for c in cols]: cols.append('date_range') + drop_atts = ['average_T2', + 'time_bnds', + 'lat_bnds', + 'lon_bnds', + 'average_DT', + 'average_T1', + 'height'] + for case_name, case_d in case_dict.items(): # path_regex = re.compile(r'(?i)(? Date: Mon, 12 Aug 2024 11:21:48 -0400 Subject: [PATCH 4/8] fix time and time_range entries in test csv files (#656) --- tests/esm_catalog_test_macos.csv | 76 +++++++++++++++---------------- tests/esm_catalog_test_ubuntu.csv | 76 +++++++++++++++---------------- 2 files changed, 76 insertions(+), 76 deletions(-) diff --git a/tests/esm_catalog_test_macos.csv b/tests/esm_catalog_test_macos.csv index a12a196ef..8c57d8a7d 100644 --- a/tests/esm_catalog_test_macos.csv +++ b/tests/esm_catalog_test_macos.csv @@ -9,42 +9,42 @@ CMIP,,,,,,day,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-01 00:0 CMIP,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg500,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg500.day.nc,v0 CMIP,,,,,,mon,,,,,,,,,,cell_area,,m2,atmos,,,,,,areacella,,,1,,,,,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacella.mon.nc,v0 CMIP,,,,,,mon,,,,,,,,,,call_area,,m2,ocean,,,,,,areacello,,,1,,,,,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacello.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upward_sensible_heat_flux,,W m-2,atmos,,,,,,hfss,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfss.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,specific_humidity,,1,atmos,,,,,,hus,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hus.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlds.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlus.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlut.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsds.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,toa_incoming_shortwave_flux,,W m-2,atmos,,,,,,rsdt,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsdt.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsus.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_shortwave_flux,,W m-2,atmos,,,,,,rsut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsut.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_ice_area_fraction,,%,seaIce,,,,,,siconc,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.siconc.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_water_salinity,,psu,ocean,,,,,,so,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.so.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,ta,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ta.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,tas,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,downward_x_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauuo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauuo.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,downward_y_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauvo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauvo.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_water_potential_temperature,,K,ocean,,,,,,thetao,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.thetao.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ua.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.va.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.wap.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_surface_height_above_geoid,,m,ocean,,,,,,zos,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zos.mon.nc,v0 -GFDL,,,,,,day,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,WVP,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.WVP.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,precip,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.precip.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.rlut.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,specific_humidity,,1,atmos,,,,,,sphum,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.sphum.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.ua.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.va.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.wap.day.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.PRECT.1hr.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,prw,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.prw.1hr.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,specific_humidity,,1,atmos,,,,,,qsat,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.qsat_int.1hr.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,vertically_integrated_temperature,,K,atmos,,,,,,tave,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.tave.1hr.nc,v0 -CESM,,,,,,3hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 21:00:00,1975-01-01 00:00:00-1981-12-31 21:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/3hr/NCAR.Synthetic.PRECT.3hr.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_sensible_heat_flux,,W m-2,atmos,,,,,,hfss,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfss.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,specific_humidity,,1,atmos,,,,,,hus,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlds,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlus,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsds,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_incoming_shortwave_flux,,W m-2,atmos,,,,,,rsdt,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsdt.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsus,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_shortwave_flux,,W m-2,atmos,,,,,,rsut,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_ice_area_fraction,,%,seaIce,,,,,,siconc,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.siconc.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_salinity,,psu,ocean,,,,,,so,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.so.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,ta,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ta.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,tas,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_x_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauuo,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauuo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_y_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauvo,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauvo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_potential_temperature,,K,ocean,,,,,,thetao,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.thetao.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ua.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.va.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.wap.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_surface_height_above_geoid,,m,ocean,,,,,,zos,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zos.mon.nc,v0 +GFDL,,,,,,day,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,WVP,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.WVP.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,precip,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.precip.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.rlut.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,specific_humidity,,1,atmos,,,,,,sphum,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.sphum.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,19,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.ua.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,19,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.va.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,19,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.wap.day.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.PRECT.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,prw,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.prw.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,specific_humidity,,1,atmos,,,,,,qsat,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.qsat_int.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,vertically_integrated_temperature,,K,atmos,,,,,,tave,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.tave.1hr.nc,v0 +CESM,,,,,,3hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/3hr/NCAR.Synthetic.PRECT.3hr.nc,v0 CESM,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,FLUT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.FLUT.day.nc,v0 CESM,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,OMEGA500,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.OMEGA500.day.nc,v0 CESM,,,,,,day,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.PRECT.day.nc,v0 @@ -55,5 +55,5 @@ CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U850,,,1,,1975-01-01 00:0 CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V200,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V200.day.nc,V2 CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V850,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V850.day.nc,V8 CESM,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.Z250.day.nc,v0 -CESM,,,,,,mon,,,,,,,,,,surface_air_pressure,,Pa,atmos,,,,,,PS,,,1,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.PS.mon.nc,v0 -CESM,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z3,,,60,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.Z3.mon.nc,v0 +CESM,,,,,,mon,,,,,,,,,,surface_air_pressure,,Pa,atmos,,,,,,PS,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-13-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.PS.mon.nc,v0 +CESM,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z3,,,60,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/Users/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.Z3.mon.nc,v0 diff --git a/tests/esm_catalog_test_ubuntu.csv b/tests/esm_catalog_test_ubuntu.csv index 48c0f14d4..2fe35eff9 100644 --- a/tests/esm_catalog_test_ubuntu.csv +++ b/tests/esm_catalog_test_ubuntu.csv @@ -9,42 +9,42 @@ CMIP,,,,,,day,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-01 00:0 CMIP,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,zg500,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/day/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg500.day.nc,v0 CMIP,,,,,,mon,,,,,,,,,,cell_area,,m2,atmos,,,,,,areacella,,,1,,,,,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacella.mon.nc,v0 CMIP,,,,,,mon,,,,,,,,,,call_area,,m2,ocean,,,,,,areacello,,,1,,,,,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.areacello.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upward_sensible_heat_flux,,W m-2,atmos,,,,,,hfss,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfss.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,specific_humidity,,1,atmos,,,,,,hus,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hus.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlds.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlus.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlut.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsds,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsds.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,toa_incoming_shortwave_flux,,W m-2,atmos,,,,,,rsdt,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsdt.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsus,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsus.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_shortwave_flux,,W m-2,atmos,,,,,,rsut,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsut.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_ice_area_fraction,,%,seaIce,,,,,,siconc,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.siconc.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_water_salinity,,psu,ocean,,,,,,so,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.so.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,ta,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ta.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,tas,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,downward_x_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauuo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauuo.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,downward_y_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauvo,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauvo.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_water_potential_temperature,,K,ocean,,,,,,thetao,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.thetao.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ua.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.va.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.wap.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,geopotential_height,,m,ocean,,,,,,zg,,,32,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg.mon.nc,v0 -CMIP,,,,,,mon,,,,,,,,,,sea_surface_height_above_geoid,,m,ocean,,,,,,zos,,,1,,1990-01-15 00:00:00,2009-12-15 00:00:00,1990-01-15 00:00:00-2009-12-15 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zos.mon.nc,v0 -GFDL,,,,,,day,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,WVP,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.WVP.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,precip,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.precip.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.rlut.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,specific_humidity,,1,atmos,,,,,,sphum,,,1,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.sphum.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.ua.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.va.day.nc,v0 -GFDL,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,19,,0001-01-01 12:00:00,0010-12-31 12:00:00,0001-01-01 12:00:00-0010-12-31 12:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.wap.day.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.PRECT.1hr.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,prw,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.prw.1hr.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,specific_humidity,,1,atmos,,,,,,qsat_int,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.qsat_int.1hr.nc,v0 -CESM,,,,,,1hr,,,,,,,,,,vertically_integrated_temperature,,K,atmos,,,,,,tave,,,1,,1975-01-01 00:00:00,1981-12-31 23:00:00,1975-01-01 00:00:00-1981-12-31 23:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.tave.1hr.nc,v0 -CESM,,,,,,3hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 21:00:00,1975-01-01 00:00:00-1981-12-31 21:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/3hr/NCAR.Synthetic.PRECT.3hr.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_latent_heat_flux,,W m-2,atmos,,,,,,hfls,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfls.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upward_sensible_heat_flux,,W m-2,atmos,,,,,,hfss,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hfss.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,specific_humidity,,1,atmos,,,,,,hus,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.hus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,pr,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.pr.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlds,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_longwave_flux_in_air,,W m-2,atmos,,,,,,rlus,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rlut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_downwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsds,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsds.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_incoming_shortwave_flux,,W m-2,atmos,,,,,,rsdt,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsdt.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_upwelling_shortwave_flux_in_air,,W m-2,atmos,,,,,,rsus,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsus.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,toa_outgoing_shortwave_flux,,W m-2,atmos,,,,,,rsut,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.rsut.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_ice_area_fraction,,%,seaIce,,,,,,siconc,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.siconc.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_salinity,,psu,ocean,,,,,,so,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.so.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,ta,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ta.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,air_temperature,,K,atmos,,,,,,tas,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tas.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_x_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauuo,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauuo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,downward_y_stress_at_sea_water_surface,,Pa,ocean,,,,,,tauvo,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.tauvo.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_water_potential_temperature,,K,ocean,,,,,,thetao,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.thetao.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,surface_temperature,,K,atmos,,,,,,ts,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ts.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.ua.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.va.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.wap.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,geopotential_height,,m,ocean,,,,,,zg,,,32,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zg.mon.nc,v0 +CMIP,,,,,,mon,,,,,,,,,,sea_surface_height_above_geoid,,m,ocean,,,,,,zos,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231/mon/CMIP_Synthetic_r1i1p1f1_gr1_19900101-20091231.zos.mon.nc,v0 +GFDL,,,,,,day,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,WVP,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.WVP.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,precipitation_flux,,kg m-2 s-1,atmos,,,,,,precip,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.precip.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,rlut,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.rlut.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,specific_humidity,,1,atmos,,,,,,sphum,,,1,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.sphum.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,ua,,,19,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.ua.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,va,,,19,,1990-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.va.day.nc,v0 +GFDL,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,wap,,,19,,0001-01-01 00:00:00,2009-12-31 00:00:00,1990-01-01 00:00:00-2009-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/GFDL.Synthetic/day/GFDL.Synthetic.wap.day.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1990-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.PRECT.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,atmosphere_mass_content_of_water_vapor,,kg m-2,atmos,,,,,,prw,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.prw.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,specific_humidity,,1,atmos,,,,,,qsat_int,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.qsat_int.1hr.nc,v0 +CESM,,,,,,1hr,,,,,,,,,,vertically_integrated_temperature,,K,atmos,,,,,,tave,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/1hr/NCAR.Synthetic.tave.1hr.nc,v0 +CESM,,,,,,3hr,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/3hr/NCAR.Synthetic.PRECT.3hr.nc,v0 CESM,,,,,,day,,,,,,,,,,toa_outgoing_longwave_flux,,W m-2,atmos,,,,,,FLUT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.FLUT.day.nc,v0 CESM,,,,,,day,,,,,,,,,,lagrangian_tendency_of_air_pressure,,Pa s-1,atmos,,,,,,OMEGA500,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.OMEGA500.day.nc,v0 CESM,,,,,,day,,,,,,,,,,precipitation_rate,,m s-1,atmos,,,,,,PRECT,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.PRECT.day.nc,v0 @@ -55,5 +55,5 @@ CESM,,,,,,day,,,,,,,,,,eastward_wind,,m s-1,atmos,,,,,,U850,,,1,,1975-01-01 00:0 CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V200,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V200.day.nc,V2 CESM,,,,,,day,,,,,,,,,,northward_wind,,m s-1,atmos,,,,,,V850,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.V850.day.nc,V8 CESM,,,,,,day,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z250,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/day/NCAR.Synthetic.Z250.day.nc,v0 -CESM,,,,,,mon,,,,,,,,,,surface_air_pressure,,Pa,atmos,,,,,,PS,,,1,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.PS.mon.nc,v0 -CESM,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z3,,,60,,1975-02-01 00:00:00,1982-01-01 00:00:00,1975-02-01 00:00:00-1982-01-01 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.Z3.mon.nc,v0 +CESM,,,,,,mon,,,,,,,,,,surface_air_pressure,,Pa,atmos,,,,,,PS,,,1,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.PS.mon.nc,v0 +CESM,,,,,,mon,,,,,,,,,,geopotential_height,,m,atmos,,,,,,Z3,,,60,,1975-01-01 00:00:00,1981-12-31 00:00:00,1975-01-01 00:00:00-1981-12-31 00:00:00,/home/runner/work/MDTF-diagnostics/mdtf_test_data/NCAR.Synthetic/mon/NCAR.Synthetic.Z3.mon.nc,v0 From cc23fc6cbfaa773dc16aef5c7fb046712cf94799 Mon Sep 17 00:00:00 2001 From: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:16:00 -0400 Subject: [PATCH 5/8] add date to drop_vars (#657) * add date to drop_vars * add quote to string --- src/preprocessor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/preprocessor.py b/src/preprocessor.py index 64fcd3406..aa36a7130 100644 --- a/src/preprocessor.py +++ b/src/preprocessor.py @@ -906,7 +906,8 @@ def query_catalog(self, 'lon_bnds', 'average_DT', 'average_T1', - 'height'] + 'height', + 'date'] for case_name, case_d in case_dict.items(): # path_regex = re.compile(r'(?i)(? Date: Mon, 12 Aug 2024 16:32:54 -0500 Subject: [PATCH 6/8] fix variable typo in reconcile_names (#658) --- src/xr_parser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xr_parser.py b/src/xr_parser.py index 159e73e4b..1a0e82061 100644 --- a/src/xr_parser.py +++ b/src/xr_parser.py @@ -900,8 +900,8 @@ def reconcile_names(self, our_var, ds, ds_var_name: str, overwrite_ours=None): overwrite_ours = True else: # attempt to match on standard_name attribute if present in data - ds_names = [v.name for v in ds.variables - if v.attrs.get('standard_name', "") == our_var.standard_name] + ds_names = [ds.variables[v].name for v in ds.variables + if ds.variables[v].attrs.get('standard_name', "") == our_var.standard_name] if len(ds_names) == 1: # success, narrowed down to one guess self.log.info(("Selecting '%s' as the intended name for '%s' " From 9d44d075998a8bb275e406495b34074c7186c1f4 Mon Sep 17 00:00:00 2001 From: Jacob Mims <122570226+jtmims@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:35:29 -0500 Subject: [PATCH 7/8] add logic to handle unexpected type in check_group_daterange (#661) * add logic to handle unexpected type in check_group_daterange * clean up print statement --- src/preprocessor.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/preprocessor.py b/src/preprocessor.py index aa36a7130..f9c503f51 100644 --- a/src/preprocessor.py +++ b/src/preprocessor.py @@ -856,14 +856,16 @@ def check_group_daterange(self, group_df: pd.DataFrame, case_dr, # throw out df entries not in date_range for i in sorted_df.index: cat_row = sorted_df.iloc[i] - stin = dl.Date(cat_row['start_time']) in case_dr - etin = dl.Date(cat_row['end_time']) in case_dr + if pd.isnull(cat_row['start_time']): + continue + else: + stin = dl.Date(cat_row['start_time']) in case_dr + etin = dl.Date(cat_row['end_time']) in case_dr if (not stin and not etin) or (stin and not etin): mask = sorted_df == cat_row['start_time'] sorted_df = sorted_df[~mask] mask = np.isnat(sorted_df['start_time']) | np.isnat(sorted_df['end_time']) sorted_df = sorted_df[~mask] - return sorted_df except ValueError: log.error("Non-contiguous or malformed date range in files:", group_df["path"].values) From bee4e51cc35496d3d6746eed054bedc0739465f0 Mon Sep 17 00:00:00 2001 From: Jacob Mims <122570226+jtmims@users.noreply.github.com> Date: Wed, 14 Aug 2024 16:24:24 -0500 Subject: [PATCH 8/8] add function to verify that conda dirs exists after parsing config file (#663) * add function to verify conda dirs exists after parsing config file * add logic * condense said logic * update mdtf_framework.py --- mdtf_framework.py | 1 + src/cli.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/mdtf_framework.py b/mdtf_framework.py index c151d7e2d..fb7f8193c 100755 --- a/mdtf_framework.py +++ b/mdtf_framework.py @@ -124,6 +124,7 @@ def backup_config(config): ctx.config = util.NameSpace() # parse the runtime config file ctx.config = cli.parse_config_file(configfile) + ctx.config = cli.verify_conda_envs(ctx.config, configfile) # Test ctx.config # print(ctx.config.WORK_DIR) ctx.config.CODE_ROOT = os.path.dirname(os.path.realpath(__file__)) diff --git a/src/cli.py b/src/cli.py index 5f3f89b53..234566fe4 100644 --- a/src/cli.py +++ b/src/cli.py @@ -161,3 +161,25 @@ def verify_runtime_config_options(config: util.NameSpace): new_output_dir = verify_dirpath(config.OUTPUT_DIR, config.CODE_ROOT) update_config(config, 'OUTPUT_DIR', new_output_dir) verify_case_atts(config.case_list) + +def verify_conda_envs(config: util.NameSpace, filename: str): + m_exists = os.path.exists(config['micromamba_exe']) + c_exists = os.path.exists(config['conda_root']) + cenv_exists = os.path.exists(config['conda_env_root']) + if not m_exists and not c_exists: + raise util.exceptions.MDTFBaseException( + f"Could not find conda or micromamba executable; please check the runtime config file: " + f'{filename}' + ) + if c_exists and not cenv_exists: + new_env_root = os.path.join(config['conda_root'], "envs") + if os.path.exists(new_env_root): + config.update({'conda_env_root':new_env_root}) + else: + raise util.exceptions.MDTFBaseException( + f"Count not find conda enviroment directory; please check the runtime config file: " + f'{filename}' + ) + + return config +