Speaker
Description
The MOM6 ocean model is now a community open development model. With open development, contributions are much more frequent, and come from a much more diverse group of collaborators than with the older curated open source approach; the traditional use of a single person to act as a gatekeeper and take responsibility for model quality control is no longer a viable approach. Instead, to accommodate open development, we have developed an extensive automated testing protocol for contributions to MOM6 in order to maintain ocean model code quality and to detect and eliminate many types of bugs. MOM6 code is automatically tested for exact reproduction of all solutions and diagnostics across parallel decomposition, restarts, exact rotational symmetry, dimensional consistency, memory usage patterns, and a wide range of compiler settings. In each case, these tests unambiguously pass or fail. Together these tests prevent the introduction of many types of software bugs and algorithmic inconsistencies, and provide the level of quality control required for a modern ocean model codebase to be rapidly developed under an open development paradigm. This talk will describe the wide range of techniques that are used and some of the specific challenges that had to be overcome in achieving these demonstrations of perfect self-consistency in MOM6.
Do you need an official invitation letter? | No |
---|