Project structure

The following aims to explain the project structure

.
├── bout_runners            # The project directory
│   ├── database            # Package responsible for connect, read, write and create databases
│   ├── executor            # Package responsible for executing the project
│   ├── log                 # Package responsible for reading BOUT++ logs
│   ├── make                # Package responsible for reading and calling Makefiles
│   ├── metadata            # Package responsible for reading, writing and updating metadata about the runs
│   ├── parameters          # Package responsible for reading and setting the run parameters
│   ├── runner              # Package responsible for orchestrating executions and metadata
│   ├── submitter           # Package responsible for submitting commands
│   └── utils               # Package containing utilities
├── config                  # Configuration files for paths and logging
├── docker                  # Scripts for building the docker image
├── docs                    # Documentation directory
│   └── source              # Source files for the directory
│       ├── _static         # Static documentation files
│       ├── api             # API documentation
│       └── examples        # Example usage documentation
└── tests                   # Test suite directory
    ├── data                # Static test data
    ├── integration         # Integration tests package
    │   └── bout_runners    # Integration test for bout_runners
    │       └── runners     # Integration for the runner package
    └── unit                # Unit test package
        └── bout_runners    # Unit tests for bout_runners
            ├── database    # Unit tests for the database package
            ├── executor    # Unit tests for the executor package
            ├── log         # Unit tests for the log package
            ├── make        # Unit tests for the make package
            ├── metadata    # Unit tests for the metadata package
            ├── parameters  # Unit tests for the parameters package
            ├── submitter   # Unit tests for the submitter package
            └── utils       # Unit tests for the utils package