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

Gmtb gfsphysics gnu support #36

Merged
merged 6 commits into from
Jan 12, 2018
Merged

Gmtb gfsphysics gnu support #36

merged 6 commits into from
Jan 12, 2018

Conversation

climbfuji
Copy link
Collaborator

This PR enables support for (reasonably recent) GNU compilers gcc+gfortran on Theia and Cheyenne, as well as for clang+gfortran on MacOSX. Besides several bugs in the code that are addressed in this PR, a temporary workaround is implemented for issues with pointers to components of pointer arrays of derived data types. These work with Intel and PGI compilers, but not with GNU compilers. Limited research on the web shows that this i a long-standing bug in the GNU compilers.

…b.F: gfortran crashes when 'real (kind=kind_io8) data8(idim*jdim)' is used, i.e. turn into allocatable arrays
…) Modifications of makefile to handle different name and order of parts of name for shared physics library on MacOSX; add missing CPPDEFS argument to compile commands
…ix' arrays to handle pointers to components of derived-type arrays (see also following commits to GFS diagnostics and fms I/O code)
…ys in GFS_diagnostics.F90 to deal with issue of pointers to components of derived-type arrays
@llpcarson
Copy link
Contributor

These changes look reasonable to me. I will run a quick ifort/cheyenne test next.

Julie - are you going to be able to test this version with gfortran?

@climbfuji
Copy link
Collaborator Author

Good luck with Cheyenne - it's slow as right now. Started compiling at 9am this morning, thus far it completed 5 fortran source files ... and Theia isn't available either today! Time to get these Mac OS X changes in the PR in ;-)

@JulieSchramm
Copy link

JulieSchramm commented Jan 9, 2018 via email

@llpcarson
Copy link
Contributor

llpcarson commented Jan 9, 2018 via email

@climbfuji
Copy link
Collaborator Author

@JulieSchramm @llpcarson On Theia gnu-6.2.0 is used. The compiler is provided as a module, the remaining software stack I compiled by myself. The module file will add the correct directories to the PATH and LD_LIBRARY_PATH, and will set other environment variables (e.g. NETCDF). So, you can use Theia once it is back. If you use docker, you will have to provide the software stack (compiler, mpi library, netcdf library, esmf library) by yourself.

climbfuji added a commit to NCAR/ccpp-framework that referenced this pull request Jan 12, 2018
Gmtb ccpp gnu support - requires NCAR/ccpp-physics#36 followed by NCAR/gmtb-fv3#25 for full support of gcc/clang compilers.
@climbfuji
Copy link
Collaborator Author

@llpcarson If you are happy with it, can you please approve this one as well? Needs to go in before the gmtb-fv3 gnu support PR (https://github.com/NCAR/gmtb-fv3/pull/25). Thanks! Dom

Copy link
Contributor

@llpcarson llpcarson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

@llpcarson
Copy link
Contributor

llpcarson commented Jan 12, 2018 via email

@climbfuji climbfuji merged commit 80d5f95 into NCAR:features/ccpp Jan 12, 2018
@climbfuji climbfuji deleted the gmtb-gfsphysics-gnu-support branch January 12, 2018 16:47
climbfuji pushed a commit to climbfuji/ccpp-physics that referenced this pull request Jun 9, 2020
MYNN PBL and SFC updates for ocean coupling, ...
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.

4 participants