|
3 years ago | |
---|---|---|
ERGOM | 3 years ago | |
MOM_code | 3 years ago | |
MOM_forcing | 3 years ago | |
MOM_setup | 3 years ago | |
ModelCode512 | 3 years ago | |
model_setup | 3 years ago | |
model_simulations | 3 years ago | |
README.md | 3 years ago | |
Untitled.ipynb | 3 years ago | |
build_docker.sh | 3 years ago | |
docker-compose.yml | 3 years ago | |
docker_run.sh | 3 years ago | |
dockerfile | 3 years ago |
README.md
Docker MOM-5
This repository creates a docker image that compiles MOM5 using Ubuntu 18.04. The docker image can be distributed to students or can be used as a first introductin to MOM5.
This image can be used on your personal computer. However, docker allows multi-processing, hence, computing on the phy server should be also possible.
In the following you will find a step by step guide to run your own first MOM5 ocean only (MOM-SIS) simulation.
Step-by-step guide
Install docker on your local machine
Docker Engine is supported on x86_64
(or amd64
), armhf
, and arm64
architectures.
It is advised to follow the description give on the offical docker homepage
What is a dockerfile
Probably you are already familiar with Virtual Machine (VMs
). Docker is similiar. The key difference that docker is is a container based technology and containers are just user space of the operating system.
The dockerfile is giving a description on how to build the container.
FROM ubuntu:18.04
RUN apt-get update && apt-get install -y git \
tcsh \
pkg-config \
gfortran \
netcdf-bin \
libnetcdf-dev \
libnetcdff-dev \
openmpi-bin \
libopenmpi-dev \
libnetcdff-dev \
vim
ADD ModelCode512 /home/mom5/ModelCode512
ADD ERGOM /home/mom5/ERGOM
RUN cd /home/mom5/ModelCode512/
RUN ./build
docker-compose.yml
For largers applications the docker-compose file can give some structure on how to build the application. In this case it might be a little bit over the top.
services:
MOM:
build: .
image: mom5:0.1
Building the docker image
Use
./build_docker.sh
to build the docker image.
# cat build_docker.sh
docker-compose -f docker-compose.yml build
docker_run.sh
with docker_run.sh
you can execute
docker run -it mom5:0.1 bash