|
In order to test our GPU porting on Nemo, we created a standalone project called [nemo-build](https://earth.bsc.es/gitlab/amedvede/nemo-build) on GitLab. This repository is meant as a developer environment for future changes. It's README will guide you through the installation and modification process.
|
|
In order to test our GPU porting on Nemo, we created a standalone project called [nemo-build](https://earth.bsc.es/gitlab/amedvede/nemo-build) on GitLab. This repository is meant as a developer environment for future changes. It's README will guide you through the entire installation and modification process in detail.
|
|
|
|
|
|
The project pulls the source from our own Nemo repository, called [NEMOGCM_V40](https://earth.bsc.es/gitlab/amedvede/nemogcm_v40), which is a copy of the one from ECMWF. After finalizing changes within the nemo-build environment, you can then create a merge request in NEMOGCM_V40. This is the repository that later will be merged with the official one from ECMWF.
|
|
The project pulls the source from our own Nemo repository, called [NEMOGCM_V40](https://earth.bsc.es/gitlab/amedvede/nemogcm_v40), which is a copy of the one from ECMWF. After finalizing changes within the nemo-build environment, you can then create a merge request in NEMOGCM_V40. This is the repository that later will be merged with the official one from ECMWF.
|
|
|
|
|
|
|
|
The sections below will give a short overview of:
|
|
|
|
|
|
|
|
1) How to quickly build and test the Nemo standalone
|
|
|
|
2) The different ways of running Nemo (e.g. interactive, GPU on/off, Reproducible, etc.)
|
|
|
|
3) The workflow for making changes to the source code
|
|
|
|
|
|
|
|
## 1. Build & Test
|
|
|
|
The following list is for a first time setup:
|
|
|
|
|
|
|
|
1) Clone repository recursively:
|
|
|
|
```bash
|
|
|
|
git clone --recursive https://earth.bsc.es/gitlab/amedvede/nemo-build.git
|
|
|
|
```
|
|
|
|
2) Clone required data files into your `$HOME/data`
|
|
|
|
3) Make a symlink for your platform, e.g.:
|
|
|
|
```bash
|
|
|
|
ln -s env-lumi.g env.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
After the initial setup, you can use the steps below for running and making changes to Nemo:
|
|
|
|
|
|
|
|
1) Export the required environment variables depending on what version you want to build:
|
|
|
|
```bash
|
|
|
|
export PACKAGE_VERSIONS="nemo:DE340_LOCAL^HEAD^<BRANCH_NAME>"
|
|
|
|
export NEMO_WITH_REPRODUCIBLE=1
|
|
|
|
export NEMO_WITH_GPU=1
|
|
|
|
```
|
|
|
|
2) Download the source code with `./dnb.sh :d`
|
|
|
|
3) Unpack, Build, and Install the downloaded version with `./dnb.sh`
|
|
|
|
|
|
|
|
After the installation step, you have a folder called `sandbox`, which contains everything needed to run Nemo.
|
|
|
|
|
|
|
|
## 2. Ways of running
|
|
|
|
|
|
|
|
## 3. Workflow for making changes |
|
|
|
\ No newline at end of file |