Skip to content

Do new rpointers actually work when running NINST>1 starting from a single instance case? #3012

@mvdebolskiy

Description

@mvdebolskiy

I see this code:

CTSM/cime_config/buildnml

Lines 315 to 332 in 7ff6061

ninst = int(ninst_lnd)
for inst_counter in range(1, ninst + 1):
# determine instance string
inst_string = ""
if ninst > 1:
inst_string = "_" + "%04d" % inst_counter
# If multi-instance case does not have restart file, use
# single-case restart for each instance
rpointer = "rpointer.lnd"
if os.path.isfile(os.path.join(rundir, rpointer)) and (
not os.path.isfile(os.path.join(rundir, rpointer + inst_string))
):
shutil.copy(
os.path.join(rundir, rpointer),
os.path.join(rundir, rpointer + inst_string),
)

There is no mention of the rpointer timestamp, which means, if you start an NINST>1 case from a NINST=1 case with rpointers like rpointer.lnd.XXXX-XX-XX-XXXXX there will never be rpointers created for the multiple instances.

Also, right now there are no tests for multiple instances afaik. I do not run multiple instance cases, however, I assume calibration ppl do.
@adrifoster do you use NINST in you fates calibration?

Metadata

Metadata

Assignees

No one assigned

    Labels

    investigationNeeds to be verified and more investigation into what's going on.priority: lowBackground task that doesn't need to be done right away.size: smalltestingadditions or changes to tests

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions