Adopting the Test-Driven Development to Developing Numerical Weather Prediction Model by Using the pFUnit

Sang-Yoon Jun1, Junghan Kim2 and In-Sun Song1, (1)KIAPS Korea Insititute of Atmospheric Prediction Systems, Seoul, Korea, Republic of (South), (2)KIAPS Korea Insititute of Atmospheric Prediction Systems, Operational System Group, Seoul, South Korea
Abstract:
Modern Numerical Weather Prediction (NWP) model is a complex software that consists of scientific and computational components over multiple software layers. Development of NWP model is complicated process bringing many risks arise from the software complexity and long-term developing period. The software engineering suggests that software testing is a requisite for developing the complex software because it can improve software quality and reduce risk. In particular, the Test-Driven Development (TDD) is known to the useful way in software testing enable to develop more productive software with writing more unit-tests. We utilize the pFUnit, which is the unit testing framework for Fortran with MPI extensions under the NASA open source license, for adopting TDD to developing the KIAPS-GM (Korea Institute of Atmospheric Prediction Systems-Global Model) framework. It is known that the pFUnit offers a convenient, lightweight mechanism for Fortran developers to create and run software tests that specify the desired behavior for a given piece of code. Our implementation of TDD with the pFUnit will be presented with test suite and unit-tests for infrastructure of the KIAPS-GM framework.