We use Doxygen for in-code documentation of APIs (i.e. arguments to subroutines/functions and members of types). The guide for using doxygen in MOM6 is hosted on the MOM6 developer's wiki.
You can preview documentation by running doxygen or sphinx.
The full documentation can be generated locally with
make html
which will generate html in docs/_build/html/
. Start at docs/_build/html/index.html
.
The doxygen generated HTML can be obtained locally (and slightly more quickly) with
make nortd
which will generate html in docs/APIs/
. Start at docs/APIs/index.html
. If doxygen is not already available this will install a local copy of doxygen.
If you do not have doxygen, to build a local version of the doxygen processor you will need the following packages:
- cmake
- g++ (or a c++ compiler)
- flex
- bison
- graphviz
(e.g. apt-get install cmake g++ flex bison graphviz
)
If you are building the full generated sphinx documentation you will need the following packages in addition to those for doxygen above:
- libxml2-dev
- libxslt-dev
(.e.g apt-get install libxml2-dev libxslt-dev
)
Before running sphinc (make html
) you will need to issue:
pip install -r requirements.txt
The sphinx documentation of MOM6 is made possible by modifications by Angus Gibson to two packages, sphinx-fortran and autodoc_doxygen.