Skip to content

adds start/stop options and fixes restart issues - #524

Open
philipwjones wants to merge 1 commit into
E3SM-Project:developfrom
philipwjones:omega/stop-time-changes
Open

adds start/stop options and fixes restart issues#524
philipwjones wants to merge 1 commit into
E3SM-Project:developfrom
philipwjones:omega/stop-time-changes

Conversation

@philipwjones

@philipwjones philipwjones commented Aug 23, 2026

Copy link
Copy Markdown

In an attempt to fix various restart issues, the methods for starting and stopping a run have been refactored. These are more fully described in the user and developer guides in the time stepping sections, but include:

  • adding a config stop option to support stopping at a time, after an interval, or on a signal from coupler
  • using a stop criterion string together with the stop option to determine stop time
  • adding a start option to support start-up, continuation and branch runs (introduced for coupling but now moved to time stepper to simplify standalone starting as well)
  • fixes some related clock and clock reset issues on restart that were impacting a number of situations, especially in streams for appended files

These changes required changes to the input config so after this PR, users/developers will need to update their config files accordingly.

Checklist

  • Documentation:

  • Linting

  • Building

    • CMake build does not produce any new warnings from changes in this PR
  • Testing

    aurora, oneapi-ifx, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    chrysalis, oneapi-ifx, openmpi

    • CTests Pass
    • Polaris omega_pr Pass

    frontier, craygnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    frontier, craygnu-mphipcc, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    pm-cpu, gnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    pm-gpu, gnugpu, mpich

    • CTests Pass
    • Polaris omega_pr Pass
  • Provide relevant details in a comment to the PR titled Testing with the following:

    • Which machines CTest unit tests
      have been run on and indicate that are all passing.
    • The Polaris omega_pr test suite
      has passed, using the Polaris e3sm_submodules/Omega baseline
    • Document machine(s), compiler(s), and the build path(s) used for -p for both the baseline (Polaris e3sm_submodules/Omega) and the PR build
    • Indicate "All tests passed" or document failing tests
    • Document testing used to verify the changes including any tests that are added/modified/impacted.

Fixes #482

  - adds a config stop option to support stopping
    at a time, after an interval, or on a signal from coupler
  - adds a start option to support start-up, continuation and
    branch runs
  - fixes some related clock and clock reset issues on restart that
    were impacting a number of situations, especially in streams
    for appended files
@philipwjones

Copy link
Copy Markdown
Author

Passes Ctests on Chrysalis. I also tested running 5 days and restarting for another 5 days and verified that the append option works to correctly write daily time slices to a single file (to verify fixing #482)

@philipwjones

Copy link
Copy Markdown
Author

omega-buildnml PR tests are failing due to changes in the config file needed for this PR.

@philipwjones

Copy link
Copy Markdown
Author

I will be mostly out of contact for about two weeks starting 8/25. I might be able to briefly respond to any issues and point to fixes but will not be able to access/modify code during that time.

@xylar

xylar commented Aug 25, 2026

Copy link
Copy Markdown

@philipwjones, just a quick note to say that I have seen this work is up and I really appreciate it! I'll get to reviewing it as soon as I can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Restarting a run silently overwrites earlier frames in a multi-frame output stream

2 participants