User Tools

Site Tools


setup_auto_ec-earth_to_run_in_a_new_cluster

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
setup_auto_ec-earth_to_run_in_a_new_cluster [2017/03/07 17:29]
pechevar
setup_auto_ec-earth_to_run_in_a_new_cluster [2017/03/09 11:18]
pechevar
Line 1: Line 1:
 === 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 ==
 +<code>
 +Host finisterrae2 
 +        HostName ft2.cesga.es
 +        User cns31364
 +        IdentityFile ~/.ssh/id_rsa
 +        ForwardX11 yes
 +</code>
 + 
 +== Add an new entry in platforms_EXPID.conf ==
 +<code>
 +[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
 +</code>
 +
 +== Add a new platform ==
 +in /esnas/autosubmit/a0hd/proj/auto-ecearth3/sources/sources/config-build.xml
 +You can use 
 +<code>
 +module show YYY 
 +</code>
 +To get the paths of the libraries
 +
 +<code>
 +<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>
 +</code>
 +
 +
 +== Add in the remote setup script the new platform ==
 +
 +/esnas/autosubmit/a0hd/proj/auto-ecearth3/templates/common/common.remotesetup
 +<code>
 +...
 +
 +# 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
 +...
 +</code>
setup_auto_ec-earth_to_run_in_a_new_cluster.txt ยท Last modified: 2017/03/09 11:27 by pechevar