-
Notifications
You must be signed in to change notification settings - Fork 57
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
Switching to modern and modular precision declaration #42
Labels
enhancement
New feature or request
good first issue
Good for newcomers
help wanted
Extra attention is needed
Comments
note this from the miniweather app: an important thing to notice is that if one switches to single precision, you have to switch the MPI kind as well (notice all the MPI_DOUBLE_PRECISION business in Update: We would probably only update the precision for a few variables, so it seems rather unlikely to touch m_mpi_proxy or MPI types. |
Draft
Draft
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
enhancement
New feature or request
good first issue
Good for newcomers
help wanted
Extra attention is needed
MFC is filled with lines like this:
MFC/src/simulation/m_hypoelastic.f90
Lines 30 to 32 in a39962c
where the precision is declared via
kind(0d0)
.We also have a ton of this
MFC/src/simulation/m_riemann_solvers.fpp
Lines 547 to 556 in a39962c
where inline constants have precision declared in a "hard-coded" way.
What is better is declaring a separate constant that we can change as needed, like this
example, though there are many others.
A fix for this issue would remove all cases of
0d0
andkind(0d0)
and replace them with a constant declared in thecommon/
directory. I think this is a suitable task for @anshgupta1234 .I realize one can force precision via compiler variables, but I believe we should avoid this because there is an established language standard.
The text was updated successfully, but these errors were encountered: