1.1 Experiences in Using Modern Fortran to Apply Object-Oriented Design Methods to Numerical Weather Prediction Codes: A Case Study

Tuesday, 9 January 2018: 8:30 AM
Room 10C (ACC) (Austin, Texas)
Christopher W. Harrop, CIRES, Boulder, CO; and B. J. Etherton and M. W. Govett

The transition of scientific advances in numerical weather prediction (NWP) from research to operations (R2O) is known to be challenging. One of the greatest R2O obstacles is the complexity of operational NWP modeling software and the concomitant difficulty in modifying it to add and test new capabilities. We hypothesize that much of this complexity stems not from innate properties of NWP modeling, but instead from suboptimal software design choices. If our hypothesis is correct, use of improved software design strategies that manage complexity will accelerate the R2O process. Object oriented design (OOD) and its associated design patterns, ubiquitous in the commercial software industry for many years, is often proposed as the solution we are seeking because of its widely recognized benefits in taming complexity. However, arguments in support of OOD methods are often dogmatic and difficult to quantify and it is not clear whether the perceived benefits of OOD will easily translate to the scientific domain. Therefore, we are exploring and testing OOD methods using a simple home grown quasi-geostrophic (QG) model and data assimilation (DA) system written in Fortran 2003/2008. Our simple QG and DA systems have enough complexity to give us insights about which OOD techniques work well and identify pitfalls to avoid. Conversely, their simplicity allows us to quickly pursue many different designs and test and refine them. We report on our experiences in using Fortran’s object oriented features including performance considerations, compiler support, and use on accelerators.
- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner