EC-Earth is a global coupled climate model. It is developed by a consortium of European research institutions.
The goal of this project is to adapt this model for our needs in TECLIM: install, run management, etc.

Francois Massonnet b4f9fd5ef5 Mettre à jour 'README.md' %!s(int64=5) %!d(string=hai) anos
3.2.2 103ef62be3 Path correction runtime %!s(int64=6) %!d(string=hai) anos
3.2.3 e277fd078c New outputs defintition for 3.2.3 %!s(int64=6) %!d(string=hai) anos
3.3.0 ba1b8b32a8 Runs E016 (2014 forcing) %!s(int64=5) %!d(string=hai) anos
primavera 2112a0f624 Upgrade for primavera update %!s(int64=5) %!d(string=hai) anos
trunk 3f33478bab ppt_ifs %!s(int64=6) %!d(string=hai) anos
util 2112a0f624 Upgrade for primavera update %!s(int64=5) %!d(string=hai) anos
LICENSE caa74bf963 Initial commit %!s(int64=7) %!d(string=hai) anos
README.md b4f9fd5ef5 Mettre à jour 'README.md' %!s(int64=5) %!d(string=hai) anos
bashrc 80a74d1887 Restriction for Lmod usage %!s(int64=7) %!d(string=hai) anos
config bb98ba71ec Update 'config' %!s(int64=7) %!d(string=hai) anos
exps.txt ba1b8b32a8 Runs E016 (2014 forcing) %!s(int64=5) %!d(string=hai) anos
install.sh e171589da4 Add namelists cfg to versioning. Boosts snow conductivity to 0.35 W/mK. Runs E006 onwards. %!s(int64=5) %!d(string=hai) anos
set_version.sh 6c6faa5a6e make machine dependence for set_version. For experiment E000 %!s(int64=5) %!d(string=hai) anos

README.md

EC-Earth_patch

EC-Earth is a global coupled climate model. It is developed by a consortium of European research institutions. The goal of this project is to adapt this model for our needs in TECLIM: install, run management, etc.

Important Notes

YOU MUST HAVE YOUR ~/.ssh/id_rsa.pub FILE BEFORE STARTING TO WORK WITH GIT ON ZENOBE.

Install

First, clone the pbarriat/ecearth_patch repository:

mkdir -p ~/modeles/ecearth
cd ~/modeles/ecearth
git clone ssh://git@www.climate.be:3022/pbarriat/ecearth_patch.git # Try ssh://egit/pbarriat/ecearth_patch.git if does not work, that happened on Zenobe to me [FM] even with the public key put on the GOGS

Now, update your shell startup script (~/.bashrc) to add ecearth globals variables to your environment.

Zenobe

configure_ecearth()
{
  if [ `hostname` != "frontal1" ]; then
    echo "First, we move to frontal1..."
    touch .configure_ecearth
    ssh frontal1
  fi
  export EC_DEP=/projects/acad/ecearth/opt
  if [ -f $EC_DEP/modules.load ]; then
    source $EC_DEP/modules.load
  fi
}

Lemaitre3

configure_ecearth()
{
  module purge
  module load 2016a netCDF-Fortran/4.4.4-intel-2016a grib_api/1.16.0-intel-2016a openjpeg/1.5.2-intel-2016a
}

Source code

Then, checkout the EC-Earth SVN repository. You need to have registered to the EC-Earth portal (https://dev.ec-earth.org) and have a user name ${YOUR_ECEARTH_USERNAME}. Five alternatives:

cd ~/modeles/ecearth

svn co --username=${YOUR_ECEARTH_USERNAME} https://svn.ec-earth.org/ecearth3/tags/3.2.2 ecearth_3.2.2

svn co --username=${YOUR_ECEARTH_USERNAME} https://svn.ec-earth.org/ecearth3/tags/3.2.3 ecearth_3.2.3

svn co --username=${YOUR_ECEARTH_USERNAME} https://svn.ec-earth.org/ecearth3/tags/3.3.0 ecearth_3.3.0

svn co --username=${YOUR_ECEARTH_USERNAME} https://svn.ec-earth.org/ecearth3/branches/projects/primavera ecearth_primavera

svn co --username=${YOUR_ECEARTH_USERNAME} https://svn.ec-earth.org/ecearth3/trunk ecearth_trunk

Final step, go to the ecearth_patch repository and run the install.sh script:

cd ~/modeles/ecearth/ecearth_patch
./install.sh

Compile

YOU MUST COMPILE ON frontal1 for ZENOBE (ssh frontal1 from zenobe)

  • Create all the Makefile's using the built-in program ec-conf, by typing the following lines:
TAG=3.3.0 # Or 3.2.0, 3.2.3, primavera, trunk or any other configuration
CONF=zenobe # Or lemaitre3

configure_ecearth
cd ~/modeles/ecearth/ecearth_$TAG/sources
./util/ec-conf/ec-conf -p $CONF-intelmpi config-build.xml
  • Compile oasis3:
cd oasis3-mct/util/make_dir
make BUILD_ARCH=ecconf -f TopMakefileOasis3
cd ../../..
  • Compile IFS:
cd ifs-36r4
./makeifs -j 4
cd ..
  • Compile xios-2 (or any other later version provided):
cd xios-2
./make_xios --prod --arch ecconf --use_oasis oasis3_mct --netcdf_lib netcdf4_par -j 4
cd ..
  • Compile NEMO:
cd nemo-3.6/CONFIG
./makenemo -n ORCA1L75_LIM3 -m ecconf -j4
cd ../..
  • Compile runoff-mapper:
cd runoff-mapper/src
make
cd ../..

Primavera context:

  • Compile amip-forcing:
cd amip-forcing/src
make
cd ../..
  • Configure ELPiN:
cd util/ELPiN
mkdir bathymetries
ln -s /scratch/ucl/elic/pbarriat/DATA/EC-EARTH/nemo/initial/ORCA1L75/bathy_meter.nc bathymetries/nemo_bathy_meter_ORCA1.nc
ln -s /scratch/ucl/elic/pbarriat/DATA/EC-EARTH/nemo/initial/ORCA1L75/bathy_meter.nc bathymetries/nemo_bathy_meter_ORCA1.nc
sed -i 's/ORCA025/ORCA1/g' src/namelist_mpp
./Configure
cd ../..

Run

cd ~/modeles/ecearth/ecearth_$TAG/runtime/classic
../../sources/util/ec-conf/ec-conf -p $CONF config-run.xml
vi ece-ifs+nemo.sh
sbatch (or qsub) ece-ifs+nemo.sh

Benchmarks

Lemaitre3

XIOS NEMO IFS Runoff WTIME per YEAR #CORES
1 64 78 1 3h56 144
22 72 288 1 384
22 144 432 1 600

Zenobe

XIOS NEMO IFS Runoff WTIME per YEAR #CORES
1 64 78 1 5h 144
22 72 288 1 3h15 384
1 86 320 1 2h55 408
22 144 432 1 600

Contributors

License

This project is under the Creative Commons CC0 1.0 Universal License. See the LICENSE file for the full license text.