NCAR / ccpp-scm

CCPP Single Column Model
Other
14 stars 49 forks source link

Fix Cheyenne consecutive builds (with different compilers) #248

Closed grantfirl closed 3 years ago

grantfirl commented 3 years ago

add deactivate at start of Cheyenne setup scripts to handle consecutive builds where compilers change; add GNU10 changes in CMakeLists.txt; upgrade to GNU10 in master (same as version 5 release)

This addresses an issue on Cheyenne where one could not build using Intel followed by a GNU build (for testing purposes). This has been tested to work on Cheyenne, switching from GNU to Intel without logging out/in.

Credit to @JulieSchramm for discovery and @llpcarson for solution.

grantfirl commented 3 years ago

@JulieSchramm I also upgraded the GNU compiler to use 10.1 on Cheyenne. Hopefully, this will work for your RT stuff. This was done to be consistent with version 5, whose changes are still waiting in the wings to be merged into master.

grantfirl commented 3 years ago

That's what happened when I tried it.

On Thu, Apr 1, 2021, 8:03 PM Dom Heinzeller @.***> wrote:

@.**** commented on this pull request.

In scm/etc/Cheyenne_setup_intel.sh https://github.com/NCAR/ccpp-scm/pull/248#discussion_r606035347:

@@ -4,9 +4,10 @@ echo "Setting environment variables for SCM-CCPP on Cheyenne with icc/ifort"

load the modules in order to compile the GMTB SCM

echo "Loading intel and netcdf modules..." +deactivate

What happens if someone doesn't have the pylab environment loaded? Will this just do nothing?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/NCAR/ccpp-scm/pull/248#pullrequestreview-626749477, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGCO5UDQFMVYFSPS6NH5WSDTGUQWZANCNFSM42H6V46Q .

JulieSchramm commented 3 years ago

The simplest fix is to activate the NCAR python library at the top of the Cheyenne_setup* files (to avoid having to test if it is activated), then deactivate:

module load ncarenv ncar_pylib deactivate

The consecutive builds worked with this setup.

grantfirl commented 3 years ago

The simplest fix is to activate the NCAR python library at the top of the Cheyenne_setup* files (to avoid having to test if it is activated), then deactivate:

module load ncarenv ncar_pylib deactivate

The consecutive builds worked with this setup.

Thanks, Julie. I just tested this and it works for me too. It's a little weird to have to activate/deactivate/activate in the same setup script, but I can put a comment in there trying to explain it. I'll push a commit with this stuff added in a sec for you to review.