Skip to content

Use driver-owned PIO settings for coupled Omega initialization - #527

Open
grnydawn wants to merge 1 commit into
E3SM-Project:developfrom
grnydawn:ykim/omega/pio-init
Open

Use driver-owned PIO settings for coupled Omega initialization#527
grnydawn wants to merge 1 commit into
E3SM-Project:developfrom
grnydawn:ykim/omega/pio-init

Conversation

@grnydawn

Copy link
Copy Markdown

This PR makes Omega use driver-owned PIO settings for coupled initialization.

  • Pass IOBaseTask and IORearranger from CIME through the Fortran/C++ interface
  • Add IO::init(IOInitParams) while preserving configuration-based initialization for standalone runs
  • Block IO.IOBaseTask and IO.IORearranger overrides in omega_buildnml
  • Log the PIO settings used to initialize SCORPIO
  • Add IO_INIT_PARAMS_TEST to verify driver-provided settings reach SCORPIO

Fix: #510

The following coupled test passed on PM-CPU, PM-GPU, and Chrysalis. Tests on Frontier and Aurora are still ongoing.

./create_newcase     \
    --case <casedir>     \
    --res T62_oQU240 \
    --compset COMEGA-IAF     \
    --driver mct    \
    --machine chrysalis     \
    --compiler intel  \
    --walltime 00:30:00  \
    --handle-preexisting-dirs r

Checklist

  • Building

    • CMake build does not produce any new warnings from changes in this PR
  • Testing
    chrysalis, gnu, openmpi

    • CTests Pass
    • E3SM-Coupled C-case Pass

    pm-cpu, gnu, mpich

    • CTests Pass
    • E3SM-Coupled C-case Pass

    pm-gpu, gnugpu, mpich

    • CTests Pass
    • E3SM-Coupled C-case Pass
  • New tests:

    • CTest unit tests for new features have been added per the approved design.

* Pass `IOBaseTask` and `IORearranger` from CIME through the Fortran/C++ interface
* Add `IO::init(IOInitParams)` while preserving configuration-based initialization for standalone runs
* Block `IO.IOBaseTask` and `IO.IORearranger` overrides in `omega_buildnml`
* Log the PIO settings used to initialize SCORPIO
* Add `IO_INIT_PARAMS_TEST` to verify driver-provided settings reach SCORPIO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PIO Parallel IO

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use driver-owned PIO settings for coupled Omega initialization

1 participant