ufs-community / UFS_UTILS

Utilities for the NCEP models.
Other
21 stars 104 forks source link

update modulefiles to use hpc-stack #152

Closed aerorahul closed 3 years ago

aerorahul commented 3 years ago

The UFS-utils repository loads modules from the soon-to-be-deprecated modules installation maintained by NCEPLIBS team. These modulefiles need to be updated to use the hpc-stack modulefiles.

The UFS-weather-model has moved to the hpc-stack and can be used as a guide for this work.

Info on the stack: https://github.com/NOAA-EMC/hpc-stack/wiki/Official-Installations

GeorgeGayno-NOAA commented 3 years ago

Will the hpc-stack contain the wgrib2 library? I checked on Dell (/usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/v1.0.0-beta1/ips-18.0.1.163) and did not see it. Also, folks will also want the wgrib2 executable. That was not under ./grib_util/bin. I did not check the other machines.

kgerheiser commented 3 years ago

wgrib2 library and executable are included

GeorgeGayno-NOAA commented 3 years ago

wgrib2 library and executable are included

I see that now. I was not loading the module files correctly. Thanks.

GeorgeGayno-NOAA commented 3 years ago

I was able to get it to build on Hera. Yeah!

GeorgeGayno-NOAA commented 3 years ago

Note to self: the 'nccmp' utility is part of the hpc stack. That utility is used by the regression tests. On some machines, I keep my own copy of it. Use the hpc stack version.

GeorgeGayno-NOAA commented 3 years ago

My branch at 4613fc2 builds on Hera, Dell and Orion. All regression tests passed.

GeorgeGayno-NOAA commented 3 years ago

@JeffBeck-NOAA @climbfuji @LarissaReames-NOAA - Under this issue, I made changes to the build script. I found that the logic setting the CMake compiler variables is not needed on the five machines I officially support. But I don't know if this will break the other machines, such as odin, stampede or cheyenne. Who has access to these machines? And can they do a quick test of my branch? Setting these CMake flags in the build script is probably not a good practice. Instead, if needed, they could be set in the build modules.

CMAKE_FLAGS="-DCMAKE_INSTALL_PREFIX=../ -DEMC_EXEC_DIR=ON"

-if [[ "$compiler" == "intel" ]]; then
-  if [[ "$target" != "wcoss_cray" && \
-        "$target" != "gaea" && \
-        "$target" != "odin" ]]; then
-    CMAKE_FLAGS+=" -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_C_COMPILER=icc"
-  fi
-fi
-
 rm -fr ./build
 mkdir ./build && cd ./build
GeorgeGayno-NOAA commented 3 years ago

I believe work is complete on this issue. The branch at ddb30e9 uses the stack on Hera, Jet, Orion and Dell (the stack is unavailable on Cray). Started a PR (#227).

GeorgeGayno-NOAA commented 3 years ago

The branch at ddb30e9 was successfully compiled on Hera, Jet, Orion, WCOSS-Cray and WCOSS-Dell. Next, all regression tests will be run.

GeorgeGayno-NOAA commented 3 years ago

The chgres_cube regression tests were run on the above listed machines using ddb30e9. All tests gave expected results.

GeorgeGayno-NOAA commented 3 years ago

The ice_blend regression test was failing on Dell. Pointing to a different implementation of the stack fixed it (06dd0aa).

GeorgeGayno-NOAA commented 3 years ago

With the fix at 06dd0aa, all regression tests passed on all officially supported machines - Hera, Orion, Jet, Cray and Dell.

The stack may be updated soon. Will ask NCEPLIBS if I should wait for the update or if I should merge now.

edwardhartnett commented 3 years ago

I suggest you merge what you have now.

hpc-stack-1.1.0 will be released soon, and then you will want to also test with that. Hopefully, it will work equally well.

GeorgeGayno-NOAA commented 3 years ago

Merged to 'develop' at 74daf3f. Closing issue.