Browse Source

New conf lemaitre3 for 3.2.2 and primavera

Pierre-Yves Barriat 6 năm trước cách đây
mục cha
commit
1d599aae71

+ 10 - 10
3.2.2/sources/config-build.xml

@@ -74,7 +74,7 @@
 
     </Translation>
 
-    <Platform name="lemaitre3-intel-intelmpi">
+    <Platform name="lemaitre3-intelmpi">
         <Description>
             HOST:        zenobe.cism.ucl.ac.be
             ARCH:        linux_x86_64
@@ -88,7 +88,7 @@
         <Parameter name="ECEARTH_SRC_DIR">
             <Description>Base directory for EC-Earth sources</Description>
             <Type>PATH</Type>
-            <Value>$(HOME)/modeles/ecearth/ecearth_DEV/sources</Value>
+            <Value>$(HOME)/modeles/ecearth/ecearth_3.2.2/sources</Value>
         </Parameter>
 
         <Parameter name="MPI_BASE_DIR">
@@ -112,7 +112,7 @@
         <Parameter name="MPI_LIBS_WITHOUT_L">
             <Description>MPI libraries (without -l prefix)</Description>
             <Type>STRING</Type>
-            <Value>mpi mpiif mpigf</Value>
+            <Value>mpi mpigf</Value>
         </Parameter>
 
         <Parameter name="LAPACK_BASE_DIR">
@@ -136,19 +136,19 @@
         <Parameter name="NETCDF_BASE_DIR">
             <Description>NetCDF base directory</Description>
             <Type>PATH</Type>
-            <Value>/scratch/ucl/elic/pbarriat/DATA/OPT/netcdf</Value>
+            <Value>/opt/cecisw/arch/easybuild/2018a/software/netCDF/4.4.1.1-intel-2018a</Value>
         </Parameter>
 
         <Parameter name="NETCDF_INC_SUBDIR">
             <Description>NetCDF include directory relative to base dir</Description>
             <Type>PATH</Type>
-            <Value>include</Value>
+            <Value>include /opt/cecisw/arch/easybuild/2018a/software/netCDF-Fortran/4.4.4-intel-2018a/include</Value>
         </Parameter>
 
         <Parameter name="NETCDF_LIB_SUBDIR">
             <Description>NetCDF lib directory relative to base dir</Description>
             <Type>PATH</Type>
-            <Value>lib</Value>
+            <Value>lib64 /opt/cecisw/arch/easybuild/2018a/software/netCDF-Fortran/4.4.4-intel-2018a/lib</Value>
         </Parameter>
 
         <Parameter name="NETCDF_LIBS_WITHOUT_L">
@@ -160,7 +160,7 @@
         <Parameter name="GRIBAPI_BASE_DIR">
             <Description>GRIB API base directory</Description>
             <Type>PATH</Type>
-            <Value>/scratch/ucl/elic/pbarriat/DATA/OPT/grib_api</Value>
+            <Value>/opt/cecisw/arch/easybuild/2018a/software/grib_api/1.16.0-intel-2018a</Value>
         </Parameter>
 
         <Parameter name="GRIBAPI_INC_SUBDIR">
@@ -202,19 +202,19 @@
         <Parameter name="JPEG_BASE_DIR">
             <Description>JPEG base directory</Description>
             <Type>PATH</Type>
-            <Value>/scratch/ucl/elic/pbarriat/DATA/OPT/openjpeg</Value>
+            <Value>/opt/cecisw/arch/easybuild/2018a/software/openjpeg/1.5.2-intel-2018a</Value>
         </Parameter>
 
         <Parameter name="JPEG_INC_SUBDIR">
             <Description>JPEG include directory relative to base dir</Description>
             <Type>PATH</Type>
-            <Value>/scratch/ucl/elic/pbarriat/DATA/OPT/openjpeg/include</Value>
+            <Value>include</Value>
         </Parameter>
 
         <Parameter name="JPEG_LIB_SUBDIR">
             <Description>JPEG lib directory relative to base dir</Description>
             <Type>PATH</Type>
-            <Value>/scratch/ucl/elic/pbarriat/DATA/OPT/openjpeg/lib</Value>
+            <Value>lib</Value>
         </Parameter>
 
         <Parameter name="JPEG_LIBS_WITHOUT_L">

+ 68 - 0
3.2.2/sources/nemo_lemaitre3_arch-ecconf.fcm.tmpl

@@ -0,0 +1,68 @@
+# EC-EARTH3 ec-conf-based configuration
+#
+# 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
+#
+# Note that:
+#  - unix variables "$..." are accpeted and will be evaluated before calling fcm.
+#  - fcm variables are starting with a % (and not a $)
+
+%HDF5_HOME           [[[PLT:ACTIVE:HDF5_BASE_DIR]]]
+%HDF5_LIB            $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:HDF5_BASE_DIR]]])[[[PLT:ACTIVE:HDF5_LIB_SUBDIR]]]) \
+                     $(addprefix -l,[[[PLT:ACTIVE:HDF5_LIBS_WITHOUT_L]]])
+
+%NCDF_INC            $(addprefix -I,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]])
+%NCDF_LIB            $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]]) \
+                     $(addprefix -l,[[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]])
+
+%MPI_INC             $(addprefix -I,[[[PLT:ACTIVE:MPI_BASE_DIR]]]/[[[PLT:ACTIVE:MPI_INC_SUBDIR]]])
+%MPI_LIB             $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]) \
+                     $(addprefix -l,[[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]])
+
+%XIOS_HOME           [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/xios-2
+%XIOS_INC            -I%XIOS_HOME/inc
+%XIOS_LIB            -L%XIOS_HOME/lib -lxios
+
+%OASIS_HOME          [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3-mct/ecconf
+%OASIS_INC           -I%OASIS_HOME/build/lib/psmile.MPI1
+%OASIS_LIB           -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
+
+%CPP                 [[[PLT:ACTIVE:FPP]]]
+
+%FC                  [[[PLT:ACTIVE:FC]]]
+%FCFLAGS             [[[PLT:ACTIVE:FFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_FFLAGS]]]
+%FFLAGS              %FCFLAGS
+
+%FPPFLAGS            [[[PLT:ACTIVE:CPPFLAGS]]]
+
+%LD                  [[[PLT:ACTIVE:LD]]]
+%LDFLAGS             [[[PLT:ACTIVE:LDFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_LDFLAGS]]]
+
+%AR                  [[[PLT:ACTIVE:AR]]]
+%ARFLAGS             [[[PLT:ACTIVE:ARFLAGS]]]
+
+%MK                  [[[PLT:ACTIVE:MAKE]]]
+
+%USER_INC            %XIOS_INC %OASIS_INC %NCDF_INC %MPI_INC
+%USER_LIB            %XIOS_LIB %OASIS_LIB %NCDF_LIB %MPI_LIB

+ 42 - 0
3.2.2/sources/runoff-mapper_lemaitre3_Makefile.tmpl

@@ -0,0 +1,42 @@
+executable = ../bin/runoff-mapper.exe
+
+FC      = [[[PLT:ACTIVE:FC]]]
+FFLAGS  = [[[PLT:ACTIVE:FFLAGS]]]
+
+LD      = [[[PLT:ACTIVE:LD]]]
+LDFLAGS = [[[PLT:ACTIVE:LDFLAGS]]]
+
+OASIS_BASE_DIR = [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3-mct/ecconf
+OASIS_MOD_DIR  = $(OASIS_BASE_DIR)/build/lib/psmile.MPI1
+OASIS_INC_DIR  = $(OASIS_BASE_DIR)/lib/psmile/include
+OASIS_LIB_DIR  = $(OASIS_BASE_DIR)/lib
+OASIS_LIBS     = -lpsmile.MPI1 -lmct -lmpeu -lscrip
+
+MPI_LIB_DIR    = $(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]
+MPI_LIBS       = $(addprefix -l,[[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]])
+
+NETCDF_INC_DIR = $(addprefix -I,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]])
+NETCDF_LIB_DIR = $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]])
+NETCDF_LIBS    = $(addprefix -l,[[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]])
+
+VPATH = cplng
+
+cplng_srcs = \
+    cplng_data_mod.F90 \
+    cplng_init_mod.F90 \
+    cplng_config_mod.F90 \
+    cplng_exchange_mod.F90 \
+    cplng_finalize_mod.F90 \
+    cplng_mod.F90
+
+rnfmap_srcs = runoff_mapper_mod.F90 runoff_mapper.F90
+
+$(executable): config_mod.o $(cplng_srcs:.F90=.o) $(rnfmap_srcs:.F90=.o)
+	$(LD) $(LDFLAGS) -o $@ $^ -L$(OASIS_LIB_DIR) $(OASIS_LIBS) $(NETCDF_LIB_DIR) $(NETCDF_LIBS) -L$(MPI_LIB_DIR) $(MPI_LIBS)
+
+%.o: %.F90
+	$(FC) $(FFLAGS) -c -I$(OASIS_MOD_DIR) -I$(NETCDF_INC_DIR) $<
+
+.PHONY: clean
+clean:
+	@rm -f *.o *.mod

+ 66 - 0
3.2.2/sources/xios-2_lemaitre3_bld.cfg

@@ -0,0 +1,66 @@
+# ----------------------- FCM extract configuration file -----------------------
+cfg::type                           bld
+cfg::version                        1.0
+
+
+# ------------------------------------------------------------------------------
+# Build information
+# ------------------------------------------------------------------------------
+
+inc arch.fcm
+inc config.fcm
+
+%CFLAGS           %BASE_CFLAGS %COMPIL_CFLAGS
+%FFLAGS           %BASE_FFLAGS %COMPIL_FFLAGS
+%LD_FLAGS         %ARCH_LD %BASE_LD
+
+
+dest::root   $PWD
+
+bld::infile_ext::cpp   C::SOURCE
+bld::infile_ext::conf  CPP::INCLUDE
+bld::infile_ext::hpp   CPP::INCLUDE
+
+
+search_src           true
+src::zzz .
+src::date $PWD/extern/boost/src/date_time
+src::blitz $PWD/extern/blitz/src
+#src::netcdf $PWD/extern/netcdf4
+src::remap $PWD/extern/remap/src
+bld::lib xios
+bld::target libxios.a
+#bld::target generate_fortran_interface.exe 
+bld::target xios_server.exe 
+#bld::target test_remap.exe
+#bld::target test_regular.exe
+#bld::target test_new_features.exe test_unstruct_complete.exe 
+#bld::target test_client.exe test_complete.exe
+bld::exe_dep
+
+bld::tool::cc        %CCOMPILER
+bld::tool::fc        %FCOMPILER
+bld::tool::fpp       %FPP
+bld::tool::cpp       %CPP
+#bld::tool::cppflags  %CBASE_INC -I${PWD}/extern/src_netcdf -I${PWD}/extern/boost/include -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include 
+bld::tool::cppflags  %CBASE_INC -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include
+bld::tool::fppflags  %BASE_INC -I${PWD}/extern/rapidxml/include 
+bld::tool::ld        %LINKER
+bld::tool::ldflags   %LD_FLAGS 
+#bld::tool::cflags    %CFLAGS %CBASE_INC -I${PWD}/extern/src_netcdf -I${PWD}/extern/boost/include -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include 
+bld::tool::cflags    %CFLAGS %CBASE_INC -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include
+bld::tool::fflags    %FFLAGS %FBASE_INC 
+bld::tool::cppkeys   %CPP_KEY
+bld::tool::fppkeys   %CPP_KEY
+bld::tool::make      %MAKE
+
+# Pre-process code before analysing dependencies
+bld::pp    false          
+bld::pp::interface/fortran              true
+bld::pp::interface/fortran_attr         true
+bld::excl_dep        use::mod_prism_get_comm
+bld::excl_dep        use::mod_prism_get_localcomm_proto
+bld::excl_dep        use::mod_prism_proto
+bld::excl_dep        use::mod_prism
+bld::excl_dep        use::netcdf
+bld::excl_dep        inc::mpif.h

+ 410 - 9
primavera/sources/config-build.xml

@@ -6,49 +6,56 @@
         <Description>Nemo 3.6 config file</Description>
         <Template>nemo-3.6/ARCH/arch-ecconf.fcm.tmpl</Template>
         <Target>nemo-3.6/ARCH/arch-ecconf.fcm</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="xios2_arch_ecconf_fcm">
         <Description>XIOS2 config file for FCM</Description>
         <Template>xios-2/arch/arch-ecconf.fcm.tmpl</Template>
         <Target>xios-2/arch/arch-ecconf.fcm</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="xios2_arch_ecconf_env">
         <Description>XIOS2 config file: env</Description>
         <Template>xios-2/arch/arch-ecconf.env.tmpl</Template>
         <Target>xios-2/arch/arch-ecconf.env</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="xios2_arch_ecconf_path">
         <Description>XIOS2 config file: path</Description>
         <Template>xios-2/arch/arch-ecconf.path.tmpl</Template>
         <Target>xios-2/arch/arch-ecconf.path</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="ifs36r4_makefile_config">
         <Description>IFS/36r4 makefile configuration</Description>
         <Template>ifs-36r4/Makefile.d/Makefile.config.ecconf.tmpl</Template>
         <Target>ifs-36r4/Makefile.d/Makefile.config.ecconf</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="oasis_makefile_config">
         <Description>OASIS makefile configuration</Description>
         <Template>oasis3-mct/util/make_dir/Makefile.d/Makefile.config.ecconf.tmpl</Template>
         <Target>oasis3-mct/util/make_dir/Makefile.d/Makefile.config.ecconf</Target>
-   	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="runoff-mapper_makefile">
         <Description>Runoff-mapper Makefile</Description>
         <Template>runoff-mapper/src/Makefile.tmpl</Template>
         <Target>runoff-mapper/src/Makefile</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="amip-forcing_makefile">
@@ -63,14 +70,16 @@
         <Description>TM5MP rcfile configuration</Description>
         <Template>tm5mp/rc/pycasso-config-ecearth3.rc.tmpl</Template>
         <Target>tm5mp/ecconfig-ecearth3.rc</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="ece2cmor_makefile_config">
     	<Description>Ece2cmor makefile configuration</Description>
     	<Template>util/ece2cmor/src/Makefile.tmpl</Template>
     	<Target>util/ece2cmor/src/Makefile</Target>
-    	<Properties></Properties>
+        <Properties></Properties>
+
     </Translation>
 
     <Translation name="elpin_makefile_config">
@@ -78,8 +87,400 @@
         <Template>util/ELPiN/src/Makefiles/makefile.tmpl</Template>
         <Target>util/ELPiN/Makefile</Target>
         <Properties></Properties>
+
     </Translation>
 
+    <Platform name="lemaitre3-intelmpi">
+        <Description>
+            HOST:        zenobe.cism.ucl.ac.be
+            ARCH:        linux_x86_64
+            CPU MODEL:   Intel Skylake
+            MAINTAINER:  PY Barriat [pierre-yves.barriat@uclouvain.be]
+            COMPILER:    i-compilers (icc+ifort, 18.0.1.163)
+            MPI:         Intel MPI
+            BLAS/LAPACK: Intel MKL
+        </Description>
+
+        <Parameter name="ECEARTH_SRC_DIR">
+            <Description>Base directory for EC-Earth sources</Description>
+            <Type>PATH</Type>
+            <Value>$(HOME)/modeles/ecearth/ecearth_3.2.2/sources</Value>
+        </Parameter>
+
+        <Parameter name="MPI_BASE_DIR">
+            <Description>MPI base directory</Description>
+            <Type>PATH</Type>
+            <Value>/opt/cecisw/arch/easybuild/2018a/software/impi/2018.1.163-iccifort-2018.1.163-GCC-6.4.0-2.28/intel64</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 mpigf</Value>
+        </Parameter>
+
+        <Parameter name="LAPACK_BASE_DIR">
+            <Description>LAPACK base directory</Description>
+            <Type>PATH</Type>
+            <Value>/opt/cecisw/arch/easybuild/2018a/software/imkl/2018.1.163-iimpi-2018a/compilers_and_libraries_2018.1.163/linux/mkl</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>/opt/cecisw/arch/easybuild/2018a/software/netCDF/4.4.1.1-intel-2018a</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_INC_SUBDIR">
+            <Description>NetCDF include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include /opt/cecisw/arch/easybuild/2018a/software/netCDF-Fortran/4.4.4-intel-2018a/include</Value>
+        </Parameter>
+
+        <Parameter name="NETCDF_LIB_SUBDIR">
+            <Description>NetCDF lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib64 /opt/cecisw/arch/easybuild/2018a/software/netCDF-Fortran/4.4.4-intel-2018a/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>/opt/cecisw/arch/easybuild/2018a/software/grib_api/1.16.0-intel-2018a</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>grib_api_f90 grib_api</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_BASE_DIR">
+            <Description>GRIBEX base directory</Description>
+            <Type>PATH</Type>
+            <Value>/scratch/ucl/elic/pbarriat/DATA/OPT/gribex</Value>
+        </Parameter>
+
+        <Parameter name="GRIBEX_LIB_SUBDIR">
+            <Description>GRIBEX lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>lib</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>/opt/cecisw/arch/easybuild/2018a/software/openjpeg/1.5.2-intel-2018a</Value>
+        </Parameter>
+
+        <Parameter name="JPEG_INC_SUBDIR">
+            <Description>JPEG include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value>include</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>openjpeg</Value>
+        </Parameter>
+
+        <Parameter name="SZIP_BASE_DIR">
+            <Description>SZIP base directory</Description>
+            <Type>PATH</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="SZIP_INC_SUBDIR">
+            <Description>SZIP include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIB_SUBDIR">
+            <Description>SZIP lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="SZIP_LIBS_WITHOUT_L">
+            <Description>SZIP libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="HDF4_BASE_DIR">
+            <Description>HDF4 base directory</Description>
+            <Type>PATH</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="HDF4_INC_SUBDIR">
+            <Description>HDF4 include directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIB_SUBDIR">
+            <Description>HDF4 lib directory relative to base dir</Description>
+            <Type>PATH</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="HDF4_LIBS_WITHOUT_L">
+            <Description>HDF4 libraries (without -l prefix)</Description>
+            <Type>STRING</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="HDF5_BASE_DIR">
+            <Description>HDF5 base directory</Description>
+            <Type>PATH</Type>
+            <Value>/opt/cecisw/arch/easybuild/2018a/software/HDF5/1.8.18-intel-2018a</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>ifort</Value>
+        </Parameter>
+
+        <Parameter name="FFLAGS">
+            <Description>General F90 flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -xHost -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>icc</Value>
+        </Parameter>
+
+        <Parameter name="CXX">
+            <Description>C++ Compiler</Description>
+            <Type>STRING</Type>
+            <Value>icc</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS">
+            <Description>General C flags for compiling</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -xHost</Value>
+        </Parameter>
+
+        <Parameter name="CFLAGS_CPP_PREFIX">
+            <Description>C preprocessor flag prefix</Description>
+            <Type>STRING</Type>
+            <Value>-D</Value>
+        </Parameter>
+
+        <Parameter name="LD">
+            <Description>Linker</Description>
+            <Type>STRING</Type>
+            <Value>ifort</Value>
+        </Parameter>
+
+        <Parameter name="LDFLAGS">
+            <Description>General flags for linking</Description>
+            <Type>STRING</Type>
+            <Value>-O2 -fp-model precise -xHost</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>C 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></Value>
+        </Parameter>
+
+        <Parameter name="OASIS_ADD_LDFLAGS">
+            <Description>More LD flags for Oasis</Description>
+            <Type>STRING</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="NEMO_ADD_FFLAGS">
+            <Description>More F90 flags for Nemo</Description>
+            <Type>STRING</Type>
+            <Value>-check pointers -check uninit -fpe0</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</Value>
+        </Parameter>
+
+        <Parameter name="IFSAUX_ADD_FFLAGS">
+            <Description>More F90 flags for ifs/ifsaux</Description>
+            <Type>STRING</Type>
+            <Value></Value>
+        </Parameter>
+
+        <Parameter name="MAKEDEPF90">
+            <Description>F90 dependency generator</Description>
+            <Type>STRING</Type>
+            <Value>$(ECEARTH_SRC_DIR)/util/makedepf90/bin/makedepf90</Value>
+        </Parameter>
+
+    </Platform>
+
     <Platform name="zenobe-intel-intelmpi">
         <Description>
             HOST:        zenobe.hpc.cenaero.be

+ 68 - 0
primavera/sources/nemo_lemaitre3_arch-ecconf.fcm.tmpl

@@ -0,0 +1,68 @@
+# EC-EARTH3 ec-conf-based configuration
+#
+# 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
+#
+# Note that:
+#  - unix variables "$..." are accpeted and will be evaluated before calling fcm.
+#  - fcm variables are starting with a % (and not a $)
+
+%HDF5_HOME           [[[PLT:ACTIVE:HDF5_BASE_DIR]]]
+%HDF5_LIB            $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:HDF5_BASE_DIR]]])[[[PLT:ACTIVE:HDF5_LIB_SUBDIR]]]) \
+                     $(addprefix -l,[[[PLT:ACTIVE:HDF5_LIBS_WITHOUT_L]]])
+
+%NCDF_INC            $(addprefix -I,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]])
+%NCDF_LIB            $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]]) \
+                     $(addprefix -l,[[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]])
+
+%MPI_INC             $(addprefix -I,[[[PLT:ACTIVE:MPI_BASE_DIR]]]/[[[PLT:ACTIVE:MPI_INC_SUBDIR]]])
+%MPI_LIB             $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]) \
+                     $(addprefix -l,[[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]])
+
+%XIOS_HOME           [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/xios-2
+%XIOS_INC            -I%XIOS_HOME/inc
+%XIOS_LIB            -L%XIOS_HOME/lib -lxios
+
+%OASIS_HOME          [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3-mct/ecconf
+%OASIS_INC           -I%OASIS_HOME/build/lib/psmile.MPI1
+%OASIS_LIB           -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
+
+%CPP                 [[[PLT:ACTIVE:FPP]]]
+
+%FC                  [[[PLT:ACTIVE:FC]]]
+%FCFLAGS             [[[PLT:ACTIVE:FFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_FFLAGS]]]
+%FFLAGS              %FCFLAGS
+
+%FPPFLAGS            [[[PLT:ACTIVE:CPPFLAGS]]]
+
+%LD                  [[[PLT:ACTIVE:LD]]]
+%LDFLAGS             [[[PLT:ACTIVE:LDFLAGS]]] [[[PLT:ACTIVE:NEMO_ADD_LDFLAGS]]]
+
+%AR                  [[[PLT:ACTIVE:AR]]]
+%ARFLAGS             [[[PLT:ACTIVE:ARFLAGS]]]
+
+%MK                  [[[PLT:ACTIVE:MAKE]]]
+
+%USER_INC            %XIOS_INC %OASIS_INC %NCDF_INC %MPI_INC
+%USER_LIB            %XIOS_LIB %OASIS_LIB %NCDF_LIB %MPI_LIB

+ 42 - 0
primavera/sources/runoff-mapper_lemaitre3_Makefile.tmpl

@@ -0,0 +1,42 @@
+executable = ../bin/runoff-mapper.exe
+
+FC      = [[[PLT:ACTIVE:FC]]]
+FFLAGS  = [[[PLT:ACTIVE:FFLAGS]]]
+
+LD      = [[[PLT:ACTIVE:LD]]]
+LDFLAGS = [[[PLT:ACTIVE:LDFLAGS]]]
+
+OASIS_BASE_DIR = [[[PLT:ACTIVE:ECEARTH_SRC_DIR]]]/oasis3-mct/ecconf
+OASIS_MOD_DIR  = $(OASIS_BASE_DIR)/build/lib/psmile.MPI1
+OASIS_INC_DIR  = $(OASIS_BASE_DIR)/lib/psmile/include
+OASIS_LIB_DIR  = $(OASIS_BASE_DIR)/lib
+OASIS_LIBS     = -lpsmile.MPI1 -lmct -lmpeu -lscrip
+
+MPI_LIB_DIR    = $(addsuffix /,[[[PLT:ACTIVE:MPI_BASE_DIR]]])[[[PLT:ACTIVE:MPI_LIB_SUBDIR]]]
+MPI_LIBS       = $(addprefix -l,[[[PLT:ACTIVE:MPI_LIBS_WITHOUT_L]]])
+
+NETCDF_INC_DIR = $(addprefix -I,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_INC_SUBDIR]]])
+NETCDF_LIB_DIR = $(addprefix -L,$(addsuffix /,[[[PLT:ACTIVE:NETCDF_BASE_DIR]]])[[[PLT:ACTIVE:NETCDF_LIB_SUBDIR]]])
+NETCDF_LIBS    = $(addprefix -l,[[[PLT:ACTIVE:NETCDF_LIBS_WITHOUT_L]]])
+
+VPATH = cplng
+
+cplng_srcs = \
+    cplng_data_mod.F90 \
+    cplng_init_mod.F90 \
+    cplng_config_mod.F90 \
+    cplng_exchange_mod.F90 \
+    cplng_finalize_mod.F90 \
+    cplng_mod.F90
+
+rnfmap_srcs = runoff_mapper_mod.F90 runoff_mapper.F90
+
+$(executable): config_mod.o $(cplng_srcs:.F90=.o) $(rnfmap_srcs:.F90=.o)
+	$(LD) $(LDFLAGS) -o $@ $^ -L$(OASIS_LIB_DIR) $(OASIS_LIBS) $(NETCDF_LIB_DIR) $(NETCDF_LIBS) -L$(MPI_LIB_DIR) $(MPI_LIBS)
+
+%.o: %.F90
+	$(FC) $(FFLAGS) -c -I$(OASIS_MOD_DIR) -I$(NETCDF_INC_DIR) $<
+
+.PHONY: clean
+clean:
+	@rm -f *.o *.mod

+ 66 - 0
primavera/sources/xios-2_lemaitre3_bld.cfg

@@ -0,0 +1,66 @@
+# ----------------------- FCM extract configuration file -----------------------
+cfg::type                           bld
+cfg::version                        1.0
+
+
+# ------------------------------------------------------------------------------
+# Build information
+# ------------------------------------------------------------------------------
+
+inc arch.fcm
+inc config.fcm
+
+%CFLAGS           %BASE_CFLAGS %COMPIL_CFLAGS
+%FFLAGS           %BASE_FFLAGS %COMPIL_FFLAGS
+%LD_FLAGS         %ARCH_LD %BASE_LD
+
+
+dest::root   $PWD
+
+bld::infile_ext::cpp   C::SOURCE
+bld::infile_ext::conf  CPP::INCLUDE
+bld::infile_ext::hpp   CPP::INCLUDE
+
+
+search_src           true
+src::zzz .
+src::date $PWD/extern/boost/src/date_time
+src::blitz $PWD/extern/blitz/src
+#src::netcdf $PWD/extern/netcdf4
+src::remap $PWD/extern/remap/src
+bld::lib xios
+bld::target libxios.a
+#bld::target generate_fortran_interface.exe 
+bld::target xios_server.exe 
+#bld::target test_remap.exe
+#bld::target test_regular.exe
+#bld::target test_new_features.exe test_unstruct_complete.exe 
+#bld::target test_client.exe test_complete.exe
+bld::exe_dep
+
+bld::tool::cc        %CCOMPILER
+bld::tool::fc        %FCOMPILER
+bld::tool::fpp       %FPP
+bld::tool::cpp       %CPP
+#bld::tool::cppflags  %CBASE_INC -I${PWD}/extern/src_netcdf -I${PWD}/extern/boost/include -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include 
+bld::tool::cppflags  %CBASE_INC -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include
+bld::tool::fppflags  %BASE_INC -I${PWD}/extern/rapidxml/include 
+bld::tool::ld        %LINKER
+bld::tool::ldflags   %LD_FLAGS 
+#bld::tool::cflags    %CFLAGS %CBASE_INC -I${PWD}/extern/src_netcdf -I${PWD}/extern/boost/include -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include 
+bld::tool::cflags    %CFLAGS %CBASE_INC -I${PWD}/extern/rapidxml/include -I${PWD}/extern/blitz/include
+bld::tool::fflags    %FFLAGS %FBASE_INC 
+bld::tool::cppkeys   %CPP_KEY
+bld::tool::fppkeys   %CPP_KEY
+bld::tool::make      %MAKE
+
+# Pre-process code before analysing dependencies
+bld::pp    false          
+bld::pp::interface/fortran              true
+bld::pp::interface/fortran_attr         true
+bld::excl_dep        use::mod_prism_get_comm
+bld::excl_dep        use::mod_prism_get_localcomm_proto
+bld::excl_dep        use::mod_prism_proto
+bld::excl_dep        use::mod_prism
+bld::excl_dep        use::netcdf
+bld::excl_dep        inc::mpif.h