Comments (3)
@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.
from oceananigans.jl.
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))
from oceananigans.jl.
Here's my latest work on setting up an OMIP simulation:
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.
from oceananigans.jl.
Related Issues (20)
- Forcing functions that depend on internal model fields besides velocities and tracers HOT 18
- Typo in docs on callbacks
- Call it "Simulation setup" in the docs, not "Model setup"
- `BackgroundField` is a confusing name HOT 2
- Derivatives of a reduced field over an Immersed boundary HOT 5
- Pressure has extremely high gradients in random chunks of simulation using `NonhydrostaticModel` with `ImmersedBoundaryGrid` and `BuoyancyTracer` HOT 17
- Simulation tips may be a little misleading
- Lagrangian_particles (tracked_fields and using immersed boundaries) HOT 9
- boundary condition and output questions HOT 1
- Potential 'output_writers' saving bug? HOT 6
- Issue with out-of-bounds access and windowed field indexing HOT 5
- Huge memory use of Average associated with compilation HOT 20
- Halo inflation + restriction on halo size makes it impossible to run some problems HOT 1
- Vector rotation for grids where the "intrinsic" and "extrinsic" coordinate system are different HOT 8
- Allow single column grids with a specific location HOT 1
- Error when using `OpenBoundaryCondition` with `HydrostaticFreeSurfaceModel` HOT 35
- Using `LagrangianParticles` with `Flat` topology hits wrong function dispatch when computing fractional indices HOT 1
- More / more flexible Smagorinsky models HOT 8
- Outdated docs on background diffusivity/viscosity HOT 1
- Are `GradientBoundaryCondition`s set by the outward normal component or the coordinate-aligned component? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oceananigans.jl.