Skip to content

Support Oceanigans 0.106.3#583

Merged
giordano merged 2 commits intomainfrom
dkz/fix-bump-oceananigans
Mar 26, 2026
Merged

Support Oceanigans 0.106.3#583
giordano merged 2 commits intomainfrom
dkz/fix-bump-oceananigans

Conversation

@dkytezab
Copy link
Copy Markdown
Collaborator

@dkytezab dkytezab commented Mar 26, 2026

Need to rename maybe_initialize_state! --> maybe_prepare_first_time_step!

Closes #584

@giordano
Copy link
Copy Markdown
Member

Thaaat sounds like a breaking change to me 😣

@giordano
Copy link
Copy Markdown
Member

Need to change

Oceananigans = "0.105.1, 0.106"
to

Oceananigans = "0.106.3"

@glwagner
Copy link
Copy Markdown
Member

glwagner commented Mar 26, 2026

Thaaat sounds like a breaking change to me 😣

oof sorry. We used to interpret "breaking change" as "breaking to the user interface / exported functions". we need to change the Oceananigans convention to reflect its status as a library that other packages depend on, now, who may depend on specific aspects of the internal implementation.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@giordano
Copy link
Copy Markdown
Member

giordano commented Mar 26, 2026

Funnily enough, I was talking about this with @jtbuch earlier today 😅 Semver is nice because it gives some guidelines, but then it leaves to interpretation what constitutes "public API", or even worse what's a "breaking change" vs a "bugfix", and people can see things differently.

You're correct that a legitimate interpretation of "public API" could be "exported functions", some people include "documented (not necessarily exported) functions". Julia v1.11 has a public keyword to unambiguously and programmatically identify public API (although that's usually considered sufficient to identify public API, but not necessary, because it isn't widely used yet). But this case the affected function was one which was created almost only for consumption in downstream packages like Breeze 😅

@glwagner
Copy link
Copy Markdown
Member

Also we probably should not define new time-steppers here, but rather have general implementations in Oceananigans for all models to use. The SSPRK3 is currently in Breeze only to accelerate development as we may need to modify it for atmosphere-specific things (which are unknown yet). But in the long run it should be moved to Oceananigans I think, because it can also be used by Oceananigans.NonhydrostaticModel (for example)...

But also there is an interface for defining time-steppers, so perhaps in general we should regard that as public.

giordano added a commit to JuliaRegistries/General that referenced this pull request Mar 26, 2026
giordano added a commit to JuliaRegistries/General that referenced this pull request Mar 26, 2026
@giordano giordano merged commit 678baf3 into main Mar 26, 2026
17 checks passed
@giordano giordano deleted the dkz/fix-bump-oceananigans branch March 26, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UndefVarError: maybe_initialize_state! not defined in Breeze.TimeSteppers

3 participants