NOTE: this project is in very early stages of development.
- Install docker in your system. Some guidelines here.
- Create a Dockerhub account here.
- Pull the ROMS docker image:
docker pull metocean/roms-public
-
Clone this GitHub repository at your preferred location, let's call it
$HOME
hereinafter. -
Create a folder
/data/roms/upwelling
to store the output data outside the docker container. Make sure there are compatible ownerships and writting permissions between host OS and docker container. -
Browse to
$HOME
and run:
docker-compose run interactive
- Done, you're inside the docker container now. Let's run the upwelling test case.
cd /home/roms/applications/upwelling
mpiexec -n 2 ./UPWELLING ocean_upwelling.in
That will generate the output netcdf files at /data/roms/upwelling
, which you can access from your host OS.
- Create the folder
/source/roms/include
and/source/roms/bin
, and make sure there are compatible ownerships and writting permissions between host OS and docker container. - Place your
myapp.h
CPP definitions file and any other necessary header file there. - Use docker-compose to trigger the build:
docker-compose run -e roms_app=MYAPP build
- If everything goes well, you should have the binary file
MYAPP
created. To be continued...
If you are familiar with docker, you may want to use a different ROMS version, or customise the Dockerfile, and build your own image. You're more than welcome to fork this repository and share your image with the community.
- For your ROMS login credentials, set
roms_username
androms_password
as ENV variables in your system. Thedocker-compose.yml
andDockerfile
files will pipe them through when checking out the ROMS source code.
docker-compose build
To test your image, you can use the test
tag in the docker-compose file, writting your specific test and:
docker-compose run test
- step 1
- step 2
Please report any bugs here.