Browse Source

Example config & submission rebuild nemo on zenobe

Pierre-Yves Barriat 6 years ago
parent
commit
49b9452aec
3 changed files with 108 additions and 0 deletions
  1. 2 0
      install.sh
  2. 71 0
      util/arch-frontal3.fcm
  3. 35 0
      util/batch_rebuild_nemo_zenobe.sh

+ 2 - 0
install.sh

@@ -80,12 +80,14 @@ case "$machine" in
       cp $CHOIX/runtime/classic/platform/zenobe.cfg.tmpl $TARGET/runtime/classic/platform/zenobe.cfg.tmpl
       cat $CHOIX/runtime/classic/zenobe.sh.tmpl > $TARGET/runtime/classic/ece-ifs+nemo.sh.tmpl
       cat $CHOIX/runtime/classic/ece-ifs+nemo.sh.tmpl >> $TARGET/runtime/classic/ece-ifs+nemo.sh.tmpl
+      cp util/arch-frontal3.fcm $TARGET/sources/nemo-3.6/ARCH/
       ;;
     *frontal*)
       echo "Zenobe"
       cp $CHOIX/runtime/classic/platform/zenobe.cfg.tmpl $TARGET/runtime/classic/platform/zenobe.cfg.tmpl
       cat $CHOIX/runtime/classic/zenobe.sh.tmpl > $TARGET/runtime/classic/ece-ifs+nemo.sh.tmpl
       cat $CHOIX/runtime/classic/ece-ifs+nemo.sh.tmpl >> $TARGET/runtime/classic/ece-ifs+nemo.sh.tmpl
+      cp util/arch-frontal3.fcm $TARGET/sources/nemo-3.6/ARCH/
       ;;
     *)
       echo "Unknown machine"

+ 71 - 0
util/arch-frontal3.fcm

@@ -0,0 +1,71 @@
+# 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           /projects/acad/ecearth/opt/software/HDF5/1.8.17-foss-2016b
+%HDF5_LIB            $(addprefix -L,$(addsuffix /,/projects/acad/ecearth/opt/software/HDF5/1.8.17-foss-2016b)lib) \
+                     $(addprefix -l,hdf5_hl hdf5)
+
+%NCDF_INC            $(addprefix -I,$(addsuffix /,/projects/acad/ecearth/opt/software/netCDF/4.4.1-foss-2016b)include) \
+                     $(addprefix -I,$(addsuffix /,/projects/acad/ecearth/opt/software/netCDF-Fortran/4.4.4-foss-2016b)include)
+%NCDF_LIB            $(addprefix -L,$(addsuffix /,/projects/acad/ecearth/opt/software/netCDF/4.4.1-foss-2016b)lib64) \
+                     $(addprefix -l,netcdf) \
+                     $(addprefix -L,$(addsuffix /,/projects/acad/ecearth/opt/software/netCDF-Fortran/4.4.4-foss-2016b)lib) \
+                     $(addprefix -l,netcdff)
+
+%MPI_INC             $(addprefix -I,/projects/acad/ecearth/opt/software/OpenMPI/1.10.3-GCC-5.4.0-2.26/include)
+%MPI_LIB             $(addprefix -L,$(addsuffix /,/projects/acad/ecearth/opt/software/OpenMPI/1.10.3-GCC-5.4.0-2.26)lib) \
+                     $(addprefix -l,mpi mpi_mpifh mpi_usempif08)
+
+%XIOS_HOME           ${HOME}/modeles/ecearth/ecearth_3.3.0/sources/xios-2.5
+%XIOS_INC            -I%XIOS_HOME/inc
+%XIOS_LIB            -L%XIOS_HOME/lib -lxios
+
+%OASIS_HOME          ${HOME}/modeles/ecearth/ecearth_3.3.0/sources/oasis3-mct/ecconf
+%OASIS_INC           -I%OASIS_HOME/build/lib/psmile.MPI1
+%OASIS_LIB           -L%OASIS_HOME/lib -lpsmile.MPI1 -lmct -lmpeu -lscrip
+
+%CPP                 cpp
+
+%FC                  gfortran
+%FCFLAGS             -fdefault-real-8 -ffree-line-length-none -O3 -funroll-all-loops 
+%FFLAGS              %FCFLAGS
+
+%FPPFLAGS            -P -C -traditional
+
+%LD                  gfortran
+%LDFLAGS             -O3
+
+%AR                  ar
+%ARFLAGS             -r -s
+
+%MK                  gmake
+
+%USER_INC            %XIOS_INC %OASIS_INC %NCDF_INC %MPI_INC
+%USER_LIB            %XIOS_LIB %OASIS_LIB %NCDF_LIB %MPI_LIB

+ 35 - 0
util/batch_rebuild_nemo_zenobe.sh

@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+#PBS -q main
+#PBS -r y
+#PBS -W group_list=ecearth
+#PBS -l walltime=01:50:00
+#PBS -l select=1:ncpus=24:ompthreads=24:mem=63000mb
+#PBS -M pierre-yves.barriat@uclouvain.be
+#PBS -m abe
+
+exec > ${PBS_O_WORKDIR-$PWD}/${PBS_JOBNAME-"local"}_${PBS_JOBID-"id"}.log
+echo "------------------ Job Info --------------------"
+echo "jobid : $PBS_JOBID"
+echo "jobname : $PBS_JOBNAME"
+echo "job type : $PBS_ENVIRONMENT"
+echo "submit dir : $PBS_O_WORKDIR"
+echo "queue : $PBS_O_QUEUE"
+echo "user : $PBS_O_LOGNAME"
+echo "threads : $OMP_NUM_THREADS"
+
+set -ue
+
+# Configure and load modules
+module purge
+PATH="/projects/acad/ecearth/opt/apps/lua/lua/bin:$PATH"
+. /projects/acad/ecearth/opt/lmod/lmod/init/profile
+module load CDO/1.7.2-foss-2016b NCO/4.6.0-foss-2016b netCDF-Fortran/4.4.4-foss-2016b
+
+cd /SCRATCH/acad/ecearth/pbarriat/TMP
+rm -rf EC05_01753152_restart_ice.nc EC05_01753152_restart_oce.nc nam_rebuild
+
+/home/acad/ucl-elic/pbarriat/modeles/ecearth/ecearth_3.3.0/sources/nemo-3.6/TOOLS/REBUILD_NEMO/rebuild_nemo -t 24 EC05_01753152_restart_oce 64
+/home/acad/ucl-elic/pbarriat/modeles/ecearth/ecearth_3.3.0/sources/nemo-3.6/TOOLS/REBUILD_NEMO/rebuild_nemo -t 24 EC05_01753152_restart_ice 64
+
+echo ----- REBUILD post finished