Efficient testing strategies for modernizing the 4-mode Modal Aerosol Model (MAM4) for global kilometer-scale aerosol simulations
The EAGLES (Enabling Aerosol-cloud interactions at GLobal convection-permitting scalES) project is focused on advancing the understanding and predictability of aerosol and aerosol-cloud interactions in the Earth system. To this end, EAGLES is modernizing the 4-mode Modal Aerosol Module (MAM4) software infrastructure within E3SMv4 (version 4 of Energy Exascale Earth System Model) to perform global kilometer-scale simulations by harnessing the computing powers of the exascale machines with GPUs.
Software engineers collaborating with domain knowledge experts have completely rewritten the MAM4 aerosol package. This modernization effort has led to the development of the MAM4xx library, written in C++ using the Kokkos performance portable library. The team employed efficient workflows and robust testing strategies to increase the trustworthiness of the ported code. The key emphasis was on the use of end-to-end testing techniques during the Fortran refactoring, porting, and EAMxx (E3SMv4’s Atmospheric Model) integration to ensure correctness. The aerosol sub-processes are protected with multiple unit tests during code refactoring, translation, and E3SMv4 integration. The aerosol processes that are integrated into the EAMxx framework can simulate aerosols at global kilometer-scale resolution using GPUs.
In this presentation, I will present the efficient workflows and testing strategies that we employed to successfully prepare the Fortran codes to port to the C++/Kokkos framework. Additionally, I will share recent results from global simulations using MAM4xx within its host model E3SMv4.