forked from NCAR/fv3atm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge NCAR:dtc/develop into develop 2020/04/14 (NCAR#102)
* add s4 rules * update submodule pointers * update the branch in gitmodules to point to NEMS::feature/s4 * Update .gitmodules and submodule pointer for ccpp-physics for code review and testing * Merge NCAR:dtc/develop into ufs-community:develop - for macOS with LLVM clang, turn off OpenMP (from UFS public release) - switch to Intel 18 on wcoss_cray - new regression tests with RRTMGP using current control as basis Co-authored-by: Rahul Mahajan <rmahajan@s4-submit.ssec.wisc.edu> Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
- Loading branch information
1 parent
7c3cdca
commit 3b16cad
Showing
43 changed files
with
259,439 additions
and
99,779 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule FV3
updated
17 files
+1 −0 | CMakeLists.txt | |
+1 −1 | atmos_cubed_sphere | |
+3 −9 | ccpp/CMakeLists.txt | |
+6 −6 | ccpp/build_ccpp.sh | |
+114 −4 | ccpp/config/ccpp_prebuild_config.py | |
+1 −1 | ccpp/framework | |
+1 −1 | ccpp/physics | |
+95 −0 | ccpp/suites/suite_FV3_GFS_2017_RRTMGP.xml | |
+0 −6 | gfsphysics/CMakeLists.txt | |
+2 −0 | gfsphysics/GFS_layer/GFS_physics_driver.F90 | |
+291 −33 | gfsphysics/GFS_layer/GFS_typedefs.F90 | |
+673 −32 | gfsphysics/GFS_layer/GFS_typedefs.meta | |
+4 −9 | gfsphysics/makefile | |
+4 −0 | io/CMakeLists.txt | |
+0 −2 | io/post_gfs.F90 | |
+4 −0 | ipd/CMakeLists.txt | |
+4 −0 | stochastic_physics/CMakeLists.txt |
Submodule NEMS
updated
23 files
+3 −0 | .gitignore | |
+1 −1 | .gitmodules | |
+2,445 −0 | doc/Doxyfile.IN | |
+64 −0 | doc/Makefile | |
+48 −0 | doc/architecture.md | |
+15 −0 | doc/cap-doc.md | |
+95 −0 | doc/configuring.md | |
+12 −0 | doc/documentation.dox | |
+76 −0 | doc/introduction.md | |
+3 −0 | doc/make-images-fit.css | |
+239 −0 | doc/mediator.md | |
+21 −0 | doc/nemsmain.md | |
+234 −0 | doc/prep_inputs.py | |
+34 −0 | doc/scan_repo.pl | |
+1 −0 | src/MAIN_NEMS.F90 | |
+6 −0 | src/conf/module-setup.csh.inc | |
+6 −0 | src/conf/module-setup.sh.inc | |
+1 −0 | src/incmake/buildenv.mk | |
+10 −0 | src/incmake/env/ssec/detect.mk | |
+7 −0 | src/incmake/env/ssec/s4.intel.mk | |
+2 −0 | src/module_NEMS_GRID_COMP.F90 | |
+1 −1 | src/module_NEMS_Rusage.F90 | |
+1 −1 | tests/produtil/NCEPLIBS-pyprodutil |
Submodule WW3
updated
31 files
+7 −0 | manual/impl/switch.tex | |
+22 −2 | manual/sys/w3adc.tex | |
+28 −3 | model/aux/w3adc.f | |
+1 −0 | model/bin/all_switches | |
+5 −5 | model/bin/cmplr.env | |
+14 −1 | model/bin/make_makefile.sh | |
+1 −0 | model/bin/w3_new | |
+5 −0 | model/esmf/Makefile | |
+1 −0 | model/esmf/switch | |
+4 −0 | model/ftn/w3gdatmd.ftn | |
+9 −9 | model/ftn/w3initmd.ftn | |
+13 −14 | model/ftn/w3iorsmd.ftn | |
+5 −1 | model/ftn/w3pro2md.ftn | |
+6 −2 | model/ftn/w3pro3md.ftn | |
+269 −138 | model/ftn/w3psmcmd.ftn | |
+3 −1 | model/ftn/w3uno2md.ftn | |
+13 −7 | model/ftn/w3wavemd.ftn | |
+24 −10 | model/ftn/wmesmfmd.ftn | |
+2 −0 | model/ftn/wmgridmd.ftn | |
+4 −1 | model/ftn/wminitmd.ftn | |
+8 −24 | model/ftn/wmupdtmd.ftn | |
+13 −0 | model/ftn/ww3_multi.ftn | |
+17 −3 | model/ftn/ww3_shel.ftn | |
+2 −3 | model/ftn/ww3_strt.ftn | |
+6 −6 | model/ftn/ww3_uprstr.ftn | |
+5 −0 | regtests/bin/matrix.base | |
+36 −26 | regtests/bin/run_test | |
+2 −0 | regtests/ww3_tp2.10/info | |
+1 −0 | regtests/ww3_tp2.10/input/switch_MPI_OMPH | |
+1 −0 | regtests/ww3_tp2.16/info | |
+1 −0 | regtests/ww3_tp2.16/input/switch_MPI_OMPH |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,193 @@ | ||
## NEMS configuration file | ||
## | ||
## Platform: SSEC Wisconsin S4 | ||
## Compiler: Intel with IntelMPI | ||
|
||
SHELL=/bin/sh | ||
|
||
################################################################################ | ||
## Include the common configuration parts | ||
|
||
ifdef InNemsMakefile | ||
include $(TOP)/conf/configure.nems.NUOPC | ||
endif | ||
|
||
############ | ||
# commands # | ||
############ | ||
FC = mpiifort | ||
CC = mpiicc | ||
CXX = mpiicpc | ||
LD = mpiifort -mkl=sequential | ||
|
||
######### | ||
# flags # | ||
######### | ||
# default is 64-bit OpenMP non-hydrostatic build using AVX2 | ||
DEBUG = | ||
REPRO = | ||
VERBOSE = | ||
OPENMP = Y | ||
AVX2 = N | ||
HYDRO = N | ||
CCPP = N | ||
STATIC = N | ||
INLINE_POST=N | ||
|
||
include $(ESMFMKFILE) | ||
ESMF_INC = $(ESMF_F90COMPILEPATHS) | ||
|
||
NEMSIOINC = -I$(NEMSIO_INC) | ||
NCEPLIBS = $(NEMSIO_LIB) $(BACIO_LIB4) $(SP_LIBd) $(W3EMC_LIBd) $(W3NCO_LIBd) | ||
|
||
############################################## | ||
# Need to use at least GNU Make version 3.81 # | ||
############################################## | ||
need := 3.81 | ||
ok := $(filter $(need),$(firstword $(sort $(MAKE_VERSION) $(need)))) | ||
ifneq ($(need),$(ok)) | ||
$(error Need at least make version $(need). Load module gmake/3.81) | ||
endif | ||
|
||
NETCDF_ROOT = $(NETCDF_DIR) | ||
NETCDF = $(NETCDF_DIR) | ||
INCLUDE = -I$(NETCDF_ROOT)/include | ||
NETCDF_INC = -I$(NETCDF_ROOT)/include | ||
ifneq ($(findstring netcdf/4,$(LOADEDMODULES)),) | ||
NETCDF_LIB += -L$(NETCDF)/lib -lnetcdff -lnetcdf | ||
else | ||
NETCDF_LIB = -L$(NETCDF)/lib -lnetcdff -lnetcdf | ||
endif | ||
|
||
FPPFLAGS := -fpp -Wp,-w $(INCLUDE) | ||
CFLAGS := $(INCLUDE) | ||
|
||
FFLAGS := $(INCLUDE) -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte | ||
|
||
CPPDEFS += -Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -DUSE_GFSL63 -DGFS_PHYS -Duse_WRTCOMP | ||
CPPDEFS += -DNEW_TAUCTMAX -DINTERNAL_FILE_NML | ||
|
||
ifeq ($(INLINE_POST),Y) | ||
CPPDEFS += | ||
NCEPLIBS = $(POST_LIB) $(NEMSIO_LIB) $(G2_LIB4) $(G2TMPL_LIB) $(BACIO_LIB4) $(SP_LIBd) $(W3EMC_LIBd) $(W3NCO_LIBd) $(CRTM_LIB) $(PNG_LIB) $(JASPER_LIB) $(Z_LIB) | ||
else | ||
CPPDEFS += -DNO_INLINE_POST | ||
endif | ||
|
||
ifeq ($(HYDRO),Y) | ||
CPPDEFS += | ||
else | ||
CPPDEFS += -DMOIST_CAPPA -DUSE_COND | ||
endif | ||
|
||
ifeq ($(NAM_phys),Y) | ||
CPPDEFS += -DNAM_phys | ||
endif | ||
|
||
ifeq ($(32BIT),Y) | ||
CPPDEFS += -DOVERLOAD_R4 -DOVERLOAD_R8 | ||
FFLAGS += -i4 -real-size 32 | ||
else | ||
ifeq ($(REPRO),Y) | ||
FFLAGS += -i4 -real-size 64 | ||
else | ||
FFLAGS += -i4 -real-size 64 -no-prec-div -no-prec-sqrt | ||
endif | ||
endif | ||
|
||
ifeq ($(REPRO),Y) | ||
FFLAGS += -qno-opt-dynamic-align | ||
CFLAGS += -qno-opt-dynamic-align | ||
else | ||
ifeq ($(AVX2),Y) | ||
FFLAGS += -xCORE-AVX2 -qno-opt-dynamic-align | ||
CFLAGS += -xCORE-AVX2 -qno-opt-dynamic-align | ||
else | ||
FFLAGS += -xHOST -qno-opt-dynamic-align | ||
CFLAGS += -xHOST -qno-opt-dynamic-align | ||
endif | ||
endif | ||
|
||
ifeq ($(MULTI_GASES),Y) | ||
CPPDEFS += -DMULTI_GASES | ||
endif | ||
|
||
FFLAGS_OPT = -O2 -debug minimal -fp-model strict -qoverride-limits -qopt-prefetch=3 -g -traceback | ||
FFLAGS_REPRO = -O2 -debug minimal -fp-model strict -qoverride-limits -g -traceback | ||
FFLAGS_DEBUG = -g -O0 -check -check noarg_temp_created -check nopointer -warn -warn noerrors -fp-stack-check -fstack-protector-all -fpe0 -debug -traceback -ftrapuv | ||
|
||
TRANSCENDENTALS := -fast-transcendentals | ||
FFLAGS_OPENMP = -qopenmp | ||
FFLAGS_VERBOSE = -v -V -what | ||
|
||
CFLAGS += -D__IFC -sox -fp-model strict | ||
|
||
CFLAGS_OPT = -O2 -debug minimal | ||
CFLAGS_REPRO = -O2 -debug minimal | ||
CFLAGS_OPENMP = -qopenmp | ||
CFLAGS_DEBUG = -O0 -g -ftrapuv -traceback | ||
|
||
# Optional Testing compile flags. Mutually exclusive from DEBUG, REPRO, and OPT | ||
# *_TEST will match the production if no new option(s) is(are) to be tested. | ||
FFLAGS_TEST = -O2 -debug minimal -fp-model strict -qoverride-limits | ||
CFLAGS_TEST = -O2 | ||
|
||
LDFLAGS := | ||
LDFLAGS_OPENMP := -qopenmp | ||
LDFLAGS_VERBOSE := -Wl,-V,--verbose,-cref,-M | ||
|
||
# start with blank LIBS | ||
LIBS := | ||
|
||
ifeq ($(REPRO),Y) | ||
CPPDEFS += -DREPRO | ||
CFLAGS += $(CFLAGS_REPRO) | ||
FFLAGS += $(FFLAGS_REPRO) | ||
FAST := | ||
else ifeq ($(DEBUG),Y) | ||
CPPDEFS += -DDEBUG | ||
CFLAGS += $(CFLAGS_DEBUG) | ||
FFLAGS += $(FFLAGS_DEBUG) | ||
FAST := | ||
else ifeq ($(TEST),Y) | ||
CFLAGS += $(CFLAGS_TEST) | ||
FFLAGS += $(FFLAGS_TEST) | ||
FAST := | ||
else | ||
CFLAGS += $(CFLAGS_OPT) | ||
FFLAGS += $(FFLAGS_OPT) | ||
FAST := $(TRANSCENDENTALS) | ||
endif | ||
|
||
ifeq ($(OPENMP),Y) | ||
CPPDEFS += -DOPENMP | ||
CFLAGS += $(CFLAGS_OPENMP) | ||
FFLAGS += $(FFLAGS_OPENMP) | ||
LDFLAGS += $(LDFLAGS_OPENMP) | ||
endif | ||
|
||
ifeq ($(VERBOSE),Y) | ||
CFLAGS += $(CFLAGS_VERBOSE) | ||
FFLAGS += $(FFLAGS_VERBOSE) | ||
LDFLAGS += $(LDFLAGS_VERBOSE) | ||
endif | ||
|
||
ifeq ($(CCPP),Y) | ||
CPPDEFS += -DCCPP | ||
CFLAGS += -I$(PATH_CCPP)/include | ||
FFLAGS += -I$(PATH_CCPP)/include | ||
ifeq ($(STATIC),Y) | ||
CPPDEFS += -DSTATIC | ||
LDFLAGS += -L$(PATH_CCPP)/lib -lccppphys -lccpp $(NCEPLIBS) -lxml2 | ||
else | ||
LDFLAGS += -L$(PATH_CCPP)/lib -lccpp | ||
endif | ||
endif | ||
|
||
LDFLAGS += $(LIBS) | ||
|
||
ifdef InNemsMakefile | ||
FFLAGS += $(ESMF_INC) | ||
CPPFLAGS += -traditional | ||
EXTLIBS = $(NCEPLIBS) $(ESMF_LIB) $(LDFLAGS) $(NETCDF_LIB) | ||
endif |
Oops, something went wrong.