diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 4be40dc..f2d9c35 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -28,4 +28,4 @@ jobs: cd build cmake .. -DCMAKE_INSTALL_PREFIX=install -DBUILD_MPI=OFF make -j4 - cat install/share/nceplibs-external.cmake.config + cat install/modules/esmf/8.0.0 diff --git a/.github/workflows/macos-clanggfortran.yml b/.github/workflows/macos-clanggfortran.yml index 6b7847e..b58ab94 100644 --- a/.github/workflows/macos-clanggfortran.yml +++ b/.github/workflows/macos-clanggfortran.yml @@ -35,4 +35,4 @@ jobs: cd build cmake .. -DCMAKE_INSTALL_PREFIX=install -DBUILD_MPI=OFF make -j4 - cat install/share/nceplibs-external.cmake.config + cat install/modules/esmf/8.0.0 diff --git a/.github/workflows/macos-gccgfortran.yml b/.github/workflows/macos-gccgfortran.yml index 5aeb032..eb5069c 100644 --- a/.github/workflows/macos-gccgfortran.yml +++ b/.github/workflows/macos-gccgfortran.yml @@ -31,4 +31,4 @@ jobs: cd build cmake .. -DCMAKE_INSTALL_PREFIX=install -DBUILD_MPI=OFF make -j4 - cat install/share/nceplibs-external.cmake.config + cat install/modules/esmf/8.0.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index 29c2bcf..e575b68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,12 +13,12 @@ if(POLICY CMP0074) endif(POLICY CMP0074) # Tell cmake what to build -option(BUILD_MPI "Build MPI" ON ) -option(BUILD_ESMF "Build ESMF" ON ) -option(BUILD_NETCDF "Build NetCDF" ON ) -option(BUILD_JASPER "Build Jasper" ON ) -option(BUILD_PNG "Build libpng" ON ) -option(DEPLOY "Deploy modulefiles" OFF) +option(BUILD_MPI "Build MPI" ON) +option(BUILD_ESMF "Build ESMF" ON) +option(BUILD_NETCDF "Build NetCDF" ON) +option(BUILD_JASPER "Build Jasper" ON) +option(BUILD_PNG "Build libpng" ON) +option(DEPLOY "Deploy modulefiles" ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") @@ -43,12 +43,6 @@ set(install_path ${CMAKE_INSTALL_PREFIX}) include(ExternalProject) include(GNUInstallDirs) -if(NOT EXISTS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}) - file(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}) -endif() -set(CMAKE_CONFIG_FILE "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/nceplibs-external.cmake.config") -file(WRITE ${CMAKE_CONFIG_FILE} "# CMake configuration file for NCEPLIBS-external\n") - if(BUILD_MPI) if(${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU" AND ${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER 9.9) set(MPICH_FORTRAN_FLAGS "-w -fallow-argument-mismatch") @@ -70,7 +64,6 @@ if(BUILD_MPI) set(MPI_ROOT ${CMAKE_INSTALL_PREFIX}) set(MPI_C_LIBRARY_VERSION_STRING "MPICH") set(MPI_C_VERSION_MAJOR "3") - file(APPEND ${CMAKE_CONFIG_FILE} "set(MPI_ROOT \"${CMAKE_INSTALL_PREFIX}\")\n") else() set(MPI_DETERMINE_LIBRARY_VERSION true) find_package(MPI REQUIRED) @@ -105,8 +98,6 @@ if(BUILD_NETCDF OR BUILD_PNG) TEST_COMMAND cd ${PROJECT_BINARY_DIR}/zlib/build && make test INSTALL_COMMAND $(MAKE) install ) - - file(APPEND ${CMAKE_CONFIG_FILE} "set(ZLIB_ROOT \"${CMAKE_INSTALL_PREFIX}\")\n") endif() if(BUILD_NETCDF) @@ -186,9 +177,6 @@ if(BUILD_NETCDF) TEST_COMMAND cd ${PROJECT_BINARY_DIR}/netcdf-fortran && $(MAKE) check DEPENDS netcdf ) - - file(APPEND ${CMAKE_CONFIG_FILE} "set(HDF5_ROOT \"${CMAKE_INSTALL_PREFIX}\")\n") - file(APPEND ${CMAKE_CONFIG_FILE} "set(NETCDF \"${CMAKE_INSTALL_PREFIX}\")\n") else() # Find NetCDF add_custom_target(netcdf-fortran) @@ -216,7 +204,6 @@ if(BUILD_PNG) INSTALL_DIR ${CMAKE_INSTALL_PREFIX} DEPENDS zlib ) - file(APPEND ${CMAKE_CONFIG_FILE} "set(PNG_ROOT \"${CMAKE_INSTALL_PREFIX}\")\n") else() # Find PNG add_custom_target(libpng) @@ -250,9 +237,6 @@ if(BUILD_JASPER) INSTALL_COMMAND cd ${PROJECT_BINARY_DIR}/jasper && $(MAKE) install DEPENDS libjpeg ) - - file(APPEND ${CMAKE_CONFIG_FILE} "set(JPEG_ROOT \"${CMAKE_INSTALL_PREFIX}\")\n") - file(APPEND ${CMAKE_CONFIG_FILE} "set(Jasper_ROOT \"${CMAKE_INSTALL_PREFIX}\")\n") else() # Find JPEG and Jasper add_custom_target(libjpeg) @@ -312,8 +296,6 @@ if(BUILD_ESMF) #TEST_BEFORE_INSTALL TRUE INSTALL_COMMAND ${CMAKE_COMMAND} -E env PATH=${ESMF_PATH} ESMF_DIR=${PROJECT_SOURCE_DIR}/esmf ESMF_COMM=${MPITYPE} ESMF_COMPILER=${comp} ESMF_NETCDF=1 ESMF_NETCDF_INCLUDE=${NETCDF_INCLUDE_DIRS} ESMF_NETCDF_LIBS=${NETCDF_LIBRARIES} ESMF_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ESMF_INSTALL_HEADERDIR=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR} ESMF_INSTALL_MODDIR=${CMAKE_INSTALL_PREFIX}/mod ESMF_INSTALL_LIBDIR=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} ESMF_INSTALL_BINDIR=${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR} ESMF_BOPT=${ESMF_BOPT} ESMF_OPTLEVEL=${ESMF_OPTLEVEL} ESMF_F90COMPILEOPTS=${ESMF_F90COMPILEOPTS} ESMF_CXXCOMPILEOPTS=${ESMF_CXXCOMPILEOPTS} $(MAKE) install DEPENDS mpi netcdf-fortran) - - file(APPEND ${CMAKE_CONFIG_FILE} "set(ESMFMKFILE \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/esmf.mk\")\n") endif() # Install modules (if DEPLOY = ON) @@ -323,6 +305,12 @@ if(DEPLOY) set(PNG_VERSION "1.6.35") configure_file(${PROJECT_SOURCE_DIR}/tmplModulefiles/libpng ${CMAKE_INSTALL_PREFIX}/modules/libpng/${PNG_VERSION}) endif() + if(BUILD_JASPER) + set(JPEG_VERSION "9.1.0") + configure_file(${PROJECT_SOURCE_DIR}/tmplModulefiles/libjpeg ${CMAKE_INSTALL_PREFIX}/modules/libjpeg/${JPEG_VERSION}) + set(JASPER_VERSION "1.900.1") + configure_file(${PROJECT_SOURCE_DIR}/tmplModulefiles/jasper ${CMAKE_INSTALL_PREFIX}/modules/jasper/${JASPER_VERSION}) + endif() if(BUILD_NETCDF) set(NETCDF_VERSION "4.7.4") configure_file(${PROJECT_SOURCE_DIR}/tmplModulefiles/netcdf ${CMAKE_INSTALL_PREFIX}/modules/netcdf/${NETCDF_VERSION}) diff --git a/doc/README_cheyenne_gnu.txt b/doc/README_cheyenne_gnu.txt index c6adc77..2934db7 100644 --- a/doc/README_cheyenne_gnu.txt +++ b/doc/README_cheyenne_gnu.txt @@ -24,14 +24,15 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j2 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON -DDEPLOY=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j2 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -59,30 +60,8 @@ module load mpt/2.19 module load ncarcompilers/0.5.0 module load cmake/3.16.4 -export CC=mpicc -export FC=mpif90 -export CXX=mpicxx - module use /glade/p/ral/jntp/GMTB/tools/NCEPLIBS-ufs-v2.0.0/gnu-9.1.0/mpt-2.19/modules - -module load libpng/1.6.35 -module load netcdf/4.7.4 -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_Platform=cheyenne.gnu ./build.sh 2>&1 | tee build.log diff --git a/doc/README_cheyenne_intel.txt b/doc/README_cheyenne_intel.txt index ea94173..8f3c8e2 100644 --- a/doc/README_cheyenne_intel.txt +++ b/doc/README_cheyenne_intel.txt @@ -24,14 +24,15 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j2 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON -DDEPLOY=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j2 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -59,30 +60,8 @@ module load mpt/2.19 module load ncarcompilers/0.5.0 module load cmake/3.16.4 -export CC=mpicc -export FC=mpif90 -export CXX=mpicxx - module use /glade/p/ral/jntp/GMTB/tools/NCEPLIBS-ufs-v2.0.0/intel-19.1.1/mpt-2.19/modules - -module load libpng/1.6.35 -module load netcdf/4.7.4 -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_Platform=cheyenne.intel ./build.sh 2>&1 | tee build.log diff --git a/doc/README_gaea_intel.txt b/doc/README_gaea_intel.txt index 3874416..7642997 100644 --- a/doc/README_gaea_intel.txt +++ b/doc/README_gaea_intel.txt @@ -30,7 +30,7 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src @@ -48,13 +48,11 @@ rm -fr tmp git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk # Tell CMake to use the previously downloaded packages -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON -DUSE_LOCAL=ON .. 2>&1 | tee log.cmake +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON -DUSE_LOCAL=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy -cd .. -# Convert lua modulefiles into tcl modulefiles -./lua2tcl.py ${INSTALL_PREFIX}/modules - END OF THE SETUP INSTRUCTIONS - @@ -78,30 +76,9 @@ module load cray-mpich/7.7.11 module unload cray-netcdf module load cmake/3.17.0 -export CC=cc -export FC=ftn -export CXX=CC - module use /lustre/f2/pdata/esrl/gsd/ufs/NCEPLIBS-ufs-v2.0.0/intel-19.0.5.281/cray-mpich-7.7.11/modules -module load libpng/1.6.35 -module load netcdf/4.7.4 -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=cc export CMAKE_CXX_COMPILER=CC diff --git a/doc/README_hera_gnu.txt b/doc/README_hera_gnu.txt index 816fff7..4757fa6 100644 --- a/doc/README_hera_gnu.txt +++ b/doc/README_hera_gnu.txt @@ -22,14 +22,15 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -55,30 +56,8 @@ module use -a /scratch1/BMC/gmtb/software/modulefiles/gnu-9.2.0/mpich-3.3.2 module load mpich/3.3.2 module load cmake/3.16.1 -export CC=gcc -export CXX=g++ -export FC=gfortran - module use /scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/gnu-9.2.0/mpich-3.3.2/modules - -module load libpng/1.6.35 -module load netcdf/4.7.4 -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpicc export CMAKE_CXX_COMPILER=mpicxx diff --git a/doc/README_hera_intel.txt b/doc/README_hera_intel.txt index a76f8d3..dda5a69 100644 --- a/doc/README_hera_intel.txt +++ b/doc/README_hera_intel.txt @@ -3,23 +3,16 @@ Setup instructions for NOAA RDHPC Hera using Intel-18.0.5.274 module purge module load intel/18.0.5.274 module load impi/2018.0.4 -module load netcdf/4.7.0 module load cmake/3.16.1 module li > Currently Loaded Modules: -> 1) intel/18.0.5.274 2) impi/2018.0.4 3) netcdf/4.7.0 4) cmake/3.16.1 +> 1) intel/18.0.5.274 2) impi/2018.0.4 3) cmake/3.16.1 export CC=icc export CXX=icpc export FC=ifort -# HDF5 is in: /apps/hdf5/1.10.5/intel/18.0.5.274 -# ZLIB and PNG are in: /usr/include, /usr/lib64 - -export HDF5_ROOT=/apps/hdf5/1.10.5/intel/18.0.5.274 -export PNG_ROOT=/usr - export INSTALL_PREFIX=/scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.0.4 mkdir -p ${INSTALL_PREFIX}/src @@ -28,15 +21,15 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -# If netCDF is not built, also don't build PNG, because netCDF uses the default (OS) zlib in the search path -cmake -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -59,31 +52,10 @@ the following commands should suffice to build the model. module purge module load intel/18.0.5.274 module load impi/2018.0.4 -module load netcdf/4.7.0 module load cmake/3.16.1 -export CC=icc -export CXX=icpc -export FC=ifort - module use /scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.0.4/modules - -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpiicc export CMAKE_CXX_COMPILER=mpiicpc diff --git a/doc/README_jet_intel.txt b/doc/README_jet_intel.txt index d9d3ff8..c561d87 100644 --- a/doc/README_jet_intel.txt +++ b/doc/README_jet_intel.txt @@ -3,24 +3,16 @@ Setup instructions for NOAA RDHPC Jet using Intel-18.0.5.274 module purge module load intel/18.0.5.274 module load impi/2018.4.274 -module load hdf5/1.10.5 -module load netcdf/4.7.0 module load cmake/3.16.1 module li > Currently Loaded Modules: -> 1) intel/18.0.5.274 2) impi/2018.4.274 3) hdf5/1.10.5 4) netcdf/4.7.0 5) cmake/3.16.1 +> 1) intel/18.0.5.274 2) impi/2018.4.274 3) cmake/3.16.1 export CC=icc export CXX=icpc export FC=ifort -# HDF5 is in: /apps/hdf5/1.10.5/intel/18.0.5.274 -# ZLIB and PNG are in: /usr/include, /usr/lib64 - -export HDF5_ROOT=/apps/hdf5/1.10.5/intel/18.0.5.274 -export PNG_ROOT=/usr - export INSTALL_PREFIX=/lfs4/HFIP/hfv3gfs/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.4.274 mkdir -p ${INSTALL_PREFIX}/src @@ -29,15 +21,15 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -# If netCDF is not built, also don't build PNG, because netCDF uses the default (OS) zlib in the search path -cmake -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -60,32 +52,11 @@ the following commands should suffice to build the model. module purge module load intel/18.0.5.274 module load impi/2018.4.274 -module load hdf5/1.10.5 -module load netcdf/4.7.0 module load cmake/3.16.1 -export CC=icc -export CXX=icpc -export FC=ifort - module use /lfs4/HFIP/hfv3gfs/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.4.274/modules -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpiicc export CMAKE_CXX_COMPILER=mpiicpc diff --git a/doc/README_macos_clanggfortran.txt b/doc/README_macos_clanggfortran.txt index 5c7027c..22c74c9 100644 --- a/doc/README_macos_clanggfortran.txt +++ b/doc/README_macos_clanggfortran.txt @@ -82,8 +82,10 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build +export ESMFMKFILE=${INSTALL_PREFIX}/lib/esmf.mk cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make -j8 2>&1 | tee log.make +make deploy 2>&1 | tee log.deploy - END OF THE SETUP INSTRUCTIONS - @@ -101,17 +103,13 @@ git clone -b ufs-v2.0.0 --recursive https://github.com/ufs-community/ufs-weather After checking out the code and changing to the top-level directory of ufs-weather-model, the following commands should suffice to build the model. -export INSTALL_PREFIX=/usr/local/NCEPLIBS-ufs-v2.0.0 - export PATH="/usr/local/opt/llvm@10/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/opt/llvm@10/lib:$LD_LIBRARY_PATH" export CPPFLAGS="-I/usr/local/opt/llvm@10/include" export LDFLAGS="-L/usr/local/opt/llvm@10/lib -Wl,-rpath,/usr/local/opt/llvm@10/lib" +source /usr/local/NCEPLIBS-ufs-v2.0.0/bin/setenv_nceplibs.sh ulimit -S -s unlimited -export NETCDF=${INSTALL_PREFIX} -export ESMFMKFILE=${INSTALL_PREFIX}/lib/esmf.mk -export CMAKE_PREFIX_PATH=${INSTALL_PREFIX} export CMAKE_Platform=macosx.gnu ./build.sh 2>&1 | tee build.log diff --git a/doc/README_macos_gccgfortran.txt b/doc/README_macos_gccgfortran.txt index 6e22ac6..b0a1747 100644 --- a/doc/README_macos_gccgfortran.txt +++ b/doc/README_macos_gccgfortran.txt @@ -73,8 +73,10 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build +export ESMFMKFILE=${INSTALL_PREFIX}/lib/esmf.mk cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make -j8 2>&1 | tee log.make +make deploy 2>&1 | tee log.deploy - END OF THE SETUP INSTRUCTIONS - @@ -92,18 +94,9 @@ git clone -b ufs-v2.0.0 --recursive https://github.com/ufs-community/ufs-weather After checking out the code and changing to the top-level directory of ufs-weather-model, the following commands should suffice to build the model. -export INSTALL_PREFIX=/usr/local/NCEPLIBS-ufs-v2.0.0 - -export CC=gcc-10 -export FC=gfortran-10 -export CXX=g++-10 +source /usr/local/NCEPLIBS-ufs-v2.0.0/bin/setenv_nceplibs.sh ulimit -S -s unlimited -export NETCDF=${INSTALL_PREFIX} -export ESMFMKFILE=${INSTALL_PREFIX}/lib/esmf.mk -export CMAKE_PREFIX_PATH=${INSTALL_PREFIX} - export CMAKE_Platform=macosx.gnu ./build.sh 2>&1 | tee build.log - diff --git a/doc/README_odin_intel.txt b/doc/README_odin_intel.txt index 4e977c5..88ed8c0 100644 --- a/doc/README_odin_intel.txt +++ b/doc/README_odin_intel.txt @@ -36,19 +36,17 @@ git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-externa cd NCEPLIBS-external mkdir build && cd build # If netCDF is not built, also don't build PNG, because netCDF uses the default (OS) zlib in the search path -$CMAKE -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DMPITYPE=mpi -DDEPLOY=ON .. 2>&1 | tee log.cmake +$CMAKE -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DMPITYPE=mpi .. 2>&1 | tee log.cmake srun -n 1 make VERBOSE=1 -j8 2>&1 | tee log.make cd $SRC_DIR git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -$CMAKE -DEXTERNAL_LIBS_DIR=$INSTALL_PREFIX -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DOPENMP=ON -DDEPLOY=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +$CMAKE -DEXTERNAL_LIBS_DIR=$INSTALL_PREFIX -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy -cd .. -# Convert lua modulefiles into tcl modulefiles -lua2tcl.py $INSTALL_PREFIX/modules - END OF THE SETUP INSTRUCTIONS - @@ -84,34 +82,14 @@ module load gcc/8.3.0 export NETCDF=${CRAY_NETCDF_DIR} export CMAKE=/scratch/software/Odin/bin/cmake -export CC=cc -export FC=ftn -export CXX=cc - -export CMAKE_C_COMPILER=cc -export CMAKE_CXX_COMPILER=CC -export CMAKE_Fortran_COMPILER=ftn module use /scratch/ywang/comFV3SAR/testings/INSTALL/modules - -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 # In file build.sh, change "cmake" to "$CMAKE" to use cmake version 3.17.3 in the system. +export CMAKE_C_COMPILER=cc +export CMAKE_CXX_COMPILER=CC +export CMAKE_Fortran_COMPILER=ftn export CMAKE_Platform=odin.intel ./build.sh 2>&1 | tee build.log diff --git a/doc/README_orion_intel.txt b/doc/README_orion_intel.txt index f26573c..d45f173 100644 --- a/doc/README_orion_intel.txt +++ b/doc/README_orion_intel.txt @@ -3,26 +3,17 @@ Setup instructions for MSU Orion using Intel-19.1.0.166 module purge module load intel/2020 module load impi/2020 -module load netcdf/4.7.2 module load cmake/3.15.4 module li > Currently Loaded Modules: - 1) intel/2020 2) munge/0.5.13 3) slurm/19.05.3-2 4) impi/2020 5) hdf5/1.10.5 6) netcdf/4.7.2 7) cmake/3.15.4 - -# Note: HDF5 is in: /apps/hdf5/1.10.5/intel/18.0.5.274 -# Note: ZLIB and PNG are in: /usr/include, /usr/lib64/ + 1) intel/2020 2) impi/2020 3) cmake/3.15.4 export CC=icc export CXX=icpc export FC=ifort -export HDF5_ROOT=/apps/intel-2020/hdf5-1.10.5 -export PNG_ROOT=/usr - -# DH* TEMPORARY - NEED SHARED LOCATION -export INSTALL_PREFIX=/work/noaa/gmtb/dheinzel/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166 -# *DH +export INSTALL_PREFIX=/apps/contrib/NCEP/libs/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166 mkdir -p ${INSTALL_PREFIX}/src cd ${INSTALL_PREFIX}/src @@ -30,15 +21,15 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -# If netCDF is not built, also don't build PNG, because netCDF uses the default (OS) zlib in the search path -cmake -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -63,31 +54,10 @@ ulimit -s unlimited module purge module load intel/2020 module load impi/2020 -module load netcdf/4.7.2 module load cmake/3.15.4 -export CC=icc -export CXX=icpc -export FC=ifort - -module use /work/noaa/gmtb/dheinzel/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules - -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module use /apps/contrib/NCEP/libs/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules +module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpiicc export CMAKE_CXX_COMPILER=mpiicpc diff --git a/doc/README_redhat_gnu.txt b/doc/README_redhat_gnu.txt index 7e8cfcc..bf37e13 100644 --- a/doc/README_redhat_gnu.txt +++ b/doc/README_redhat_gnu.txt @@ -42,11 +42,10 @@ chown -R ec2-user:ec2-user ${INSTALL_PREFIX} exit scl enable gcc-toolset-9 bash - -export INSTALL_PREFIX=/usr/local/NCEPLIBS-ufs-v2.0.0 export CC=gcc export CXX=g++ export FC=gfortran +export INSTALL_PREFIX=/usr/local/NCEPLIBS-ufs-v2.0.0 cd ${INSTALL_PREFIX} mkdir src @@ -82,8 +81,10 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk ${INSTALL_PREFIX}/bin/cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make -j8 2>&1 | tee log.make +make deploy 2>&1 | tee log.deploy - END OF THE SETUP INSTRUCTIONS - @@ -101,19 +102,9 @@ git clone -b ufs-v2.0.0 --recursive https://github.com/ufs-community/ufs-weather After checking out the code and changing to the top-level directory of ufs-weather-model, the following commands should suffice to build the model. -export INSTALL_PREFIX=/usr/local/NCEPLIBS-ufs-v2.0.0 - scl enable gcc-toolset-9 bash -export CC=mpicc -export CXX=mpicxx -export FC=mpif90 +source /usr/local/NCEPLIBS-ufs-v2.0.0/bin/setenv_nceplibs.sh ulimit -s unlimited -export PATH=${INSTALL_PREFIX}/bin:$PATH -export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${INSTALL_PREFIX}/lib64:$PATH -export NETCDF=${INSTALL_PREFIX} -export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk -export CMAKE_PREFIX_PATH=${INSTALL_PREFIX} - export CMAKE_Platform=linux.gnu ./build.sh 2>&1 | tee build.log diff --git a/doc/README_stampede_intel.txt b/doc/README_stampede_intel.txt index e920b25..83ae257 100644 --- a/doc/README_stampede_intel.txt +++ b/doc/README_stampede_intel.txt @@ -17,8 +17,8 @@ module load netcdf/4.6.2 module li > Currently Loaded Modules: -> 1) libfabric/1.7.0 3) autotools/1.1 5) TACC 7) cmake/3.16.1 9) python3/3.7.0 11) netcdf/4.6.2 -> 2) git/2.24.1 4) xalt/2.8 6) intel/18.0.2 8) impi/18.0.2 10) pnetcdf/1.11.0 +> 1) libfabric/1.7.0 2) git/2.24.1 3) autotools/1.1 4) xalt/2.8 5) TACC 6) intel/18.0.2 7) cmake/3.16.1 +> 8) impi/18.0.2 9) python3/3.7.0 10) pnetcdf/1.11.0 11) netcdf/4.6.2 export CC=icc export CXX=icpc @@ -37,14 +37,15 @@ git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-externa cd NCEPLIBS-external mkdir build && cd build # If netCDF is not built, also don't build PNG, because netCDF uses the default (OS) zlib in the search path -cmake -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -78,29 +79,8 @@ module load impi/18.0.2 module load pnetcdf/1.11.0 module load netcdf/4.6.2 -export CC=icc -export CXX=icpc -export FC=ifort -export NETCDF=${TACC_NETCDF_DIR} - module use /work/06146/tg854455/stampede2/NCEPLIBS-ufs-v2.0.0/intel-18.0.2/impi-18.0.2/modules - -module load esmf/8.0.0 - -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 - -module load gfsio/1.4.1 -module load sfcio/1.4.1 -module load sigio/2.3.2 +module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpiicc export CMAKE_CXX_COMPILER=mpiicpc diff --git a/doc/README_ubuntu_gnu.txt b/doc/README_ubuntu_gnu.txt index 76d60cc..61ad955 100644 --- a/doc/README_ubuntu_gnu.txt +++ b/doc/README_ubuntu_gnu.txt @@ -76,8 +76,10 @@ cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build +export ESMFMKFILE=${INSTALL_PREFIX}/lib/esmf.mk cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make -j8 2>&1 | tee log.make +make deploy 2>&1 | tee log.deploy - END OF THE SETUP INSTRUCTIONS - @@ -95,19 +97,8 @@ git clone -b ufs-v2.0.0 --recursive https://github.com/ufs-community/ufs-weather After checking out the code and changing to the top-level directory of ufs-weather-model, the following commands should suffice to build the model. -export INSTALL_PREFIX=/usr/local/NCEPLIBS-ufs-v2.0.0 - -export CC=mpicc -export CXX=mpicxx -export FC=mpif90 - +source /usr/local/NCEPLIBS-ufs-v2.0.0/bin/setenv_nceplibs.sh ulimit -s unlimited -export PATH=${INSTALL_PREFIX}/bin:$PATH -export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:$PATH -export NETCDF=${INSTALL_PREFIX} -export ESMFMKFILE=${INSTALL_PREFIX}/lib/esmf.mk -export CMAKE_PREFIX_PATH=${INSTALL_PREFIX} - export CMAKE_Platform=linux.gnu ./build.sh 2>&1 | tee build.log diff --git a/doc/README_wcoss_dell_p3_intel.txt b/doc/README_wcoss_dell_p3_intel.txt index 4efd79a..2c242fa 100644 --- a/doc/README_wcoss_dell_p3_intel.txt +++ b/doc/README_wcoss_dell_p3_intel.txt @@ -25,22 +25,21 @@ export CMAKE_CXX_COMPILER=mpiicpc export CMAKE_Fortran_COMPILER=mpiifort export CMAKE_Platform=wcoss_dell_p3 -export PNG_ROOT=/usrx/local/prod/packages/gnu/4.8.5/libpng/1.2.59 - mkdir -p ${INSTALL_PREFIX}/src cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS-external cd NCEPLIBS-external mkdir build && cd build -cmake -DBUILD_PNG=OFF -DBUILD_MPI=OFF -DBUILD_NETCDF=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON .. 2>&1 | tee log.cmake +cmake -DBUILD_MPI=OFF -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 cd ${INSTALL_PREFIX}/src git clone -b ufs-v2.0.0 --recursive https://github.com/NOAA-EMC/NCEPLIBS cd NCEPLIBS mkdir build && cd build -cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DDEPLOY=ON -DOPENMP=ON .. 2>&1 | tee log.cmake +export ESMFMKFILE=${INSTALL_PREFIX}/lib64/esmf.mk +cmake -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX} -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DOPENMP=ON .. 2>&1 | tee log.cmake make VERBOSE=1 -j8 2>&1 | tee log.make make deploy 2>&1 | tee log.deploy @@ -63,15 +62,6 @@ export INSTALL_PREFIX=/usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS git clone -b ufs-v2.0.0 --recursive https://github.com/ufs-community/ufs-weather-model cd ufs-weather-model -export CC=icc -export CXX=icpc -export FC=ifort - -export CMAKE_C_COMPILER=mpiicc -export CMAKE_CXX_COMPILER=mpiicpc -export CMAKE_Fortran_COMPILER=mpiifort -export CMAKE_Platform=wcoss_dell_p3 - . /usrx/local/prod/lmod/lmod/init/sh module purge module load EnvVars/1.0.3 @@ -82,24 +72,11 @@ module load cmake/3.16.2 module load python/2.7.14 module use ${INSTALL_PREFIX}/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 gfsio/1.4.0 -module load sfcio/1.4.0 -module load sigio/2.3.0 -module load jasper/1.900.29 - -module use /gpfs/dell2/emc/modeling/noscrub/emc.nemspara/soft/modulefiles -module load hdf5_parallel/1.10.6 -module load netcdf_parallel/4.7.4 -module load esmf/8.0.0_ParallelNetCDF +module load NCEPLIBS/2.0.0 + +export CMAKE_C_COMPILER=mpiicc +export CMAKE_CXX_COMPILER=mpiicpc +export CMAKE_Fortran_COMPILER=mpiifort +export CMAKE_Platform=wcoss_dell_p3 ./build.sh 2>&1 | tee build.log diff --git a/tmplModulefiles/jasper b/tmplModulefiles/jasper new file mode 100644 index 0000000..c0bf951 --- /dev/null +++ b/tmplModulefiles/jasper @@ -0,0 +1,11 @@ +#%Module###################################################################### + +proc ModulesHelp { } { + puts "Set environment variables for jasper-${JASPER_VERSION}" +} + +# Make sure another version of the same package is not already loaded +conflict jasper + +# Set environment variables +setenv JASPER_ROOT ${CMAKE_INSTALL_PREFIX} diff --git a/tmplModulefiles/libjpeg b/tmplModulefiles/libjpeg new file mode 100644 index 0000000..da58433 --- /dev/null +++ b/tmplModulefiles/libjpeg @@ -0,0 +1,11 @@ +#%Module###################################################################### + +proc ModulesHelp { } { + puts "Set environment variables for libjpeg-${JPEG_VERSION}" +} + +# Make sure another version of the same package is not already loaded +conflict libjpeg + +# Set environment variables +setenv JPEG_ROOT ${CMAKE_INSTALL_PREFIX}