Project structure¶
The following aims to explain the project structure
.
├── bout_runners # The project directory
│ ├── config # Configuration files for paths and logging
│ ├── database # Package responsible for connect, read, write and create databases
│ ├── 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 parameters
│ ├── runner # Package responsible for orchestrating executions and metadata
│ ├── submitter # Package responsible for submitting commands
│ └── utils # Package containing utilities
├── docker # Scripts for building the docker image
│ ├── PBS # Docker file for PBS (used in tests)
│ └── SLURM # Docker file for SLURM (used in tests)
├── 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
├── fixtures # Fixtures for the tests
├── local # Package containing the tests for local runs
│ ├── integration # Local integration tests package
│ │ └── runners # Local integration for the runner package
│ └── unit # Local unit tests package
│ ├── database # Local unit tests for the database package
│ ├── log # Local unit tests for the log package
│ ├── make # Local unit tests for the make package
│ ├── metadata # Local unit tests for the metadata package
│ ├── parameters # Local unit tests for the parameters package
│ ├── runner # Local unit tests for the runner package
│ ├── submitter # Local unit tests for the submitter package
│ └── utils # Local unit tests for the utils package
├── pbs # Package containing the tests for PBS runs
│ ├── integration # PBS integration tests package
│ │ └── runners # PBS integration for the runner package
│ └── unit # PBS unit tests package
│ ├── runners # PBS unit tests for the runner package
│ └── submitter # PBS unit tests for the submitter package
├── slurm # Package containing the tests for PBS runs
│ ├── integration # SLURM integration tests package
│ │ └── runners # SLURM integration for the runner package
│ └── unit # SLURM unit tests package
│ ├── runners # SLURM unit tests for the runner package
│ └── submitter # SLURM unit tests for the submitter package
└── utils # Utils used for testing