diff -urN WRF-4.z.orig/arch/configure.defaults WRF-4.z/arch/configure.defaults --- WRF-4.z.orig/arch/configure.defaults 2022-12-19 17:37:16.000000000 +0000 +++ WRF-4.z/arch/configure.defaults 2023-04-24 08:51:45.531492104 +0000 @@ -45,29 +45,29 @@ NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD ########################################################### -#ARCH Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm +#ARCH Linux i486 i586 i686 armv7l aarch64, armflang compiler with armclang #serial smpar dmpar dm+sm # -DESCRIPTION = GNU ($SFC/$SCC) +DESCRIPTION = BSD ($SFC/$SCC) DMPARALLEL = # 1 OMPCPP = # -D_OPENMP OMP = # -fopenmp OMPCC = # -fopenmp -SFC = gfortran -SCC = gcc -CCOMP = gcc +SFC = armflang +SCC = armclang +CCOMP = armclang DM_FC = mpif90 -f90=$(SFC) -DM_CC = mpicc -cc=$(SCC) +DM_CC = mpicc -DMPI2_SUPPORT FC = CONFIGURE_FC CC = CONFIGURE_CC LD = $(FC) RWORDSIZE = CONFIGURE_RWORDSIZE PROMOTION = #-fdefault-real-8 ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR CONFIGURE_D_CTSM -CFLAGS_LOCAL = -w -O3 -c # -DRSL0_ONLY -LDFLAGS_LOCAL = +CFLAGS_LOCAL = -Ofast -mcpu=native -w -c # -DRSL0_ONLY +LDFLAGS_LOCAL = -Ofast -mcpu=native -armpl -lamath -lm -lastring CPLUSPLUSLIB = ESMF_LDFLAG = $(CPLUSPLUSLIB) -FCOPTIM = -O2 -ftree-vectorize -funroll-loops +FCOPTIM = -Ofast -mcpu=native -funroll-loops FCREDUCEDOPT = $(FCOPTIM) FCNOOPT = -O0 FCDEBUG = # -g $(FCNOOPT) # -fbacktrace -ggdb -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow @@ -76,15 +76,15 @@ FCSUFFIX = FCCOMPAT = BYTESWAPIO = -fconvert=big-endian -frecord-marker=4 -FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT) -FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FCDEBUG) +FCBASEOPTS_NO_G = -mcpu=native -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT) +FCBASEOPTS = $(OMP) $(FCBASEOPTS_NO_G) $(FCDEBUG) MODULE_SRCH_FLAG = TRADFLAG = CONFIGURE_TRADFLAG -CPP = /lib/cpp CONFIGURE_CPPFLAGS -AR = ar +CPP = cpp CONFIGURE_CPPFLAGS +AR = armllvm-ar ARFLAGS = ru M4 = m4 -B 14000 -RANLIB = ranlib +RANLIB = armllvm-ranlib RLFLAGS = CC_TOOLS = $(SCC) NETCDFPAR_BUILD = CONFIGURE_NETCDFPAR_BUILD diff -urN WRF-4.z.orig/configure WRF-4.z/configure --- WRF-4.z.orig/configure 2021-01-16 01:21:58.000000000 +0800 +++ WRF-4.z/configure 2023-04-12 18:14:27.206708681 +0800 @@ -686,7 +686,7 @@ foo=foo_$$ grep '^SFC' configure.wrf | grep -i 'gfortran' > /dev/null - if [ $? ] + if [ $? -eq 0 ] then cat > ${foo}.F << EOF