Skip to content
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

Adding front-end option to compile Isca using single-precision (only working with Intel compilers) #265

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

sit23
Copy link
Contributor

@sit23 sit23 commented Apr 30, 2024

We want to be able to run Isca using single-precision arithmetic, rather than the default double precision. This p/r mirrors some code I wrote way back in 2020:
sit23@efd0195

This change gives a method on the codebase object to allow the compile flags to be set to do single precision arithmetic, rather then double, but leaves double as the default.

I've added a new held-suarez test case to show how this method is to be used.

N.B. this only works at the moment for Intel compilation.

…ses a combination of Iscas in-built macros with overload_c4 etc, whilst maintaining other default flags.
…ountered with the simple cloud fortran files, which had missed a few file-exists imports from fms-mod. Also lcl.f90 explicitly defined variables as double precision, which caused problems when variables were inputted to its functions as single. Now changed to real so that compiler chooses the representation of real.
… precision, but should not be there for single precision. Do not currently have a dynamic way of editing that mkmf template file, so added feature to choose different mkmf template file for single precision. Format is just same name as current mkmf template file with _simple added at the end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant