Earth Sciences

Earth Sciences Wiki

User Tools

Site Tools


setup_auto_ec-earth_to_run_in_a_new_cluster

Setup Auto-EC-Earth to run in a new cluster

I use as an example the Finis Terrae II setup.

Add an new entry in .ssh/config
Host finisterrae2 
        HostName ft2.cesga.es
        User cns31364
        IdentityFile ~/.ssh/id_rsa
        ForwardX11 yes
Add an new entry in platforms_EXPID.conf
[finisterrae2]
# Queue type. Options: ps, SGE, LSF, SLURM, PBS, eceaccess
TYPE = SLURM
HOST = finisterrae2
PROJECT = cns31
ADD_PROJECT_TO_HOST = false
USER = cns31364
SCRATCH_DIR = /mnt/lustre/scratch/home/res/cns31/cns31364/
TEST_SUITE = True
QUEUE = thinnodes
Add a new platform

You can use

 module show YYY 

To get the paths of the libraries

/esnas/autosubmit/a0hd/proj/auto-ecearth3/sources/sources/config-build.xml
...
<Platform name="finisterrae2-intel-intelmpi">
         <Description>
             HOST:        ft2.cesga.es
             ARCH:        linux_x86_64
             CPU MODEL:   24-core Intel Xeon E5-2680 v3 (Haswell) @ 2.5GHz
             MAINTAINER:  Joan Lopez de la Franca [joan.lopez@bsc.es]
             COMPILER:    i-compilers (icc+ifort, 17.0.1)
             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>/mnt/lustre/scratch/home/res/cns31/${USER}/${exp_name}/${PROJECT_DEST}/sources/sources</Value>
         </Parameter>
 
         <Parameter name="MPI_BASE_DIR">
             <Description>MPI base directory</Description>
             <Type>PATH</Type>
             <Value>/opt/cesga/intel/impi/5.1.3.223</Value>
         </Parameter>
 
         <Parameter name="MPI_INC_SUBDIR">
             <Description>MPI include directory relative to base dir</Description>
             <Type>PATH</Type>
             <Value>include64</Value>
         </Parameter>
 
         <Parameter name="MPI_LIB_SUBDIR">
             <Description>MPI lib directory relative to base dir</Description>
             <Type>PATH</Type>
             <Value>lib64</Value>
         </Parameter>
 
         <Parameter name="MPI_LIBS_WITHOUT_L">
             <Description>MPI libraries (without -l prefix)</Description>
             <Type>STRING</Type>
             <Value>mpi mpiif mpigi</Value>
         </Parameter>
 
         <Parameter name="LAPACK_BASE_DIR">
             <Description>LAPACK base directory</Description>
             <Type>PATH</Type>
             <Value>/opt/cesga/intel/compilers_and_libraries_2016.3.210/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/cesga/netcdf-fortran/4.4.3/intel/2016/impi/5.1</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>/opt/cesga/grib_api/1.14.5/intel/2016</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></Value>
         </Parameter>
 
         <Parameter name="GRIBEX_LIB_SUBDIR">
             <Description>GRIBEX lib directory relative to base dir</Description>
             <Type>PATH</Type>
             <Value></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></Value>
         </Parameter>
 
         <Parameter name="JPEG_INC_SUBDIR">
             <Description>JPEG include directory relative to base dir</Description>
             <Type>PATH</Type>
             <Value></Value>
         </Parameter>
 
         <Parameter name="JPEG_LIB_SUBDIR">
             <Description>JPEG lib directory relative to base dir</Description>
             <Type>PATH</Type>
             <Value></Value>
         </Parameter>
 
         <Parameter name="JPEG_LIBS_WITHOUT_L">
             <Description>JPEG libraries (without -l prefix)</Description>
             <Type>STRING</Type>
             <Value></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/cesga/hdf5/1.8.16/intel/2016/impi/5.1</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>ifort</Value>
         </Parameter>
 
         <Parameter name="FFLAGS">
             <Description>General F90 flags for compiling</Description>
             <Type>STRING</Type>
             <Value>-O2 -fp-model precise -xHost -g -traceback -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="CFLAGS">
             <Description>General C flags for compiling</Description>
             <Type>STRING</Type>
             <Value>-O2 -fp-model precise -xHost -g -traceback</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>icc</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 -g -traceback</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>
     ...
Add in the remote setup script the new platform
/esnas/autosubmit/a0hd/proj/auto-ecearth3/templates/common/common.remotesetup
...
# 
# Run ec-conf
# 
cd ${CURRENT_ROOTDIR}/${PROJNAME}/sources/sources
case ${HPCARCH} in
  marenostrum3)
    util/ec-conf/ec-conf --platform marenostrum3-intel-intelmpi config-build.xml
	;;
  finisterrae2)
    util/ec-conf/ec-conf --platform finisterrae2-intel-intelmpi config-build.xml
        ;;
  cca-intel)
    util/ec-conf/ec-conf --platform cca-intel-mpi config-build.xml
	;;
  *)
    error "Unsupported ec-conf architechture: ${HPCARCH}"
	;;
esac
...
setup_auto_ec-earth_to_run_in_a_new_cluster.txt · Last modified: 2017/03/09 12:27 by pechevar