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

Tuesday, 16 December 2014
Sang-Yoon Jun, Junghan Kim and In-sun Song, KIAPS Korea Insititute of Atmospheric Prediction Systems, Seoul, South Korea
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.