-
Notifications
You must be signed in to change notification settings - Fork 19
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
LaMEM and FastScape surface processes #28
Conversation
Does this PR replace PR #27? We do not need two versions of FastScape in LaMEM; one is fine. Given that it seems that the fortran version has more functionality currently, I would suggest to focus on that one. |
also, I don't understand this:
using or not using FastScape should be specified in the |
Yes, I'll focus on the Fortran version, except when the Fortran version is much slower than the Cpp version. I noticed that it was a little slower when using the Fortran version, I'll try to speed it up. |
Ok, in that case I suggest to close PR #27. If the Cpp version of FastScape gets more functionality in the future we can replace that |
it's possible, I'll try that. I plan to load the parameters of the surface process and surface mode at first, but there are still some bugs so I don't upload it now. |
OK, I'll close it. |
yes, please do that. I do not like that you have to specify that at compile time. Ideally, you could add this:
an error message should be given if You can specify all FastScape parameters in a block such as:
|
ok, I'll do that |
there is no need to close the PR every time you add new features to the branch; you can simply push the changes to your local branch and it will update this pull request |
This adds surface processes (back) into LaMEM, by coupling it with FastScape, which is a flexible surface processes code (see here for a Julia interface).
Note that 2 version of the FastScape library exist at the moment: a legacy Fortran library and a newer C++ library. As far as we can tell, the C++ version does not yet have the same functionality as the Fortran version, which is why we stick with the older version for the moment.
To use this, you will need to compile a static library of the Fortran version of FastScape in the Fortran version, or link a shared library of FastScape with the path is included in the *.out
new modes of compile: