Developing uDALES¶
uDALES is developed openly on GitHub. Bug reports, feature requests, and pull requests are all welcome — see how to contribute for the process.
Development starts from the master branch, which is the bleeding-edge version of the model; users running simulations should instead use the latest release, as described in the installation guide.
This section collects the developer-facing documentation:
- Code architecture — how the solver is organised: repository layout, module responsibilities, and the exact sequence of calls in a timestep. Start here before modifying the solver.
- Extending uDALES — recipes for common tasks, each traced through a working example in the code: adding a namelist option, an output variable, a statistic, an example case, or a test.
- Testing and CI — the test suites, how to run them locally, and what continuous integration checks on every pull request.
- Development notes — setting up a development environment, building in debug mode, and building this documentation.
- How to contribute — reporting bugs, requesting features, and opening pull requests.
- Parallelisation — how the 2-D pencil domain decomposition with 2DECOMP&FFT works, and what it means for code that loops over the grid.
- Using agents — conventions for working on this repository with AI coding agents.
- Fortran API reference — API documentation of the Fortran source, generated with FORD.
The model source lives in src/, the pre/post-processing tools in tools/, example cases in examples/, and the tests in tests/ (see the test docs for the layout). uDALES uses semantic versioning.