Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Prescribing realistic bottom bathymetry #3389

Closed
roxyboy opened this issue Nov 13, 2023 · 3 comments
Closed

Prescribing realistic bottom bathymetry #3389

roxyboy opened this issue Nov 13, 2023 · 3 comments

Comments

@roxyboy
Copy link

roxyboy commented Nov 13, 2023

Hi Oceananigans,

Thank you very much for making your code open!
@olmozavala and I are currently testing out to see if we can run realistic simulations of the Gulf of Mexico but the documentation (https://clima.github.io/OceananigansDocumentation/stable/appendix/library/#Oceananigans.Grids.LatitudeLongitudeGrid) seems to only have examples with a flat bottom.

Could you advise how one would prescribe a realistic ocean bathymetry?

Thank you.

@navidcy
Copy link
Collaborator

navidcy commented Nov 13, 2023

Hi @roxyboy, we'll make some docs/examples soon! There are some tools in a different repo but they are rough on the edges at the moment and I'm bit reluctant to point you to it.

If you have the bathymetry loaded as an array of the same size as a flat-bottom latitude-longitude grid then you can use GridFittedBottom to do something like:

underlying_grid = LatitudeLongitudeGrid(arch,
                                        size = (Nx, Ny, Nz),
                                        longitude = (-180, 180),
                                        latitude = (-75, 75),
                                        z = (-depth, 0),
                                        topology = (Periodic, Bounded, Bounded))

grid = ImmersedBoundaryGrid(underlying_grid, GridFittedBottom(bathymetry))

@glwagner
Copy link
Member

@navidcy is a tease! The "other repo" is https://github.com/CliMA/ClimaOcean.jl. That's where we plan to build out the features needed for high-quality realistic simulations, eg interpolating bathymetry from one grid to another, "recipes for realism" such as parameterization and boundary condition choices. There's already a tool there for downloading some repeat-year forcing JRA55 data; we still need to build a tool for the entire dataset, and also tools for restricting to some region, etc. The vision in the end though is to get as close as possible to "one click regional modeling" as we can.

@navidcy is right that the tools are not so useful now unless you want to get into the weeds. But if you want to help, it's greatly appreciated. Feedback on issues or wishlist features could also be fun to discuss.

@glwagner
Copy link
Member

Here's my latest work on setting up an OMIP simulation:

https://github.com/CliMA/ClimaOcean.jl/blob/glw-ss/ice-ocean-model/experiments/prototype_omip_simulation/omip_simulation.jl

which also includes an example of using ImmersedBoundaryGrid to implement bathymetry.

Bathymetry is a little sad there; I "diagnose" it from the ECCO state rather than prescribing directly. We need initialization tools for reasonable "in painting" for cases where initial condition information and bathymetry are slightly different (ie filling in NaNs near boundaries, etc). All of this should evolve quite a bit in the next few months.

PS I'm going to convert this to a Discussion so that we can continue the party without needing to make any source code changes.

@CliMA CliMA locked and limited conversation to collaborators Nov 14, 2023
@glwagner glwagner converted this issue into discussion #3390 Nov 14, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants