joint effort for data assimilation integration...

14
Yannick Trémolet Tom Auligné Joint Center for Satellite Data Assimilation (JCSDA) Joint Effort for Data assimilation Integration Unified Software Infrastructure for Data Assimilation

Upload: others

Post on 28-Oct-2019

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Yannick Trémolet

Tom Auligné

Joint Center for Satellite Data Assimilation (JCSDA)

Joint Effort for Data assimilation Integration

Unified Software Infrastructurefor Data Assimilation

Page 2: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

JEDI: Motivations and Objectives

The Joint Effort for Data assimilation Integration (JEDI) is a collaborative development between JCSDA partners.

Develop a unified data assimilation system:

- From toy models to Earth system coupled models

- Unified observation (forward) operators (UFO)

- For research and operations (including R2O/O2R)

- Share as much as possible without imposing one approach

Page 3: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Modern Software Engineering

We want a very flexible, reliable, efficient, generic, readable code.

This is not specific to NWP: the software industry has moved to generic and object-oriented programming 20 years ago.

The key idea is separation of concerns:- All aspects exist but scientists focus on one aspect at a time.- Different concepts are treated in different parts of the code.- Nobody can know it all!

Good software engineering does not solve scientific problems: it is a tool to express and manage computations more efficiently.

Page 4: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

JEDI Abstract Design

Abstract Layer

GenericApplications

Abstract building blocks

Systems

Forecast 4D-Var PF

State Observations Covariance Model

FV3 + GSILorenz MOM6

Uses

Implements

Abstract interfaces are the most important aspect of the design

EnKF

Page 5: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

JEDI Abstract Design

Abstract LayerAbstract building blocks

Systems

State Model

FV3WRF

Atmosphere

There is potential for sharing code at many levels (domain, technical…)

Ocean

MOM ……

Shared Components

Page 6: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Model Design: xt=M(x0)

Setup(lots of stuff)

Timestep

Clean-up(sometimes)

Tim

e Lo

op

Works for any model, including coupled models

model.finalize(…)

model.create(…)

model.initialize(…)

model.step(…)

grid.create(…)

model.initialize(…)

Page 7: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Observation Operators

• In most existing systems, observation operators directly access state/model data

• Observation operators, and as a result DA systems, are very model specific

Obs. Operators

State Observations

Page 8: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

UFO: the interface advantage

StateObs.

Operators

Obs. Locations

Variables

Interpolated Fields

Observations

• JEDI/UFO introduces standard interfaces between the model and observation worlds

• Observation operators are independent of the model and can easily be shared, exchanged, compared

• One objective is to build a community “operator-store”

Page 9: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Interface for Observation Data Access (IODA)

Interface to isolate science code from data storage

Three levels:- Long term storage (historic database)- Files on disk (one DA cycle)- In memory handling of observations (hardware specific?)

Two environments:- Plotting, analyzing, verifying on workstation- DA and other HPC applications (MPI, threads, GPUs…)

Goal: one interface, possibly several implementations

Page 10: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Top-Down and Bottom-Up

Keep the computational parts of the existing codes and reuse them in a re-designed flexible structure.

This can be achieved by a top-down and bottom-up approach:– From the top: Develop a new, modern, flexible structure– From the bottom: Progressively create self-contained units of code by refactoring legacy code– Put the two together

Interfaces are the key.

From a Fortran point of view, this implies:– Control via interfaces (derived types passed by arguments),– No global variables.

Page 11: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Collaborating: Repositories

Central repo.

JEDI core

ESRL

.edu

GMAO

EMC

NRL

NCAR

Lab. controlled

Forks

Push +Pull request

Communitycontrolled

Permission to fork repository are very easy to obtainContributing code is very controlled:- Governance body to approve what features should be shared- Pull request triggers code review before merging to higher level branch

Page 12: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Project Status

Infrastructure:- Testing framework- IODA

Models:- FV3GFS/GOES-5- WRF- MPAS- MOM, CICE- …

Observations from:- GSI- NAVDAS- …

Ambitious timeline:GSI-equivalent capability with FV3GFS in Spring 2019

Partners:- NOAA/EMC- NOAA/ESRL- NASA/GMAO- NRL- NCAR- …

Distributed partners:- Modern collaborative tools- Regular code sprints

Page 13: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Final comments

The JEDI project will provide a software infrastructure for data assimilation that- Is model agnostic- Does not impose one specific DA methodology or algorithm- Encourages implementation of model independent observation

operators (community “operator store”)- Provides a unified Interface for Observation Data Access

The keys to success are separation of concerns and interfaces

JEDI is for scientific exploration and operational forecasting … and exchanges between them.

Page 14: Joint Effort for Data assimilation Integration (JEDI)pocanga.cptec.inpe.br/inscricaoDas/pdf/ppt/yannick_tremolet.pdfThe Joint Effort for Data assimilation Integration (JEDI) is a collaborative

Thanks to all involved in JEDI (so far)

Amal El Akkraoui, Anna Shlyaeva, Ben Ruston, Benjamin Ménétrier, Bob Oehmke, Bryan Flynt, Bryan Karpowicz, Clara Draper, Dan Holdaway, François Vandenberghe, Guillaume Vernières, Jeff Whitaker, Jing Guo, John Michalakes, Julie Schramm, MariuszPagowski, Mark Potts, Ming Hu, Rahul Mahajan, Ricardo Todling, Scott Gregory, Soyoung Ha, Tom Auligné, Will McCarty, Xin Zhang

The JEDI abstract layer is based on OOPS (ECMWF)

Join the force! There are currently 9 open positions at JCSDA in Maryland and Colorado. Additionally, open enrollment for JCSDA Visiting Scientist Program. See Tom Auligné or Yannick Trémolet.