Skip to content
Snippets Groups Projects
Commit 524481b1 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 22/01/2019: add rules to compile with NAG compiler + removed old NAGf95 rules

parent b7ee659d
No related branches found
No related tags found
No related merge requests found
...@@ -187,7 +187,7 @@ CONTAINS ...@@ -187,7 +187,7 @@ CONTAINS
CHARACTER(len=5) :: CFILE CHARACTER(len=5) :: CFILE
INTEGER :: IFILE, IRANK_PROCIO INTEGER :: IFILE, IRANK_PROCIO
#if defined(MNH_SX5) || defined(MNH_SP4) || defined(NAGf95) || defined(MNH_LINUX) #if defined(MNH_SX5) || defined(MNH_SP4) || defined(MNH_LINUX)
CHARACTER(len=20) :: YSTATUS CHARACTER(len=20) :: YSTATUS
CHARACTER(len=20) :: YACCESS CHARACTER(len=20) :: YACCESS
CHARACTER(len=20) :: YFORM CHARACTER(len=20) :: YFORM
...@@ -257,7 +257,7 @@ CONTAINS ...@@ -257,7 +257,7 @@ CONTAINS
RETURN RETURN
END IF END IF
#if defined(MNH_SX5) || defined(MNH_SP4) || defined(NAGf95) || defined(MNH_LINUX) #if defined(MNH_SX5) || defined(MNH_SP4) || defined(MNH_LINUX)
!JUAN !JUAN
IF (PRESENT(STATUS)) THEN IF (PRESENT(STATUS)) THEN
YSTATUS=STATUS YSTATUS=STATUS
...@@ -355,7 +355,7 @@ CONTAINS ...@@ -355,7 +355,7 @@ CONTAINS
PAD=PAD) PAD=PAD)
#else #else
#if defined(MNH_SX5) || defined(MNH_SP4) || defined(NAGf95) || defined(MNH_LINUX) #if defined(MNH_SX5) || defined(MNH_SP4) || defined(MNH_LINUX)
!JUAN : 31/03/2000 modif pour acces direct !JUAN : 31/03/2000 modif pour acces direct
IF (YACCESS=='STREAM') THEN IF (YACCESS=='STREAM') THEN
OPEN(NEWUNIT=TPFILE%NLU, & OPEN(NEWUNIT=TPFILE%NLU, &
...@@ -482,7 +482,7 @@ CONTAINS ...@@ -482,7 +482,7 @@ CONTAINS
PAD=PAD) PAD=PAD)
#else #else
#if defined(MNH_SX5) || defined(MNH_SP4) || defined(NAGf95) || defined(MNH_LINUX) #if defined(MNH_SX5) || defined(MNH_SP4) || defined(MNH_LINUX)
IF (ACCESS=='DIRECT') THEN IF (ACCESS=='DIRECT') THEN
OPEN(NEWUNIT=TPFILE%NLU, & OPEN(NEWUNIT=TPFILE%NLU, &
FILE=TRIM(YPREFILENAME)//SUFFIX(".P"), & FILE=TRIM(YPREFILENAME)//SUFFIX(".P"), &
......
...@@ -326,7 +326,9 @@ A64=A64 ...@@ -326,7 +326,9 @@ A64=A64
endif endif
gribapi : $(GRIBAPI_INC) gribapi : $(GRIBAPI_INC)
$(GRIBAPI_INC) : $(GRIBAPI_INC) :
cd ${DIR_GRIBAPI} && ./configure --disable-shared --disable-jpeg --prefix=${GRIBAPI_PATH} CC="$(CC)" FC="$(FC)" ${GRIBAPI_CONF} && $(MAKE) -j 1 clean && $(MAKE) -j 1 && $(MAKE) -j 1 install && $(MAKE) -j 1 clean cd ${DIR_GRIBAPI} && ./configure --disable-shared --disable-jpeg --prefix=${GRIBAPI_PATH} CC="$(CC)" \
FC="$(FC)" FCFLAGS="$(GRIB_FLAGS)" ${GRIBAPI_CONF} && $(MAKE) -j 1 clean && \
$(MAKE) -j 1 && $(MAKE) -j 1 install && $(MAKE) -j 1 clean
gribapi_clean : gribapi_clean :
- [ -d ${GRIBAPI_PATH} ] && rm -fr ${GRIBAPI_PATH} - [ -d ${GRIBAPI_PATH} ] && rm -fr ${GRIBAPI_PATH}
...@@ -351,7 +353,7 @@ $(CDF_MOD) : ...@@ -351,7 +353,7 @@ $(CDF_MOD) :
CC="$(CC)" CFLAGS="$(NETCDF_OPT)" CPPFLAGS="${INC_NETCDF}" ${CDF_CONF} LDFLAGS="-L${CDF_PATH}/lib64" LIBS="-lhdf5_hl -lhdf5 -lsz -laec -lz" && \ CC="$(CC)" CFLAGS="$(NETCDF_OPT)" CPPFLAGS="${INC_NETCDF}" ${CDF_CONF} LDFLAGS="-L${CDF_PATH}/lib64" LIBS="-lhdf5_hl -lhdf5 -lsz -laec -lz" && \
$(MAKE) && $(MAKE) install && $(MAKE) clean $(MAKE) && $(MAKE) install && $(MAKE) clean
cd ${DIR_CDFF} && ./configure --disable-shared --prefix=${CDF_PATH} --libdir=${CDF_PATH}/lib64 \ cd ${DIR_CDFF} && ./configure --disable-shared --prefix=${CDF_PATH} --libdir=${CDF_PATH}/lib64 \
CC="$(CC)" CFLAGS="$(NETCDF_OPT)" FC="$(FC)" FCFLAGS="$(NETCDF_OPT)" FFLAGS="$(NETCDF_OPT)" \ CC="$(CC)" CFLAGS="$(NETCDF_OPT)" FC="$(FC)" FCFLAGS="$(NETCDF_OPT) $(NETCDF_SUPPFLAGS)" FFLAGS="$(NETCDF_OPT)" \
CPPFLAGS="${INC_NETCDF}" ${CDF_CONF} LDFLAGS="-L${CDF_PATH}/lib64" LIBS="-lnetcdf -lhdf5_hl -lhdf5 -lsz -laec -lz" && \ CPPFLAGS="${INC_NETCDF}" ${CDF_CONF} LDFLAGS="-L${CDF_PATH}/lib64" LIBS="-lnetcdf -lhdf5_hl -lhdf5 -lsz -laec -lz" && \
$(MAKE) && $(MAKE) install && $(MAKE) clean $(MAKE) && $(MAKE) install && $(MAKE) clean
......
#MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier #MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier
#MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence #MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
#MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt #MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
#MNH_LIC for details. version 1. #MNH_LIC for details. version 1.
########################################################## ##########################################################
# # # #
# Compiler Options # # Compiler Options #
# # # #
########################################################## ##########################################################
#OBJDIR_PATH=/home/escj/azertyuiopqsdfghjklm/wxcvbn/azertyuiopqsdfghjklmwxcvbn
# #
OPT_BASE = -r8 -mdir $(OBJDIR) -g -gline -kind=byte -w -maxcontin=200 -PIC OPT_BASE = -g -gline -kind=byte -PIC -wmismatch=$(LIST_MISMATCH)
OPT_PERF0 = -O0 OPT_PERF0 = -O0
OPT_PERF2 = -O2 OPT_PERF2 = -O2
OPT_CHECK = -C -nan OPT_CHECK = -C -nan
OPT_I8 = -i8
OPT_R8 = -r8
#
# Real/Integer 4/8 option
#
MNH_REAL ?=8
MNH_INT ?=4
LFI_RECL ?=512
#
#
ifneq "$(MNH_REAL)" "4"
OPT_BASE += $(OPT_R8)
CPPFLAGS_SURCOUCHE += -DMNH_MPI_DOUBLE_PRECISION
endif
#
OPT_BASE_I4 := $(OPT_BASE)
ifeq "$(MNH_INT)" "8"
OPT_BASE += $(OPT_I8)
LFI_INT ?=8
MNH_MPI_RANK_KIND ?=8
else
MNH_MPI_RANK_KIND ?=4
LFI_INT ?=4
endif
#
# #
OPT = $(OPT_BASE) $(OPT_PERF2) OPT = $(OPT_BASE) $(OPT_PERF2)
OPT0 = $(OPT_BASE) $(OPT_PERF0) OPT0 = $(OPT_BASE) $(OPT_PERF0)
...@@ -22,37 +46,50 @@ ifeq "$(OPTLEVEL)" "DEBUG" ...@@ -22,37 +46,50 @@ ifeq "$(OPTLEVEL)" "DEBUG"
OPT = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK) OPT = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
OPT0 = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK) OPT0 = $(OPT_BASE) $(OPT_PERF0) $(OPT_CHECK)
OPT_NOCB = $(OPT_BASE) $(OPT_PERF0) OPT_NOCB = $(OPT_BASE) $(OPT_PERF0)
CFLAGS += -g -O0
endif
#
#
CC = gcc
FC = nagfor
ifeq "$(VER_MPI)" "MPIAUTO"
F90 = mpifort
CPPFLAGS_SURCOUCHE += -DMNH_USE_MPI_STATUSES_IGNORE
else
F90 = nagfor
endif endif
# #
#
F90 = f95
F90FLAGS = $(OPT) F90FLAGS = $(OPT)
F77 = $(F90) F77 = $(F90)
#F77FLAGS = $(OPT) -132 -fixed F77FLAGS = $(OPT) -dusty
F77FLAGS = $(OPT) -fixed
FX90 = $(F90) FX90 = $(F90)
#FX90FLAGS = $(OPT) -132 -fixed
FX90FLAGS = $(OPT) -fixed FX90FLAGS = $(OPT) -fixed
# #
LDFLAGS = -Wl,-Xlinker,-noinhibit-exec -Wl,-Xlinker,-warn-once #LDFLAGS = -Wl,-Xlinker,-noinhibit-exec -Wl,-Xlinker,-warn-once
# #
# preprocessing flags # preprocessing flags
# #
CPP = cpp -P -traditional -Wcomment CPP = cpp -P -traditional -Wcomment
# #
CPPFLAGS_SURFEX = CPPFLAGS_SURFEX =
CPPFLAGS_SURCOUCHE = -DMNH_MPI_DOUBLE_PRECISION -DMNH_LINUX -DMNH_MPI_BSEND -DNAGf95 CPPFLAGS_SURCOUCHE += -DMNH_LINUX -DDEV_NULL -DMNH_MPI_RANK_KIND=$(MNH_MPI_RANK_KIND)
CPPFLAGS_RAD = CPPFLAGS_RAD =
CPPFLAGS_NEWLFI = -DSWAPIO -DLINUX CPPFLAGS_NEWLFI = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT} -DLFI_RECL=${LFI_RECL}
CPPFLAGS_MNH = -DMNH -DSFX_MNH CPPFLAGS_MNH = -DMNH -DSFX_MNH
# #
# Gribex flags # Gribex flags
# #
TARGET_GRIBEX=linux TARGET_GRIBEX=linux
CNAME_GRIBEX=f95 CNAME_GRIBEX=_nagfor
GRIB_FLAGS = -dusty -kind=byte
# #
# LIBTOOLS flags # Netcdf/HDF5 flags
#
HDF_CONF= CFLAGS=-std=c99
NETCDF_SUPPFLAGS = -dusty -kind=byte
#
## LIBTOOLS flags
# #
#if MNH_TOOLS exists => compile the tools #if MNH_TOOLS exists => compile the tools
MNH_TOOLS = yes MNH_TOOLS = yes
...@@ -62,7 +99,6 @@ MNH_TOOLS = yes ...@@ -62,7 +99,6 @@ MNH_TOOLS = yes
# Source of MESONH PACKAGE Distribution # # Source of MESONH PACKAGE Distribution #
# # # #
########################################################## ##########################################################
#DIR_SURFEX += ARCH_SRC/surfex
# #
include Makefile.MESONH.mk include Makefile.MESONH.mk
# #
...@@ -74,31 +110,16 @@ include Makefile.MESONH.mk ...@@ -74,31 +110,16 @@ include Makefile.MESONH.mk
# etc ... # # etc ... #
# # # #
########################################################## ##########################################################
#
# Where to find precompiled system module for "NAGf95"
# like "f90_unix.mod" , etc ...
#MODULE_SYSTEM = /opt/F95_42/lib/bytes
MODULE_SYSTEM = /usr/local/lib/NAGWare/bytes
all : $(MODULE_SYSTEM)
$(MODULE_SYSTEM) :
@test -d $@ || \
( echo ATTENTION :: Rules.LXNAGF95 ; \
echo MODULE_SYSTEM=$@ n existe pas ; exit 1 )
VPATH += $(MODULE_SYSTEM)
INC += -I$(MODULE_SYSTEM)
# ifneq "$(findstring 8,$(LFI_INT))" ""
# non conformance des argument/routine dans les appels MPI OBJS_I8=spll_NEWLFI_ALL.o
# $(OBJS_I8) : OPT = $(OPT_BASE) $(OPT_PERF2) $(OPT_I8)
OBJS1 = spll_mode_exchange2_ll.o spll_mode_exchange_ll.o spll_mode_fm.o \ endif
spll_mode_fmread.o spll_mode_fmwrit.o spll_mode_gather_ll.o \
spll_mode_init_ll.o spll_mode_io_ll.o spll_mode_scatter_ll.o \ ifeq "$(MNH_INT)" "8"
spll_mode_sum2_ll.o spll_mode_sum_ll.o spll_mode_tools_ll.o \ OBJS_I4=spll_modd_netcdf.o
spll_zdiffusetup.o spll_lapack.o spll_fm_writ_ll.o \ $(OBJS_I4) : OPT = $(OPT_BASE_I4)
spll_NEWLFI_ALL.o spll_fm_read_ll.o \ endif
mode_tools_ll.mod mode_gather_ll.mod \ #
mode_fmwrit.mod mode_scatter_ll.mod \ LIST_MISMATCH=MPI_Allgatherv,MPI_Allreduce,MPI_Bcast,MPI_Bsend,MPI_Gather,MPI_Gatherv,MPI_Recv,LEPOLY
mode_fmread.mod mode_sum_ll.mod \
mode_exchange_ll.mod
#
$(OBJS1): OPT = $(OPT_BASE) $(OPT_PERF0) -dusty
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment