Articles | Volume 19, issue 16
https://doi.org/10.5194/gmd-19-7687-2026
https://doi.org/10.5194/gmd-19-7687-2026
Review and perspective paper
 | Highlight paper
 | 
20 Aug 2026
Review and perspective paper | Highlight paper |  | 20 Aug 2026

Code accessibility and code quality across phases of the models of the Coupled Model Intercomparison Project

Michael García-Rodríguez, Javier Rodeiro-Iglesias, and Juan A. Añel
Abstract

This study extends previous research on CMIP5 models to investigate the reproducibility of climate models within the Coupled Model Intercomparison Project (CMIP). It evaluates the accessibility to the source code of the CMIP models through all their phases, emphasizing the need for public repositories to ensure transparency regarding model input, output, and usage rights, along with an analysis of licenses for compliance with scientific standards. A central focus of the research is the assessment of code quality against best practices. In addition, the study examines the historical evolution of computational and code quality across various phases of CMIP, highlighting progress and improving traceability to support scientific reproducibility. We provide valuable insights for future research, proposing solutions and tools designed to improve replicability and enhance project lifecycles that are applicable not only to CMIP but also to broader scientific contexts.

Editorial statement
The Climate Modelling Intercomparison Project coordinates climate projections made by the world's flagship climate models which feed into reports such as the IPCC. It should remain a concern that even in the 6th version of the project, relatively few of the models have made their code accessible to other scientists, let alone the general public. Furthermore, the consideration of what may or may not constitute good code is of interest to all those involved in geoscientifc model development. This paper may come at an interesting point in time. Since their inception in the 1960s, prognostic climate models have always used fortran and similar languages to create algorithms which directly reproduce our basic geoscientific understanding of how the climate evolves, through differential equations. The authors propose that things may be evolving in a new direction, with the potential incorporation of machine learning and other forms of AI into future generations of the models. This will surely present new challenges to the concept and assessment of scientific reproducibility and code development.
Share
1 Introduction

Reproducibility is a cornerstone of science and the scientific method, and the challenge of achieving reproducible science when computational methods are involved is well known (Añel2011; Costa et al.2024; Wu et al.2024). In recent years, it has been a topic that is recurrently discussed by the scientific community (e.g., Allison et al.2018; Stodden et al.2018).

Ensuring computational scientific reproducibility (CSR) requires addressing a variety of issues when designing and using models, particularly in climate models (Añel2017). Among these issues are legal aspects of software distribution and intellectual property, which are often unknown to researchers. Several studies have revealed very low levels of CSR (Allison et al.2018; Stodden et al.2018). Efforts to address the problem have included informal initiatives, such as documenting the accessibility of climate models (Easterbrook2009; RealClimate.org2009), as well as more formal assessments that evaluate model quality and transparency (e.g., Pipitone and Easterbrook2012; Añel et al.2021).

Improving the CSR is possible through a range of actions. For example, journals may adopt code and data policies (Stodden et al.2013; GMD Executive Editors2015; Nature2018), while resarchers can follow recommended practices such as providing complete software documentation, structuring code into functions or modules, and publishing code and data in trusted repositories that ensure long-term preservation with permanent identifiers such as a Digital Object Identifier (DOI) (Wilson et al.2017).

In some research fields, it is common practice to publish detailed methodological information. However, this habit is far less widespread in the development, maintenance, and scientific reproducibility of climate models (Añel et al.2021). It remains concerning that the underlying model code is often not available, especially given its fundamental role in scientific research. Beyond basic scientific transparency, there are additional reasons to support the availability of climate models code, including the need to preserve knowledge about the development cycles of these models. Moreover, previous studies have shown that climate models frequently lack adequate documentation (Wieters and Fritzsch2018).

Climate models have evolved over decades, from early attempts that simulated basic processes (radiative balance, convection, terrestrial rotation, etc.) to comprehensive systems that represent interactions among major subsystems such as the atmosphere, ocean, and land. In many cases, these early models gradually developed into the sophisticated models used today. Originally, research and development of models was undertaken independently by research groups around the world. However, in 1995, a collaborative approach emerged that aimed to share progress and results among groups, thus contributing to a better understanding of the problem of global climate modelling and climate change. This initiative became the “Coupled Model Intercomparison Project” (CMIP2025a) (CMIP), which is now in its seventh phase (CMIP7). Over the years, CMIP has undergone several phases, and its evolution (CMIP2025b) has raised several methodological questions, some of which had previously been discussed in other research fields, and adapted here to climate modelling. These include to define standardized experimental protocols, how to ensure reproducibility of simulations, or how to manage uncertainty and ensemble approaches.

In parallel with the development of climate models, software design practices have also advanced. Since the early days of software, code quality has been a major concern, and numerous approaches to asses it were proposed more than forty-five years ago (e.g. McCall et al.1977; Boehm1986). While many of the early ideas about software quality are now outdated due to changes in computer architectures, software quality metrics have continued to evolve to address current needs.

More recently, the quality of software used in science and engineering has become a critical issue, given its direct impact on reproducibility and replicability (Association for Computing Machinery2020). Ensuring that scientific results can be reproduced requires not only high-quality code but also its availability and proper documentation. The lack of formal programming training among scientists, often leading to software-related challenges (Baxter et al.2006), has long been recognized as a barrier to achieving this goal. Nevertheless, scientific software development has improved as researchers adopt best practices from broader software engineering fields (Nguyen-Hoan et al.2010; Arvanitou et al.2021).

Previous studies have shown that scientific software still has substantial room for improvement (Kanewala and Bieman2014; Trisovic et al.2022). Consequently, several authors have proposed best practices to enhance scientific software quality, development workflows, and code accessibility (Wilson et al.2014; Riesch et al.2020; Hunter-Zinck et al.2021). However, the issue remains complex. Early software development faced strict hardware limitations, which required careful resource optimization. Over time, exponential increases in computing power have often masked the consequences of suboptimal code (Moore1965). With the widespread use of outsourced computing resources and cloud technologies in scientific research and climate modelling (Añel et al.2020), where resources may appear virtually unlimited, the perceived impact of inefficient code is diminished. For instance, climate modelling experiments often run on supercomputers for months and consume vast computational resources, which may unintentionally reinforce this perception.

Given these challenges, this work provides an analysis of the current state of the art of the accessibility and static code quality of the CMIP models across all their historical phases, from CMIP1 to CMIP6. This study complements existing research in the field (Durack et al.2025) and extends our previous efforts focused on models from the fifth phase of the CMIP (CMIP5) (Añel et al.2021), a broader analysis repeatedly requested by some of our research peers in the climate modelling community. Section 2 describes the Methods used in this work, Sect. 3 evaluates the accessibility to the model code, Sect. 4 examines the programming language used in CMIP models, Sect. 5 presents results from static code analysis for the different models, and finally we offer a discussion and conclusions.

2 Methods

To verify the availability of the models, we employed a systematic approach similar to that described in Añel et al. (2021). Our first step consisted of checking access to the source code of the model, its configuration, and the associated documentation, including details on parameters, input data, and other relevant components. We primarily relied on the official download links provided on the CMIP website. When direct access was not available, we search for contact information through institutional websites or broader Internet searches. When necessary, we attempted to communicate the responsible institution or researchers via email and telephone. If access request for a given model's code was denied, we followed up with a survey to better understand the reasons for the refusal. Unfortunately, we did not receive any responses. For models developed during the earliest CMIP phases, obtaining access was often impossible, as many of these versions had not been adequately preserved.

As in Añel et al. (2021), this process revealed several barriers to transparency and reproducibility. For example, in some cases, the only available contact information was found in publications behind paywalls or embedded within metadata of NetCDF output files. Accessing such metadata requires technical skills and computational resources that are often beyond the reach of the general public and even some scientists.

For each climate model obtained, the licences associated with the model and potential restrictions to its use were verified. We also verified whether the model distribution included practical information on how to compile, configure, and execute the code to run an experiment. From a reproducibility perspective, this type of documentation is a very important aspect.

Furthermore, we analyse the evolution of the code quality across CMIP phases. To do so, we applied static code analysis, a method for evaluating programs without executing or compiling them. Specifically, we used the Fortran static code analysis tool FortranAnalyser v2.0 (http://fortrananalyser.ephyslab.uvigo.es/, last access: 31 July 2026) (García-Rodríguez2022; García-Rodríguez et al.2024). We selected this tool because Fortran is the dominant programming language in the CMIP models (as demonstrated later), and because alternative tools have limited applicability for assessing scientific code written in Fortran (Kanewala and Bieman2014).

FortranAnalyser evaluates code quality using metrics that can be grouped into two scoring categories. Metrics rated on a 0 to 2.0 scale include the use of implicit none, the presence and quality of comments across different code elements (files, variables, functions, subroutines, and control structures), the number of nested loops (as an indicator of structural complexity), and the comment-to-code ratio. In contrast, metrics rated on a 0 to 1.0 scale focus on specific control flow practices, namely the use of the exit and cycle statements. Together, these grouped metrics provide a balanced assessment of code readability, maintainability, and structural quality. FortranAnalyser gives additional information too; number of lines, the cyclomatic complexity, the number of functions declared, the number of variables declared, and the number of calls to subroutines among others. According to the accomplishment of these metrics, FortranAnalyser assigns a score from 0 to 10 (where 0 is the minimum score and 10 is the maximum) to each file analysed and generate a PDF quality report with the results.

3 Availability and Reproducibility

Following the attempts made, successful access was obtained for 59 of the 262 individual models identified across all CMIP phases (see Fig. 1 and Table A1). Here, the total of 262 refers to all individual models considered in this study. Within this broader set, a subset of 121 corresponds specifically to coupled climate models, which represent the core systems used in CMIP experiments. Out of these coupled models, 18 were successfully recovered; one from CMIP3, ten from CMIP5, and seven from CMIP6. Thus, the 59 accessible individual models include these 18 coupled models as a subset. For CMIP1 and CMIP2, no model could be recovered, as their code had not been preserved over time. CMIP7 models were not included in this study because this is the current CMIP phase of the project, and active development and usage are still ongoing.

https://gmd.copernicus.org/articles/19/7687/2026/gmd-19-7687-2026-f01

Figure 1Geographical map with the percentage of coupled models obtained worldwide for all the CMIP phases existing so far and separated by the country in which they have been developed. The green colour and the percentages represent the coupled models obtained.

Table 1Coupled models whose code has been obtained, together with the phase to which they belong and the assigned reproducibility scores.The scoring mechanism was as follows: the maximum score of three stars was awarded to models that are accessible via the Internet without restrictions and with a licence that allows for full testing and evaluation of the model. The score was reduced by one star for each of the following criteria: if access to the model required contacting a researcher, centre or development group, signing licence agreements or identifying oneself as a scientist conducting research in climatology, as well as depending on the evaluation and use rights granted by the model licence (where applicable). An empty or unfilled star means that the model licence does not allow modification of the code.

Download Print Version | Download XLSX

A pronounced regional bias emerged in the geographic distribution of accessible models. The United States of America, France, Germany, and Norway stand out as the most open contributors; in all cases, institutions granted access to the full set of models they developed, independently of the CMIP phase. This, however, remained conditional on the availability of older model versions that institutions had effectively preserved. We hypothesize that national or regional legalisation related to software copyright, intellectual property, and code disclosure may partly explain these differences.

Regarding previous analyses of CMIP5 accessibility, despite the fact that software can be patented in the United States, meanwhile it is not possible in the the European Union (van Wendel de Joode et al.2003), we were able to obtain the source code for 10 out of the 28 coupled models contributed by U.S.-based research centres. In contrast, only 8 out of 34 EU-based models were obtained.

The potential explanations for this have not changed since the CMIP5 study. The involvement of U.S. federal employees in the development of some models may facilitate code release, as federal employees are legally required to make their work publicly available without restrictions (U.S. Code1976). Similarly, the development of NorESM, which incorporates substantial components from the U.S.-developed model CESM1 (Knutti et al.2013), may have benefited from inherited code licensing, helping explain Norway's comparatively high accessibility rates. Conversely, decisions not to release model code may stem from legacy licensing constraints or the absence of copyright transfer agreements, which can prevent redistribution of older codebases.

To better visualize the regional distribution of accessible models, and illustrate differences in national policies governing code sharing, Fig. 1 displays the percentage of models obtained per country. For models developed by EC-Earth and ECMWF, the corresponding data are displayed at a central European location (Slovakia), as these consortia involve between 12 and 23 European countries depending on the CMIP phase.

The current level accessibility to CMIP source codes remains critically limited. Only 59 out of the 121 coupled models were directly accessible; access to the remainder required active interaction, such as email correspondence with developers. As in previous work, even after identifying ourselves as researchers (addressing the potential concern that scientists might hesitate to share code with non-scientists), more than half of all model versions remain inaccessible.

There are several plausible reasons for limited code sharing among scientists and development teams. Some groups may face institutional or national legal restrictions preventing them from openly distributing source code. Others may be concerned about inheriting sharing rights for portions of the model code that were developed by different institutions or research groups, raising concerns about potential infringement on proprietary rights. In other cases, older models may no longer be available simply due to insufficient long-term maintenance of archives or repositories. In particular, when source code was obtained, the developers did not provide explanations for their licensing choices; indeed, in some cases, the code lacked a clear license defining usage terms.

Although there is no evidence suggesting that scientific results derived from CMIP models are invalid, the lack of code availability can be misused to cast doubt on the reproducibility of the underlying scientific findings. For this reason, we strongly encourage modelling groups to adopt more robust practices that align with modern expectations of corporate social responsibility in science, particularly regarding reproducibility and replicability (CSR). Previous work has shown that sharing model code structures, even if currently suboptimal, can promote improvements in software quality and scientific transparency (Carlson et al.2018).

4 Programming languages used in CMIP Models

Over the course of different CMIP phases, progressive improvements in spatial resolution, numerical accuracy, and the inclusion of crucial climate processes have been incorporated into the contributing models (Drake2001). These advances have involved the continuous refinement of computational algorithms, the addition of new functionalities, and the systematic replacement of outdated components, all aimed at enhancing the scientific robustness and overall quality of model outputs.

In this context, understanding how models and their successive versions operate, involve across CMIP phases, and adhere to established software development standards requires careful examination of the programming languages employed in their implementation. Programming languages play a role in defining the structure, performance, and maintainability of climate models. Table 2 summarises the distribution of programming languages used across the models for which source code was available.

Table 2Proportion of programming languages used in all the climate models participating in the different phases of the CMIP. The analysis includes how much represents the documentation from the total of files provided with the codebase of the model.

Download Print Version | Download XLSX

The choice of programming language in climate model development is strongly influenced by the scientific community behind each model, its computational requirements, and the degree of code inheritance involved. Climate models often emerge from long-term collaborative efforts involving multiple institutions and scientists disciplines, which can lead to the coexistence of multiple languages in a single project. While performance optimisation and scalability are essential considerations, given the high computational cost of climate simulations, such priorities are sometimes overridden by the need for rapid scientific deliverable.

The emergence of hybrid modelling approaches, combining physics implemented to code with machine learning or artificial intelligence techniques, is expected to further increase this heterogeneity. Although such approaches have not yet been integrated within the CMIP phases analysed in this study, their incorporation is foreseeable in future developments. These hybrids models may introduce new programming ecosystems alongside established high performance languages like Fortran. From a software engineering perspective, this transition may significantly impact code structure, dependencies, and development workflows. In particular, machine learning components introduce additional layers of complexity related not only to the implemented code, but also to training data, calibration procedures, and evolving model configurations. This raises important challenges for reproducibility and traceability, as the behaviour of such components may depend on factors beyond the static source code itself. Consequently, evaluating future CMIP models may require extending current approaches to software quality assessment. Traditional static code analysis techniques, such as those employed in this study, may need to be complemented with methodologies capable of addressing data provenance, model training processes, and the interpretability of learned parameterisations. In this context, hybrid models could be more appropriately analysed as systems composed of heterogeneous components, combining multiple tools specialised to a programming language and tools specialised on the analysis of machine learning usage modelling paradigms in order to obtain an integrated assessment of the full system.

To analyse the use of languages in the retrieved CMIP models, we employed the GitLab's repository analytics functionality (Zaporozhets2011), based on the GitHub “linguist” library (Gardner and GitHub staff2024). This functionality excludes non-relevant files and calculates the percentages of code used.

As shown in Table 2, Fortran (Backus1978; Metcalf et al.2011) remains the dominant programming language in CMIP models. Its prevalence is well documented and reflects its efficiency in handling computationally intensive scientific calculations, as well as its long-standing stability in large legacy projects. The substantial multi-institutional investment in these models, often comprising millions of lines of code across multiple components (Pressman2005; McConnell2004; Fenton and Bieman2014) has made transitions to alternative languages both difficult and improbable. Consequently, Fortan has remained the primary choice to ensure consistency, compatibility, and continuity across successive model generations, with developers extending codebases rather than rewriting them.

Python (Matthes2019) has increasing prominence in the climate modelling community, particularly for tasks such as as pre and post processing of model output, workflow scripting, rapid prototyping, and visualisation. Scripting languages such as as Perl and Bash are also used for workflow automation, job orchestration on HPC systems, and data management tasks. Additionally, R is frequently employed for statistical analysis and evaluation of observational and model generated datasets.

C and C++ (Kernighan and Ritchie1988; Stroustrup2013), are commonly used to optimise numerically demanding components or integrate specific modules requiring high performance. They often used alongside Fortran, either to improve the computational performance of specific subroutines or for compatibility with the use of other codes on which they depend. Notably, one of the models, CFSv2-2011, stands out as the only climate model in which C constitues the primary implementation language, accounting for 88.1 % of its codebase.

An additional noteworthy case is that NICAM.09 has been developed predominantly in CLisp (Seibel2005). Nevertheless, Fortran remains the second most used language within NICAM.09, supporting its core dynamics and physics routines.

Based on these results and the overwhelming dominance of Fortran across the CMIP model suite, the present study focuses specifically on analysing the Fortran components of the obtained codebases.

5 Code analysis

Here, we focus exclusively on the analysis of Fortran code, reflecting its longstanding and central role in climate model development. This choice is supported by the results in Table 2, which shows how Fortran constitutes a substantial portion of the programming languages used across the CMIP models.

To evaluate code quality, we employed FortranAnalyser, a static analysis tool designed to assess software written in any Fortran version. Its compatibility with legacy code is particularly important given the extensive historical layers present in climate models. Moreover, FortranAnalyser was developed ad-hoc for this purposes, addressing the lack of alternative tools capable of performing consistent, large scale static analysis on Fortran scientific software. An example of improved Fortran code by applying FortranAnalyser recommendations is the case of the IPSL climate model, which improved its quality after an assessment performed with the tool. The case study is described in García-Rodríguez et al. (2024). Table 3 summarizes the static code quality scores produced by FortranAnalyser for each CMIP model analysed. These scores are reported on a normalized scale from 0 to 10; however, it is important to note that the values observed for operational CMIP models occupy a much narrower empirical range. Across all analysed models and CMIP phases, scores span approximately from 2.7 to 4.3, indicating that even the best-performing climate models remain far from the theoretical maximum and highlighting substantial room for improvement in code structure and maintainability across CMIP phases.

Table 3Scores, over possible maximum score of ten points, of static code quality for the CMIP models. For the CMIP6, CESM1 and CESM2 are evuated as a single codebase.

Download Print Version | Download XLSX

In CMIP Phase 3, only one model, CCSM3, was available, yielding a score of 4.014. Within the empirical distribution observed across all CMIP models, this value lies in the upper part of the range and is therefore relatively high in a comparative sense. Nonetheless, the limited number of available models in this phase restricts the contextual interpretation of this result.

Moving to Phase 5, the number of evaluated models increases significantly, yielding a wider spread of the code quality. Models such as GISS-E2 (2.774) and CFSv2-2011 (2.920) score relatively low, indicating potential structural or maintainability weaknesses in their codebases. In contrast, NICAM.09 (4.341) and GEOS-5 (4.131) show stronger performance, highlighting heterogeneity in coding practices across modelling groups during this phase.

A particularly notable case is the IPSL model. In Phase 5, IPSL-CM5 achieved a solid score of 3.974, but its successor on phase 6, IPSL-CM6, reached a score of 4.643, representing a substantial qualitative leap. This progression demonstrates how targeted software quality practices, coupled with the application of static analysis tools, can lead to measurable gains in the maintainability and robustness of scientific models. A deeper evaluation of the development practices and analysis results for this model is available in García-Rodríguez et al. (2024), providing insight into how these tools contribute to enhanced code transparency and structure.

In general, Phase 6 models show higher overall scores, indicating an upward trajectory in software quality. Models such as HiRAM (4.317), CMCC-CM2 (4.230), and E3SM (4.118) reflect a more mature approach to model development, likely supported by better development workflows, more formalized coding standards, and increased awareness of reproducibility and sustainability requirements.

Taken together, the observed improvements across CMIP phases suggest that software quality is increasingly being recognized as an integral component of scientific modelling. Static analysis tools not only provide objective metrics for evaluating code quality but also deliver actionable insights for scientific software codebases. As demonstrated by the IPSL case, integrating that tools into model development pipelines can yield tangible benefits and should be more widely encouraged throughout the climate modelling community.

6 Discussion

Future climate modelling efforts should incorporate the findings presented in this study. Researchers developing new models from scratch, and therefore not constrained by legacy code, are particularly well positioned to implement appropriate licensing practices, comprehensive documentation, and reproducibility protocols from the outset.

It is advisable that final, production-ready versions of climate models used to support conclusions in international climate assessments, together with their corresponding simulation outputs, be archived in long-term, trusted repositories. This recommendation applies broadly to all model intercomparison initiatives. Given the central role of climate models in assessing climate change, restricted access to source code or configuration details may be perceived as a methodological vulnerability. The inability to reproduce published results due solely to missing code or insufficient documentation represents a significant barrier to scientific transparency. It is also crucial to emphasize the distinction between reproducibility and replicability (Association for Computing Machinery2020): reproducibility refers to obtaining identical results under identical conditions, whereas replicability refers to achieving consistent results under varied conditions. Both dimensions are essential for scientific reliability and trust.

The combination of final model releases with modern computational solutions, including cloud infrastructures, containerization technologies, and workflow automation, provides a promising avenue toward achieving full replicability in Earth system modelling (Perkel2019; Añel et al.2020). Such approaches have already demonstrated their value in other scientific domains by reducing technical barriers and fostering more robust computational environments.

At the same time, climate model evaluation frameworks continue to evolve. Validation tools employing a wide range of performance metrics are increasingly used to assess model output. In this context, tools such as ESMValTool (Eyring et al.2020), which was specifically designed for systematic evaluation, offer an important opportunity: to integrate code accessibility, licensing, and code quality evaluation assessments into the CMIP evaluation workflow. Incorporating these dimensions would encourage more consistent standards across modelling centres and improve transparency.

Scientific gaps identified in CMIP5 (Stouffer et al.2017) further highlight the need for open-source policies. Without access to the underlying source code, it becomes impossible to diagnose discrepancies between models or resolve differences in methodological implementation, ultimately hindering scientific progress. Experience in other areas of software development shows that open code sharing contributes to better implementation practices, improved reliability, and more efficient error detection (Boulanger2005; DoD CIO2009). Moreover, open collaboration supports the collective scientific effort required to address climate change (Easterbrook2010) and aligns with core principles of scientific integrity (Añel2019).

Funding agencies and research institutions therefore have a critical role to play. Allocating resources not only for model development but also for documentation, reproducibility workflows, and long-term code preservation is essential for ensuring that climate modelling keeps pace with evolving expectations around transparency and open science.

Although challenges related to computational scientific reproducibility (CSR) persist across scientific disciplines, these challenges also present significant opportunities. In a field as societally vital as climate research, addressing the structural and organizational barriers identified here will strengthen the robustness, credibility, and long-term sustainability of the climate modelling enterprise.

7 Conclusions

This study provides a systematic evaluation of source code accessibility and static code quality across all historical phases of the Coupled Model Intercomparison Project (CMIP). Our analysis confirms that Fortran remains the predominant programming language in climate model development, reflecting its long-standing role in scientific computing and its extensive legacy within Earth system modelling frameworks.

A central outcome of this work is the persistent lack of accessibility to the source code of most CMIP models. This limitation continues to hamper reproducibility, a principle explicitly emphasised in current scientific standards and journal policies. The restricted availability of model code arises from several factors, including licensing constraints, dependencies on proprietary components, and the incomplete preservation of early CMIP model versions. Additionally, structural aspects of the research environment – such as production-oriented publication pressures and the low prioritisation of long-term repository maintenance – further exacerbate these issues. Expanding the use of robust, long-term digital preservation platforms and integrating validation tools throughout the development cycle would meaningfully strengthen the transparency of climate modelling.

To enhance reproducibility and replicability, it is essential that final, fully documented versions of climate models be published in stable public repositories. We also recommend incorporating code analysis tools such as FortranAnalyser into CMIP evaluation workflows to improve the traceability, maintainability, and robustness of model implementations. Furthermore, adopting FLOSS (free-libre open-source software) practices and allocating dedicated funding to support collaborative development would facilitate broader community engagement and harmonisation of software standards.

Based on the findings of this work, several priority directions emerge for the CMIP community:

  • Improving code accessibility: Overcoming licensing barriers, minimising reliance on proprietary dependencies, and promoting deposition of code and documentation in long-term repositories (e.g. Zenodo) are necessary steps. Establishing clear requirements for model availability within international assessments would also support reproducible experimental design.

  • Adopting FLOSS practices: The publication of model code under permissive licences, together with comprehensive documentation and the use of collaborative development platforms, would enhance transparency and facilitate cross-institutional contributions.

  • Advancing code analysis tools: Continued development of tools such as FortranAnalyser is essential to identify structural issues, support consistent programming practices, and provide actionable metrics for quality improvement across modelling groups.

  • Integrating validation tools into evaluation workflows: Systematic use of validation frameworks can improve software reliability by enabling early detection of regressions and facilitating reproducible assessment of model updates.

  • Strengthening transparency and reproducibility: Establishing clear standards for publishing code, data, and configuration details is key to ensuring that climate model results can be independently verified and meaningfully compared.

The challenges identified in this study are technical, organisational, and cultural. Addressing them requires coordinated action across modelling centres, infrastructure providers, and the broader scientific community. Improving code accessibility, software quality, and transparency will enhance the reliability of climate models and reinforce their role as essential tools for understanding and projecting climate change.

Appendix A

Table A1List of the 262 models that are part of the Coupled Model Intercomparison Project, indicating the phase each one corresponds to, modeling center, and model name, highlighting in bold those for which the model code has been obtained.

Download XLSX

Code and data availability

The code of the models analysed in this work and the reports on code quality generated for each one of the models is deposited in the following URLs except for CCSM3, CCSM4, CESM1, MPI-ESM, NICAM.09, NorESM1-M, CMCC-CM2, E3SM, and MPI-ESM1.2-HAM for which we do not have the right to redistribute them:

The FortranAnalyser software used here is deposited in https://doi.org/10.5281/zenodo.5942943 (García-Rodríguez2022).

Author contributions

MGR carried out the formal analysis, investigation, data curation, and software development. JAA, JRI, and MGR contributed to the conceptualization and validation of the study. JAA and JRI were responsible for funding acquisition, project administration, resources, and supervision. JAA and JRI also contributed to the formulation and evolution of overarching research goals and aims. MGR prepared the original draft of the manuscript, and all authors contributed to writing, review, and editing.

Competing interests

At least one of the (co-)authors is a member of the editorial board of Geoscientific Model Development. The peer-review process was guided by an independent editor, and the authors also have no other competing interests to declare.

Disclaimer

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.

Acknowledgements

We thank all the scientists and teams that shared their code and replied to our request, making this study possible. We also thank all the contributors to the CMIP for their continuous work on climate development. We would also like to thank the two anonymous reviewers for their comments.

Financial support

Juan A. Añel is supported by the Grant PID2021-124991OB-I00 and by the Grant PID2024-158326NB-I00 funded by MICIU/AEI/10.13039/501100011033 and by ERDF/EU. The EPhysLab is supported by the Government of Galicia (Grant: GRC-ED431C 2025/37).

Review statement

This paper was edited by Julia Hargreaves and David Ham and reviewed by two anonymous referees.

References

Añel, J. A.: The Importance of Reviewing the Code, Communication of the ACM, 54, 40–41, https://doi.org/10.1145/1941487.1941502, 2011. a

Añel, J. A.: Comment on “Most computational hydrology is not reproducible, so is it really science?” by Hutton et al., Water Resour. Res., 53, 2572–2574, https://doi.org/10.1002/2016WR020190, 2017. a

Añel, J. A.: Reflections on the Scientific Method at the beginning of the twenty-first century, Contemp. Phys., 1, 60–62, https://doi.org/10.1080/00107514.2019.1579863, 2019. a

Añel, J. A., Montes, D. P., and Rodeiro Iglesias, J.: Cloud and Serverless Computing for Scientists, Springer, ISBN 978-3-03-041783-3, https://doi.org/10.1007/978-3-030-41784-0, 2020. a, b

Añel, J. A., García-Rodríguez, M., and Rodeiro, J.: Current status on the need for improved accessibility to climate models code, Geosci. Model Dev., 14, 923–934, https://doi.org/10.5194/gmd-14-923-2021, 2021. a, b, c, d, e

Allison, D., Shiffrin, R., and Stodden, V.: Reproducibility of research: Issues and proposed remedies, P. Natl. Acad. Sci., 115, 2561–2562, https://doi.org/10.1073/pnas.1802324115, 2018. a, b

Arvanitou, E.-M., Ampatzoglou, A., Chatzigeorgiou, A., and Carver, J. C.: Software engineering practices for scientific software development: A systematic mapping study, J. Syst. Softw., 172, 110848, https://doi.org/10.1016/j.jss.2020.110848, 2021. a

Association for Computing Machinery: Artifact Review and Badging, https://www.acm.org/publications/policies/artifact-review-and-badging-current (last access: 31 May 2024), 2020. a, b

Backus, J.: The history of Fortran I, II, and III, 25–74, Association for Computing Machinery, New York, NY, USA, ISBN 0127450408, https://doi.org/10.1145/800025.1198345, 1978. a

Baxter, S. M., Day, S. W., Fetrow, J. S., and Reisinger, S. J.: Scientific Software Development Is Not an Oxymoron, PLOS Comput. Biol., 2, 1–4, https://doi.org/10.1371/journal.pcbi.0020087, 2006. a

Boehm, B. W.: A Spiral Model of Software Development and Enhancement, ACM SIGSOFT, 11, 14–24, https://doi.org/10.1145/358886.358895, 1986. a

Boulanger, A.: Open-source versus proprietary software: Is one more reliable and secure than other?, IBM Syst. J., 1, 239–248, https://doi.org/10.1147/sj.442.0239, 2005.  a

Carlson, D., Eyring, V., van der Wel, N., and Langendijk, G.: WCRP's Coupled Model Intercomparison Project: A Remarkable Contribution to Climate Science, https://www.wcrp-climate.org/images/modelling/WGCM/CMIP/CMIP6FinalDesign_GMD_180329.pdf (last access: 31 May 2024), 2018. a

CMIP: Coupled Model Intercomparison Project, http://cmip-pcmdi.llnl.gov/ (last access: 31 May 2024), 2025a. a

CMIP: History of CMIP, https://pcmdi.llnl.gov/mips/cmip5/history.html (last access: 31 May 2024), 2025b. a

Costa, L., Barbosa, S., and Cunha, J.: Evaluating Tools for Enhancing Reproducibility in Computational Scientific Experiments, in: Proceedings of the 2nd ACM Conference on Reproducibility and Replicability, ACM REP '24, 46–51, Association for Computing Machinery, New York, NY, USA, ISBN 9798400705304, https://doi.org/10.1145/3641525.3663623, 2024. a

DoD CIO: Clarifying Guidance Regarding Open Source Software (OSS), Tech. rep., 6 pp., https://dodcio.defense.gov/Portals/0/Documents/FOSS/2009OSS.pdf (last access: 14 April 2024), 2009. a

Drake, J. B.: Climate Modeling for Scientists and Engineers, Society for Industrial and Applied Mathematics, ISBN 978-0898714778, 2001. a

Durack, P. J., Taylor, K. E., Gleckler, P. J., Meehl, G. A., Lawrence, B. N., Covey, C., Stouffer, R. J., Levavasseur, G., Ben-Nasser, A., Denvil, S., Stockhause, M., Gregory, J. M., Juckes, M., Ames, S. K., Antonio, F., Bader, D. C., Dunne, J. P., Ellis, D., Eyring, V., Fiore, S. L., Joussaume, S., Kershaw, P., Lamarque, J.-F., Lautenschlager, M., Lee, J., Mauzey, C. F., Mizielinski, M., Nassisi, P., Nuzzo, A., O’Rourke, E., Painter, J., Potter, G. L., Rodriguez, S., and Williams, D. N.: The Coupled Model Intercomparison Project (CMIP): Reviewing project history, evolution, infrastructure and implementation, EGUsphere [preprint], https://doi.org/10.5194/egusphere-2024-3729, 2025. a

Easterbrook, S. M.: Getting the source code for climate models, https://www.easterbrook.ca/steve/2009/06/getting-the-source-code-for-climate-models (last access: 31 May 2024), 2009. a

Easterbrook, S. M.: Climate Change: A Grand Software Challenge, in: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, FoSER '10, 99–104, Association for Computing Machinery, New York, NY, USA, ISBN 9781450304276, https://doi.org/10.1145/1882362.1882383, 2010. a

Righi, M., Andela, B., Eyring, V., Lauer, A., Predoi, V., Schlund, M., Vegas-Regidor, J., Bock, L., Brötz, B., de Mora, L., Diblen, F., Dreyer, L., Drost, N., Earnshaw, P., Hassler, B., Koldunov, N., Little, B., Loosveldt Tomas, S., and Zimmermann, K.: Earth System Model Evaluation Tool (ESMValTool) v2.0 – technical overview, Geosci. Model Dev., 13, 1179–1199, https://doi.org/10.5194/gmd-13-1179-2020, 2020. a

Fenton, N. E. and Bieman, J.: Software Metrics: A Rigorous and Practical Approach, CRC Press, https://doi.org/10.1201/b17461, 2014. a

García-Rodríguez, M.: FortranAnalyser, Zenodo [code], https://doi.org/10.5281/zenodo.5942943, 2022. a, b

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Assessing and improving the quality of Fortran code in scientific software: FortranAnalyser, Software Impacts, 21, 100692, https://doi.org/10.1016/j.simpa.2024.100692, 2024. a, b, c

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for CESM1 CMIP6 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16933339, 2025a. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for CFSv2 CMIP5 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16932623, 2025b. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for GEOS-5 CMIP5 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16932661, 2025c. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for GFDL CMIP5 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16932683, 2025d. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for GISS CMIP5 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16932705, 2025e. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for GISS CMIP6 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16933370, 2025f. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for HiRAM CMIP6 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16932804, 2025g. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for IPSL CMIP5 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16932753, 2025h. a

García-Rodríguez, M., Añel, J. A., and Rodeiro-Iglesias, J.: Source code and analysis results for IPSL CMIP6 model, Zenodo [code, data set], https://doi.org/10.5281/zenodo.16933458, 2025i. a

Gardner, J. and GitHub staff: Linguist: Language Savvy, GitHub, https://github.com/github/linguist (last access: 31 May 2024), 2024. a

GMD Executive Editors: Editorial: The publication of geoscientific model developments v1.1, Geosci. Model Dev., 8, 3487–3495, https://doi.org/10.5194/gmd-8-3487-2015, 2015. a

Hunter-Zinck, H., de Siqueira, A. F., Vásquez, V. N., Barnes, R., and Martinez, C. C.: Ten simple rules on writing clean and reliable open-source scientific software, PLOS Comput. Biol., 17, 1–9, https://doi.org/10.1371/journal.pcbi.1009481, 2021. a

Kanewala, U. and Bieman, J. M.: Testing scientific software: A systematic literature review, Inform. Software Tech., 56, 1219–1232, https://doi.org/10.1016/j.infsof.2014.05.006, 2014. a, b

Kernighan, B. W. and Ritchie, D. M.: The C Programming Language, Prentice Hall, ISBN 978-0131103627, 1988. a

Knutti, R., Masson, D., and Gettelman, A.: Climate model genealogy: Generation CMIP5 and how we got there, Geophys. Res. Lett., 40, 1194–1199, https://doi.org/10.1002/grl.50256, 2013. a

Matthes, E.: Python Crash Course, No Starch Press, ISBN 978-1593279288, 2019. a

McCall, J., Richards, P., and Walters, G.: Factors in Software Quality, Proceedings of the Second International Conference on Software Engineering, 2, 155–160, 1977. a

McConnell, S.: Code Complete, Microsoft Press, ISBN 978-0-7356-1967-8, 2004. a

Metcalf, M., Reid, J., and Cohen, M.: Modern Fortran Explained, Oxford University Press, numerical recipes in fortran 90th edn., ISBN 978-0199601424, 2011. a

Moore, G. E.: Cramming more components onto integrated circuits, McGraw-Hill, 38th edn., https://doi.org/10.1109/JPROC.1998.658762, 1965. a

Nature: Does your code stand up to scrutiny?, Nature, 555, https://doi.org/10.1038/d41586-018-02741-4, 2018. a

Nguyen-Hoan, L., Flint, S., and Sankaranarayana, R.: A Survey of Scientific Software Development, in: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM '10, Association for Computing Machinery, New York, NY, USA, ISBN 9781450300391, https://doi.org/10.1145/1852786.1852802, 2010. a

Perkel, J. M.: Containers in the Cloud, Nature, SIAM News, 1, 247–248, https://doi.org/10.1038/d41586-019-03366-x, 2019. a

Pipitone, J. and Easterbrook, S.: Assessing climate model software quality: a defect density analysis of three models, Geosci. Model Dev., 5, 1009–1022, https://doi.org/10.5194/gmd-5-1009-2012, 2012. a

Pressman, R. S.: Software Engineering: A Practitioner's Approach, McGraw-Hill, ISBN 978-0073375977, 2005. a

RealClimate.org: Sources of code and data related to climate science, http://www.realclimate.org/index.php/data-sources (last access: 31 May 2024), 2009. a

Riesch, M., Nguyen, T. D., and Jirauschek, C.: bertha: Project skeleton for scientific software, PLOS ONE, 15, 1–12, https://doi.org/10.1371/journal.pone.0230557, 2020. a

Seibel, P.: Practical Common Lisp, Apress, Berkeley, CA, ISBN 978-1-59059-239-7, 2005. a

Stodden, V., Guo, P., and Ma, Z.: Toward Reproducible Computational Research: An Empirical Analysis of Data and Code Policy Adoption by Journals, PLoS ONE, 8, e67111, https://doi.org/10.1371/journal.pone.0067111, 2013. a

Stodden, V., Seiler, J., and Ma, Z.: An empirical analysis of journal policy effectiveness for computational reproducibility, P. Natl. Acad. Sci., 115, 2584–2589, https://doi.org/10.1073/pnas.1708290115, 2018. a, b

Stouffer, R., Eyring, V., Meehl, G., Bony, S., Senior, C., Stevens, B., and Taylor, K.: CMIP5 Scientific Gaps and Recommendations for CMIP6, B. Am. Meteorol. Soc., 98, 95–105, https://doi.org/10.1175/BAMS-D-15-00013.1, 2017.  a

Stroustrup, B.: The C++ Programming Language, Addison-Wesley, 4th edn., ISBN 978-0321563842, 2013. a

Trisovic, A., Lau, M. K., Pasquier, T., Crosas, M., and Broman, K. W.: A large-scale study on research code quality and execution, Sci. Data, 9, 60, https://doi.org/10.1038/s41597-022-01143-6, 2022. a

U.S. Code: 17 U.S. Code § Section 105. Subject matter of copyright: United States Government works, https://www.law.cornell.edu/uscode/text/17/105 (last access: 3 August 2026), 1976. a

van Wendel de Joode, R., de Bruijn, J. A., and van Eeten, M. J. G.: Protecting the Virtual Commons, T.M.C. Asser Press, ISBN 978-90-6704-159-1, 2003. a

Wieters, N. and Fritzsch, B.: Opportunities and limitations of software project management in geoscience and climate modelling, Adv. Geosci., 45, 383–387, https://doi.org/10.5194/adgeo-45-383-2018, 2018. a

Wilson, G., Aruliah, D. A., Brown, C. T., Chue Hong, N. P., Davis, M., Guy, R. T., Haddock, S. H. D., Huff, K. D., Mitchell, I. M., Plumbley, M. D., Waugh, B., White, E. P., and Wilson, P.: Best Practices for Scientific Computing, PLOS Biol., 12, 1–7, https://doi.org/10.1371/journal.pbio.1001745, 2014. a

Wilson, G., Bryan, J., Cranston, K., Kitzes, J., Nederbragt, L., and Teal, T.: Good enough practices in scientific computing, PLOS Comput. Biol., 13, e1005510, https://doi.org/10.1371/journal.pcbi.1005510, 2017. a

Wu, C., Chakravorti, T., Carroll, J. M., and Rajtmajer, S.: Integrating measures of replicability into scholarly search: Challenges and opportunities, in: Proceedings of the 2024 CHI Conference on Human Factors in Computing Systems, CHI '24, Association for Computing Machinery, New York, NY, USA, ISBN 9798400703300, https://doi.org/10.1145/3613904.3643043, 2024. a

Zaporozhets, D.: GitLab, https://about.gitlab.com/ (last access: 31 May 2024), 2011. a

Download
Editorial statement
The Climate Modelling Intercomparison Project coordinates climate projections made by the world's flagship climate models which feed into reports such as the IPCC. It should remain a concern that even in the 6th version of the project, relatively few of the models have made their code accessible to other scientists, let alone the general public. Furthermore, the consideration of what may or may not constitute good code is of interest to all those involved in geoscientifc model development. This paper may come at an interesting point in time. Since their inception in the 1960s, prognostic climate models have always used fortran and similar languages to create algorithms which directly reproduce our basic geoscientific understanding of how the climate evolves, through differential equations. The authors propose that things may be evolving in a new direction, with the potential incorporation of machine learning and other forms of AI into future generations of the models. This will surely present new challenges to the concept and assessment of scientific reproducibility and code development.
Short summary
We studied how accessible and reliable the computer code behind major climate models has been over time. By reviewing different phases of the Coupled Model Intercomparison Project, we found improvements in transparency and coding practices, but also gaps that limit reproducibility. Our work suggests practical steps to make future climate research more open, traceable, and trustworthy for scientists and society.
Share