Developer guide

To install in development mode:

pip install -e '.[dev]'

General guidelines

  • Editor: Use an editor which supports EditorConfig

  • Style guide: Follow Fortran best practices. For the Python code, the tool black is recommended. Also install pipx and pre-commit:

    pre-commit install
    
  • Branching model: The development uses branches and pull-requests for experimental features. We also rely on git submodules to track other libraries. The following branches are important:

    • eturb:

      • master: main branch

      • develop: development branch

    • lib/Nek5000:

      • master: upstream branch

      • stable: main branch tracking the stable version 17

      • develop: development branch

    The following make working with submodules easy and ensures consistency:

    # Enable recursion for relevant commands, such that
    # regular commands recurse into submodules by default
    git config submodule.recurse true
    
  • Testing: Run pytest from the top-level directory. The test-cases can be found under tests/ directory.

  • Debugging: Set the environment variable:

    export ETURB_DEBUG=true
    

    to activate debugging logs and longer tests.

Vim

Vim users could benefit by setting:

set secure exrc

This sources the .vimrc file which comes along with the repository and enables syntax highlighting for file extensions used in lib/Nek5000.