Earth system data assimilation is a very complex problem nobody can master every aspect of. This is a widespread fact in all modern aspects of technology, from aeronautics to medical equipment to software engineering. The key concept in modern development for complex systems is separation of concerns. In a well-designed architecture, teams can develop different aspects in parallel without interfering with other teams work and without breaking the components they are not working on. Scientists can be more efficient focusing on their area of expertise without having to understand all aspects of the system. In this project, the concepts of models is clearly separated from the observation handling with clear interfaces. The data assimilation algorithms are themselves separated from the model space and observation space components.
JEDI also uses many modern tools and practices for software development, including agile development, code sprints, easy to access code repository, flexible build system, automated testing and continuous integration.
This approach has enabled very fast progress in the development of JEDI. In this talk, an overview of the system and the current status of the implementation of the various data assimilation components, observing systems and models will be presented.