Skip to content

Commit

Permalink
Merge branch 'develop' into feature/gdas_init.v16
Browse files Browse the repository at this point in the history
  • Loading branch information
GeorgeGayno-NOAA committed Apr 29, 2021
2 parents 9dbab77 + f99ce3b commit ff60134
Show file tree
Hide file tree
Showing 18 changed files with 211 additions and 68 deletions.
24 changes: 11 additions & 13 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,25 +45,23 @@ if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$")
endif()

# Find packages.
find_package(NetCDF REQUIRED C Fortran)
find_package(NetCDF 4.3.3 REQUIRED C Fortran)
find_package(MPI REQUIRED C Fortran)
find_package(ESMF MODULE REQUIRED)
find_package(ESMF 8.0.0 REQUIRED)

if(OPENMP)
find_package(OpenMP REQUIRED COMPONENTS Fortran)
endif()

find_package(gfsio REQUIRED)
find_package(sfcio REQUIRED)
find_package(w3nco REQUIRED)
find_package(bacio REQUIRED)
find_package(nemsio REQUIRED)
find_package(sigio REQUIRED)
find_package(sp REQUIRED)
find_package(ip REQUIRED)
find_package(w3emc REQUIRED)
find_package(g2 REQUIRED)
find_package(wgrib2 REQUIRED)
find_package(sfcio 1.4.0 REQUIRED)
find_package(w3nco 2.4.0 REQUIRED)
find_package(bacio 2.4.0 REQUIRED)
find_package(nemsio 2.5.0 REQUIRED)
find_package(sigio 2.3.0 REQUIRED)
find_package(sp 2.3.3 REQUIRED)
find_package(ip 3.3.3 REQUIRED)
find_package(g2 3.4.0 REQUIRED)
find_package(wgrib2 2.0.8 REQUIRED)

# EMC requires executables in ./exec
set(exec_dir bin)
Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,13 @@ UFS_UTILS Code managers: George Gayno, Kyle Gerheiser
## Prerequisites

This package requires the following NCEPLIBS packages:
- [NCEPLIBS-gfsio](https://github.com/NOAA-EMC/NCEPLIBS-gfsio)
- [NCEPLIBS-sfcio](https://github.com/NOAA-EMC/NCEPLIBS-sfcio)
- [NCEPLIBS-w3nco](https://github.com/NOAA-EMC/NCEPLIBS-w3nco)
- [NCEPLIBS-bacio](https://github.com/NOAA-EMC/NCEPLIBS-bacio)
- [NCEPLIBS-nemsio](https://github.com/NOAA-EMC/NCEPLIBS-nemsio)
- [NCEPLIBS-sigio](https://github.com/NOAA-EMC/NCEPLIBS-sigio)
- [NCEPLIBS-sp](https://github.com/NOAA-EMC/NCEPLIBS-sp)
- [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip)
- [NCEPLIBS-w3emc](https://github.com/NOAA-EMC/NCEPLIBS-w3emc)
- [NCEPLIBS-g2](https://github.com/NOAA-EMC/NCEPLIBS-g2)
- [NCEPLIBS-wgrib2](https://github.com/NOAA-EMC/NCEPLIBS-wgrib2)

Expand Down
31 changes: 28 additions & 3 deletions cmake/FindESMF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,19 @@ if (ESMF_FOUND)
endif()
endforeach()

# Construct ESMF_VERSION from ESMF_VERSION_STRING_GIT
if(ESMF_FOUND)
# ESMF_VERSION_MAJOR and ESMF_VERSION_MINOR are defined in ESMFMKFILE
set(ESMF_VERSION 0)
set(ESMF_VERSION_PATCH ${ESMF_VERSION_REVISION})
set(ESMF_BETA_RELEASE FALSE)
if(ESMF_VERSION_BETASNAPSHOT MATCHES "^('T')$")
set(ESMF_BETA_RELEASE TRUE)
string(REGEX REPLACE ".*beta_snapshot_*\([0-9]*\).*" "\\1" ESMF_BETA_SNAPSHOT "${ESMF_VERSION_STRING_GIT}")
endif()
set(ESMF_VERSION "${ESMF_VERSION_MAJOR}.${ESMF_VERSION_MINOR}.${ESMF_VERSION_PATCH}")
endif()

separate_arguments(ESMF_F90COMPILEPATHS NATIVE_COMMAND ${ESMF_F90COMPILEPATHS})
foreach (ITEM ${ESMF_F90COMPILEPATHS})
string(REGEX REPLACE "^-I" "" ITEM "${ITEM}")
Expand All @@ -87,14 +100,16 @@ if (ESMF_FOUND)
find_library(esmf_lib NAMES esmf_fullylinked PATHS ${ESMF_LIBSDIR})
if(esmf_lib MATCHES "esmf_lib-NOTFOUND")
message(FATAL_ERROR "Neither the dynamic nor the static ESMF library was found")
else()
message(STATUS "Found ESMF library: ${esmf_lib}")
endif()
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_F90LINKPATHS} ${ESMF_F90LINKLIBS} ${ESMF_F90LINKOPTS}" ESMF_INTERFACE_LINK_LIBRARIES)
message(STATUS "Found ESMF library: ${esmf_lib}")
endif()

message(STATUS "Found ESMF library: ${esmf_lib}")
if(ESMF_BETA_RELEASE)
message(STATUS "Detected ESMF Beta snapshot ${ESMF_BETA_SNAPSHOT}")
endif()

set_target_properties(esmf PROPERTIES
Expand All @@ -103,3 +118,13 @@ if (ESMF_FOUND)
INTERFACE_LINK_LIBRARIES "${ESMF_INTERFACE_LINK_LIBRARIES}")

endif()

## Finalize find_package
include(FindPackageHandleStandardArgs)

find_package_handle_standard_args( ${CMAKE_FIND_PACKAGE_NAME}
REQUIRED_VARS ESMF_LIBSDIR
ESMF_INTERFACE_LINK_LIBRARIES
ESMF_F90COMPILEPATHS
VERSION_VAR ESMF_VERSION
HANDLE_COMPONENTS )
2 changes: 0 additions & 2 deletions modulefiles/build.cheyenne.intel
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,10 @@ module load g2/3.4.1
module load ip/3.3.3
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 sigio/2.3.2

module load sfcio/1.4.1
module load gfsio/1.4.1
module load wgrib2/2.0.8
module load netcdf/4.7.4

Expand Down
8 changes: 3 additions & 5 deletions modulefiles/build.hera.gnu
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
module load hpss
module load cmake/3.16.1

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

module load hpc/1.0.0-beta1
module load hpc/1.1.0
module load hpc-gnu/9.2.0
module load hpc-mpich/3.3.2

Expand All @@ -18,13 +18,11 @@ module load g2/3.4.1
module load ip/3.3.3
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 wgrib2/2.0.8
module load nccmp/1.8.7.0
module load png/1.6.35
module load zlib/1.2.11
module load jasper/2.0.15
module load jasper/2.0.22
8 changes: 3 additions & 5 deletions modulefiles/build.hera.intel
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
module load hpss
module load cmake/3.16.1

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

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

Expand All @@ -16,14 +16,12 @@ module load g2/3.4.1
module load ip/3.3.3
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 wgrib2/2.0.8

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

Expand Down
10 changes: 4 additions & 6 deletions modulefiles/build.jet.intel
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,23 @@
#############################################################
module load cmake/3.16.1

module use /lfs4/HFIP/hfv3gfs/nwprod/hpc-stack/libs/v1.0.0-beta1/modulefiles/stack
module load hpc/1.0.0-beta1
module use /lfs4/HFIP/hfv3gfs/nwprod/hpc-stack/libs/modulefiles/stack
module load hpc/1.1.0
module load hpc-intel/18.0.5.274
module load hpc-impi/2018.4.274

module load hdf5/1.10.6
module load netcdf/4.7.4
module load nccmp/1.8.7.0
module load esmf/8_1_0_beta_snapshot_21
module load jasper/2.0.15
module load esmf/8_1_0_beta_snapshot_27
module load jasper/2.0.22

module load w3nco/2.4.1
module load w3emc/2.7.3
module load sp/2.3.3
module load ip/3.3.3
module load bacio/2.4.1
module load sigio/2.3.2
module load sfcio/1.4.1
module load nemsio/2.5.2
module load gfsio/1.4.1
module load g2/3.4.1
module load wgrib2/2.0.8
2 changes: 0 additions & 2 deletions modulefiles/build.odin.intel
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,12 @@ setenv NETCDF /opt/cray/pe/netcdf-hdf5parallel/4.6.3.2/INTEL/19.0
#module use /oldscratch/ywang/external/NCEPLIBS_SRW/modules
module use /oldscratch/ywang/external/NCEPLIBS_SRWv2.0/modules
module load w3nco
module load w3emc
module load sp
module load ip
module load bacio
module load sigio
module load sfcio
module load nemsio
module load gfsio
module load g2
module load wgrib2

Expand Down
8 changes: 3 additions & 5 deletions modulefiles/build.orion.intel
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

module load cmake/3.17.3

module use /apps/contrib/NCEP/libs/hpc-stack/v1.0.0-beta1/modulefiles/stack
module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack

module load hpc/1.0.0-beta1
module load hpc/1.1.0
module load hpc-intel/2018.4
module load hpc-impi/2018.4

Expand All @@ -15,14 +15,12 @@ module load g2/3.4.1
module load ip/3.3.3
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 wgrib2/2.0.8

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

Expand Down
2 changes: 0 additions & 2 deletions modulefiles/build.stampede.intel
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,12 @@ module use /work/00315/tg455890/stampede2/regional_fv3/NCEPLIBS_SRWv2.0/modules
module load esmf/8.0.0

module load w3nco
module load w3emc
module load sp
module load ip
module load bacio
module load sigio
module load sfcio
module load nemsio
module load gfsio
module load g2
module load wgrib2

Expand Down
4 changes: 1 addition & 3 deletions modulefiles/build.wcoss_cray.intel
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,15 @@ module load cray-mpich/7.2.0
module load craype-haswell
module load alps/5.2.4-2.0502.9822.32.1.ari
module load cray-netcdf/4.3.3.1
module load cray-hdf5/1.8.14
module load cray-hdf5/1.8.14

module use /usrx/local/nceplibs/NCEPLIBS/cmake/install/NCEPLIBS-v1.2.0/modules
module load bacio/2.4.1
module load g2/3.4.1
module load ip/3.3.3
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 wgrib2/2.0.8
Expand Down
6 changes: 2 additions & 4 deletions modulefiles/build.wcoss_dell_p3.intel
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ module load lsf/10.1
module load HPSS/5.0.2.5
module load cmake/3.16.2

module use /usrx/local/nceplibs/dev/hpc-stack/test/hpc-stack/modulefiles/stack
module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack

module load hpc/1.0.0-beta1
module load hpc/1.1.0
module load hpc-ips/18.0.1.163
module load hpc-impi/18.0.1

Expand All @@ -26,9 +26,7 @@ module load g2/3.4.1
module load ip/3.3.3
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 wgrib2/2.0.8
Expand Down
5 changes: 5 additions & 0 deletions sorc/chgres_cube.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -convert big_endian -assume byterecl")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-0 -fdefault-real-8 -fconvert=big-endian")

# Turn on this argument mismatch flag for gfortran10.
if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch")
endif()
endif()

set(exe_name chgres_cube)
Expand Down
Loading

0 comments on commit ff60134

Please sign in to comment.