Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add HydrostaticFreeSurfaceModel quickstart to README #3308

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

glwagner
Copy link
Member

@glwagner glwagner commented Oct 5, 2023

The objective of this PR is to more clearly and quickly advertise the setting up of Oceananigans models in more than one configuration. We currently have one "quickstart", which sets up NonhydrostaticModel to do decaying turbulence. I propose that we add two more for HydrostaticFreeSurfaceModel: a rectangular configuration (say baroclinic adjustment) and a spherical configuration, maybe with bathymetry.

I think we should also change defaults to grease the wheels a bit. So this PR will change the free surface to split explicit. I also think we should use WENO advection schemes and increase the default halo size to (4, 4, 4) so that 5th order WENO works on immersed boundary grid. Basically, I think the default should be useful: second-order advection with nothing closure is not useful.

I'd also like to add the quick start setups to the docs, in addition to the README.

A few more miscellaneous ideas:

  • A bulleted list of the examples with a short description of what each example demonstrates (so that one does not have to wade through all of them to find what they are looking for)
  • A new page in the docs that summarizes the "major capabilities" of each model

More docs refactoring is ultimately needed but I think this is a good start.

Closes #3289

Comment on lines +102 to +104
free_surface = SplitExplicitFreeSurface(; grid,
cfl = 0.2,
gravitational_acceleration = g_Earth),
Copy link
Collaborator

Choose a reason for hiding this comment

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

change the docstring also please

@glwagner
Copy link
Member Author

glwagner commented Oct 5, 2023

The show method for split explicit free surface needs work because it has units (not guaranteed) and there's no good show method for FixedTimeStepSize:

free surface: SplitExplicitFreeSurface with gravitational acceleration 9.80665 m s⁻²
│   └── substepping: Oceananigans.Models.HydrostaticFreeSurfaceModels.FixedTimeStepSize{Float64, typeof(Oceananigans.Models.HydrostaticFreeSurfaceModels.averaging_shape_function)}(3.3059697913387924, Oceananigans.Models.HydrostaticFreeSurfaceModels.averaging_shape_function)

@navidcy
Copy link
Collaborator

navidcy commented Oct 5, 2023

Tests error with UndefVarError: settings not defined, e.g.,

https://buildkite.com/clima/oceananigans/builds/12688#018afd6b-fb54-446d-a3cc-c4d1c4f99dd1/18-366

This is related I believe to #3238.

@glwagner
Copy link
Member Author

glwagner commented Oct 5, 2023

ok, so we can't default to split explicit for multi region?

@navidcy
Copy link
Collaborator

navidcy commented Oct 5, 2023

ok, so we can't default to split explicit for multi region?

I don't think it's MultiRegion issue. It's something more basic. I'll have a look tomorrow.

@navidcy navidcy added the documentation 📜 The sacred scrolls label Oct 5, 2023
@navidcy
Copy link
Collaborator

navidcy commented Oct 5, 2023

Let's try to deal with #3238. There are some glitches with the interface that, e.g., @djlikesdjs and @siddharthabishnu have been stumbling upon.

@glwagner
Copy link
Member Author

glwagner commented Oct 6, 2023

Ok two PRs that this depends on now: #3311 and #3314 . I'll mark as draft to indicate that this is on hold for a little

@glwagner glwagner marked this pull request as draft October 6, 2023 17:16
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.

Default free surface solver: SplitExplicit or Implicit
2 participants