-
Notifications
You must be signed in to change notification settings - Fork 249
[WIP] Openlem integration #6494
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
Open
MFraters
wants to merge
21
commits into
geodynamics:main
Choose a base branch
from
MFraters:openlem_integration
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… the code ~2.75 times faster.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a very early state of openlem integration, and not ready for review. There is still a lot of work to be done, including (and not limited to) figuring out the conversion from the non-dimensional to dimensional case, coupling the uplift correctly, coupling the sealevel correctly, rethink the grid coupling, think how to deal with the macros, actually adding the right parameters as input files and a lot of clean up. This is mostly so that other people can already take a look at what is going on if they want to.
OpenLEM is written by Stefan Hergarten, who I am collaborating with. The source code and some documentation can be found here: http://hergarten.at/openlem/.
From a technical perspective, on a high level, openLEM can be seen as a c++ header only library. So functions can be easily called by just including it, and there are no dependencies. I also think that it will be possible to have a deep integration with openLEM, making some interesting things possible such as changing the erodibilty value based on the the rock type in aspect. I had to put it into a namespace to make sure that it doesn't overlap with aspect and dealii classes. It is heavily reliant on macros for turning on and off functionality. Like fastscape, due to the fast streampower law algorithm, this is a inherently sequential algorithm. So I put everything on mpi rank 1 and process it.
From a model perspective, it includes the shared streampower law, ice erosion, a whole orographic precipitation code and a few more other features. Currently only works in a cartesian geometry, but a spherical coordinate system is something we plan to implement soon. There is currently also no real marine sediment transport, but that is also something we are working on.
OpenLEM is gpl v3+, so I don't know if that is an issue with integrating and shipping it with aspect. I can also discuss that with him if needed.