-
Notifications
You must be signed in to change notification settings - Fork 10
Developer Guide
In this Wiki page, we would like to provide information for developers willing to help contribute to this project.
Clone the repository and start a branch for whatever work you are doing. If your project is well formulated, you can also raise it as an enhancement in the issues tab, and we can assign the work to you.
All public subroutines should be documented using Doxygen. Private routines can also optionally be documented this way.
All text that is written to the console should be written through the logging module (this makes it easier to parse the output).
The source code is beautified using emacs for Fortran, clang-format in the
llvm style for C/C++, and flake8 for python. To beautify the code, you can
type: bash UnitTests/lint.sh
. If you don't want to install the beautifiers
that is ok, just mention that you need someone to run a beautify script in your
pull request.
If your code makes use of something from the literature, put a reference to it in the Citations.bib file.
For floating point values, please use the types in the DataTypesModule. This helps maintain C compatibility and makes it easier to change the precision.
The following steps should be taken before pushing a new release:
- Check for warnings when compiling.
- Check compilation with Intel compilers.
- Check compilation with Cray compilers.
- Confirm test results on github-actions.
- Confirm test results on a local machine.
- Check the examples.
- Read the documentation.
- Run beautification on files.
- Check 80 column limit on source files.
- Add the new documentation to the gh-pages.