From 4a42c06aee39e3b80b2715cf4b2300ecc795c79f Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 26 Oct 2020 13:35:56 -0600 Subject: [PATCH 01/11] Turn DEPLOY on by default --- CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29c2bcf..2502149 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/") From ac8846185294217414c2b21e4688a6452d959847 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 26 Oct 2020 13:36:45 -0600 Subject: [PATCH 02/11] Update install documentation for macOS with gcc+gfortran and clang+gfortran --- doc/README_macos_clanggfortran.txt | 8 +++----- doc/README_macos_gccgfortran.txt | 12 +++--------- 2 files changed, 6 insertions(+), 14 deletions(-) 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..f807358 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,10 @@ 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 - From a2816244eea20bd54a4d45e4586da55790e163c4 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 27 Oct 2020 09:14:47 -0600 Subject: [PATCH 03/11] Remove manual NCEPLIBS-external cmake config file (left from release/public-v1), create libjpeg and jasper modules --- CMakeLists.txt | 24 ++++++------------------ tmplModulefiles/jasper | 11 +++++++++++ tmplModulefiles/libjpeg | 11 +++++++++++ 3 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 tmplModulefiles/jasper create mode 100644 tmplModulefiles/libjpeg diff --git a/CMakeLists.txt b/CMakeLists.txt index 2502149..e575b68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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/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} From 55136b70b677ab77f9b1c8e622a51dbac8c490ae Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 27 Oct 2020 10:31:18 -0600 Subject: [PATCH 04/11] Update README for gaea.intel and jet.intel --- doc/README_gaea_intel.txt | 31 ++++--------------------------- doc/README_jet_intel.txt | 39 +++++---------------------------------- 2 files changed, 9 insertions(+), 61 deletions(-) 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_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 From 075284b71c14176079b420642bccfc8f6ae3d0a0 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 27 Oct 2020 14:52:06 -0600 Subject: [PATCH 05/11] Update README for hera.intel and orion.intel --- doc/README_hera_intel.txt | 37 +++++-------------------------------- doc/README_orion_intel.txt | 37 +++++-------------------------------- 2 files changed, 10 insertions(+), 64 deletions(-) diff --git a/doc/README_hera_intel.txt b/doc/README_hera_intel.txt index a76f8d3..dadece3 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,11 @@ 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_orion_intel.txt b/doc/README_orion_intel.txt index f26573c..dc77ad9 100644 --- a/doc/README_orion_intel.txt +++ b/doc/README_orion_intel.txt @@ -3,23 +3,16 @@ 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 @@ -30,15 +23,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 +56,11 @@ 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 load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpiicc export CMAKE_CXX_COMPILER=mpiicpc From d95cd1f0174707f423b802d3964fea4a6f4048fc Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 28 Oct 2020 09:46:47 -0600 Subject: [PATCH 06/11] Update README for stampede.intel and orion.intel --- doc/README_orion_intel.txt | 7 ++----- doc/README_stampede_intel.txt | 32 ++++++-------------------------- 2 files changed, 8 insertions(+), 31 deletions(-) diff --git a/doc/README_orion_intel.txt b/doc/README_orion_intel.txt index dc77ad9..d45f173 100644 --- a/doc/README_orion_intel.txt +++ b/doc/README_orion_intel.txt @@ -13,9 +13,7 @@ export CC=icc export CXX=icpc export FC=ifort -# 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 @@ -58,8 +56,7 @@ module load intel/2020 module load impi/2020 module load cmake/3.15.4 -module use /work/noaa/gmtb/dheinzel/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules - +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 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 From a1e177ee5a50abcabaffe74948669dacd7cc67a6 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 28 Oct 2020 11:31:02 -0600 Subject: [PATCH 07/11] Update README for cheyenne.intel, cheyenne.gnu, hera.gnu --- doc/README_cheyenne_gnu.txt | 29 ++++------------------------- doc/README_cheyenne_intel.txt | 29 ++++------------------------- doc/README_hera_gnu.txt | 29 ++++------------------------- doc/README_hera_intel.txt | 1 - 4 files changed, 12 insertions(+), 76 deletions(-) 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_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 dadece3..dda5a69 100644 --- a/doc/README_hera_intel.txt +++ b/doc/README_hera_intel.txt @@ -55,7 +55,6 @@ module load impi/2018.0.4 module load cmake/3.16.1 module use /scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.0.4/modules - module load NCEPLIBS/2.0.0 export CMAKE_C_COMPILER=mpiicc From 1745c0cfe16472a32f05ac73433d1fed0af5adbf Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 28 Oct 2020 11:39:36 -0600 Subject: [PATCH 08/11] Update README for odin.intel and wcoss_dell_p3 --- doc/README_odin_intel.txt | 36 ++++++------------------------ doc/README_wcoss_dell_p3_intel.txt | 34 ++++++++-------------------- 2 files changed, 16 insertions(+), 54 deletions(-) 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_wcoss_dell_p3_intel.txt b/doc/README_wcoss_dell_p3_intel.txt index 4efd79a..d6f8da4 100644 --- a/doc/README_wcoss_dell_p3_intel.txt +++ b/doc/README_wcoss_dell_p3_intel.txt @@ -33,14 +33,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_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 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 +64,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 +74,16 @@ 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 load NCEPLIBS/2.0.0 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 +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 From 8bbabcf606e1c79e4139b2c1db852608e5d16fb2 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 28 Oct 2020 13:12:07 -0600 Subject: [PATCH 09/11] Fix travis tests --- .github/workflows/linux.yml | 2 +- .github/workflows/macos-clanggfortran.yml | 2 +- .github/workflows/macos-gccgfortran.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 From 37237d008f78689287e73fda3b1b05ae961932d9 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 28 Oct 2020 15:42:07 -0600 Subject: [PATCH 10/11] Update README for ubuntu.gnu and wcoss_dell_p3.intel --- doc/README_macos_gccgfortran.txt | 1 - doc/README_ubuntu_gnu.txt | 15 +++------------ doc/README_wcoss_dell_p3_intel.txt | 9 +-------- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/doc/README_macos_gccgfortran.txt b/doc/README_macos_gccgfortran.txt index f807358..b0a1747 100644 --- a/doc/README_macos_gccgfortran.txt +++ b/doc/README_macos_gccgfortran.txt @@ -97,7 +97,6 @@ the following commands should suffice to build the model. source /usr/local/NCEPLIBS-ufs-v2.0.0/bin/setenv_nceplibs.sh ulimit -S -s unlimited - export CMAKE_Platform=macosx.gnu ./build.sh 2>&1 | tee build.log 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 d6f8da4..2c242fa 100644 --- a/doc/README_wcoss_dell_p3_intel.txt +++ b/doc/README_wcoss_dell_p3_intel.txt @@ -25,15 +25,13 @@ 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} .. 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 @@ -76,11 +74,6 @@ module load python/2.7.14 module use ${INSTALL_PREFIX}/modules module load NCEPLIBS/2.0.0 -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 - export CMAKE_C_COMPILER=mpiicc export CMAKE_CXX_COMPILER=mpiicpc export CMAKE_Fortran_COMPILER=mpiifort From 201a4748cc75e87b5c561d224327253c077b31b0 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 29 Oct 2020 08:26:32 -0600 Subject: [PATCH 11/11] Update README for redhat.gnu --- doc/README_redhat_gnu.txt | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) 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