Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

                    

Poster TitleThe E3SM Code Development Process
AuthorsRobert Jacob (Unlicensed)Andy SalingerJames FoucarBalwinder SinghWuyin LinJon WolfeGautam BishtJunqi Yin (Unlicensed)Wade Burgess and the E3SM phase 1 SE/CPL group
First AuthorRobert Jacob (Unlicensed)
Session TypeE3SM/Integrated Session
Session IDI3
Submission TypePresentation (tick)
GroupInfrastructure
Experiment
Poster Link




Abstract

The E3SM phase 1 Software Engineering group established processes and tools for code development of our new Earth system model. Our goals were to establish a process that allows for high productivity of model development across a large dispersed team while maintaining a trusted, working code base, all with an eye to long-term agility and sustainability. We established a distributed version control workflow through a set of “integrators” that provides a scalable way to do code development, ensure code quality, and triage problems. Our procedure includes a multi-layered testing strategy to balance frequent commits of new features while also keeping confidence that the model is running correctly on all of the targeted computational resources.   The testing framework is based on the Case Control System from CIME, the Common Infrastructure for Modeling the Earth, which was rewritten in python by E3SM and CESM developers during phase 1.  Where possible, we looked to adopt common Open Source software tools to minimize the software maintenance burden and decrease the learning curve for future E3SM software engineers, including: git, Github Issues, Jenkins, CDash, slack, and Python. In this talk we will present our set of tools and processes, discuss improvements that are in the works, and solicit suggestions for future.


  • No labels