Skip to content

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

Merged
xylar merged 3 commits into
E3SM-Project:developfrom
philipwjones:omega/stop-time-changes
Oct 1, 2026
Merged

xylar merged 3 commits 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

@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.

@xylar xylar left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this — the restart clock handling is a real improvement, and I think the approach to #482 is correct. I found three bugs that keep the coupled path from working at all, plus a CI failure. All four are small, and the fix for each is described inline below. The rest is one downstream note about Polaris and a couple of small things.

Bugs

getTimeStepperStartTypeFromE3SM has no break statements

In TimeStepper.cpp, every case falls through to default:, so the function aborts with Invalid E3SM start type value no matter what the coupler passes. Every coupled run dies in ocnInit1.

The same function's signature doesn't match its declaration

TimeStepper.h declares getTimeStepperStartTypeFromE3SM(const int &E3SMOpt) while TimeStepper.cpp defines getTimeStepperStartTypeFromE3SM(const int E3SMOption). Top-level const is stripped from a by-value parameter, so these are two distinct overloads: the one omega_cxx2f_interface.cpp calls is declared but never defined, and the coupled build fails to link. This is also why the missing breaks got through — the standalone CTests don't link the coupled driver, so neither problem is reachable from ctest.

getDuration() is declared but never defined

TimeStepper.h declares TimeInterval getDuration() const; and there is no definition. Nothing calls it yet, so it's latent, but the first caller would fail to link.

CI

The omega-buildnml job fails because the TimeIntegration options were renamed but the buildnml side still refers to the old ones:

ValueError: Invalid Omega configuration:
  - Unknown option(s) TimeIntegration.StopTime, TimeIntegration.RunDuration in coupled overrides.

config_overrides.yaml still sets StartTime, StopTime and RunDuration under coupled, and validate.py's BLOCKED_OPTIONS still names StopTime and RunDuration. Worth noting that coupled runs also need StopType: OnSignal — this isn't cosmetic. Without it the merged config falls through to Default.yml's StopType: AtTime with StopCriterion: 0001-01-01_02:00:00, which is not what a coupled run wants. Since blocked options can't appear in config_overrides.yaml, that setting belongs in build_runtime_overrides alongside CalendarType.

#482 looks genuinely fixed

Recording the reasoning since it took me a while to convince myself. The history time axis is SimTime - ModelClock->getStartTime() in IOStream.cpp, and Clock::setCurrentTime moves only CurrTime/PrevTime/NextTime, leaving the clock's StartTime at the full-simulation start. On the coupled side ocn_comp_mct.F90 passes case_start_ymd, which is constant across restart segments rather than the segment start. So elapsed time is monotonic across segments and the frame-matching loop appends instead of overwriting. That's the right fix, and separating StartType from the stream-level UseStartEnd hack makes it much harder to get wrong.

Downstream: this breaks Polaris in three ways

Flagging this because it needs a paired Polaris PR rather than anything in this one, polaris#731, whose omega_pr suite is green against this PR. So this is a description of what had to change rather than an open problem. I list all three because I only spotted the first by reading, and the other two turned up when the suite actually ran.

Through the option map. polaris/ocean/model/mpaso_to_omega.yaml maps config_stop_time to StopTime and config_run_duration to RunDuration, both of which this PR deletes, and every ocean forward task in Polaris sets config_run_duration. This is not a rename either: config_run_duration now has to produce two keys, StopType: AfterDuration plus StopCriterion, which a one-to-one option map cannot express, so it needs a change in the translation code rather than in the yaml.

Around the option map. A task can also write Omega's options straight into an Omega: block, where the map never sees them. horiz_press_grad sets StopTime that way, and setup fails with Attempting to modify a nonexistent config options: TimeIntegration: StopTime. Nothing warns about this class until the one task that does it happens to be set up.

The UseStartEnd sentinel. Both existing Polaris restart tasks suppressed the restart read by setting UseStartEnd: true with a 99999-12-31 start time the run never reaches, and switched InitialState to FreqUnits: never for the restarting run. Both halves break here. Dropping StartTime and EndTime from RestartRead in Default.yml means UseStartEnd: true now inherits no end time, so cosine_bell/restart aborts with Stream RestartRead requests UseStartEnd but no end time provided. And because ocnInit now follows StartType strictly instead of trying both streams and accepting whichever succeeds, baroclinic_channel/restart aborts with Stream InitialState not found after its own never dropped the stream. StartType is the right replacement for that sentinel and is much clearer, but it is a required migration, not an optional cleanup.

That last one is worth a line in the PR description, since anyone else carrying Omega restart configuration outside Polaris will hit exactly the same two aborts.

Minor

OnSignal builds an EndAlarm but never attaches it to the StepClock, unlike the AtTime and AfterDuration cases. That's harmless in coupled mode, where ocnRun loops on the coupling alarm, but standalone ocnRun loops on EndAlarm->isRinging(), so a standalone run configured with StopType: OnSignal would never terminate. Might be worth rejecting OnSignal in the standalone init1() path, or at least saying in the config comment that it's coupled-only.

Alarm::reset walking a periodic alarm backwards is a nice generalisation, and RingTimePrev is initialised in the periodic constructor so the backward walk has a valid starting point. No issue, just noting I checked it since Clock::setCurrentTime now depends on it for every periodic alarm.

Testing

All on chrysalis with intel/openmpi. C++ linting used the omega_dev conda environment (clang-format 18.1.8); Omega itself was built by Polaris from this branch.

The CI failure, reproduced and confirmed fixed. cime_config/validate_config.py fails on this branch with Unknown option(s) TimeIntegration.StopTime, TimeIntegration.RunDuration in coupled overrides, and passes once the buildnml side is updated as described above. The 133 omega_buildnml unit tests pass. One environment note while I was there: omega_dev has no pytest even though dev-conda.txt lists it, so the environment looks stale relative to that file; I borrowed pytest from another environment to run them.

Standalone build. Omega builds clean from this branch via polaris setup --build --branch, and pre-commit (clang-format included) is clean on every file I touched.

Issue #482, tested directly. I added a realistic_global restart task to Polaris that runs QU.240km for two hours three ways: once straight through, and once as two one-hour segments where the second continues from the first's restart and appends to its history. It compares the frame count and time axis as well as the state, since #482 produced a well-formed file that was simply missing its first half. On this branch the chain writes all four frames at 1800, 3600, 5400 and 7200 s, matching the uninterrupted run, and the state matches too. The whole task runs in 46 s.

The negative control matters more than the pass. To check the test can actually fail, I re-ran the continuing segment with StartTime set to the segment start rather than the simulation start, which is what the pre-#524 restart pattern amounted to. Omega then rewrote the elapsed-time axis from zero, the continuation's frames landed back on 1800 and 3600, and they overwrote the two frames already in the file, leaving two instead of four. That is #482 reproduced exactly, and the validation step fails on it. So the test has teeth and this branch is what makes it pass.

Not tested: the coupled path. The two fixes above are in code the standalone build does not link, so nothing I ran exercises them. Confirming them needs a coupled E3SM case, which is worth doing before this merges, since the missing breaks mean every coupled run aborts in ocnInit1.

Suite comparison. Polaris omega_pr run twice, a baseline on Polaris main with the pre-#524 Omega, and then polaris#731 against this PR. The three fixes above were applied locally to build and test with, but none of them can affect this result: the buildnml one touches only CIME-generated config, which Polaris does not use, and the other two are in code the standalone build never calls. The comparison therefore stands for this PR as it is. The baseline passes 22 tasks; the branch passes 23, with all 108 baseline comparisons clean and no differences. So this PR is answer-preserving for standalone runs once Polaris speaks the new config. The three breakages described above are what had to be fixed to get there; the two restart-task aborts in particular only surfaced by running the suite, not by reading the diff.

@andrewdnolan andrewdnolan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@philipwjones Sorry about the delay!

Overall this looks great. Very sensible improvements to the start/stop logic. I have a few substantive comments/question, most of them are just cosmetic.

If you could resolve conflicts in components/omega/src/ocn/OceanDriver.h that seem to have snuck in I can start testing the coupled mode paths/.

Comment thread components/omega/cime_config/omega_buildnml/validate.py
Comment thread components/omega/configs/Default.yml Outdated
Comment thread components/omega/configs/Default.yml Outdated
Comment thread components/omega/doc/userGuide/TimeStepping.md Outdated
Comment thread components/omega/doc/userGuide/TimeStepping.md
Comment thread components/omega/src/ocn/OceanDriver.h Outdated
Comment thread components/omega/src/timeStepping/TimeStepper.cpp Outdated
@philipwjones

Copy link
Copy Markdown
Author

@andrewdnolan Thanks, but you picked a bad time to review - I committed some fixes to the issues Xylar found and did a rebase earlier today and the rebase broke some things which I hadn't checked before I pushed the changes. I should have it fixed tomorrow and I'll respond to your comments after I get that done.

@philipwjones

Copy link
Copy Markdown
Author

@andrewdnolan I've pushed various fixes for bugs I introduced on rebase and I have implemented most of your suggested changes. I still need to fix the latest conflict with the recent doc changes for Split Explicit. Also, although I'm not too concerned on the use of time interval for setting a time in the future (the internal representation in time manager uses long long for most things), I will probably modify that to a fixed large time per your suggestion. But you should be able to test this version. Note that the current HEAD fails a few of the ctests, at least on chrysalis, so this branch fails the same ones - I will create an issue for that (and a lack of omega.log file from ctest).

@philipwjones
philipwjones force-pushed the omega/stop-time-changes branch 2 times, most recently from c97f732 to 95b3808 Compare September 18, 2026 16:52
@philipwjones

Copy link
Copy Markdown
Author

@xylar and @andrewdnolan This should all be cleaned up and ready to go again. Since the SplitExplicit was merged after this PR was originally submitted, the rebase was a bit involved. I've incorporated all review suggestions and all tests pass on chrysalis with the exception of those that are currently failing for the HEAD of develop and unrelated to this PR.

@xylar

xylar commented Sep 21, 2026

Copy link
Copy Markdown

Polaris omega_pr testing (retest after the rebase)

Chrysalis, intel/openmpi, run with polaris#731 rebased onto Polaris main. The baseline is Polaris main against Omega develop 5dfd2ae971, the base of this branch, rather than Polaris's submodule (ee6397a627), so that develop's own changes since then (3rd-order FCT default, split-explicit stepper) do not show up as differences.

Omega -p
baseline develop 5dfd2ae971 /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/test_20260921/build_omega_develop_5dfd2ae971
PR 9034abef18 /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/test_20260921/build_omega_stop_time_changes_9034abef18

19 of 24 tasks run on both sides and all 108 baseline comparisons are bit-for-bit. Work directories:

/lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/test_20260921/pr731_baseline
/lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/test_20260921/pr731_branch

The other five fail identically on both sides with #447's HorzTracerFluxOrder must be greater than 2 check, which polaris#790 fixes on the Polaris side; unrelated to this PR.

The new realistic_global/QU.240km/restart task (the #482 regression test) inherits the same order-2 setting, so it was run from polaris#731 merged with polaris#790 against this PR's build. It passes, with the continued segment ending with all four history frames (1800 to 7200 s), matching the uninterrupted run. It has no baseline; that it fails on the pre-fix behavior was checked in August.


Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar xylar left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved based on my Omega and Polaris testing with help from Claude and Phil's testing.

Thanks so much, @philipwjones!

@philipwjones

Copy link
Copy Markdown
Author

Thanks @xylar Did you want to coordinate a merge with downstream polaris mods once @andrewdnolan approves or just merge this and deal with it after?

@xylar

xylar commented Sep 21, 2026

Copy link
Copy Markdown

I'll take care of the Polaris side when the time comes. So no need to wait here.

@andrewdnolan andrewdnolan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing:

I ran the e3sm_omega_developer suite on chrysalis with the gnu compiler and all tests pass.

  ERS_Vmct_Ln5.TL319_EC30to60E2r2.COMEGA-JRA1p5.chrysalis_gnu.omega-jra_1958 (Overall: PASS)
  ERS_Vmct.T62_oQU240.COMEGA-IAF.chrysalis_gnu (Overall: PASS)
  PEM_Vmct.T62_oQU240.COMEGA-IAF.chrysalis_gnu (Overall: PASS)
  SMS_Vmct_Ln5.TL319_EC30to60E2r2.COMEGA-JRA1p5.chrysalis_gnu.omega-jra_1958 (Overall: PASS)
  SMS_Vmct.T62_oQU240.COMEGA-IAF.chrysalis_gnu (Overall: PASS)

@philipwjones thanks for addressing the previous comments! Sorry about the delay, I was out of the office yesterday and Friday.

In testing I'm realizing there might an inconsistency between the meaning of a Branch StartType as implemented here and a branch run as determined by CIME. What you've implemented here as Branch is closer to CIME's hybrid RUN_TYPE value. I'll look into this and comment on the relevant code. Either way we'll probably want to guard the user from setting StartType in the user_nl_omega because this is something that comes from the coupled driver.

@philipwjones

Copy link
Copy Markdown
Author

@andrewdnolan thanks - that does appear to be the case looking at CIME documentation, so for the purposes of this pr, branch acts just like continue and hybrid changes the start time. I'll add the hybrid option and make those changes to code and documentation to be consistent with E3SM. And I will add StartType to the variables protected in the build nml files.

@andrewdnolan

Copy link
Copy Markdown

Thanks @philipwjones! Sorry for not catching that in my initial review.

Matching Omega's StartType definitions with CIME's RUN_TYPE should decrease the opportunity for confusion. A related, but additional thing that this brings up is: the StartType entry in the config file is not used by the coupled driver. I think adding an additional StartType option for denoting the value comes from the coupler would be useful. (I'm thinking something analogous to the OnSignal option you added for StopType). When StartType is added to the protected options in buildnml it should make it clear to users that the user_nl_omega is not the appropriate way to change StartType. But, that will not prevent the Omega's StartType config entry from being out of sync with CIME's RUN_TYPE (e.g. user sets up a hybrid case so RUN_TYPE will be hybrid, but the StartType value stays as the default so, AtTime).

I guess one way to address this would be set StartType from the buildnml based on the value of CONTINUE_RUN and RUN_TYPE, but because the StartType form the config file is not used in coupled mode that doesn't seem like best (or most consistent option).

I'm not exactly sure what this additional StartType value should be: Coupled, Null?

@philipwjones

Copy link
Copy Markdown
Author

@andrewdnolan Well, I can use FromCoupler (and maybe also change the StopType to FromCoupler for consistency?). And the start_type and RUN_TYPE are not equivalent anyway - there is a translation in CIME from the input RUN_TYPE to the cpl driver and the integer sent to components:

      <value run_type="startup" continue_run=".false.">startup</value>
      <value run_type="hybrid"  continue_run=".false.">startup</value>
      <value run_type="branch"  continue_run=".false.">branch</value>
      <value run_type="startup" continue_run=".true.">continue</value>
      <value run_type="hybrid"  continue_run=".true.">continue</value>
      <value run_type="branch"  continue_run=".true.">continue</value>

so the standalone options will have to be treated differently from the FromCoupler option anyway.

@andrewdnolan

Copy link
Copy Markdown

Gotcha, okay thanks for pointing that out.

I agree making the StopType and StartType values consistent makes sense. FromCoupler seems reasonable to me!

Thanks @philipwjones.

Comment on lines +238 to +244
// Simulation will stop on an external signal so no StopTime
// or Duration are needed.
std::string StopTimeStr = "9999-12-31_00:00:00";
// Set Duration and StopTime with long future values for a dummy
// EndAlarm
Duration = TimeInterval(1.e16, TimeUnits::Seconds);
StopTime = TimeInstant(StopTimeStr);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was seeing a fail for the TimeStepper CTest with a local merge of this PR into develop. Claude believes the reason is because parsing the hardcoded StopTimeStr fails when using the NoCalendar option. The suggested fix is:

Suggested change
// Simulation will stop on an external signal so no StopTime
// or Duration are needed.
std::string StopTimeStr = "9999-12-31_00:00:00";
// Set Duration and StopTime with long future values for a dummy
// EndAlarm
Duration = TimeInterval(1.e16, TimeUnits::Seconds);
StopTime = TimeInstant(StopTimeStr);
// Simulation will stop on an external signal so no StopTime
// or Duration are needed.
// Set Duration and StopTime with a long future value for a dummy
// EndAlarm. The dummy stop time is computed by adding a large
// non-calendar interval to the current time (rather than parsing a
// hardcoded calendar date string) so this works under any Calendar
// type, including NoCalendar.
TimeInstant CurrentTime = StepClock->getCurrentTime();
Duration = TimeInterval(1.e16, TimeUnits::Seconds);
StopTime = CurrentTime + Duration;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This effectively undoes what @andrewdnolan asked for in #524 (comment).

I think that's fine because I don't think @andrewdnolan's rollover worry hold up: 1e16 s is well under the time manager's 1e18 s input limit and the 64-bit integer range. Here's another option but the complexity is likely not warranted:

      Duration = TimeInterval(1.e16, TimeUnits::Seconds);
      if (Calendar::getKind() == CalendarNoCalendar) {
         StopTime = TimeInstant(0, 0, 0, 0, 0, 1.e16);
      } else {
         std::string StopTimeStr = "9999-12-31_00:00:00";
         StopTime                = TimeInstant(StopTimeStr);
      }

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's possible that's why I did it this way the first time - have a vague memory of dealing with No Calendar options. I'll revert back to the interval add with the next commit once I've modified the Coupled options.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That all seems reasonable to me!

  - 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
  - modifies buildnml for new start/stop options
@philipwjones
philipwjones force-pushed the omega/stop-time-changes branch from 9034abe to 5d52959 Compare September 30, 2026 17:55
@philipwjones

Copy link
Copy Markdown
Author

@xylar and @andrewdnolan I've just committed changes that change both the start and stop options to coupled for coupled configurations. And reverts the calculation of end time for coupling. It has also been rebased again. It passes all CTests on Chrysalis but could probably use another round of testing otherwise. And you should also check my changes to the cime config utilities since I'm less familiar with that. Hopefully this satisfies all the review comments/requests.

@xylar

xylar commented Sep 30, 2026

Copy link
Copy Markdown

@philipwjones, I'll try to do a full round of testing tomorrow and hopefully merge if @andrewdnolan has approved. Thanks so much!

@andrewdnolan

Copy link
Copy Markdown

Thanks @philipwjones! I will re-test, in coupled mode, this afternoon.

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Testing: chrysalis, oneapi-ifx, openmpi (Polaris intel)

CTests: 50 of 50 passed. omega_pr: 29 of 29 tasks passed.

Tested the merge of #524 (5d52959383) into develop (de99dc44f5) as 56d25e933a, against Polaris' Omega submodule (0cbdff8f8f). The baseline ran with Polaris 6f0fb3d0c7, without the changes in Polaris af694f3685 that the PR needs.

Polaris omega_pr suite

  • Baseline workdir: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/baselines/chrysalis_intel_polaris-6f0fb3d_omega-0cbdff8/omega_pr
  • Baseline build: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/baselines/chrysalis_intel_polaris-6f0fb3d_omega-0cbdff8/build
  • PR build: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/pr524-5d52959/chrysalis_intel/build
  • PR workdir: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/pr524-5d52959/chrysalis_intel/omega_pr
  • Baseline Polaris: 6f0fb3d0c78e365d7a585314d6dd13594a8933a3 (1.0.0-884-g6f0fb3d0c)
  • PR Polaris: af694f36858f5595621d2af006552b1a04afaf59 (1.0.0-893-gaf694f368)
  • Baseline Omega: 0cbdff8f8f89a8f314dffd70eee09e73a76f0288 (bp_maint3.2-2858-g0cbdff8f8f)
  • PR Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Machine: chrysalis
  • Partition: debug
  • Compiler: intel
  • Build type: Release
  • Log: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/pr524-5d52959/chrysalis_intel/omega_pr/polaris_omega_pr.o1299730
  • Result: All tests passed
Recent commits

Baseline Polaris:

6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris
096ab53d3 Set up an Omega PR testing baseline from a second Polaris checkout

PR Polaris:

af694f368 Test merge of E3SM-Project/polaris#731 (7ffea0b6a3) for testing Omega#524
6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris

Baseline Omega:

0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link
36b1cd5533 Merge pull request #481 from brian-oneill/omega/analysis-moc-streamfunction
c1aacdc2d7 Merge pull request #552 from xylar/omega/fix-analysis-area-weighting

PR Omega:

56d25e933a Test merge of E3SM-Project/Omega#524 (5d52959383) into develop (de99dc44f5)
de99dc44f5 Merge pull request #584 from brian-oneill/omega/fix-tracerHorzAdv-timer
0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link

CTest unit tests:

  • Machine: chrysalis
  • Compiler: intel
  • Build type: Release
  • Build: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/pr524-5d52959/chrysalis_intel/build
  • Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Result: All tests passed
  • Log: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/pr524-5d52959/chrysalis_intel/build/ctests.log

Build warnings

No new warnings (37 in the PR build, 39 in the baseline build).

  • Baseline build log: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/baselines/chrysalis_intel_polaris-6f0fb3d_omega-0cbdff8/build/build_omega.log
  • PR build log: /lcrc/group/e3sm/ac.xylar/polaris_1.1/chrysalis/omega_pr_test/pr524-5d52959/chrysalis_intel/build/build_omega.log

Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Testing: frontier, craygnu, mpich

CTests: 50 of 50 passed. omega_pr: 29 of 29 tasks passed.

Tested the merge of #524 (5d52959383) into develop (de99dc44f5) as 56d25e933a, against Polaris' Omega submodule (0cbdff8f8f). The baseline ran with Polaris 6f0fb3d0c7, without the changes in Polaris af694f3685 that the PR needs.

Polaris omega_pr suite

  • Baseline workdir: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/baselines/frontier_craygnu_polaris-6f0fb3d_omega-0cbdff8/omega_pr
  • Baseline build: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/baselines/frontier_craygnu_polaris-6f0fb3d_omega-0cbdff8/build
  • PR build: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu/build
  • PR workdir: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu/omega_pr
  • Baseline Polaris: 6f0fb3d0c78e365d7a585314d6dd13594a8933a3 (1.0.0-884-g6f0fb3d0c)
  • PR Polaris: af694f36858f5595621d2af006552b1a04afaf59 (1.0.0-893-gaf694f368)
  • Baseline Omega: 0cbdff8f8f89a8f314dffd70eee09e73a76f0288 (bp_maint3.2-2858-g0cbdff8f8f)
  • PR Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Machine: frontier
  • Partition: batch
  • Compiler: craygnu
  • Build type: Release
  • Log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu/omega_pr/polaris_omega_pr.o5579701
  • Result: All tests passed
Recent commits

Baseline Polaris:

6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris
096ab53d3 Set up an Omega PR testing baseline from a second Polaris checkout

PR Polaris:

af694f368 Test merge of E3SM-Project/polaris#731 (7ffea0b6a3) for testing Omega#524
6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris

Baseline Omega:

0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link
36b1cd5533 Merge pull request #481 from brian-oneill/omega/analysis-moc-streamfunction
c1aacdc2d7 Merge pull request #552 from xylar/omega/fix-analysis-area-weighting

PR Omega:

56d25e933a Test merge of E3SM-Project/Omega#524 (5d52959383) into develop (de99dc44f5)
de99dc44f5 Merge pull request #584 from brian-oneill/omega/fix-tracerHorzAdv-timer
0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link

CTest unit tests:

  • Machine: frontier
  • Compiler: craygnu
  • Build type: Release
  • Build: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu/build
  • Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Result: All tests passed
  • Log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu/build/ctests.log

Build warnings

No new warnings (3 in the PR build, 5 in the baseline build).

  • Baseline build log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/baselines/frontier_craygnu_polaris-6f0fb3d_omega-0cbdff8/build/build_omega.log
  • PR build log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu/build/build_omega.log

Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Testing: aurora, oneapi-ifx, mpich

CTests: 50 of 50 passed. omega_pr: 29 of 29 tasks passed.

Tested the merge of #524 (5d52959383) into develop (de99dc44f5) as 56d25e933a, against Polaris' Omega submodule (0cbdff8f8f). The baseline ran with Polaris 6f0fb3d0c7, without the changes in Polaris af694f3685 that the PR needs.

Polaris omega_pr suite

  • Baseline workdir: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_oneapi-ifx_polaris-6f0fb3d_omega-0cbdff8/omega_pr
  • Baseline build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_oneapi-ifx_polaris-6f0fb3d_omega-0cbdff8/build
  • PR build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr524-5d52959/aurora_oneapi-ifx/build
  • PR workdir: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr524-5d52959/aurora_oneapi-ifx/omega_pr
  • Baseline Polaris: 6f0fb3d0c78e365d7a585314d6dd13594a8933a3 (1.0.0-884-g6f0fb3d0c)
  • PR Polaris: af694f36858f5595621d2af006552b1a04afaf59 (1.0.0-893-gaf694f368)
  • Baseline Omega: 0cbdff8f8f89a8f314dffd70eee09e73a76f0288 (bp_maint3.2-2858-g0cbdff8f8f)
  • PR Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Machine: aurora
  • Compiler: oneapi-ifx
  • Build type: Release
  • Log: not found
  • Result: All tests passed
Recent commits

Baseline Polaris:

6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris
096ab53d3 Set up an Omega PR testing baseline from a second Polaris checkout

PR Polaris:

af694f368 Test merge of E3SM-Project/polaris#731 (7ffea0b6a3) for testing Omega#524
6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris

Baseline Omega:

0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link
36b1cd5533 Merge pull request #481 from brian-oneill/omega/analysis-moc-streamfunction
c1aacdc2d7 Merge pull request #552 from xylar/omega/fix-analysis-area-weighting

PR Omega:

56d25e933a Test merge of E3SM-Project/Omega#524 (5d52959383) into develop (de99dc44f5)
de99dc44f5 Merge pull request #584 from brian-oneill/omega/fix-tracerHorzAdv-timer
0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link

CTest unit tests:

  • Machine: aurora
  • Compiler: oneapi-ifx
  • Build type: Release
  • Build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr524-5d52959/aurora_oneapi-ifx/build
  • Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Result: All tests passed
  • Log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr524-5d52959/aurora_oneapi-ifx/build/ctests.log

Build warnings

No new warnings (8 in the PR build, 10 in the baseline build).

  • Baseline build log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_oneapi-ifx_polaris-6f0fb3d_omega-0cbdff8/build/build_omega.log
  • PR build log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr524-5d52959/aurora_oneapi-ifx/build/build_omega.log

Notes

The suite's "Log: not found" is only because Polaris looks for a Slurm-style job log name. On Aurora (PBS), the PR suite's job log is /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr524-5d52959/aurora_oneapi-ifx/omega_pr/polaris_omega_pr.o8883432.


Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Testing: pm-cpu, gnu, mpich

CTests: 50 of 50 passed. omega_pr: 29 of 29 tasks passed.

Tested the merge of #524 (5d52959383) into develop (de99dc44f5) as 56d25e933a, against Polaris' Omega submodule (0cbdff8f8f). The baseline ran with Polaris 6f0fb3d0c7, without the changes in Polaris af694f3685 that the PR needs.

Polaris omega_pr suite

  • Baseline workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-cpu_gnu_polaris-6f0fb3d_omega-0cbdff8/omega_pr
  • Baseline build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-cpu_gnu_polaris-6f0fb3d_omega-0cbdff8/build
  • PR build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-cpu_gnu/build
  • PR workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-cpu_gnu/omega_pr
  • Baseline Polaris: 6f0fb3d0c78e365d7a585314d6dd13594a8933a3 (1.0.0-884-g6f0fb3d0c)
  • PR Polaris: af694f36858f5595621d2af006552b1a04afaf59 (1.0.0-893-gaf694f368)
  • Baseline Omega: 0cbdff8f8f89a8f314dffd70eee09e73a76f0288 (bp_maint3.2-2858-g0cbdff8f8f)
  • PR Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Machine: pm-cpu
  • Compiler: gnu
  • Build type: Release
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-cpu_gnu/omega_pr/polaris_omega_pr.o59154704
  • Result: All tests passed
Recent commits

Baseline Polaris:

6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris
096ab53d3 Set up an Omega PR testing baseline from a second Polaris checkout

PR Polaris:

af694f368 Test merge of E3SM-Project/polaris#731 (7ffea0b6a3) for testing Omega#524
6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris

Baseline Omega:

0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link
36b1cd5533 Merge pull request #481 from brian-oneill/omega/analysis-moc-streamfunction
c1aacdc2d7 Merge pull request #552 from xylar/omega/fix-analysis-area-weighting

PR Omega:

56d25e933a Test merge of E3SM-Project/Omega#524 (5d52959383) into develop (de99dc44f5)
de99dc44f5 Merge pull request #584 from brian-oneill/omega/fix-tracerHorzAdv-timer
0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link

CTest unit tests:

  • Machine: pm-cpu
  • Compiler: gnu
  • Build type: Release
  • Build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-cpu_gnu/build
  • Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Result: All tests passed
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-cpu_gnu/build/ctests.log

Build warnings

No new warnings (2 in the PR build, 4 in the baseline build).

  • Baseline build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-cpu_gnu_polaris-6f0fb3d_omega-0cbdff8/build/build_omega.log
  • PR build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-cpu_gnu/build/build_omega.log

Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Testing: pm-gpu, gnugpu, mpich

CTests: 50 of 50 passed. omega_pr: 29 of 29 tasks passed.

Tested the merge of #524 (5d52959383) into develop (de99dc44f5) as 56d25e933a, against Polaris' Omega submodule (0cbdff8f8f). The baseline ran with Polaris 6f0fb3d0c7, without the changes in Polaris af694f3685 that the PR needs.

Polaris omega_pr suite

  • Baseline workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-gpu_gnugpu_polaris-6f0fb3d_omega-0cbdff8/omega_pr
  • Baseline build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-gpu_gnugpu_polaris-6f0fb3d_omega-0cbdff8/build
  • PR build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-gpu_gnugpu/build
  • PR workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-gpu_gnugpu/omega_pr
  • Baseline Polaris: 6f0fb3d0c78e365d7a585314d6dd13594a8933a3 (1.0.0-884-g6f0fb3d0c)
  • PR Polaris: af694f36858f5595621d2af006552b1a04afaf59 (1.0.0-893-gaf694f368)
  • Baseline Omega: 0cbdff8f8f89a8f314dffd70eee09e73a76f0288 (bp_maint3.2-2858-g0cbdff8f8f)
  • PR Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Machine: pm-gpu
  • Compiler: gnugpu
  • Build type: Release
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-gpu_gnugpu/omega_pr/polaris_omega_pr.o59154716
  • Result: All tests passed
Recent commits

Baseline Polaris:

6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris
096ab53d3 Set up an Omega PR testing baseline from a second Polaris checkout

PR Polaris:

af694f368 Test merge of E3SM-Project/polaris#731 (7ffea0b6a3) for testing Omega#524
6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris

Baseline Omega:

0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link
36b1cd5533 Merge pull request #481 from brian-oneill/omega/analysis-moc-streamfunction
c1aacdc2d7 Merge pull request #552 from xylar/omega/fix-analysis-area-weighting

PR Omega:

56d25e933a Test merge of E3SM-Project/Omega#524 (5d52959383) into develop (de99dc44f5)
de99dc44f5 Merge pull request #584 from brian-oneill/omega/fix-tracerHorzAdv-timer
0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link

CTest unit tests:

  • Machine: pm-gpu
  • Compiler: gnugpu
  • Build type: Release
  • Build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-gpu_gnugpu/build
  • Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Result: All tests passed
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-gpu_gnugpu/build/ctests.log

Build warnings

No new warnings (1487 in the PR build, 1493 in the baseline build).

  • Baseline build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-gpu_gnugpu_polaris-6f0fb3d_omega-0cbdff8/build/build_omega.log
  • PR build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr524-5d52959/pm-gpu_gnugpu/build/build_omega.log

Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar xylar self-assigned this Oct 1, 2026
@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

I'm just waiting on the final frontier craygnu-mphipcc test, and @andrewdnolan's coupled testing before I'll merge.

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Testing: frontier, craygnu-mphipcc, mpich

CTests: 50 of 50 passed. omega_pr: 29 of 29 tasks passed.

Tested the merge of #524 (5d52959383) into develop (de99dc44f5) as 56d25e933a, against Polaris' Omega submodule (0cbdff8f8f). The baseline ran with Polaris 6f0fb3d0c7, without the changes in Polaris af694f3685 that the PR needs.

Polaris omega_pr suite

  • Baseline workdir: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/baselines/frontier_craygnu-mphipcc_polaris-6f0fb3d_omega-0cbdff8/omega_pr
  • Baseline build: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/baselines/frontier_craygnu-mphipcc_polaris-6f0fb3d_omega-0cbdff8/build
  • PR build: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu-mphipcc/build
  • PR workdir: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu-mphipcc/omega_pr
  • Baseline Polaris: 6f0fb3d0c78e365d7a585314d6dd13594a8933a3 (1.0.0-884-g6f0fb3d0c)
  • PR Polaris: af694f36858f5595621d2af006552b1a04afaf59 (1.0.0-893-gaf694f368)
  • Baseline Omega: 0cbdff8f8f89a8f314dffd70eee09e73a76f0288 (bp_maint3.2-2858-g0cbdff8f8f)
  • PR Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Machine: frontier
  • Partition: batch
  • Compiler: craygnu-mphipcc
  • Build type: Release
  • Log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu-mphipcc/omega_pr/polaris_omega_pr.o5580270
  • Result: All tests passed
Recent commits

Baseline Polaris:

6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris
096ab53d3 Set up an Omega PR testing baseline from a second Polaris checkout

PR Polaris:

af694f368 Test merge of E3SM-Project/polaris#731 (7ffea0b6a3) for testing Omega#524
6f0fb3d0c Have Omega PR testers check their config with the requester
e99b1b5bc Document testing an Omega PR that needs Polaris changes
6f3a3461d Test the Omega PR testing baseline from a second Polaris checkout
1bc83a86f Say in Omega PR test reports when the baseline used another Polaris

Baseline Omega:

0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link
36b1cd5533 Merge pull request #481 from brian-oneill/omega/analysis-moc-streamfunction
c1aacdc2d7 Merge pull request #552 from xylar/omega/fix-analysis-area-weighting

PR Omega:

56d25e933a Test merge of E3SM-Project/Omega#524 (5d52959383) into develop (de99dc44f5)
de99dc44f5 Merge pull request #584 from brian-oneill/omega/fix-tracerHorzAdv-timer
0cbdff8f8f Merge pull request #553 from brian-oneill/omega/analysis-monthly-avgs
a244e7edb9 Merge pull request #582 from xylar/omega/unique-cime-case-name
39689a97b8 Merge pull request #574 from grnydawn/ykim/omega/duplicate-gptl-link

CTest unit tests:

  • Machine: frontier
  • Compiler: craygnu-mphipcc
  • Build type: Release
  • Build: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu-mphipcc/build
  • Omega: 56d25e933aee14101ca6796097f46b3c5036a7c3 (bp_maint3.2-2865-g56d25e933a)
  • Result: All tests passed
  • Log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu-mphipcc/build/ctests.log

Build warnings

No new warnings (6 in the PR build, 10 in the baseline build).

  • Baseline build log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/baselines/frontier_craygnu-mphipcc_polaris-6f0fb3d_omega-0cbdff8/build/build_omega.log
  • PR build log: /lustre/orion/cli115/scratch/xylar/polaris_1.1/frontier/omega_pr_test/pr524-5d52959/frontier_craygnu-mphipcc/build/build_omega.log

Notes

The first baseline job hit its time limit before running cosine_bell/decomp, cosine_bell/restart, column/ekman and column/inertial, so I resubmitted it to finish those tasks and reran them in the PR suite to compare against it.

Three property checks miss their tolerance: salt conservation in column/inertial/forward and column/vmix_unstable/forward_no_hadv_restoring, and energy conservation in column/vmix_stable/forward_no_vadv_no_hadv_constant. They are not from this PR: the baseline misses the same checks by exactly the same amounts.


Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@andrewdnolan andrewdnolan left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing: Chrysalis, intel

Ran the e3sm_omega_developer suite and all tests pass!

  ERS_Vmct_Ld3.ne4_oQU240.WCYCL1850NS-OMEGA.chrysalis_intel (Overall: PASS)
  ERS_Vmct_Ln9.TL319_EC30to60E2r2.GOMEGA-JRA1p5.chrysalis_intel.omega-jra_1958 (Overall: PASS)
  ERS_Vmct.T62_oQU240.COMEGA-IAF.chrysalis_intel (Overall: PASS)
  PEM_Vmct_Ln9.TL319_EC30to60E2r2.GOMEGA-JRA1p5.chrysalis_intel.omega-jra_1958 (Overall: PASS)
  PEM_Vmct.T62_oQU240.COMEGA-IAF.chrysalis_intel (Overall: PASS)
  PEM_Vmct.T62_oQU240.GOMEGA-IAF.chrysalis_intel (Overall: PASS)
  SMS_Vmct_Ld3.TL319_EC30to60E2r2.COMEGA-JRA1p5.chrysalis_intel.omega-jra_1958 (Overall: PASS)
  SMS_Vmct.ne4_oQU240.WCYCL1850NS-OMEGA.chrysalis_intel (Overall: PASS)
  SMS_Vmct.T62_oQU240.GOMEGA-IAF.chrysalis_intel (Overall: PASS)

output in in: /lcrc/group/e3sm/ac.anolan/scratch/chrys if anyone is interested.

@andrewdnolan

Copy link
Copy Markdown

Testing

I also confirmed the guarding in buildnml works as expected, by adding:

Omega:
  TimeIntegration:
    StartType: Coupled
    StopType: Coupled
    StopCriterion: 9999-12-31_00:00:00

to my user_nl_omega and running ./preview_namelists. That produced the expected error:

ValueError: Invalid Omega configuration:                                                      
  - Option(s) TimeIntegration.StartType, TimeIntegration.StopType, TimeIntegration.StopCriterion in user overrides are set by CIME and cannot be overridden.                                 
Please check your setting in `user_nl_omega`                                                  

That's for all the work @philipwjones, this will great to have in!

@xylar

xylar commented Oct 1, 2026

Copy link
Copy Markdown

Thanks @andrewdnolan!

@xylar
xylar merged commit 73469eb into E3SM-Project:develop Oct 1, 2026
8 checks passed
xylar added a commit to xylar/polaris that referenced this pull request Oct 1, 2026
This brings in E3SM-Project/Omega#524, which changes how Omega's stop
time is specified.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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

4 participants