... | @@ -56,8 +56,14 @@ Whether you use `psubmit` or the interactive scripts, `sandbox` will contain a f |
... | @@ -56,8 +56,14 @@ Whether you use `psubmit` or the interactive scripts, `sandbox` will contain a f |
|
```
|
|
```
|
|
|
|
|
|
## 3. Workflow for making changes
|
|
## 3. Workflow for making changes
|
|
The `dnb.sh` script has 4 modes that can be used:
|
|
The `dnb.sh` script has 4 modes that can be used (and combined):
|
|
- `:d` for download -> downloads the source in the `.dwn` folder
|
|
- `:d` for download -> downloads the source in the `.dwn` folder (replacing it)
|
|
- `:u` for unpack -> unpacks the source into the `.src` folder
|
|
- `:u` for unpack -> unpacks the source into the `.src` folder (replacing it)
|
|
- `:b` for build -> builds the source, including dependencies
|
|
- `:b` for build -> builds the source, including dependencies
|
|
- `:i` for install -> installs nemo and creates the binary in the sandbox |
|
- `:i` for install -> installs Nemo and creates the binary in the sandbox
|
|
\ No newline at end of file |
|
|
|
|
|
When making changes to Nemo, it is not necessary to download and unpack the source again or build the dependencies. Moreover, unpacking will actually delete all the progress you might have made. In order to only build and install Nemo to make a new binary, you can run: ```./dnb.sh nemo:bi```.
|
|
|
|
|
|
|
|
It is possible to save multiple binaries in the `sandbox` folder, and compare results. It can be for example handy to save a copy of the CPU binary, so you don't have to rebuild for CPU everytime you make a change. This can simply be done by building the CPU version, and then renaming the `nemo` binary in the `sandbox` folder. Afterwards, you can rebuild and install for the GPU version. Then, when running a job or interactive script, you can specify what binary to use.
|
|
|
|
|
|
|
|
After you have made changes that you want to merge with the main version, you need to create a pull request for the [NEMOGCM_V40](https://earth.bsc.es/gitlab/amedvede/nemogcm_v40) repository. It is not possible to test your code when merging here, so make sure everything is 100% correct before merging your results. |
|
|
|
\ No newline at end of file |