# 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: ```bash 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 ```bash 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 ```bash 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: ```bash 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: ```bash 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**: ```bash cd oasis3-mct/util/make_dir make BUILD_ARCH=ecconf -f TopMakefileOasis3 cd ../../.. ``` * Compile **IFS**: ```bash cd ifs-36r4 ./makeifs -j 4 cd .. ``` * Compile **xios-2** (or any other later version provided): ```bash cd xios-2 ./make_xios --prod --arch ecconf --use_oasis oasis3_mct --netcdf_lib netcdf4_par -j 4 cd .. ``` * Compile **NEMO**: ```bash cd nemo-3.6/CONFIG ./makenemo -n ORCA1L75_LIM3 -m ecconf -j4 cd ../.. ``` * Compile **runoff-mapper**: ```bash cd runoff-mapper/src make cd ../.. ``` **Primavera context**: * Compile **amip-forcing**: ```bash cd amip-forcing/src make cd ../.. ``` * Configure **ELPiN**: ```bash 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 ```bash 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 - ELIC members [@pbarriat](https://gogs.elic.ucl.ac.be/pbarriat) ## License This project is under the Creative Commons CC0 1.0 Universal License. See the [LICENSE](https://gogs.elic.ucl.ac.be/TECLIM/LOVECLIM/src/master/LICENSE) file for the full license text.