100 likes | 118 Vues
Explore how ESMF is utilized in GEOS Earth System Model Components for NASA missions, with a focus on performance and future developments.
E N D
ESMF at GMAO: Modeling, Data Assimilation and OSSEs for NASA Missions Arlindo da Silva and Tom Clune NASA/GSFC, Global Modeling and Assimilation Office arlindo.m.dasilva@nasa.gov ESMF Executive Board Meeting College Park, 7 March 2019
GEOS Earth System Model Components coupling via the Earth System Model Framework (ESMF) Aerosol and chemistry radiatively coupled to GCM Applications: Seasonal forecasts Weather and aerosol NRT forecasts Chemical Composition Forecast Reanalysis Observing System Simulation Experiments (OSSEs)
GEOS Data Assimilation • ESMF used less extensively in the current GMAO Data Assimilation Systems • Mostly at the exchange of Gridded fields • Enter JEDI… • MAPL Cap (ESMF-based model “driver”) used at the highest level for 4D-Var type algorithms • ESMF regridding and location streams not leveraged by JEDI
MAPL and NUOPC • Much like NUOPC, MAPL is an ESMF-based usability layer developed along the years for building GEOS • Hierarchical architecture, less general than NUOPC • Designed to accommodate tight coupling of parameterizations • NASA funded project lead by Rocky Dunlap aims at transparent interoperability of MAPL and NUOPC • Pilot study leverages NUOPC concurrency to deploy simultaneous atmospheric model and full chemistry GEOS-CTM with ”over-the-air” coupling.
ESMF: Time for a Reboot? • Although backward compatibility is critical in the short term, after nearly 20 years, a refactoring may be in order to align the ESMF with new and emerging technologies • Some relevant new(ish) technologies: • Design: Object Oriented features in recent Fortran revisions • Performance: accelerators, many-core processors, long vectors, burst buffers, … • Software: CUDA, OpenACC, OpenMP 5.0, Legion, kokkos, … • Software engineering: cmake/ecbuild, Spack, EasyBuilder, …
Going Forward: ESMF X • Retain ability to respond to unanticipated/urgent user requirements • OO Extensibility • Core framework • Define abstract classes with carefully chosen interfaces • Provide robust/optimized reference implementations • Reuse significant portion of existing ESMF • Applications/End Users • Can develop customized extensions while retaining full interoperability • When appropriate, extension can be integrated back into the core framework
ESMF X: A Focus on Performance? • What could ESMF provide to enable/improve performance portability for ESMs? • Improved support for hybrid parallelism (e.g. recent work on SSI arrays) • Utilities/abstractions for threading/vectorizing column physics? • Abstractions for managing memory and kernel placement on accelerators? • Improved support for concurrent/asynchronous components? • Single process runs 2+ components using threads? (ala GFDL) • Task pipelines? • Parallel/asynchronous IO