Articles | Volume 9, issue 2
https://doi.org/10.5194/gmd-9-731-2016
https://doi.org/10.5194/gmd-9-731-2016
Development and technical paper
 | 
19 Feb 2016
Development and technical paper |  | 19 Feb 2016

Bitwise identical compiling setup: prospective for reproducibility and reliability of Earth system modeling

R. Li, L. Liu, G. Yang, C. Zhang, and B. Wang

Abstract. Reproducibility and reliability are fundamental principles of scientific research. A compiling setup that includes a specific compiler version and compiler flags is an essential technical support for Earth system modeling. With the fast development of computer software and hardware, a compiling setup has to be updated frequently, which challenges the reproducibility and reliability of Earth system modeling. The existing results of a simulation using an original compiling setup may be irreproducible by a newer compiling setup because trivial round-off errors introduced by the change in compiling setup can potentially trigger significant changes in simulation results. Regarding the reliability, a compiler with millions of lines of code may have bugs that are easily overlooked due to the uncertainties or unknowns in Earth system modeling. To address these challenges, this study shows that different compiling setups can achieve exactly the same (bitwise identical) results in Earth system modeling, and a set of bitwise identical compiling setups of a model can be used across different compiler versions and different compiler flags. As a result, the original results can be more easily reproduced; for example, the original results with an older compiler version can be reproduced exactly with a newer compiler version. Moreover, this study shows that new test cases can be generated based on the differences of bitwise identical compiling setups between different models, which can help detect software bugs in the codes of models and compilers and finally improve the reliability of Earth system modeling.

Download
Short summary
In this paper, we show that different compiling setups can achieve exactly the same (bitwise identical) results in Earth system modeling, and a set of bitwise identical compiling setups of a model can be used across different compiler versions and different compiler flags. Moreover, we shows that new test cases can be generated based on differences of bitwise identical compiling setups between different models, which can help detect software bugs and finally improve the reliability.