diff --git a/config/acme/config_archive.xml b/config/acme/config_archive.xml index 1f4a64cc94f..fc2d71239b1 100644 --- a/config/acme/config_archive.xml +++ b/config/acme/config_archive.xml @@ -81,7 +81,7 @@ \.rst.* - \.hist.* + \.hist.*\.*\.*\.nc unset rpointer.ice @@ -113,7 +113,7 @@ \.rst.* - \.hist.* + \.hist.*\.*\.*\.nc unset rpointer.ocn diff --git a/scripts/lib/CIME/case_st_archive.py b/scripts/lib/CIME/case_st_archive.py index 75158ee7212..7fab93bbb38 100644 --- a/scripts/lib/CIME/case_st_archive.py +++ b/scripts/lib/CIME/case_st_archive.py @@ -149,6 +149,8 @@ def _archive_history_files(case, archive, archive_entry, for i in range(ninst): if compname == 'dart': newsuffix = casename + suffix + elif compname.find('mpas') == 0: + newsuffix = compname + '.*' + suffix else: if ninst_string: newsuffix = casename + '.' + compname + ".*" + ninst_string[i] + suffix @@ -230,22 +232,27 @@ def _archive_restarts(case, archive, archive_entry, for suffix in archive.get_rest_file_extensions(archive_entry): for i in range(ninst): restfiles = "" - pattern = r"%s\.%s\d*.*" % (casename, compname) - if pattern != "dart": + if compname.find("mpas") == 0: + pattern = compname + suffix + '_'.join(datename.rsplit('-', 1)) pfile = re.compile(pattern) - files = [f for f in os.listdir(rundir) if pfile.search(f)] - if ninst_strings: - pattern = ninst_strings[i] + suffix + datename + restfiles = [f for f in os.listdir(rundir) if pfile.search(f)] + else: + pattern = r"%s\.%s\d*.*" % (casename, compname) + if pattern != "dart": pfile = re.compile(pattern) - restfiles = [f for f in files if pfile.search(f)] + files = [f for f in os.listdir(rundir) if pfile.search(f)] + if ninst_strings: + pattern = ninst_strings[i] + suffix + datename + pfile = re.compile(pattern) + restfiles = [f for f in files if pfile.search(f)] + else: + pattern = suffix + datename + pfile = re.compile(pattern) + restfiles = [f for f in files if pfile.search(f)] else: - pattern = suffix + datename + pattern = suffix pfile = re.compile(pattern) - restfiles = [f for f in files if pfile.search(f)] - else: - pattern = suffix - pfile = re.compile(pattern) - restfiles = [f for f in os.listdir(rundir) if pfile.search(f)] + restfiles = [f for f in os.listdir(rundir) if pfile.search(f)] for restfile in restfiles: restfile = os.path.basename(restfile)