Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release/public-v2: update build.sh for macOS, update regression tests, update modulefiles #248

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ if(CMAKE_Platform)
endif()
endif()

# OpenMP broken for clang compiler
if(${CMAKE_C_COMPILER_ID} MATCHES "^(Clang|AppleClang)$")
set(OPENMP OFF CACHE BOOL "Enable OpenMP threading" FORCE)
endif()

message("")
message("32BIT ............ ${32BIT}")
message("AVX2 ............. ${AVX2}")
Expand Down
2 changes: 1 addition & 1 deletion FV3
Submodule FV3 updated 55 files
+3 −0 ccpp/CMakeLists.txt
+0 −98 ccpp/suites/suite_FV3_CPT_v0.xml
+0 −88 ccpp/suites/suite_FV3_GFS_2017.xml
+0 −87 ccpp/suites/suite_FV3_GFS_2017_coupled.xml
+0 −93 ccpp/suites/suite_FV3_GFS_2017_csawmg.xml
+0 −93 ccpp/suites/suite_FV3_GFS_2017_csawmgshoc.xml
+0 −86 ccpp/suites/suite_FV3_GFS_2017_fv3wam.xml
+0 −92 ccpp/suites/suite_FV3_GFS_2017_gfdlmp.xml
+0 −92 ccpp/suites/suite_FV3_GFS_2017_gfdlmp_noahmp.xml
+0 −93 ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml
+0 −92 ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml
+0 −89 ccpp/suites/suite_FV3_GFS_2017_h2ophys.xml
+0 −93 ccpp/suites/suite_FV3_GFS_2017_myj.xml
+0 −93 ccpp/suites/suite_FV3_GFS_2017_ntiedtke.xml
+0 −88 ccpp/suites/suite_FV3_GFS_2017_ozphys_2015.xml
+0 −92 ccpp/suites/suite_FV3_GFS_2017_sas.xml
+0 −88 ccpp/suites/suite_FV3_GFS_2017_satmedmf.xml
+0 −87 ccpp/suites/suite_FV3_GFS_2017_satmedmf_coupled.xml
+0 −88 ccpp/suites/suite_FV3_GFS_2017_satmedmfq.xml
+0 −91 ccpp/suites/suite_FV3_GFS_2017_shinhong.xml
+0 −91 ccpp/suites/suite_FV3_GFS_2017_stretched.xml
+0 −91 ccpp/suites/suite_FV3_GFS_2017_ysu.xml
+0 −88 ccpp/suites/suite_FV3_GFS_cpld_rasmgshoc.xml
+0 −90 ccpp/suites/suite_FV3_GFS_cpld_rasmgshocnsst.xml
+0 −90 ccpp/suites/suite_FV3_GFS_cpldnst_rasmgshoc.xml
+0 −92 ccpp/suites/suite_FV3_GFS_rasmgshoc.xml
+0 −93 ccpp/suites/suite_FV3_GFS_v15.xml
+0 −94 ccpp/suites/suite_FV3_GFS_v15_gf.xml
+0 −91 ccpp/suites/suite_FV3_GFS_v15_gf_thompson.xml
+0 −93 ccpp/suites/suite_FV3_GFS_v15_mynn.xml
+0 −93 ccpp/suites/suite_FV3_GFS_v15_ras.xml
+0 −89 ccpp/suites/suite_FV3_GFS_v15_rasmgshoc.xml
+0 −90 ccpp/suites/suite_FV3_GFS_v15_thompson.xml
+0 −90 ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
+0 −103 ccpp/suites/suite_FV3_GFS_v15p2_RRTMGP.xml
+0 −92 ccpp/suites/suite_FV3_GFS_v15p2_coupled.xml
+0 −91 ccpp/suites/suite_FV3_GFS_v15p2_no_nsst.xml
+0 −93 ccpp/suites/suite_FV3_GFS_v15plus.xml
+0 −93 ccpp/suites/suite_FV3_GFS_v15plusras.xml
+0 −93 ccpp/suites/suite_FV3_GFS_v16_csawmg.xml
+0 −94 ccpp/suites/suite_FV3_GFS_v16beta.xml
+0 −103 ccpp/suites/suite_FV3_GFS_v16beta_RRTMGP.xml
+0 −94 ccpp/suites/suite_FV3_GFS_v16beta_flake.xml
+0 −91 ccpp/suites/suite_FV3_GFS_v16beta_no_nsst.xml
+0 −87 ccpp/suites/suite_FV3_GSD_SAR.xml
+0 −91 ccpp/suites/suite_FV3_GSD_noah.xml
+0 −91 ccpp/suites/suite_FV3_GSD_noah_mynnsfc.xml
+0 −94 ccpp/suites/suite_FV3_GSD_v0.xml
+0 −92 ccpp/suites/suite_FV3_GSD_v0_drag_suite.xml
+0 −93 ccpp/suites/suite_FV3_GSD_v0_mynnsfc.xml
+0 −86 ccpp/suites/suite_FV3_HAFS_ferhires_update_moist.xml
+0 −86 ccpp/suites/suite_FV3_HRRR.xml
+0 −92 ccpp/suites/suite_FV3_RAP.xml
+5 −1 io/module_wrt_grid_comp.F90
+6 −0 module_fcst_grid_comp.F90
8 changes: 6 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
#!/bin/bash
set -eu

MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
if [[ $(uname -s) == Darwin ]]; then
readonly MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
else
readonly MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
fi

export CMAKE_C_COMPILER=${CMAKE_C_COMPILER:-mpicc}
export CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER:-mpicxx}
Expand All @@ -14,7 +18,7 @@ BUILD_DIR=${MYDIR}/build
rm -rf ${BUILD_DIR}
mkdir ${BUILD_DIR}

CCPP_SUITES="${CCPP_SUITES:-FV3_GFS_v15p2}"
CCPP_SUITES="${CCPP_SUITES:-FV3_GFS_v15p2,FV3_RRFS_v1beta}"
CMAKE_FLAGS+=" -DCCPP_SUITES=${CCPP_SUITES} -DNETCDF_DIR=${NETCDF}"

cd ${BUILD_DIR}
Expand Down
3 changes: 3 additions & 0 deletions cmake/GNU.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@

set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fcray-pointer -ffree-line-length-none -fno-range-check -fbacktrace")

if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz")
endif()

if(DEBUG)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wall -O0 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check")
Expand Down
4 changes: 0 additions & 4 deletions cmake/configure_macosx.gnu.cmake
Original file line number Diff line number Diff line change
@@ -1,4 +0,0 @@
# OpenMP broken for clang compiler
if(${CMAKE_C_COMPILER_ID} MATCHES "^(Clang|AppleClang)$")
set(OPENMP OFF CACHE BOOL "Enable OpenMP threading" FORCE)
endif()
19 changes: 1 addition & 18 deletions modulefiles/cheyenne.gnu/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,7 @@ module load ncarcompilers/0.5.0
## use pre-compiled NetCDF, ESMF and NCEP libraries for above compiler / MPI combination
##
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

##
## load cmake
Expand Down
19 changes: 1 addition & 18 deletions modulefiles/cheyenne.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,7 @@ module load ncarcompilers/0.5.0
## use pre-compiled NetCDF, ESMF and NCEP libraries for above compiler / MPI combination
##
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

##
## load cmake
Expand Down
20 changes: 1 addition & 19 deletions modulefiles/gaea.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,7 @@ module load cray-mpich/7.7.11
## use pre-compiled NetCDF, EMSF and NCEP libraries for above compiler / MPI combination
##
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

# Needed at runtime:
module load alps
Expand Down
20 changes: 1 addition & 19 deletions modulefiles/hera.gnu/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,7 @@ module load mpich/3.3.2
## use pre-compiled netCDF, EMSF library and NCEP libraries for above compiler / MPI combination
##
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

##
## load cmake
Expand Down
20 changes: 1 addition & 19 deletions modulefiles/hera.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,7 @@ module load impi/2018.0.4
## NCEP libraries
##
module use /scratch1/BMC/gmtb/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.0.4/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

##
## load cmake
Expand Down
20 changes: 1 addition & 19 deletions modulefiles/jet.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,7 @@ module load impi/2018.4.274
## use pre-compiled EMSF and NCEP libraries for above compiler / MPI combination
##
module use /lfs4/HFIP/hfv3gfs/software/NCEPLIBS-ufs-v2.0.0/intel-18.0.5.274/impi-2018.4.274/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

##
## load cmake
Expand Down
10 changes: 5 additions & 5 deletions modulefiles/linux.gnu/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ echo "Setting environment variables for NEMSfv3gfs on Linux with gcc/gfortran"
##
## load programming environment: compiler, flags, paths
##
export CC=${CC:-mpicc}
export CXX=${CXX:-mpicxx}
export F77=${F77:-mpif77}
export F90=${F90:-mpif90}
export FC=${FC:-mpif90}
export CC=${MPICC:-mpicc}
export CXX=${MPICXX:-mpicxx}
export F77=${MPIF77:-mpif77}
export F90=${MPIF90:-mpif90}
export FC=${MPIFORT:-mpif90}

##
## load cmake
Expand Down
25 changes: 3 additions & 22 deletions modulefiles/odin.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,11 @@ module load cray-parallel-netcdf/1.11.1.1
module load cray-hdf5-parallel/1.10.5.2
module load gcc/8.3.0

module use /oldscratch/ywang/external/NCEPLIBS_SRWv2.0/modules

##
### use pre-compiled NCEP libraries for above compiler / MPI combination
### use pre-compiled ESMF and NCEP libraries for above compiler / MPI combination
###
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

##
### use pre-compiled EMSF library for above compiler / MPI combination
##
module load esmf/8.0.0
module use /oldscratch/ywang/external/NCEPLIBS_SRWv2.0/modules
module load NCEPLIBS/2.0.0

##
## Use cmake - /scratch/software/Odin/bin/cmake
Expand Down
22 changes: 2 additions & 20 deletions modulefiles/orion.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,8 @@ module load netcdf/4.7.2
##
## use pre-compiled EMSF and NCEP libraries for above compiler / MPI combination
##
# DH* todo - shared directory
module use /work/noaa/gmtb/dheinzel/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules
# *DH

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

##
## load cmake
Expand Down
21 changes: 1 addition & 20 deletions modulefiles/stampede.intel/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ proc ModulesHelp {} {

module-whatis "loads NEMS FV3 prerequisites for Stampede/Intel"

# 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
Expand All @@ -27,23 +24,7 @@ setenv NETCDF /opt/apps/intel18/netcdf/4.6.2/x86_64
# DH* todo - shared directory
module use /work/06146/tg854455/stampede2/NCEPLIBS-ufs-v2.0.0/intel-18.0.2/impi-18.0.2/modules
# *DH

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

##
## load cmake
Expand Down
22 changes: 1 addition & 21 deletions modulefiles/wcoss_dell_p3/fv3
Original file line number Diff line number Diff line change
Expand Up @@ -26,27 +26,7 @@ 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 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

##
## load cmake
Expand Down
Loading