Skip to content

Make stdout/stderr redirect optional - #606

Merged
sbrus89 merged 3 commits into
E3SM-Project:developfrom
andrewdnolan:omega/optional-cout-redirect
Oct 23, 2026
Merged

sbrus89 merged 3 commits into
E3SM-Project:developfrom
andrewdnolan:omega/optional-cout-redirect

Conversation

@andrewdnolan

@andrewdnolan andrewdnolan commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

During coupled simulation standard output (stdout) is shared across all components and routed to e3sm.log. This PR adds an option to make stdout/stderr redirection to the omega log optional, which we need during coupled builds. Nothing about standalone logging in changed; redirection is true by default.

This came up while testing #523, which is another C++ library. This has not come up previously, because all other coupled testing used all Fortran components.

Closes #605

Checklist

  • Documentation:

  • Linting

  • Building

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

    aurora, intel, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    aurora, intelgpu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    chrysalis, intel, 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

@andrewdnolan andrewdnolan added Logging Coupled Changes (should) only affect coupled configurations labels Oct 15, 2026
@sbrus89

sbrus89 commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

Passes:

ERS_Ln9.TL319_EC30to60E2r2.GOMEGA-JRA1p5.frontier_craygnu.omega-jra_1958
ERS.T62_oQU240.COMEGA-IAF.frontier_craygnu
PEM.T62_oQU240.COMEGA-IAF.frontier_craygnu
PEM.T62_oQU240.GOMEGA-IAF.frontier_craygnu
SMS_Ld3.TL319_EC30to60E2r2.COMEGA-JRA1p5.frontier_craygnu.omega-jra_1958
SMS.T62_oQU240.GOMEGA-IAF.frontier_craygnu

Verified that coupler output now goes to e3sm log rather than the ocn log:

 application OMEGA_MB_17 with ID = 181879542 and external id: 17  is registered now 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 1 already defined tags out of 1 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 17 already defined tags out of 50 tags 
 application with ID: 181879542 global id: 17 name: OMEGA_MB_17 has 3 already defined tags out of 17 tags 
 application MPAS_MB_13 with ID = 2073875766 and external id: 13  is registered now 
 application with ID: 2073875766 global id: 13 name: MPAS_MB_13 has 1 already defined tags out of 1 tags 
 application with ID: 2073875766 global id: 13 name: MPAS_MB_13 has 1 already defined tags out of 1 tags 
 application with ID: 2073875766 global id: 13 name: MPAS_MB_13 has 11 already defined tags out of 31 tags 
 application with ID: 2073875766 global id: 13 name: MPAS_MB_13 has 37 already defined tags out of 38 tags 
 application with ID: 2073875766 global id: 13 name: MPAS_MB_13 has 6 already defined tags out of 7 tags 
 application COUPLE_ATM with ID = 527916884 and external id: 6  is registered now 
Using Zoltan RCB spatial partitioning method
Initializing zoltan...
Using Zoltan-RCB (Recursive Coordinate Bisection) repartitioning scheme...
Computing partition using RCB method for 8 processors...
 time to LB_partition 0.002254s. 
 application with ID: 527916884 global id: 6 name: COUPLE_ATM has 1 already defined tags out of 1 tags 
 settle comm graph by id on component 205 
 settle comm graph by id on component 6
 application with ID: 527916884 global id: 6 name: COUPLE_ATM has 35 already defined tags out of 35 tags 
 application with ID: 527916884 global id: 6 name: COUPLE_ATM has 31 already defined tags out of 31 tags 
 application with ID: 527916884 global id: 6 name: COUPLE_ATM has 7 already defined tags out of 8 tags 
 application COUPLE_MROF with ID = 1545223326 and external id: 22  is registered now 
Using Zoltan RCB spatial partitioning method
Initializing zoltan...
Using Zoltan-RCB (Recursive Coordinate Bisection) repartitioning scheme...
Computing partition using RCB method for 8 processors...
 time to LB_partition 0.001848s. 
 application with ID: 1545223326 global id: 22 name: COUPLE_MROF has 1 already defined tags out of 1 tags 
 application with ID: 1545223326 global id: 22 name: COUPLE_MROF has 8 already defined tags out of 8 tags 
 application with ID: 1545223326 global id: 22 name: COUPLE_MROF has 10 already defined tags out of 10 tags 
 application with ID: 1545223326 global id: 22 name: COUPLE_MROF has 8 already defined tags out of 8 tags 
 settle comm graph by id on component 21
 settle comm graph by id on component 22
 time preparing the input for Zoltan:7.41e-07 seconds. 
Using Zoltan-RCB (Recursive Coordinate Bisection) repartitioning scheme...
 time spent by Zoltan 0.00122084 seconds. 
 application COUPLE_MPASO with ID = 1880998390 and external id: 18  is registered now 
 application with ID: 1880998390 global id: 18 name: COUPLE_MPASO has 1 already defined tags out of 1 tags 
 application with ID: 1880998390 global id: 18 name: COUPLE_MPASO has 17 already defined tags out of 17 tags 
 application with ID: 1880998390 global id: 18 name: COUPLE_MPASO has 50 already defined tags out of 50 tags 
 application with ID: 1880998390 global id: 18 name: COUPLE_MPASO has 8 already defined tags out of 8 tags 
 time preparing the input for Zoltan:6.51e-07 seconds. 
Using Zoltan-RCB (Recursive Coordinate Bisection) repartitioning scheme...

@sbrus89

sbrus89 commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

Testing on frontier

Tested the merge of #606 (cde14b2d90) into develop (ede8e22014) as 3733019cf1, against Polaris' Omega submodule (ede8e22014).

Row CTests omega_pr New build warnings
frontier, craygnu, mpich 61 of 61 passed 33 of 33 passed 0
frontier, craygnu-mphipcc, mpich 61 of 61 passed 33 of 33 passed 0
frontier, craygnu, mpich

Polaris omega_pr suite

  • Baseline workdir: /ccs/home/brus/run/omega_pr_test/baselines/frontier_craygnu_polaris-41eeac5_omega-ede8e22/omega_pr
  • Baseline build: /ccs/home/brus/run/omega_pr_test/baselines/frontier_craygnu_polaris-41eeac5_omega-ede8e22/build
  • PR build: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu/build
  • PR workdir: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu/omega_pr
  • Polaris: 41eeac54bcc157e2115956d41518efe68984d211 (1.1.0-275-g41eeac54bc)
  • Baseline Omega: ede8e22014510615caa56732ba995363c1cf8721 (Omega-v0.1.0-alpha.1-6257-gede8e22014)
  • PR Omega: 3733019cf15eeeb96328cc1524b4baf643c12666 (Omega-v0.1.0-alpha.1-6261-g3733019cf1)
  • Machine: frontier
  • Partition: batch
  • Compiler: craygnu
  • Build type: Release
  • Log: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu/omega_pr/polaris_omega_pr.o5736213
  • Result: All tests passed
Recent commits

Polaris:

41eeac54bc Merge pull request #873 from xylar/drop-design-doc-citations
f3421a81ed Merge pull request #811 from xylar/fix-cf-in-mesh-and-init-files
38a5bb5f95 Merge pull request #796 from vanroekel/add-penetrating-shortwave-test
5d0d5b507f Merge pull request #830 from xylar/add-omega-testing-workflow
90c2007d68 Merge pull request #856 from xylar/add-task-parallelism-phase-b

Baseline Omega:

ede8e22014 Merge pull request #625 from grnydawn/ykim/omega/standalone-cpu-arch-flags
eeef0a29dc Merge pull request #611 from brian-oneill/omega/analysis-restarts-and-samples
b0bcc838e3 Merge pull request #617 from mwarusz/omega/submesoscale-eddies
1feac2f815 Merge pull request #523 from vijaysm/vijaysm/omega/moab-support
135755f734 Merge pull request #438 from mwarusz/omega/submesoscale-eddies

PR Omega:

3733019cf1 Test merge of E3SM-Project/Omega#606 (cde14b2d90) into develop (ede8e22014)
ede8e22014 Merge pull request #625 from grnydawn/ykim/omega/standalone-cpu-arch-flags
eeef0a29dc Merge pull request #611 from brian-oneill/omega/analysis-restarts-and-samples
b0bcc838e3 Merge pull request #617 from mwarusz/omega/submesoscale-eddies
1feac2f815 Merge pull request #523 from vijaysm/vijaysm/omega/moab-support

CTest unit tests:

  • Machine: frontier
  • Compiler: craygnu
  • Build type: Release
  • Build: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu/build
  • Omega: 3733019cf15eeeb96328cc1524b4baf643c12666 (Omega-v0.1.0-alpha.1-6261-g3733019cf1)
  • Result: All tests passed
  • Log: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu/build/ctests.log

Build warnings

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

  • Baseline build log: /ccs/home/brus/run/omega_pr_test/baselines/frontier_craygnu_polaris-41eeac5_omega-ede8e22/build/build_omega.log
  • PR build log: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu/build/build_omega.log
frontier, craygnu-mphipcc, mpich

Polaris omega_pr suite

  • Baseline workdir: /ccs/home/brus/run/omega_pr_test/baselines/frontier_craygnu-mphipcc_polaris-41eeac5_omega-ede8e22/omega_pr
  • Baseline build: /ccs/home/brus/run/omega_pr_test/baselines/frontier_craygnu-mphipcc_polaris-41eeac5_omega-ede8e22/build
  • PR build: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu-mphipcc/build
  • PR workdir: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu-mphipcc/omega_pr
  • Polaris: 41eeac54bcc157e2115956d41518efe68984d211 (1.1.0-275-g41eeac54bc)
  • Baseline Omega: ede8e22014510615caa56732ba995363c1cf8721 (Omega-v0.1.0-alpha.1-6257-gede8e22014)
  • PR Omega: 3733019cf15eeeb96328cc1524b4baf643c12666 (Omega-v0.1.0-alpha.1-6261-g3733019cf1)
  • Machine: frontier
  • Partition: batch
  • Compiler: craygnu-mphipcc
  • Build type: Release
  • Log: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu-mphipcc/omega_pr/polaris_omega_pr.o5736324
  • Result: All tests passed
Recent commits

Polaris:

41eeac54bc Merge pull request #873 from xylar/drop-design-doc-citations
f3421a81ed Merge pull request #811 from xylar/fix-cf-in-mesh-and-init-files
38a5bb5f95 Merge pull request #796 from vanroekel/add-penetrating-shortwave-test
5d0d5b507f Merge pull request #830 from xylar/add-omega-testing-workflow
90c2007d68 Merge pull request #856 from xylar/add-task-parallelism-phase-b

Baseline Omega:

ede8e22014 Merge pull request #625 from grnydawn/ykim/omega/standalone-cpu-arch-flags
eeef0a29dc Merge pull request #611 from brian-oneill/omega/analysis-restarts-and-samples
b0bcc838e3 Merge pull request #617 from mwarusz/omega/submesoscale-eddies
1feac2f815 Merge pull request #523 from vijaysm/vijaysm/omega/moab-support
135755f734 Merge pull request #438 from mwarusz/omega/submesoscale-eddies

PR Omega:

3733019cf1 Test merge of E3SM-Project/Omega#606 (cde14b2d90) into develop (ede8e22014)
ede8e22014 Merge pull request #625 from grnydawn/ykim/omega/standalone-cpu-arch-flags
eeef0a29dc Merge pull request #611 from brian-oneill/omega/analysis-restarts-and-samples
b0bcc838e3 Merge pull request #617 from mwarusz/omega/submesoscale-eddies
1feac2f815 Merge pull request #523 from vijaysm/vijaysm/omega/moab-support

CTest unit tests:

  • Machine: frontier
  • Compiler: craygnu-mphipcc
  • Build type: Release
  • Build: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu-mphipcc/build
  • Omega: 3733019cf15eeeb96328cc1524b4baf643c12666 (Omega-v0.1.0-alpha.1-6261-g3733019cf1)
  • Result: All tests passed
  • Log: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu-mphipcc/build/ctests.log

Build warnings

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

  • Baseline build log: /ccs/home/brus/run/omega_pr_test/baselines/frontier_craygnu-mphipcc_polaris-41eeac5_omega-ede8e22/build/build_omega.log
  • PR build log: /ccs/home/brus/run/omega_pr_test/pr606-cde14b2/frontier_craygnu-mphipcc/build/build_omega.log

@sbrus89
sbrus89 merged commit 330b297 into E3SM-Project:develop Oct 23, 2026
1 check passed
@andrewdnolan

Copy link
Copy Markdown
Collaborator Author

Thanks for the rigorous testing, @sbrus89!

@andrewdnolan
andrewdnolan deleted the omega/optional-cout-redirect branch October 24, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Coupled Changes (should) only affect coupled configurations Logging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disable stdout and stderr redirection in coupled mode logging

2 participants