There is little doubt that the development of Earth System Models is a significant challenge. The challenges arise from both the continuing increases in science complexity and the increasingly complex methods that need to be applied to obtain the required scaling and performance on present scale hardware and future exascale platforms. Present and future ESMs will need to apply up to seven types of concurrency and parallelism to meet present and future ESM performance requirements.
One of the major challenges in ESM development is to provide the software infrastructure that sits between the hardware and the science codes. In this presentation, it will be explained that the layer commonly used by all ESMs: MPI, OpenMP, Compilers, has not changed in around twenty years! There are few, if any, commonly accepted higher-level APIs or libraries that are used by significant numbers of organisations developing ESMs. Most organisations design, develop, and maintain almost the entire software infrastructure independently.
This presentation will propose the Earth Systems Modelling Standards (ESMS). ESMS will be introduced with the aim of beginning the process of international collaboration to identify and adopt standards for commonly used APIs and libraries for use by the entire ESM community. Further, ESMS could also become a lobbying environment to represent the views of the entire ESM community as major stakeholders in the development of important external software products such as Fortran, MPI, OpenMP, OpenACC, HDF, and NetCDF. Another major task in moving in this direction is the development of an accepted definition of the terms used in ESM, their meanings, and there relationships: An ESM ontology.