Part 2. NEMO and XIOS in a container - NOC-MSM/Belize_workshop GitHub Wiki
Part-2. NEMO and XIOS in a container
With Docker ready to go, it's time to start with the NEMO and XIOS server installation.
Don't worry if you have never worked or heard of NEMO or XIOS before, in this tutorial we will explain you all you need to know to start working with them! Let's start!
What are NEMO and XIOS?
About NEMO...
As explained in the introduction to this tutorial, the Nucleus for European Modelling of the Ocean (NEMO) is a modelling framework for research activities and forecasting services in ocean and climate sciences, developed by a European consortium. NEMO has 3 main components:
- NEMO-OCE, for ocean thermodynamics models.
- NEMO-ICE, with brine inclusions and subgrid-scale thickness variations.
- NEMO-TOP, for tracers transport modeling and biogeochemical processes.
If you want to learn more about NEMO, refer to its official website.
About XIOS...
XIOS, standing for XML-IO-Server, is a library dedicated to I/O management in climate codes. The objective of XIOS is to simplify the I/O management in codes by reducing the number of subroutines in them. It is extensively used in the NEMO ocean framework.
Information retrieved from XIOS - ESIWACE
Installing NEMO and XIOS...
For this workshop we will be using both, NEMO and XIOS. Just as in Part 1, you will have two options to obtain the necessary files: you can either, download a pre-build of the NEMO and XIOS files, or build your own executables (whichever option you decide, the result will be the same).
Before starting with NEMO and XIOS, let's setup our project space and download other files we will need later. To do this, let's open a bash terminal (there are many but one that comes installed by default on Windows is PowerShell) and type this:
cd $HOME
git clone https://github.com/NOC-MSM/Belize_workshop.git
The code above will download the Belize_workshop repository into your root folder. From now on, everything we do will take place inside this new Belize_workshop folder, so you might want to make a quick access icon to it.
Now we can proceed and obtain the NEMO and XIOS builds.
You only have to follow one of the next options. The result is the same in both options and once ready, you can proceed to Part 3.
- Option A) Download pre-build executables.
- Open your Docker Desktop/Toolbox console.
- Create a compatible Docker environment that matches the environment in which the NEMO and XIOS executables were built (~424Mb download necessary):
docker pull debian:jessie
docker pull jelt/nemocompile:firsttry
- Run the Docker container you just pulled:
docker run -v $HOME/Belize_workshop:/Belize_workshop -t -i jelt/nemocompile:firsttry /bin/bash
- (Optional) You may need to add the user to the docker group:
$sudo usermod -aG docker $USER
-
Log out and then back in, repeat step 3 to open the Docker container again.
-
Change your container directory to the following one:
cd /Belize_workshop/RUN_NEMO/EXP_demo
- Download the executables of NEMO and XIOS inside the EXP_demo folder:
wget ftp://livftp.noc.ac.uk/noc/gmayapub/data/NEMOworkshop/nemo_executables/nemo.exe
wget ftp://livftp.noc.ac.uk/noc/gmayapub/data/NEMOworkshop/nemo_executables/xios_server.exe
- You are ready to run NEMO! You can proceed to Part 3.
- Option B) Build your own executables.
this option is in process as the actual version is not working