Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nemo/nemo
  • sparonuz/nemo
  • hatfield/nemo
  • extdevs/nemo
4 results
Show changes
Showing
with 231 additions and 444 deletions
# Ada IBM x3750 at french IDRIS, http://www.idris.fr/ada/ada-hw-ada.html
#
# NCDF_HOME root directory containing lib and include subdirectories for netcdf4
# HDF5_HOME root directory containing lib and include subdirectories for HDF5
# XIOS_HOME root directory containing lib for XIOS
# OASIS_HOME root directory containing lib for OASIS
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_iomput is activated)
# XIOS_LIB xios library (taken into accound only if key_iomput is activated)
# OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated)
# OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated)
#
# FC Fortran compiler command
# FCFLAGS Fortran compiler flags
# FFLAGS Fortran 77 compiler flags
# LD linker
# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries
# FPPFLAGS pre-processing flags
# AR assembler
# ARFLAGS assembler flags
# MK make
# USER_INC complete list of include files
# USER_LIB complete list of libraries to pass to the linker
# CC C compiler used to compile conv for AGRIF
# CFLAGS compiler flags used with CC
#
# Note that:
# - unix variables "$..." are accpeted and will be evaluated before calling fcm.
# - fcm variables are starting with a % (and not a $)
#
#
%XIOS_HOME $WORK/xios-trunk
%OASIS_HOME /not/defined
%NCDF_INC -I${NETCDF_FORTRAN_ROOT}/include -I${NETCDF_C_ROOT}/include
%NCDF_LIB -L${NETCDF_FORTRAN_ROOT}/lib -lnetcdff -L${NETCDF_C_ROOT}/lib -lnetcdf -L${HDF5_ROOT}/lib -lhdf5_hl -lhdf5 -lz -lcurl
%XIOS_INC -I%XIOS_HOME/inc
%XIOS_LIB -L%XIOS_HOME/lib -lxios -lstdc++
%OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1
%OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpif90 -c -cpp
%PROD_FCFLAGS -DCPP_PARA -i4 -r8 -O3 -fp-model strict -fno-alias
%DEBUG_FCFLAGS -i4 -r8 -g -O0 -debug all -traceback -fp-model strict -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%FFLAGS %FCFLAGS
%LD mpif90
%LDFLAGS
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK make
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC cc
%CFLAGS -O0
# compiler options for BELENOS/TARANIS (using INTEL compiler + MVAPICH2 MPI)
#
# --------------------------------
# INTEL_MVAP (NEMO 4.0 + XIOS-2.5)
# --------------------------------
# module use /home/ext/mr/smer/samsong/modules
# module load intel/2018.5.274 mvapich2-2.3.5 hdf5-1.8.18-mvapich2 netcdf-4.7.1-mvapich2 xios/2.5/rev1903-mvapich2
#
# ----------------------------------
# INTEL_MVAP (NEMO 4.2 + XIOS-TRUNK)
# ----------------------------------
# module use /home/ext/mr/smer/samsong/modules
# module load gcc/9.2.0 intel/2018.5.274 mvapich2-2.3.5 hdf5-1.8.18-mvapich2 netcdf-4.7.1-mvapich2 xios/trink/rev2134-mvapich2
# compiler options for AA (using GCC compiler)
#
#
# NCDF_INC netcdf4 include file
......@@ -46,26 +34,27 @@
#---------------------------------------------------------------------------------------------
#
#
%NCDF_INC -I${NETCDF_INC}
%NCDF_LIB -L${NETCDF_LIB} -lnetcdff -lnetcdf -L${PHDF5_LIB_DIR} -lhdf5_hl -lhdf5
%NCDF_INC ${NETCDF4_INCLUDE}
%NCDF_LIB -L${NETCDF4_DIR}/lib -lnetcdff -lnetcdf -L${HDF5_DIR}/lib -lhdf5_hl -lm
%XIOS_INC -I${XIOS_INC}
%XIOS_LIB -L${XIOS_LIB} -lxios -lstdc++
%OASIS_INC -I${OASIS_DIR}/include
%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpiifort -c -cpp
%PROD_FCFLAGS -march=core-avx2 -i4 -r8 -O3 -fp-model strict -fno-alias -align array64byte
%DEBUG_FCFLAGS -march=core-avx2 -i4 -r8 -g -O0 -debug all -traceback -fp-model strict -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%CPP cpp -Dkey_nosignedzero
%FC mpif90 -c -cpp
# O3 breaks reproduci/restartabi-lity with gcc/12.2.0
%PROD_FCFLAGS -fdefault-real-8 -O2 -funroll-all-loops -fcray-pointer -ffree-line-length-none -fallow-argument-mismatch -Wno-missing-include-dirs
%DEBUG_FCFLAGS -fdefault-real-8 -Og -g -fbacktrace -funroll-all-loops -fcray-pointer -ffree-line-length-none -fcheck=all,no-array-temps -finit-real=nan -ffpe-trap=invalid,zero,overflow -ffpe-summary=invalid,zero,overflow -fallow-argument-mismatch -Wno-missing-include-dirs
%FFLAGS %FCFLAGS
%LD mpiifort
%LDFLAGS
%LD mpif90
%LDFLAGS -Wl,-rpath,${HDF5_DIR}/lib -Wl,-rpath=${NETCDF4_DIR}/lib -Wl,-rpath=${XIOS_DIR}/lib
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK gmake
%MK make
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpiicc
%CFLAGS -O0
%CC gcc
%CFLAGS -O0 -fcommon
if ! grep -qi xios <<< $(module list); then
module purge
module use /home/ar0s/modules
# may23
module load prgenv/gnu gcc/12.2.0 openmpi/4.1.1.1 hdf5-parallel/1.12.2 netcdf4-parallel/4.9.1 xios/trunk/r2515_gcc-ompi.may23 &> /dev/null
if ! grep -qi xios <<< $(module list); then echo 'module error'; exit 1; fi
else
echo 'xios module already loaded'
fi
module list
# compiler options for AA (using GCC compiler & OpenMPI)
#
# module use /home/ar0s/modules
# prgenv/gnu gcc/11.2.0 openmpi/4.1.1.1 hdf5-parallel/1.10.6 netcdf4-parallel/4.7.4 xios/trunk/rev2320-impi
#
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_xios is activated)
# XIOS_LIB xios library (taken into accound only if key_xios is activated)
# OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated)
# OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated)
#
# FC Fortran compiler command
# FCFLAGS Fortran compiler flags
# FFLAGS Fortran 77 compiler flags
# LD linker
# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries
# FPPFLAGS pre-processing flags
# AR assembler
# ARFLAGS assembler flags
# MK make
# USER_INC complete list of include files
# USER_LIB complete list of libraries to pass to the linker
# CC C compiler used to compile conv for AGRIF
# CFLAGS compiler flags used with CC
#
# Note that:
# - unix variables "$..." are accpeted and will be evaluated before calling fcm.
# - fcm variables are starting with a % (and not a $)
#
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
# All NETCDF and HDF paths are empty as they are automatically defined through environment
# variables by the load of modules
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
#
#
%NCDF_INC ${NETCDF4_INCLUDE}
#%NCDF_LIB ${NETCDF4_LIB} ${HDF5_LIB}
%NCDF_LIB ${NETCDF4_LIB} -L/usr/local/apps/hdf5-parallel/1.10.6/GNU/8.4/OMPI/4.1/lib -Wl,-rpath,/usr/local/apps/hdf5-parallel/1.10.6/GNU/8.4/OMPI/4.1/lib -lhdf5hl_fortran -lhdf5_hl_cpp -lhdf5_hl -lhdf5_fortran -lhdf5_cpp -lhdf5 -lm -lhdf5_hl -lhdf5
%XIOS_INC -I${XIOS_INC}
%XIOS_LIB -L${XIOS_LIB} -lxios
%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp -Dkey_nosignedzero
%FC mpif90 -c -cpp
#%FCFLAGS -fdefault-real-8 -O2 -ftree-vectorize -funroll-all-loops -ffree-line-length-none -Wno-missing-include-dirs
%FCFLAGS -fdefault-real-8 -O3 -ffree-line-length-none -Wno-missing-include-dirs -fallow-argument-mismatch
%FFLAGS %FCFLAGS
%LD mpif90
%LDFLAGS -lstdc++
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK gmake
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpicc
%CFLAGS -O0
arch-X64_AA_GCC.fcm
\ No newline at end of file
if ! grep -qi xios <<< $(module list); then
module purge
module use /home/ar0s/modules
# may23
module load prgenv/gnu gcc/12.2.0 hpcx-openmpi/may23 hdf5-parallel/may23 netcdf4-parallel/may23 xios/trunk/r2515_gcc-xmpi.may23 &> /dev/null
# may24
#module load prgenv/gnu gcc/may24 hpcx-openmpi/2.17.1 hdf5-parallel/may24 netcdf4-parallel/may24 xios/trunk/r2515_gcc-xmpi.may24 &> /dev/null
if ! grep -qi xios <<< $(module list); then echo 'module error'; exit 1; fi
else
echo 'xios module already loaded'
fi
module list
\ No newline at end of file
arch-X64_AA_GCC.fcm
\ No newline at end of file
# compiler options for AA (using INTEL compiler & INTEL MPI)
#
# module use /home/ar0s/modules
# module load prgenv/intel intel/2021.4.0 intel-mpi/2021.4.0 hdf5-parallel/1.10.6 netcdf4-parallel/4.7.4 xios/trunk/rev2320-impi
# compiler options for AA (using INTEL compiler)
#
#
# NCDF_INC netcdf4 include file
......@@ -45,18 +42,18 @@
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpiifort -c -cpp
%FC mpifort -c -cpp
%PROD_FCFLAGS -march=core-avx2 -i4 -r8 -O3 -fp-model strict -fno-alias -align array64byte
%DEBUG_FCFLAGS -march=core-avx2 -i4 -r8 -g -O0 -debug all -traceback -fp-model strict -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%FFLAGS %FCFLAGS
%LD mpiifort
%LD mpifort
%LDFLAGS
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK gmake
%MK make
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpiicc
%CC icc
%CFLAGS -O0
if ! grep -qi xios <<< $(module list); then
module purge
module use /home/ar0s/modules
# may21
#module load prgenv/intel intel/2021.4.0 openmpi/4.1.1.1 hdf5-parallel/may21 netcdf4-parallel/may21 xios/trunk/r2515_intel-ompi.may21 &> /dev/null
# may23
module load prgenv/intel intel/2021.4.0 openmpi/4.1.1.1 hdf5-parallel/may23 netcdf4-parallel/may23 xios/trunk/r2515_intel-ompi.may23 &> /dev/null
if ! grep -qi xios <<< $(module list); then echo 'module error'; exit 1; fi
else
echo 'xios module already loaded'
fi
module list
# compiler options for AA (using INTEL compiler & OpenMPI)
#
# module purge
# module use /home/ar0s/modules
# module load prgenv/intel intel/2021.4.0 openmpi/4.1.1.1 hdf5-parallel/1.10.6 netcdf4-parallel/4.7.4 xios/trunk/rev2320-nmpi
#
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_xios is activated)
# XIOS_LIB xios library (taken into accound only if key_xios is activated)
# OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated)
# OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated)
#
# FC Fortran compiler command
# FCFLAGS Fortran compiler flags
# FFLAGS Fortran 77 compiler flags
# LD linker
# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries
# FPPFLAGS pre-processing flags
# AR assembler
# ARFLAGS assembler flags
# MK make
# USER_INC complete list of include files
# USER_LIB complete list of libraries to pass to the linker
# CC C compiler used to compile conv for AGRIF
# CFLAGS compiler flags used with CC
#
# Note that:
# - unix variables "$..." are accpeted and will be evaluated before calling fcm.
# - fcm variables are starting with a % (and not a $)
#
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
# All NETCDF and HDF paths are empty as they are automatically defined through environment
# variables by the load of modules
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
#
#
%NCDF_INC ${NETCDF4_INCLUDE}
%NCDF_LIB ${NETCDF4_LIB} -L${HDF5_DIR}/lib -Wl,-rpath,${HDF5_DIR}/lib -lhdf5_hl -lhdf5 -lz
%XIOS_INC -I${XIOS_INC}
%XIOS_LIB -L${XIOS_LIB} -lxios -lstdc++
%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpifort -c -cpp
%PROD_FCFLAGS -march=core-avx2 -i4 -r8 -O3 -fp-model strict -fno-alias -align array64byte
%DEBUG_FCFLAGS -march=core-avx2 -i4 -r8 -g -O0 -debug all -traceback -fp-model strict -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%FFLAGS %FCFLAGS
%LD mpifort
%LDFLAGS
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK gmake
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpicc
%CFLAGS -O0
arch-X64_AA_INTEL.fcm
\ No newline at end of file
if ! grep -qi xios <<< $(module list); then
module purge
module use /home/ar0s/modules
# may23
module load prgenv/intel intel/2021.4.0 hpcx-openmpi/2.9.0 hdf5-parallel/1.12.2 netcdf4-parallel/4.9.1 xios/trunk/r2515_intel-xmpi.may23 &> /dev/null
if ! grep -qi xios <<< $(module list); then echo 'module error'; exit 1; fi
else
echo 'xios module already loaded'
fi
module list
# compiler options for AA (using INTEL compiler & HPCX OpenMPI)
#
# module use /home/ar0s/modules
# module load prgenv/intel intel/2021.4.0 hpcx-openmpi/2.9.0 hdf5-parallel/1.10.6 netcdf4-parallel/4.7.4 xios/trunk/rev2320-xmpi
#
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_xios is activated)
# XIOS_LIB xios library (taken into accound only if key_xios is activated)
# OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated)
# OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated)
#
# FC Fortran compiler command
# FCFLAGS Fortran compiler flags
# FFLAGS Fortran 77 compiler flags
# LD linker
# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries
# FPPFLAGS pre-processing flags
# AR assembler
# ARFLAGS assembler flags
# MK make
# USER_INC complete list of include files
# USER_LIB complete list of libraries to pass to the linker
# CC C compiler used to compile conv for AGRIF
# CFLAGS compiler flags used with CC
#
# Note that:
# - unix variables "$..." are accpeted and will be evaluated before calling fcm.
# - fcm variables are starting with a % (and not a $)
#
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
# All NETCDF and HDF paths are empty as they are automatically defined through environment
# variables by the load of modules
#---------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------
#
#
%NCDF_INC ${NETCDF4_INCLUDE}
%NCDF_LIB ${NETCDF4_LIB} ${HDF5_LIB}
%XIOS_INC -I${XIOS_INC}
%XIOS_LIB -L${XIOS_LIB} -lxios -lstdc++
%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpifort -c -cpp
%FCFLAGS -march=core-avx2 -i4 -r8 -O3 -fp-model strict -fno-alias -align array64byte
%FFLAGS %FCFLAGS
%LD mpifort
%LDFLAGS
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK gmake
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpicc
%CFLAGS -O0
arch-X64_AA_INTEL.fcm
\ No newline at end of file
if ! grep -qi xios <<< $(module list 2>&1); then
module purge
module use /home/ext/mr/smer/samsong/modules
module load git/2.27.0 gcc/9.2.0 intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/trunk/r2515_intel-impi &> /dev/null
if ! grep -qi xios <<< $(module list 2>&1); then echo 'module error'; exit 1; fi
else
echo 'xios module already loaded'
fi
module list
# compiler options for BELENOS/TARANIS (using INTEL compiler + INTEL MPI)
#
# --------------------------------
# INTEL_IMPI (NEMO 4.0 + XIOS-2.5)
# --------------------------------
# module use /home/ext/mr/smer/samsong/modules
# module load intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/2.5/rev1903
#
# ----------------------------------
# INTEL_IMPI (NEMO 4.2 + XIOS-TRUNK)
# ----------------------------------
# module use /home/ext/mr/smer/samsong/modules
# module load gcc/9.2.0 intel/2018.5.274 intelmpi/2018.5.274 phdf5/1.8.18 netcdf_par/4.7.1_V2 xios/trunk/rev2134
#
# compiler options for BELENOS/TARANIS (using INTEL compiler + Open MPI)
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
......@@ -50,13 +37,15 @@
%NCDF_LIB -L${NETCDF_LIB} -lnetcdff -lnetcdf -L${PHDF5_LIB_DIR} -lhdf5_hl -lhdf5
%XIOS_INC -I${XIOS_INC}
%XIOS_LIB -L${XIOS_LIB} -lxios -lstdc++
%OASIS_INC -I${OASIS_DIR}/include
#%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
%OASIS_INC -I${OASIS_DIR}/build-static/mct -I${OASIS_DIR}/build-static/lib/psmile.MPI1
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpiifort -c -cpp
%PROD_FCFLAGS -march=core-avx2 -i4 -r8 -O3 -fp-model strict -fno-alias -align array64byte
%DEBUG_FCFLAGS -march=core-avx2 -i4 -r8 -g -O0 -debug all -traceback -fp-model strict -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%BASE_FCFLAGS -march=core-avx2 -i4 -r8 -fp-model strict -fno-alias -align array64byte
%PROD_FCFLAGS %BASE_FCFLAGS -O3
%DEBUG_FCFLAGS %BASE_FCFLAGS -O0 -g -debug all -traceback -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%FFLAGS %FCFLAGS
%LD mpiifort
%LDFLAGS
......@@ -67,5 +56,5 @@
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpiicc
%CFLAGS -O0
%CC gcc
%CFLAGS -O0 -fcommon
if ! grep -qi xios <<< $(module list 2>&1); then
module purge
module use /home/ext/mr/smer/samsong/modules
module load git/2.27.0 gcc/9.2.0 intel/2018.5.274 openmpi/intel/4.0.2.2 hdf5/1.8.18-ompi netcdf/4.7.1-ompi_V2 xios/trunk/r2515_intel-ompi &> /dev/null
export OMPI_CC=icc
export OMPI_CXX=icpc
export OMPI_FC=ifort
export OMPI_F77=ifort
export OMPI_F90=ifort
if ! grep -qi xios <<< $(module list 2>&1); then echo 'module error'; exit 1; fi
else
echo 'xios module already loaded'
fi
module list
# compiler options for BELENOS/TARANIS (using INTEL compiler + Open MPI)
#
# --------------------------------
# INTEL_OMPI (NEMO 4.0 + XIOS-2.5)
# --------------------------------
# module use /home/ext/mr/smer/samsong/modules
# module load intel/2018.5.274 openmpi/intel/4.0.2.2 hdf5-1.8.18-ompi netcdf-4.7.1-ompi_V2 xios/2.5/rev1903-ompi
#
# ----------------------------------
# INTEL_OMPI (NEMO 4.2 + XIOS-TRUNK)
# ----------------------------------
# module use /home/ext/mr/smer/samsong/modules
# module load gcc/9.2.0 intel/2018.5.274 openmpi/intel/4.0.2.2 hdf5-1.8.18-ompi netcdf-4.7.1-ompi_V2 xios/trunk/rev2134-ompi
#
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_xios is activated)
......@@ -50,12 +37,15 @@
%NCDF_LIB -L${NETCDF_LIB} -lnetcdff -lnetcdf -L${PHDF5_LIB_DIR} -lhdf5_hl -lhdf5
%XIOS_INC -I${XIOS_INC}
%XIOS_LIB -L${XIOS_LIB} -lxios -lstdc++
%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
#%OASIS_INC -I${OASIS_DIR}/build/lib/mct -I${OASIS_DIR}/build/lib/psmile.MPI1
%OASIS_INC -I${OASIS_DIR}/build-static/mct -I${OASIS_DIR}/build-static/lib/psmile.MPI1
%OASIS_LIB -L${OASIS_DIR}/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp
%FC mpifort -c -cpp
%FCFLAGS -march=core-avx2 -i4 -r8 -O3 -fp-model strict -fno-alias -align array64byte
%BASE_FCFLAGS -march=core-avx2 -i4 -r8 -fp-model strict -fno-alias -align array64byte
%PROD_FCFLAGS %BASE_FCFLAGS -O3
%DEBUG_FCFLAGS %BASE_FCFLAGS -O0 -g -debug all -traceback -ftrapuv -check all,noarg_temp_created -fpe-all0 -ftz -init=arrays,snan,huge
%FFLAGS %FCFLAGS
%LD mpifort
%LDFLAGS
......@@ -66,5 +56,5 @@
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC mpicc
%CFLAGS -O0
%CC gcc
%CFLAGS -O0 -fcommon
......@@ -50,7 +50,7 @@
%CPP cpp -Dkey_nosignedzero
%FC mpif90 -c -cpp
#%PROD_FCFLAGS -fdefault-real-8 -O2 -ftree-vectorize -funroll-all-loops -march=skylake-avx512 -ffree-line-length-none -Wno-missing-include-dirs
%PROD_FCFLAGS -fdefault-real-8 -O1 -march=skylake-avx512 -ffree-line-length-none -Wno-missing-include-dirs
%PROD_FCFLAGS -fdefault-real-8 -O2 -ffp-contract=off -march=skylake-avx512 -ffree-line-length-none -Wno-missing-include-dirs
%DEBUG_FCFLAGS -fdefault-real-8 -O0 -g -fbacktrace -ftree-vectorize -funroll-all-loops -march=skylake-avx512 -ffree-line-length-none -fcheck=all -finit-real=snan -Wno-missing-include-dirs -ffpe-trap=invalid,zero,overflow
%FFLAGS %FCFLAGS
%LD mpif90
......
# generic ifort compiler options for linux
#
# NCDF_HOME root directory containing lib and include subdirectories for netcdf4
# HDF5_HOME root directory containing lib and include subdirectories for HDF5
# XIOS_HOME root directory containing lib for XIOS
# OASIS_HOME root directory containing lib for OASIS
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_xios is activated)
# XIOS_LIB xios library (taken into accound only if key_xios is activated)
# OASIS_INC oasis include file (taken into accound only if key_oasis3 is activated)
# OASIS_LIB oasis library (taken into accound only if key_oasis3 is activated)
#
# FC Fortran compiler command
# FCFLAGS Fortran compiler flags
# FFLAGS Fortran 77 compiler flags
# LD linker
# LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries
# FPPFLAGS pre-processing flags
# AR assembler
# ARFLAGS assembler flags
# MK make
# USER_INC complete list of include files
# USER_LIB complete list of libraries to pass to the linker
# CC C compiler used to compile conv for AGRIF
# CFLAGS compiler flags used with CC
#
# Note that:
# - unix variables "$..." are accpeted and will be evaluated before calling fcm.
# - fcm variables are starting with a % (and not a $)
#
%NCDF_HOME $EBROOTNETCDF
%HDF5_HOME $EBROOTHDF5
%XIOS_HOME /home/acc/xios3-trunk
#%OASIS_HOME /not/defined
%NCDF_INC -I%NCDF_HOME/include
%NCDF_LIB -L%NCDF_HOME/lib -lnetcdff -lnetcdf -L%HDF5_HOME/lib -lhdf5_hl -lhdf5 -lhdf5
%XIOS_INC -I%XIOS_HOME/inc
%XIOS_LIB -L%XIOS_HOME/lib -lxios -lstdc++
#%OASIS_INC -I%OASIS_HOME/build/lib/mct -I%OASIS_HOME/build/lib/psmile.MPI1
%OASIS_LIB
%OASIS_INC
#%OASIS_LIB -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
%CPP cpp -Dkey_xios3
%FC mpiifort -c -fpp -fpp-name:/opt/software/eb/software/GCCcore/11.2.0/bin/cpp -Wp,-P,-traditional
%PROD_FCFLAGS -i4 -r8 -O3 -fp-model precise -fno-alias
%DEBUG_FCFLAGS -i4 -r8 -g -fp-trap=common -traceback -fp-model precise -fno-alias
%FFLAGS %FCFLAGS
%LD mpiifort
%LDFLAGS
%FPPFLAGS -P -traditional
%AR ar
%ARFLAGS rs
%MK gmake
%USER_INC %XIOS_INC %OASIS_INC %NCDF_INC
%USER_LIB %XIOS_LIB %OASIS_LIB %NCDF_LIB
%CC cc -Wl,--allow-multiple-definition
%CFLAGS -O0