Skip to content

Flexible coupling of atmosphere, ice, and ocean components#1179

Open
William-gregory wants to merge 22 commits into
ai2cm:mainfrom
William-gregory:ice-ocean-coupling
Open

Flexible coupling of atmosphere, ice, and ocean components#1179
William-gregory wants to merge 22 commits into
ai2cm:mainfrom
William-gregory:ice-ocean-coupling

Conversation

@William-gregory
Copy link
Copy Markdown
Contributor

@William-gregory William-gregory commented May 18, 2026

This is not intended to be a PR to be merged, but rather a place to show and discuss the best ways to proceed for introducing a sea ice component to fme.coupled. In this version, I have adapted the codebase to handle the following cases: atmosphere-ice coupling, ice-ocean coupling, atmosphere-ocean coupling, and atmosphere-ice-ocean coupling. The ice-ocean coupling is working in this code. However, as I only have data for ice-ocean coupling, I have not been able to check that coupling with an atmosphere still works.

This PR contains a bunch of changes to fme.coupled, fme.ace and fme.core in order to include a sea ice component. In fme.coupled, the coupling strategy is not super tidy, as it involves a fair amount of code repetition. Specifically, I have changed all instances of stepper.atmosphere and stepper.ocean to be optional None (and same for the new stepper.ice). Then, the code just checks which component is None and does the corresponding coupling. E.g., if stepper.atmosphere is None then the code assumes both ice and ocean are present and that the user is performing ice-ocean coupling.

There are also a bunch of config files and other changes unrelated to the coupling which have crept into this branch; you can ignore these.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant