ESMCI / ESMCI/cime

Another weird edge case with date stamps in rpointer files

Open
#4,887 3 comments 0 reactions 0 assignees View on GitHub
Low Priority
Dominant language
Python
Stars
174
Forks
225
Avg merge
3d 10h
Merged PRs (30d)
18

Description

@kristenkrumhardt created a new CESM case, set `RUN_TYPE=branch` and also set up `RUN_REFCASE` and `RUN_REFDATE`. After she built the model and the submitted job started running, the coupler aborted immediately with

```
read rpointer file = rpointer.cpl
(esm_time_mod.F90:esm_time_clockInit) ERROR rpointer file rpointer.cpl not foun
d
```

We traced the issue to `DRV_RESTART_POINTER` being `rpointer.cpl` rather than `rpointer.cpl.YYYY-MM-DD-SSSSS`, but should there be a mechanism to tell CIME to include `REF_DATE` when constructing `DRV_RESTART_POINTER`? Maybe the default should be to include it when `CONTINUE_RUN=FALSE`, but there can be a mechanism to say "no, just use `rpointer.cpl` instead?

We think this maybe leads to unexpected inconsistencies in `hybrid` runs, because similar steps but using `RUN_TYPE=hybrid` does not abort. Perhaps the coupler just initializes itself as a startup if `DRV_RESTART_POINTER` is not found in a hybrid run? Some of the components initialized from restart files, so it's a little unclear what actually happened in the hybrid case...

Contributor guide

Open the contributing guide

Research direction

Start with esm_time_mod.F90:esm_time_clockInit and trace how CIME constructs DRV_RESTART_POINTER for RUN_TYPE=branch, including RUN_REFDATE and CONTINUE_RUN. Compare the resulting rpointer.cpl handling with a RUN_TYPE=hybrid case; done means branch runs find the intended dated pointer file without regressing valid hybrid or startup behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.