-
Notifications
You must be signed in to change notification settings - Fork 191
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
What should be split into submodules? #495
Comments
Yes, let's not have megafiles. I think the question is what shouldn't be in a submodule!
|
Probably we should just start with the most important modularizations and work our way to the less important ones. I'd say output writers and poisson solvers are most important. We need the poisson solver functionality written more generally and abstracted a bit more because, if it were, we could use a poisson solver for implicit time-stepping |
Probably |
This is related to issue #456 |
Ah sorry I remember we talked about this but forgot there's already an existing issue! Diagnostics and output writers could probably already be split into submodules. Maybe the grids can be modularized at the same time as the vertically stretched grid is introduced, while the Poisson solvers can be modularized when the new FACR solver (PR #306) is introduced (which might nuke some existing solvers too). |
I am wondering if physics should also go to submodules, eg I think this will help us keep our parameter structs concise. For example, We can stop exporting so many names at the top-level, and instead export the submodules. So a user will write buoyancy = Buoyancy.Seawater() or coriolis = Coriolis.FPlane() or surface_waves = SurfaceWaves.UniformStokesDrift() What do we think? |
By the way, we might take some inspiration from https://github.com/JuliaDocs/Documenter.jl/tree/master/src |
Yeah I think it's starting to make a lot of sense for Actually I also think that |
Probably makes sense to split
output_writers.jl
,diagnostics.jl
, andpoisson_solvers.jl
into submodules.They're turning into megafiles that will benefit from being split into smaller logical chunks.
And this will probably only get worse with time.
The text was updated successfully, but these errors were encountered: