Specification and Verification for Climate Modeling: Formalization Leading to Impactful Tooling

Research output: Contribution to journalConference articlepeer-review

Abstract

Earth System Models (ESMs) are critical for understanding past climates and projecting future scenarios. However, the complexity of these models, which include large code bases, a wide community of developers, and diverse computational platforms, poses significant challenges for software quality assurance. The increasing adoption of GPUs and heterogeneous architectures further complicates verification efforts. Traditional verification methods often rely on bitwise reproducibility, which is not always feasible, particularly under new compilers or hardware. Manual expert evaluation, on the other hand, is subjective and time-consuming. Formal methods offer a mathematically rigorous alternative, yet their application in ESM development has been limited due to the lack of climate model-specific representations and tools. Here, we advocate for the broader adoption of formal methods in climate modeling. In particular, we identify key aspects of ESMs that are well suited to formal specification and introduce abstraction approaches for a tailored framework. To demonstrate this approach, we present a case study using CIVL model checker to formally verify a bug fix in an ocean mixing parameterization scheme. Our goal is to develop accessible, domain-specific formal tools that enhance model confidence and support more efficient and reliable ESM development.

Original languageEnglish
Pages (from-to)60-75
Number of pages16
JournalElectronic Proceedings in Theoretical Computer Science, EPTCS
Volume432
DOIs
StatePublished - 2025
Externally publishedYes
EventInternational Workshop on Verification of Scientific Software, VSS 2025 - Hamilton, Canada
Duration: May 4 2025May 4 2025

Fingerprint

Dive into the research topics of 'Specification and Verification for Climate Modeling: Formalization Leading to Impactful Tooling'. Together they form a unique fingerprint.

Cite this