Skip to content

Commit

Permalink
Update Hera, Orion and WCOSS Dell modulefiles to use hpc-stack libs (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
DusanJovic-NOAA committed Sep 21, 2020
1 parent 2a6528d commit b8c5c22
Show file tree
Hide file tree
Showing 12 changed files with 533 additions and 591 deletions.
2 changes: 1 addition & 1 deletion cmake/FindESMF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ if (ESMF_FOUND)
set(ESMF_INTERFACE_LINK_LIBRARIES "")
else()
# When linking the static library, also need the ESMF linker flags; strip any leading/trailing whitespaces
string(STRIP "${ESMF_F90ESMFLINKRPATHS} ${ESMF_F90ESMFLINKPATHS} ${ESMF_F90LINKLIBS} ${ESMF_F90LINKOPTS}" ESMF_INTERFACE_LINK_LIBRARIES)
string(STRIP "${ESMF_F90ESMFLINKRPATHS} ${ESMF_F90ESMFLINKPATHS} ${ESMF_F90LINKPATHS} ${ESMF_F90LINKLIBS} ${ESMF_F90LINKOPTS}" ESMF_INTERFACE_LINK_LIBRARIES)
message(STATUS "Found ESMF library: ${esmf_lib}")
endif()

Expand Down
3 changes: 3 additions & 0 deletions cmake/FindNetCDF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,9 @@ foreach( _comp IN LISTS _search_components )
IMPORTED_LOCATION ${NetCDF_${_comp}_LIBRARY}
INTERFACE_INCLUDE_DIRECTORIES "${NetCDF_${_comp}_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES ${NetCDF_${_comp}_LIBRARIES} )
if( NOT _comp MATCHES "^(C)$" )
target_link_libraries(NetCDF::NetCDF_${_comp} INTERFACE NetCDF::NetCDF_C)
endif()
endif()
endif()
endforeach()
Expand Down
2 changes: 1 addition & 1 deletion conf/configure.fv3.hera.intel
Original file line number Diff line number Diff line change
Expand Up @@ -181,5 +181,5 @@ LDFLAGS += $(LIBS)
ifdef InNemsMakefile
FFLAGS += $(ESMF_INC)
CPPFLAGS += -traditional
EXTLIBS = $(NCEPLIBS) $(ESMF_LIB) $(LDFLAGS) $(NETCDF_LIB)
EXTLIBS = $(NCEPLIBS) $(ESMF_F90LINKPATHS) $(ESMF_LIB) $(LDFLAGS) $(NETCDF_LIB)
endif
77 changes: 29 additions & 48 deletions modulefiles/hera.intel/fv3
Original file line number Diff line number Diff line change
@@ -1,60 +1,41 @@
#%Module######################################################################
##
## NEMS FV3 Prerequisites: Hera/Intel
#%Module

proc ModulesHelp {} {
puts stderr "\tcit - loads modules required for building and running FV3 under NEMS on Hera/Intel"
puts stderr "\tcit - loads modules required for building and running UFS Model on Hera/Intel"
}

module-whatis "loads NEMS FV3 prerequisites for Hera/Intel"
module-whatis "loads UFS Model prerequisites for Hera/Intel"

##
## load contrib environment
## load slurm utils (arbitrary.pl layout.pl)
##
module use -a /contrib/sutils/modulefiles
module use /contrib/sutils/modulefiles
module load sutils

##
## load programming environment
## this typically includes compiler, MPI and job scheduler
##
module load intel/18.0.5.274
module load impi/2018.0.4

##
## NCEP libraries
##
module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/cmake/install/NCEPLIBS/modules
module load bacio/2.4.0
module load crtm_dev/2.3.0
module load g2/3.4.0
module load g2tmpl/1.9.0
module load ip/3.3.0
module load nceppost/dceca26
module load nemsio/2.5.1
module load sp/2.3.0
module load w3emc/2.7.0
module load w3nco/2.4.0

module load gfsio/1.4.0
module load sfcio/1.4.0
module load sigio/2.3.0

##
## load ESMF library for above compiler / MPI combination
## use pre-compiled ESMF library for above compiler / MPI combination
##
module use -a /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles
module load netcdf_parallel/4.7.4.release
module load esmf/8.1.0bs27
module load hdf5_parallel/1.10.6.release

##
## load cmake
##
module load cmake/3.16.1
setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform hera.intel

module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/v1.0.0-beta1/modulefiles/stack

module load hpc/1.0.0-beta1
module load hpc-intel/18.0.5.274
module load hpc-impi/2018.0.4

module load jasper/2.0.15
module load zlib/1.2.11
module load png/1.6.35

module load hdf5/1.10.6
module load netcdf/4.7.4
module load esmf/8_1_0_beta_snapshot_27

module load bacio/2.4.1
module load crtm/2.3.0
module load g2/3.4.1
module load g2tmpl/1.9.1
module load ip/3.3.3
module load nceppost/dceca26
module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
83 changes: 28 additions & 55 deletions modulefiles/orion.intel/fv3
Original file line number Diff line number Diff line change
@@ -1,67 +1,40 @@
#%Module######################################################################
##
## NEMS FV3 Prerequisites: Orion/Intel
#%Module

proc ModulesHelp {} {
puts stderr "\tcit - loads modules required for building and running FV3 under NEMS on Orion/Intel"
puts stderr "\tcit - loads modules required for building and running UFS Model on Orion/Intel"
}

module-whatis "loads NEMS FV3 prerequisites for Orion/Intel"
module-whatis "loads UFS Model prerequisites for Orion/Intel"

##
## load contrib environment
## load noaatools (slurm utils (arbitrary.pl layout.pl))
##
module load contrib noaatools

##
## load programming environment
## this typically includes compiler, MPI and job scheduler
##
module load intel/2018
module load impi/2018

##
## NCEP libraries
##
module use -a /apps/contrib/NCEPLIBS/orion/cmake/install/NCEPLIBS/modules
module load bacio/2.4.0
module load crtm_dev/2.3.0
module load g2/3.4.0
module load g2tmpl/1.9.0
module load ip/3.3.0
module load nceppost/dceca26
module load nemsio/2.5.1
module load sp/2.3.0
module load w3emc/2.7.0
module load w3nco/2.4.0
module load cmake/3.17.3
setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform orion.intel

module load gfsio/1.4.0
module load sfcio/1.4.0
module load sigio/2.3.0
module use /apps/contrib/NCEP/libs/hpc-stack/v1.0.0-beta1/modulefiles/stack

module use /apps/contrib/NCEPLIBS/orion/modulefiles
module load jasper/1.900.2
module load png/1.2.44
module load z/1.2.6
module load hpc/1.0.0-beta1
module load hpc-intel/2018.4
module load hpc-impi/2018.4

##
## load ESMF library for above compiler / MPI combination
## use pre-compiled ESMF library for above compiler / MPI combination
##
module use /apps/contrib/NCEPLIBS/lib/modulefiles
module load netcdfp/4.7.4.release
module load esmflocal/8.1.0.27bs.release
module load jasper/2.0.15
module load zlib/1.2.11
module load png/1.6.35

###
### load Python 3
#module load python/3.7.5
module load hdf5/1.10.6
module load netcdf/4.7.4
module load esmf/8_1_0_beta_snapshot_27

##
## load cmake
##
module load cmake/3.15.4
setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform orion.intel
module load bacio/2.4.1
module load crtm/2.3.0
module load g2/3.4.1
module load g2tmpl/1.9.1
module load ip/3.3.3
module load nceppost/dceca26
module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
71 changes: 28 additions & 43 deletions modulefiles/wcoss_dell_p3/fv3
Original file line number Diff line number Diff line change
@@ -1,59 +1,44 @@
#%Module######################################################################
##
## NEMS FV3 Prerequisites: Venus and Mars (WCOSS Dell)
#%Module

proc ModulesHelp {} {
puts stderr "\tcit - loads modules required for building and running FV3 under NEMS on the Dell side of WCOSS"
puts stderr "\tcit - loads modules required for building and running UFS Model on the Dell side of WCOSS"
}

module-whatis "loads NEMS FV3 prerequisites on Venus and Mars"
module-whatis "loads UFS Model prerequisites on Venus and Mars"

# NOTE: the "module purge" and loading of the module command are
# handled by the module-setup.sh (or .csh) script.

##
## load programming environment
## this typically includes compiler, MPI and job scheduler
##
module load ips/18.0.1.163
module load impi/18.0.1
module load lsf/10.1
module load cmake/3.16.2
# module load python/3.6.3
module load python/2.7.14

##
## NCEP libraries
##
module use /usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS/modules
module load bacio/2.4.0
module load crtm/2.3.0
module load g2/3.4.0
module load g2tmpl/1.9.0
module load ip/3.3.0
module load nceppost/dceca26
module load nemsio/2.5.1
module load sp/2.3.0
module load w3emc/2.7.0
module load w3nco/2.4.0
module load cmake/3.16.2
setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform wcoss_dell_p3

module load gfsio/1.4.0
module load sfcio/1.4.0
module load sigio/2.3.0
module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/v1.0.0-beta1/modulefiles/stack

module load jasper/1.900.29
module load hpc/1.0.0-beta1
module load hpc-ips/18.0.1.163
module load hpc-impi/18.0.1

module use /usrx/local/dev/modulefiles/mpi_third/ips/18.0.1/impi/18.0.1
module load NetCDF-parallel/4.7.4
module load HDF5-parallel/1.10.6
module load jasper/2.0.15
module load zlib/1.2.11
module load png/1.6.35

module use /gpfs/dell2/emc/modeling/noscrub/emc.nemspara/soft/modulefiles
module load esmf/8.1.0bs27
module load hdf5/1.10.6
module load netcdf/4.7.4
module load esmf/8_1_0_beta_snapshot_27

##
## load cmake
##
setenv CMAKE_C_COMPILER mpiicc
setenv CMAKE_CXX_COMPILER mpiicpc
setenv CMAKE_Fortran_COMPILER mpiifort
setenv CMAKE_Platform wcoss_dell_p3
module load bacio/2.4.1
module load crtm/2.3.0
module load g2/3.4.1
module load g2tmpl/1.9.1
module load ip/3.3.3
module load nceppost/dceca26
module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
Loading

0 comments on commit b8c5c22

Please sign in to comment.