Designing and optimizing complex scientific code for new computing architectures is a challenging task. To address this issue in the E3SM land model (ELM) development, we developed a software tool called SPEL, which facilitates code generation, verification, and performance tuning using compiler directives within a Function Unit Test framework. In this paper, we present a SPEL extension that leverages the version control system (e.g., Git) to autonomous code generation and demonstrate its application to continuous code integration and development of the ELM software system. The study can benefit the scientific software development community.
References
[1]
Golaz, J.-C., Caldwell, P.M., Van Roekel, L.P., Petersen, M.R., Tang, Q., Wolfe, J.D., Abeshu, G., Anantharaj, V., Asay-Davis, X.S., Bader, D.C., et al. (2019) The DOE E3SM Coupled Model Version 1: Overview and Evaluation at Standard Resolution. Journal of Advances in ModelingEarth Systems, 11, 2089-2129. https://doi.org/10.1029/2019MS001870
[2]
Burrows, S.M., Maltrud, M., Yang, X., Zhu, Q., Jeffery, N., Shi, X., Ricciuto, D., Wang, S., Bisht, G., Tang, J., et al. (2020) The DOE E3SM v1.1 Biogeochemistry Configuration: Description and Simulated Ecosystem-Climate Responses to Historical Changes in Forcing. Journal ofAdvances in Modeling Earth Systems, 12, e2019MS001766. https://doi.org/10.1029/2019MS001766
[3]
Wang, D.L., Schwartz, P., Yuan, F.M., Thornton, P. and Zheng, W.J. (2022) Towards Ultra-High-Resolution E3SM Land Modeling on Exascale Computers. Computing in Science& Engineering, 1, 1-14.
[4]
Schwartz, P., Wang, D.L., Yuan, F.M. and Thornton, P. (2022) SPEL: Software Tool for Porting E3SM Land Model with OpenACC in a Function Unit Test Framework. 2022 Workshop on Accelerator Programming Using Directives (WACCPD), Dallas, USA, 13-18 November 2022, 1-14. https://doi.org/10.1109/WACCPD56842.2022.00010
[5]
Wang, D.L., Xu, Y., Thornton, P., King, A., Steed, C., Gu, L.H. and Schuchart, J. (2014) A Functional Test Platform for the Community Land Model. EnvironmentalModelling & Software, 55, 25-31. https://doi.org/10.1016/j.envsoft.2014.01.015