diff --git a/components/mpas-framework/Makefile b/components/mpas-framework/Makefile index ac1f8a1d4ae3..98125fcb76af 100644 --- a/components/mpas-framework/Makefile +++ b/components/mpas-framework/Makefile @@ -409,6 +409,12 @@ cray-nersc: "CPPFLAGS = $(MODEL_FORMULATION) -D_MPI" ) gnu-nersc: + GFORTRAN_GTE_10=$$(expr `ftn -dumpversion | cut -f1 -d.` \>= 10) ;\ + if [ "$${GFORTRAN_GTE_10}" = "1" ]; then \ + EXTRA_FFLAGS="-fallow-argument-mismatch"; \ + else \ + EXTRA_FFLAGS=""; \ + fi; \ ( $(MAKE) all \ "FC_PARALLEL = ftn" \ "CC_PARALLEL = cc" \ @@ -418,11 +424,11 @@ gnu-nersc: "CXX_SERIAL = CC" \ "FFLAGS_FPIEEE = " \ "FFLAGS_PROMOTION = -fdefault-real-8 -fdefault-double-8" \ - "FFLAGS_OPT = -O3 -m64 -ffree-line-length-none -fconvert=big-endian -ffree-form -ffpe-summary=none" \ + "FFLAGS_OPT = -O3 -m64 -ffree-line-length-none -fconvert=big-endian -ffree-form -ffpe-summary=none $${EXTRA_FFLAGS}" \ "CFLAGS_OPT = -O3 -m64" \ "CXXFLAGS_OPT = -O3 -m64" \ "LDFLAGS_OPT = -O3 -m64" \ - "FFLAGS_DEBUG = -g -m64 -ffree-line-length-none -fconvert=big-endian -ffree-form -fbounds-check -fbacktrace -ffpe-trap=invalid,zero,overflow -ffpe-summary=none" \ + "FFLAGS_DEBUG = -g -m64 -ffree-line-length-none -fconvert=big-endian -ffree-form -fbounds-check -fbacktrace -ffpe-trap=invalid,zero,overflow -ffpe-summary=none $${EXTRA_FFLAGS}" \ "CFLAGS_DEBUG = -g -m64" \ "CXXFLAGS_DEBUG = -g -m64" \ "LDFLAGS_DEBUG = -g -m64" \