Browse Source

Upgrade to 2023a

Pierre-Yves Barriat 8 months ago
parent
commit
f6c9b78e93

+ 3 - 1
sources/config-build.xml

@@ -154,6 +154,8 @@
     <xi:include href="platform/nsc-tetralith-intel-intelmpi.xml" />
     <xi:include href="platform/pdc-beskow-intel-craympi.xml" />
     <xi:include href="platform/surfsara-cartesius.xml" />
-    <xi:include href="platform/lucia-cray-iompi.xml" />
+    <xi:include href="platform/lucia-gnu-openmpi.xml" />
+    <xi:include href="platform/lucia-intel-intelmpi.xml" />
+    <xi:include href="platform/lucia-intel-openmpi.xml" />
 
 </Configuration>

+ 20 - 20
sources/ifs-36r4/Makefile.d/Makefile.config.ecconf

@@ -4,12 +4,12 @@ comma := ,
 
 ECEARTH_SRC_DIR         := ${HOME}/models/ecearth_3.3.3.2/sources
 
-MPI_BASE_DIR            := 
+MPI_BASE_DIR            := ${EBROOTOPENMPI}
 ifneq ($(strip $(MPI_BASE_DIR)),)
-MPI_INC_DIR             := $(MPI_BASE_DIR)$(addprefix /,)
-MPI_LIB_DIR             := $(MPI_BASE_DIR)$(addprefix /,)
+MPI_INC_DIR             := $(MPI_BASE_DIR)$(addprefix /,include)
+MPI_LIB_DIR             := $(MPI_BASE_DIR)$(addprefix /,lib)
 endif
-MPI_LIBS                := 
+MPI_LIBS                := mpi mpi_mpifh
 
 OASIS_BASE_DIR          := $(ECEARTH_SRC_DIR)/oasis3-mct
 OASIS_ARCH              := ecconf
@@ -18,47 +18,47 @@ OASIS_MOD_DIR           := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/build/lib/psmile.$(OA
 OASIS_LIB_DIR           := $(OASIS_BASE_DIR)/$(OASIS_ARCH)/lib
 OASIS_LIBS              := psmile.MPI1 mct mpeu scrip
 
-ifneq ($(strip /),)
-NETCDF_LIB_DIR          := $(EBROOTNETCDF)/lib64 $(EBROOTNETCDFMINFORTRAN)/lib
-NETCDF_INC_DIR          := $(EBROOTNETCDF)/include $(EBROOTNETCDFMINFORTRAN)/include
+ifneq ($(strip ${EBROOTNETCDFMINFORTRAN}),)
+NETCDF_LIB_DIR          := ${EBROOTNETCDFMINFORTRAN}/lib
+NETCDF_INC_DIR          := ${EBROOTNETCDFMINFORTRAN}/include
 endif
 NETCDF_LIBS             := netcdff netcdf
 
-LAPACK_BASE_DIR         := $(EBROOTIMKL)/mkl/latest
+LAPACK_BASE_DIR         := ${EBROOTIMKL}/mkl/latest
 ifneq ($(strip $(LAPACK_BASE_DIR)),)
 LAPACK_LIB_DIR          := $(LAPACK_BASE_DIR)$(addprefix /,lib/intel64)
 endif
 LAPACK_LIBS             := mkl_intel_lp64 mkl_core mkl_sequential
 
-ifneq ($(strip $(EBROOTGRIB_API)),)
-GRIBAPI_INC_DIR         := $(EBROOTGRIB_API)/include
-GRIBAPI_LIB_DIR         := $(EBROOTGRIB_API)/lib
+ifneq ($(strip ${EBROOTECCODES}),)
+GRIBAPI_INC_DIR         := ${EBROOTECCODES}/include
+GRIBAPI_LIB_DIR         := ${EBROOTECCODES}/lib
 endif
-GRIBAPI_LIBS            := grib_api_f90 grib_api
+GRIBAPI_LIBS            := eccodes_f90 eccodes
 
-ifneq ($(strip /gpfs/projects/acad/ecearth/softs/gribex/iompi-2022.05),)
-GRIBEX_LIB_DIR          := /gpfs/projects/acad/ecearth/softs/gribex/iompi-2022.05/lib
+ifneq ($(strip /gpfs/projects/acad/ecearth/softs/gribex/iompi-2023a/lib),)
+GRIBEX_LIB_DIR          := /gpfs/projects/acad/ecearth/softs/gribex/iompi-2023a/lib/
 endif
 GRIBEX_LIBS             := gribexR64
 
 MAKEDEPF90              := $(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90
 
 F90                     := mpif90
-F90FLAGS                := -r8 -O3 -march=core-avx2 -ip -fp-model precise -extend-source 132 
+F90FLAGS                := -free -O2 -fp-model precise -march=core-avx2 -r8
 
 IFSAUX_ADD_F90FLAGS     := 
 
 FC                      := mpif90
-FFLAGS                  := -r8 -O3 -march=core-avx2 -ip -fp-model precise -extend-source 132 
+FFLAGS                  := -fixed -O2 -fp-model precise -march=core-avx2 -r8
 
-FPPDEFS                 := $(addprefix -D,linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS)
+FPPDEFS                 := $(addprefix -D,linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES)
 
 CC                      := mpicc
-CFLAGS                  := -std=gnu90 -fp-model precise -march=core-avx2
-CPPDEFS                 := $(addprefix -D,linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS)
+CFLAGS                  := -std=gnu90 -O2 -fp-model precise -march=core-avx2
+CPPDEFS                 := $(addprefix -D,linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES)
 
 LD                      := $(F90)
-LDFLAGS                 := -fp-model precise -march=core-avx2
+LDFLAGS                 := -O2 -fp-model precise -march=core-avx2
 
 AR                      := ar
 ARFLAGS                 := curv

+ 12 - 12
sources/nemo-3.6/ARCH/arch-ecconf.fcm

@@ -28,17 +28,17 @@
 #  - unix variables "$..." are accpeted and will be evaluated before calling fcm.
 #  - fcm variables are starting with a % (and not a $)
 
-%HDF5_HOME           $(EBROOTHDF5)
-%HDF5_LIB            $(addprefix -L,$(addsuffix /,$(EBROOTHDF5))lib) \
-                     $(addprefix -l,hdf5_hl hdf5)
+%HDF5_HOME           $(HDF5_DIR)
+%HDF5_LIB            $(addprefix -L,$(addsuffix /,$(HDF5_DIR))lib) \
+                     $(addprefix -l,hdf5_hl hdf5 z)
 
-%NCDF_INC            $(addprefix -I,$(addsuffix /,/)$(EBROOTNETCDF)/include $(EBROOTNETCDFMINFORTRAN)/include)
-%NCDF_LIB            $(addprefix -L,$(addsuffix /,/)$(EBROOTNETCDF)/lib64 $(EBROOTNETCDFMINFORTRAN)/lib) \
+%NCDF_INC            $(addprefix -I,$(addsuffix /,${EBROOTNETCDFMINFORTRAN})include)
+%NCDF_LIB            $(addprefix -L,$(addsuffix /,${EBROOTNETCDFMINFORTRAN})lib) \
                      $(addprefix -l,netcdff netcdf)
 
-%MPI_INC             $(addprefix -I,/)
-%MPI_LIB             $(addprefix -L,$(addsuffix /,)) \
-                     $(addprefix -l,)
+%MPI_INC             $(addprefix -I,${EBROOTOPENMPI}/include)
+%MPI_LIB             $(addprefix -L,$(addsuffix /,${EBROOTOPENMPI})lib) \
+                     $(addprefix -l,mpi mpi_mpifh)
 
 %XIOS_HOME           ${HOME}/models/ecearth_3.3.3.2/sources/xios-2.5
 %XIOS_INC            -I%XIOS_HOME/inc
@@ -48,16 +48,16 @@
 %OASIS_INC           -I%OASIS_HOME/build/lib/psmile.MPI1
 %OASIS_LIB           -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
 
-%CPP                 cpp
+%CPP                 fpp
 
 %FC                  mpif90
-%FCFLAGS             -r8 -O3 -march=core-avx2 -ip -fp-model precise 
+%FCFLAGS             -O2 -fp-model precise -march=core-avx2 -r8 
 %FFLAGS              %FCFLAGS
 
-%FPPFLAGS            -P -traditional
+%FPPFLAGS            -P -C
 
 %LD                  mpif90
-%LDFLAGS              -lstdc++
+%LDFLAGS             -O2 -fp-model precise -march=core-avx2 -lstdc++
 
 %AR                  ar
 %ARFLAGS             curv

+ 13 - 13
sources/oasis3-mct/util/make_dir/Makefile.d/Makefile.config.ecconf

@@ -11,24 +11,24 @@ COUPLE := ${HOME}/models/ecearth_3.3.3.2/sources/oasis3-mct
 CHAN   := MPI1
 
 # MPI library
-MPIDIR      := 
+MPIDIR      := ${EBROOTOPENMPI}
 ifneq ($(strip $(MPIDIR)),)
 MPIBIN      := $(MPIDIR)/bin
-MPI_INCLUDE := $(MPIDIR)$(addprefix /,)
-MPILIB      := -L$(MPIDIR)$(addprefix /,)
+MPI_INCLUDE := $(MPIDIR)$(addprefix /,include)
+MPILIB      := -L$(MPIDIR)$(addprefix /,lib)
 endif
-MPILIB      += $(addprefix -l,)
+MPILIB      += $(addprefix -l,mpi mpi_mpifh)
 
 # NETCDF library
-NETCDF_DIR      := /
-NETCDF_INCLUDE  := $(addprefix $(addsuffix /,$(NETCDF_DIR)),$(EBROOTNETCDF)/include $(EBROOTNETCDFMINFORTRAN)/include)
-NETCDF_LIBRARY  := $(addprefix -L,$(addprefix $(addsuffix /,$(NETCDF_DIR)),$(EBROOTNETCDF)/lib64 $(EBROOTNETCDFMINFORTRAN)/lib))
+NETCDF_DIR      := ${EBROOTNETCDFMINFORTRAN}
+NETCDF_INCLUDE  := $(addprefix $(addsuffix /,$(NETCDF_DIR)),include)
+NETCDF_LIBRARY  := $(addprefix -L,$(addprefix $(addsuffix /,$(NETCDF_DIR)),lib))
 NETCDF_LIBRARY  += $(addprefix -l,netcdff netcdf)
 
 # Compiling and other commands
 MAKE    := make
-F90     := mpif90 -march=core-avx2 
-F       := $(F90)
+F90     := mpif90 -free
+F       := mpif90 -fixed
 f90     := $(F90)
 f       := $(F)
 CC      := mpicc
@@ -41,8 +41,8 @@ MACROS   := use_libMPI use_comm_$(CHAN) use_netCDF TREAT_OVERLAY
 MACROS   += 
 
 # Compiler options
-F90FLAGS := -r8 -O3 -ip -fp-model precise -extend-source 132 
-F90FLAGS += 
+F90FLAGS := -O2 -fp-model precise -march=core-avx2 -r8
+F90FLAGS += -132 -check pointers -check uninit
 F90FLAGS += $(addprefix -D,$(MACROS))
 F90FLAGS += $(addprefix -I,$(MPI_INCLUDE))
 F90FLAGS += $(addprefix -I,$(NETCDF_INCLUDE))
@@ -51,12 +51,12 @@ f90FLAGS := $(F90FLAGS)
 FFLAGS   := $(F90FLAGS)
 fFLAGS   := $(F90FLAGS)
 
-CCFLAGS  := -O2 -fp-model precise -march=core-avx2 
+CCFLAGS  := -O2 -fp-model precise -march=core-avx2
 CCFLAGS  += $(addprefix -D,$(MACROS))
 CCFLAGS  := $(addprefix -I,$(MPI_INCLUDE))
 CCFLAGS  += $(addprefix -I,$(NETCDF_INCLUDE))
 
-LDFLAGS  := 
+LDFLAGS  := -O2 -fp-model precise -march=core-avx2
 LDFLAGS  += 
 
 # MPP_IOOPT needed for compiling mpp_io

+ 417 - 0
sources/platform/lucia-gnu-openmpi.xml

@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <Platform name="lucia-gnu-openmpi">
+        <Description>
+            HOST:        Lucia at CENAERO
+            ARCH:        linux_x86_64
+            CPU MODEL:   AMD EPYC 7763
+            USER:        pbarriat
+            COMPILER:    GCC-11.3.0  
+            MPI:         OpenMPI/4.1.4
+	    BLAS/LAPACK: OpenBLAS/0.3.20
+	    Modules:
+                module load EasyBuild/2023a
+		module load Perl-bundle-CPAN/5.36.1-GCCcore-12.3.0
+		module load netCDF-Fortran/4.6.1-gompi-2023a 
+		module load CDO/2.2.2-gompi-2023a 
+		module load NCO/5.1.8-foss-2023a
+		module load ecCodes/2.31.0-gompi-2023a
+        </Description>
+
+        <Parameter name="ECEARTH_SRC_DIR">
+            <Description>Base directory for EC-Earth sources</Description>
+            <Type>PATH</Type>
+            <Value>${HOME}/models/ecearth_trunk/sources</Value>
+        </Parameter>
+
+        <Parameter name="MPI_BASE_DIR">
+            <Description>MPI base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTOPENMPI}</Value>
+        </Parameter>
+
+        <Parameter name="MPI_INC_SUBDIR">
+            <Description>MPI include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="MPI_LIB_SUBDIR">
+            <Description>MPI lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="MPI_LIBS_WITHOUT_L">
+            <Description>MPI libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mpi mpi_usempif08</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_BASE_DIR">
+            <Description>LAPACK base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTFLEXIBLAS}</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_LIB_SUBDIR">
+            <Description>LAPACK lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_LIBS_WITHOUT_L">
+            <Description>LAPACK libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>lapacke flexiblas</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_BASE_DIR">
+            <Description>NetCDF base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTNETCDF}</Value>
+            <Value>${EBROOTNETCDFMINFORTRAN}</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_INC_SUBDIR">
+            <Description>NetCDF include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIB_SUBDIR">
+            <Description>NetCDF lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIBS_WITHOUT_L">
+            <Description>NetCDF libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>netcdff netcdf</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_BASE_DIR">
+            <Description>GRIB API base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTECCODES}</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_INC_SUBDIR">
+            <Description>GRIB API include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_LIB_SUBDIR">
+            <Description>GRIB API lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_LIBS_WITHOUT_L">
+            <Description>GRIB_API libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>eccodes_f90 eccodes</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_BASE_DIR">
+            <Description>GRIBEX base directory</Description>
+            <Type>PATH</Type>
+            <Value>/gpfs/projects/acad/ecearth/softs/gribex/gompi-2023a/lib</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIB_SUBDIR">
+            <Description>GRIBEX lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIBS_WITHOUT_L">
+            <Description>GRIBEX libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>gribexR64</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_BASE_DIR">
+            <Description>JPEG base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTLIBJPEGMINTURBO}</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_INC_SUBDIR">
+            <Description>JPEG include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="JPEG_LIB_SUBDIR">
+            <Description>JPEG lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_LIBS_WITHOUT_L">
+            <Description>JPEG libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>jpeg</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_BASE_DIR">
+            <Description>SZIP base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTSZIP}</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_INC_SUBDIR">
+            <Description>SZIP include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIB_SUBDIR">
+            <Description>SZIP lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIBS_WITHOUT_L">
+            <Description>SZIP libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>sz</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_BASE_DIR">
+            <Description>HDF4 base directory</Description>
+            <Type>PATH</Type>
+            <Value>$(HDF4_DIR)</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_INC_SUBDIR">
+            <Description>HDF4 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIB_SUBDIR">
+            <Description>HDF4 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIBS_WITHOUT_L">
+            <Description>HDF4 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mfhdf df</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_BASE_DIR">
+            <Description>HDF5 base directory</Description>
+            <Type>PATH</Type>
+            <Value>$(HDF5_DIR)</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_INC_SUBDIR">
+            <Description>HDF5 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_LIB_SUBDIR">
+            <Description>HDF5 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_LIBS_WITHOUT_L">
+            <Description>HDF5 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>hdf5_hl hdf5</Value>
+        </Parameter>
+
+        <Parameter name="MAKE">
+            <Description>Make command (GNU make >3.81 needed!)</Description>
+            <Type>STRING</Type>
+            <Value>make</Value>
+        </Parameter>
+
+        <Parameter name="FC">
+            <Description>F90 Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpifort</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS">
+            <Description>General F90 flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-fdefault-real-8 -fdefault-double-8 -O1 -fallow-argument-mismatch -fallow-invalid-boz</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FREEFORM">
+            <Description>Allow for free format Fortran</Description>
+            <Type>STRING</Type>
+            <Value>-ffree-line-length-512 -fallow-argument-mismatch</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FIXEDFORM">
+            <Description>Expect fixed Fortran format</Description>
+            <Type>STRING</Type>
+            <Value>-ffixed-form  </Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FPP_PREFIX">
+            <Description>Fortran preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="CC">
+            <Description>C Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpicc</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS">
+            <Description>General C flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O1 -march=native</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS_CPP_PREFIX">
+            <Description>C preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="CXX">
+            <Description>C++ Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpicc</Value>
+        </Parameter>
+
+        <Parameter name="LD">
+            <Description>Linker</Description>
+            <Type>STRING</Type>
+            <Value>mpifort</Value>
+        </Parameter>
+
+        <Parameter name="LDFLAGS">
+            <Description>General flags for linking</Description>
+            <Type>STRING</Type>
+            <Value>-O1</Value>
+        </Parameter>
+
+        <Parameter name="AR">
+            <Description>Command for building libraries from object files (usually ar)</Description>
+            <Type>STRING</Type>
+            <Value>ar</Value>
+        </Parameter>
+
+        <Parameter name="ARFLAGS">
+            <Description>Flags for library building command (When using ar: include u)</Description>
+            <Type>STRING</Type>
+            <Value>curv</Value>
+        </Parameter>
+
+        <Parameter name="ARFLAGS_EXTRACT">
+            <Description>Flags for library building command (When using ar: include u)</Description>
+            <Type>STRING</Type>
+            <Value>p</Value>
+        </Parameter>
+
+        <Parameter name="CPP">
+            <Description>C preprocessor command</Description>
+            <Type>STRING</Type>
+            <Value>cpp</Value>
+        </Parameter>
+
+        <Parameter name="FPP">
+            <Description>Fortran preprocessor command</Description>
+            <Type>STRING</Type>
+            <Value>cpp</Value>
+        </Parameter>
+
+        <Parameter name="CPPFLAGS">
+            <Description>C preprocessor flags</Description>
+            <Type>STRING</Type>
+            <Value>-P -traditional</Value>
+        </Parameter>
+
+        <Parameter name="XIOS_CFLAGS">
+            <Description>CFLAGS flags for XIOS</Description>
+            <Type>STRING</Type>
+            <Value>-ansi -w</Value>
+        </Parameter>
+
+        <Parameter name="XIOS_ADD_LDFLAGS">
+            <Description>More LD flags for XIOS</Description>
+            <Type>STRING</Type>
+            <Value>-lstdc++</Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_FFLAGS">
+            <Description>More F90 flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_PPDEFS">
+            <Description>More CPP/FPP macros for Oasis</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_LDFLAGS">
+            <Description>More LD flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_FFLAGS">
+            <Description>More F90 flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_LDFLAGS">
+            <Description>More LD flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value>-lstdc++</Value>
+        </Parameter>
+
+        <Parameter name="IFS_PPDEFS">
+            <Description>Preprocessor defs for IFS sources</Description>
+            <Type>STRING</Type>
+            <Value>linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES</Value>
+        </Parameter>
+
+        <Parameter name="IFSAUX_ADD_FFLAGS">
+            <Description>More F90 flags for ifs/ifsaux</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="MAKEDEPF90">
+            <Description>F90 dependency generator</Description>
+            <Type>STRING</Type>
+            <Value>${ECEARTH_SRC_DIR}/util/makedepf90/bin/makedepf90</Value>
+        </Parameter>
+
+      <Parameter name="TM5_DEFAULT_FFLAGS">
+            <Description>Default F90 flags for TM5 (ie without optimization)</Description>
+            <Type>STRING</Type>
+            <Value>-fdefault-real-8 -O1</Value>
+        </Parameter>
+
+       <Parameter name="TM5_OPTIM_FFLAGS">
+            <Description>F90 optimization/debug flags for TM5</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="TM5_MDEFS_FFLAGS">
+            <Description>Model preprocessor defs</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+    </Platform>

+ 417 - 0
sources/platform/lucia-intel-intelmpi.xml

@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <Platform name="lucia-intel-intelmpi">
+        <Description>
+            HOST:        Lucia at CENAERO
+            ARCH:        linux_x86_64
+            CPU MODEL:   AMD EPYC 7763
+            USER:        pbarriat
+            COMPILER:    GCC-11.3.0  
+            MPI:         IntelMPI/2021.9.0
+	    BLAS/LAPACK: MKL/2023.1.0
+	    Modules:
+                module load EasyBuild/2023a
+		module load Perl-bundle-CPAN/5.36.1-GCCcore-12.3.0
+		module load netCDF-Fortran/4.6.1-iimpi-2023a 
+		module load CDO/2.2.2-iimpi-2023a 
+		module load NCO/5.1.3-intel-2023a 
+		module load ecCodes/2.31.0-iimpi-2023a
+        </Description>
+
+        <Parameter name="ECEARTH_SRC_DIR">
+            <Description>Base directory for EC-Earth sources</Description>
+            <Type>PATH</Type>
+            <Value>${HOME}/models/ecearth_trunk/sources</Value>
+        </Parameter>
+
+        <Parameter name="MPI_BASE_DIR">
+            <Description>MPI base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTIMPI}/mpi/latest</Value>
+        </Parameter>
+
+        <Parameter name="MPI_INC_SUBDIR">
+            <Description>MPI include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="MPI_LIB_SUBDIR">
+            <Description>MPI lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="MPI_LIBS_WITHOUT_L">
+            <Description>MPI libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mpi mpifort</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_BASE_DIR">
+            <Description>LAPACK base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTIMKL}/mkl/latest</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_LIB_SUBDIR">
+            <Description>LAPACK lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib/intel64</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_LIBS_WITHOUT_L">
+            <Description>LAPACK libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mkl_intel_lp64 mkl_core mkl_sequential</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_BASE_DIR">
+            <Description>NetCDF base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTNETCDF}</Value>
+            <Value>${EBROOTNETCDFMINFORTRAN}</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_INC_SUBDIR">
+            <Description>NetCDF include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIB_SUBDIR">
+            <Description>NetCDF lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIBS_WITHOUT_L">
+            <Description>NetCDF libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>netcdff netcdf</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_BASE_DIR">
+            <Description>GRIB API base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTECCODES}</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_INC_SUBDIR">
+            <Description>GRIB API include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_LIB_SUBDIR">
+            <Description>GRIB API lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_LIBS_WITHOUT_L">
+            <Description>GRIB_API libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>eccodes_f90 eccodes</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_BASE_DIR">
+            <Description>GRIBEX base directory</Description>
+            <Type>PATH</Type>
+            <Value>/gpfs/projects/acad/ecearth/softs/gribex/iimpi-2023a/lib</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIB_SUBDIR">
+            <Description>GRIBEX lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIBS_WITHOUT_L">
+            <Description>GRIBEX libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>gribexR64</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_BASE_DIR">
+            <Description>JPEG base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTLIBJPEGMINTURBO}</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_INC_SUBDIR">
+            <Description>JPEG include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="JPEG_LIB_SUBDIR">
+            <Description>JPEG lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_LIBS_WITHOUT_L">
+            <Description>JPEG libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>jpeg</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_BASE_DIR">
+            <Description>SZIP base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTSZIP}</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_INC_SUBDIR">
+            <Description>SZIP include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIB_SUBDIR">
+            <Description>SZIP lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIBS_WITHOUT_L">
+            <Description>SZIP libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>sz</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_BASE_DIR">
+            <Description>HDF4 base directory</Description>
+            <Type>PATH</Type>
+            <Value>$(HDF4_DIR)</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_INC_SUBDIR">
+            <Description>HDF4 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIB_SUBDIR">
+            <Description>HDF4 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIBS_WITHOUT_L">
+            <Description>HDF4 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mfhdf df</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_BASE_DIR">
+            <Description>HDF5 base directory</Description>
+            <Type>PATH</Type>
+            <Value>$(HDF5_DIR)</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_INC_SUBDIR">
+            <Description>HDF5 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_LIB_SUBDIR">
+            <Description>HDF5 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_LIBS_WITHOUT_L">
+            <Description>HDF5 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>hdf5_hl hdf5 z</Value>
+        </Parameter>
+
+        <Parameter name="MAKE">
+            <Description>Make command (GNU make >3.81 needed!)</Description>
+            <Type>STRING</Type>
+            <Value>make</Value>
+        </Parameter>
+
+        <Parameter name="FC">
+            <Description>F90 Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpiifort</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS">
+            <Description>General F90 flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -march=core-avx2 -r8</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FREEFORM">
+            <Description>Allow for free format Fortran</Description>
+            <Type>STRING</Type>
+            <Value>-free</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FIXEDFORM">
+            <Description>Expect fixed Fortran format</Description>
+            <Type>STRING</Type>
+            <Value>-fixed</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FPP_PREFIX">
+            <Description>Fortran preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="CC">
+            <Description>C Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpiicc</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS">
+            <Description>General C flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -march=core-avx2</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS_CPP_PREFIX">
+            <Description>C preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="CXX">
+            <Description>C++ Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpiicpc</Value>
+        </Parameter>
+
+        <Parameter name="LD">
+            <Description>Linker</Description>
+            <Type>STRING</Type>
+            <Value>mpiifort</Value>
+        </Parameter>
+
+        <Parameter name="LDFLAGS">
+            <Description>General flags for linking</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -march=core-avx2</Value>
+        </Parameter>
+
+        <Parameter name="AR">
+            <Description>Command for building libraries from object files (usually ar)</Description>
+            <Type>STRING</Type>
+            <Value>ar</Value>
+        </Parameter>
+
+        <Parameter name="ARFLAGS">
+            <Description>Flags for library building command (When using ar: include u)</Description>
+            <Type>STRING</Type>
+            <Value>curv</Value>
+        </Parameter>
+
+        <Parameter name="ARFLAGS_EXTRACT">
+            <Description>Flags for library building command (When using ar: include u)</Description>
+            <Type>STRING</Type>
+            <Value>p</Value>
+        </Parameter>
+
+        <Parameter name="CPP">
+            <Description>C preprocessor command</Description>
+            <Type>STRING</Type>
+            <Value>fpp</Value>
+        </Parameter>
+
+        <Parameter name="FPP">
+            <Description>Fortran preprocessor command</Description>
+            <Type>STRING</Type>
+            <Value>fpp</Value>
+        </Parameter>
+
+        <Parameter name="CPPFLAGS">
+            <Description>C preprocessor flags</Description>
+            <Type>STRING</Type>
+            <Value>-P -C</Value>
+        </Parameter>
+
+        <Parameter name="XIOS_CFLAGS">
+            <Description>CFLAGS flags for XIOS</Description>
+            <Type>STRING</Type>
+            <Value>-ansi -w</Value>
+        </Parameter>
+
+        <Parameter name="XIOS_ADD_LDFLAGS">
+            <Description>More LD flags for XIOS</Description>
+            <Type>STRING</Type>
+            <Value>-lstdc++</Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_FFLAGS">
+            <Description>More F90 flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value>-132 -check pointers -check uninit</Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_PPDEFS">
+            <Description>More CPP/FPP macros for Oasis</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_LDFLAGS">
+            <Description>More LD flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_FFLAGS">
+            <Description>More F90 flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_LDFLAGS">
+            <Description>More LD flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value>-lstdc++</Value>
+        </Parameter>
+
+        <Parameter name="IFS_PPDEFS">
+            <Description>Preprocessor defs for IFS sources</Description>
+            <Type>STRING</Type>
+            <Value>linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES</Value>
+        </Parameter>
+
+        <Parameter name="IFSAUX_ADD_FFLAGS">
+            <Description>More F90 flags for ifs/ifsaux</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="MAKEDEPF90">
+            <Description>F90 dependency generator</Description>
+            <Type>STRING</Type>
+            <Value>${ECEARTH_SRC_DIR}/util/makedepf90/bin/makedepf90</Value>
+        </Parameter>
+
+      <Parameter name="TM5_DEFAULT_FFLAGS">
+            <Description>Default F90 flags for TM5 (ie without optimization)</Description>
+            <Type>STRING</Type>
+            <Value>-warn declarations -r8</Value>
+        </Parameter>
+
+       <Parameter name="TM5_OPTIM_FFLAGS">
+            <Description>F90 optimization flags for TM5</Description>
+            <Type>STRING</Type>
+            <Value>-O3 -fp-model strict</Value>
+        </Parameter>
+
+        <Parameter name="TM5_MDEFS_FFLAGS">
+            <Description>Model preprocessor defs</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+    </Platform>

+ 417 - 0
sources/platform/lucia-intel-openmpi.xml

@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <Platform name="lucia-intel-openmpi">
+        <Description>
+            HOST:        Lucia at CENAERO
+            ARCH:        linux_x86_64
+            CPU MODEL:   AMD EPYC 7763
+            USER:        pbarriat
+            COMPILER:    GCC-11.3.0  
+            MPI:         OpenMPI/4.1.5
+	    BLAS/LAPACK: MKL/2023.1.0
+	    Modules:
+                module load EasyBuild/2023a
+		module load Perl-bundle-CPAN/5.36.1-GCCcore-12.3.0
+		module load netCDF-Fortran/4.6.1-iompi-2023a 
+		module load CDO/2.2.2-iompi-2023a 
+		module load NCO/5.1.3-iomkl-2023a 
+		module load ecCodes/2.31.0-iompi-2023a
+        </Description>
+
+        <Parameter name="ECEARTH_SRC_DIR">
+            <Description>Base directory for EC-Earth sources</Description>
+            <Type>PATH</Type>
+            <Value>${HOME}/models/ecearth_trunk/sources</Value>
+        </Parameter>
+
+        <Parameter name="MPI_BASE_DIR">
+            <Description>MPI base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTOPENMPI}</Value>
+        </Parameter>
+
+        <Parameter name="MPI_INC_SUBDIR">
+            <Description>MPI include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="MPI_LIB_SUBDIR">
+            <Description>MPI lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="MPI_LIBS_WITHOUT_L">
+            <Description>MPI libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mpi mpi_mpifh</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_BASE_DIR">
+            <Description>LAPACK base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTIMKL}/mkl/latest</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_LIB_SUBDIR">
+            <Description>LAPACK lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib/intel64</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_LIBS_WITHOUT_L">
+            <Description>LAPACK libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mkl_intel_lp64 mkl_core mkl_sequential</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_BASE_DIR">
+            <Description>NetCDF base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTNETCDF}</Value>
+            <Value>${EBROOTNETCDFMINFORTRAN}</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_INC_SUBDIR">
+            <Description>NetCDF include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIB_SUBDIR">
+            <Description>NetCDF lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIBS_WITHOUT_L">
+            <Description>NetCDF libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>netcdff netcdf</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_BASE_DIR">
+            <Description>GRIB API base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTECCODES}</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_INC_SUBDIR">
+            <Description>GRIB API include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_LIB_SUBDIR">
+            <Description>GRIB API lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="GRIBAPI_LIBS_WITHOUT_L">
+            <Description>GRIB_API libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>eccodes_f90 eccodes</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_BASE_DIR">
+            <Description>GRIBEX base directory</Description>
+            <Type>PATH</Type>
+            <Value>/gpfs/projects/acad/ecearth/softs/gribex/iompi-2023a/lib</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIB_SUBDIR">
+            <Description>GRIBEX lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIBS_WITHOUT_L">
+            <Description>GRIBEX libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>gribexR64</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_BASE_DIR">
+            <Description>JPEG base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTLIBJPEGMINTURBO}</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_INC_SUBDIR">
+            <Description>JPEG include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="JPEG_LIB_SUBDIR">
+            <Description>JPEG lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_LIBS_WITHOUT_L">
+            <Description>JPEG libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>jpeg</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_BASE_DIR">
+            <Description>SZIP base directory</Description>
+            <Type>PATH</Type>
+	    <Value>${EBROOTSZIP}</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_INC_SUBDIR">
+            <Description>SZIP include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIB_SUBDIR">
+            <Description>SZIP lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIBS_WITHOUT_L">
+            <Description>SZIP libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>sz</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_BASE_DIR">
+            <Description>HDF4 base directory</Description>
+            <Type>PATH</Type>
+            <Value>$(HDF4_DIR)</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_INC_SUBDIR">
+            <Description>HDF4 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIB_SUBDIR">
+            <Description>HDF4 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIBS_WITHOUT_L">
+            <Description>HDF4 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>mfhdf df</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_BASE_DIR">
+            <Description>HDF5 base directory</Description>
+            <Type>PATH</Type>
+            <Value>$(HDF5_DIR)</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_INC_SUBDIR">
+            <Description>HDF5 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_LIB_SUBDIR">
+            <Description>HDF5 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</Value>
+        </Parameter>
+
+        <Parameter name="HDF5_LIBS_WITHOUT_L">
+            <Description>HDF5 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value>hdf5_hl hdf5 z</Value>
+        </Parameter>
+
+        <Parameter name="MAKE">
+            <Description>Make command (GNU make >3.81 needed!)</Description>
+            <Type>STRING</Type>
+            <Value>make</Value>
+        </Parameter>
+
+        <Parameter name="FC">
+            <Description>F90 Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpif90</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS">
+            <Description>General F90 flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -march=core-avx2 -r8</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FREEFORM">
+            <Description>Allow for free format Fortran</Description>
+            <Type>STRING</Type>
+            <Value>-free</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FIXEDFORM">
+            <Description>Expect fixed Fortran format</Description>
+            <Type>STRING</Type>
+            <Value>-fixed</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS_FPP_PREFIX">
+            <Description>Fortran preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="CC">
+            <Description>C Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpicc</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS">
+            <Description>General C flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -march=core-avx2</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS_CPP_PREFIX">
+            <Description>C preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="CXX">
+            <Description>C++ Compiler</Description>
+            <Type>STRING</Type>
+            <Value>mpicc</Value>
+        </Parameter>
+
+        <Parameter name="LD">
+            <Description>Linker</Description>
+            <Type>STRING</Type>
+            <Value>mpif90</Value>
+        </Parameter>
+
+        <Parameter name="LDFLAGS">
+            <Description>General flags for linking</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -march=core-avx2</Value>
+        </Parameter>
+
+        <Parameter name="AR">
+            <Description>Command for building libraries from object files (usually ar)</Description>
+            <Type>STRING</Type>
+            <Value>ar</Value>
+        </Parameter>
+
+        <Parameter name="ARFLAGS">
+            <Description>Flags for library building command (When using ar: include u)</Description>
+            <Type>STRING</Type>
+            <Value>curv</Value>
+        </Parameter>
+
+        <Parameter name="ARFLAGS_EXTRACT">
+            <Description>Flags for library building command (When using ar: include u)</Description>
+            <Type>STRING</Type>
+            <Value>p</Value>
+        </Parameter>
+
+        <Parameter name="CPP">
+            <Description>C preprocessor command</Description>
+            <Type>STRING</Type>
+            <Value>fpp</Value>
+        </Parameter>
+
+        <Parameter name="FPP">
+            <Description>Fortran preprocessor command</Description>
+            <Type>STRING</Type>
+            <Value>fpp</Value>
+        </Parameter>
+
+        <Parameter name="CPPFLAGS">
+            <Description>C preprocessor flags</Description>
+            <Type>STRING</Type>
+            <Value>-P -C</Value>
+        </Parameter>
+
+        <Parameter name="XIOS_CFLAGS">
+            <Description>CFLAGS flags for XIOS</Description>
+            <Type>STRING</Type>
+            <Value>-ansi -w</Value>
+        </Parameter>
+
+        <Parameter name="XIOS_ADD_LDFLAGS">
+            <Description>More LD flags for XIOS</Description>
+            <Type>STRING</Type>
+            <Value>-lstdc++</Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_FFLAGS">
+            <Description>More F90 flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value>-132 -check pointers -check uninit</Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_PPDEFS">
+            <Description>More CPP/FPP macros for Oasis</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_LDFLAGS">
+            <Description>More LD flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_FFLAGS">
+            <Description>More F90 flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_LDFLAGS">
+            <Description>More LD flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value>-lstdc++</Value>
+        </Parameter>
+
+        <Parameter name="IFS_PPDEFS">
+            <Description>Preprocessor defs for IFS sources</Description>
+            <Type>STRING</Type>
+            <Value>linux LINUX LITTLE LITTLE_ENDIAN POINTER_64 BLAS ECCODES</Value>
+        </Parameter>
+
+        <Parameter name="IFSAUX_ADD_FFLAGS">
+            <Description>More F90 flags for ifs/ifsaux</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+        <Parameter name="MAKEDEPF90">
+            <Description>F90 dependency generator</Description>
+            <Type>STRING</Type>
+            <Value>${ECEARTH_SRC_DIR}/util/makedepf90/bin/makedepf90</Value>
+        </Parameter>
+
+      <Parameter name="TM5_DEFAULT_FFLAGS">
+            <Description>Default F90 flags for TM5 (ie without optimization)</Description>
+            <Type>STRING</Type>
+            <Value>-warn declarations -r8</Value>
+        </Parameter>
+
+       <Parameter name="TM5_OPTIM_FFLAGS">
+            <Description>F90 optimization flags for TM5</Description>
+            <Type>STRING</Type>
+            <Value>-O3 -fp-model strict</Value>
+        </Parameter>
+
+        <Parameter name="TM5_MDEFS_FFLAGS">
+            <Description>Model preprocessor defs</Description>
+            <Type>STRING</Type>
+            <Value/>
+        </Parameter>
+
+    </Platform>

+ 9 - 9
sources/runoff-mapper/src/Makefile

@@ -1,10 +1,10 @@
 executable = ../bin/runoff-mapper.exe
 
 FC      = mpif90
-FFLAGS  = -r8 -O3 -march=core-avx2 
+FFLAGS  = -O2 -fp-model precise -march=core-avx2 -r8
 
 LD      = mpif90
-LDFLAGS = 
+LDFLAGS = -O2 -fp-model precise -march=core-avx2
 
 OASIS_BASE_DIR = ${HOME}/models/ecearth_3.3.3.2/sources/oasis3-mct/ecconf
 OASIS_MOD_DIR  = $(OASIS_BASE_DIR)/build/lib/psmile.MPI1
@@ -12,16 +12,16 @@ OASIS_INC_DIR  = $(OASIS_BASE_DIR)/lib/psmile/include
 OASIS_LIB_DIR  = $(OASIS_BASE_DIR)/lib
 OASIS_LIBS     = -lpsmile.MPI1 -lmct -lmpeu -lscrip
 
-MPI_BASE_DIR            := 
+MPI_BASE_DIR            := ${EBROOTOPENMPI}
 ifneq ($(strip $(MPI_BASE_DIR)),)
-MPI_INC_DIR             := $(MPI_BASE_DIR)$(addprefix /,)
-MPI_LIB_DIR             := $(MPI_BASE_DIR)$(addprefix /,)
+MPI_INC_DIR             := $(MPI_BASE_DIR)$(addprefix /,include)
+MPI_LIB_DIR             := $(MPI_BASE_DIR)$(addprefix /,lib)
 endif
-MPI_LIBS                := 
+MPI_LIBS                := mpi mpi_mpifh
 
-ifneq ($(strip /),)
-NETCDF_LIB_DIR          := $(EBROOTNETCDF)/lib64 $(EBROOTNETCDFMINFORTRAN)/lib
-NETCDF_INC_DIR          := $(EBROOTNETCDF)/include $(EBROOTNETCDFMINFORTRAN)/include
+ifneq ($(strip ${EBROOTNETCDFMINFORTRAN}),)
+NETCDF_LIB_DIR          := ${EBROOTNETCDFMINFORTRAN}/lib
+NETCDF_INC_DIR          := ${EBROOTNETCDFMINFORTRAN}/include
 endif
 NETCDF_LIBS             := netcdff netcdf
 

+ 7 - 7
sources/xios-2.5/arch/arch-ecconf.fcm

@@ -4,21 +4,21 @@
 
 %CCOMPILER      mpicc
 %FCOMPILER      mpif90
-%LINKER         mpif90  -nofor-main
+%LINKER         mpif90
 
 %BASE_CFLAGS    -ansi -w
-%PROD_CFLAGS    -O3 -march=core-avx2 -DBOOST_DISABLE_ASSERTS
-%DEV_CFLAGS     -g -O1 -fp-model precise -march=core-avx2
+%PROD_CFLAGS    -O2 -fp-model precise -march=core-avx2 -DBOOST_DISABLE_ASSERTS
+%DEV_CFLAGS     -g -O2 -fp-model precise -march=core-avx2
 %DEBUG_CFLAGS   -g 
 
-%BASE_FFLAGS    -D__NONE__
-%PROD_FFLAGS    -r8 -O3 -march=core-avx2
-%DEV_FFLAGS     -g -r8 -O3 -march=core-avx2 -ip -fp-model precise -extend-source 132 
+%BASE_FFLAGS    -D__NONE__ 
+%PROD_FFLAGS    -O2 -fp-model precise -march=core-avx2 -r8
+%DEV_FFLAGS     -g -O2 -fp-model precise -march=core-avx2 -r8
 %DEBUG_FFLAGS   -g 
 
 %BASE_INC       -D__NONE__
 %BASE_LD        -lstdc++
 
-%CPP            mpicc -EP
+%CPP            fpp
 %FPP            fpp
 %MAKE           make

+ 9 - 9
sources/xios-2.5/arch/arch-ecconf.path

@@ -1,14 +1,14 @@
-NETCDF_INCDIR="-I${EBROOTNETCDF}/include -I${EBROOTNETCDFMINFORTRAN}/include"
-NETCDF_LIBDIR="-L${EBROOTNETCDF}/lib64 -L${EBROOTNETCDFMINFORTRAN}/lib"
-NETCDF_LIB="-lnetcdf -lnetcdff"
+NETCDF_INCDIR='$(addprefix -I,$(addsuffix /,${EBROOTNETCDFMINFORTRAN})include)'
+NETCDF_LIBDIR='$(addprefix -L,$(addsuffix /,${EBROOTNETCDFMINFORTRAN})lib)'
+NETCDF_LIB='$(addprefix -l,netcdff netcdf)'
 
-MPI_INCDIR=""
-MPI_LIBDIR=""
-MPI_LIB=""
+MPI_INCDIR='$(addprefix -I,$(addsuffix /,${EBROOTOPENMPI})include)'
+MPI_LIBDIR='$(addprefix -L,$(addsuffix /,${EBROOTOPENMPI})lib)'
+MPI_LIB='$(addprefix -l,mpi mpi_mpifh)'
 
-HDF5_INCDIR="-I${HDF5_DIR}/include"
-HDF5_LIBDIR="-L${HDF5_DIR}/lib"
-HDF5_LIB="-lhdf5_hl -lhdf5 -lz -lcurl"
+HDF5_INCDIR='$(addprefix -I,$(addsuffix /,$(HDF5_DIR))include)'
+HDF5_LIBDIR='$(addprefix -L,$(addsuffix /,$(HDF5_DIR))lib)'
+HDF5_LIB='$(addprefix -l,hdf5_hl hdf5 z)'
 
 OASIS_INCDIR='$(addprefix -I,${HOME}/models/ecearth_3.3.3.2/sources/oasis3-mct/ecconf/build/lib/psmile.MPI1)'
 OASIS_LIBDIR='$(addprefix -L,${HOME}/models/ecearth_3.3.3.2/sources/oasis3-mct/ecconf/lib)'