This is the source code of BLOM and includes the ocean biogeochemistry model iHAMOCC. BLOM is the ocean component of the Norwegian Earth System Model (https://github.com/NorESMhub/NorESM).
Since BLOM is mainly used in connection with the NorESM system, the BLOM user documetation has been integrated into the general NorESM documentation on ReadTheDocs (https://noresm-docs.readthedocs.io/en/latest/).
The BLOM wiki contains information about BLOM-specific topics that is not considered relevant for the general NorESM documentation:
- working with the BLOM git repository on gitHub
- running BLOM/iHAMOCC stand-alone test cases
- details about model structure
When compiling BLOM with NorESM, the NorESM build system should be used. A stand-alone
BLOM executable can be built by using the meson build system.
To build the code ensure that Meson
is available.
The following will build the default version of BLOM without MPI
.
$ meson setup builddir --buildtype=debugoptimized
$ meson compile -C builddir
The executable blom
file will then be stored in the ./builddir
directory.
See the BLOM/iHAMOCC stand-alone wiki page for further instructions on how to configure the meson build system.
After successfully building the code it can be a good idea to test that the code behaves as expected and changes to the code does not affect the output.
Tests can be run with the following:
$ meson test -C builddir
The previous command will run all the test suites defined for BLOM. To run tests
quicker one can select a few tests to run or just a single test suite. To list
the available tests run meson test -C builddir --list
. One can then run a
single test with:
$ meson test -C builddir "run single_column"
The CONTRIBUTING.md file includes instructions on how to contribute to the BLOM/iHAMOCC model system. The BLOM wiki includes more detailed instructions on how to work with the BLOM git repository with your own fork on gitHub.
BLOM is licensed under the GNU Lesser General Public License - see the COPYING and COPYING.LESSER files for details.