Mariana Vertenstein (CGD)

Slides:



Advertisements
Similar presentations
Weather Research & Forecasting: A General Overview
Advertisements

Business Development Suit Presented by Thomas Mathews.
Earth System Curator Spanning the Gap Between Models and Datasets.
Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech.
Multi-Mode Survey Management An Approach to Addressing its Challenges
© , Michael Aivazis DANSE Software Issues Michael Aivazis California Institute of Technology DANSE Software Workshop September 3-8, 2003.
Common Infrastructure for Modeling the Earth
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
WRF-VIC: The Flux Coupling Approach L. Ruby Leung Pacific Northwest National Laboratory BioEarth Project Kickoff Meeting April 11-12, 2011 Pullman, WA.
Coupling Climate and Hydrological Models Interoperability Through Web Services.
Managing Software Quality
NSF NCAR | NASA GSFC | DOE LANL ANL | NOAA NCEP GFDL | MIT Adoption and field tests of M.I.T General Circulation Model (MITgcm) with ESMF Chris Hill ESMF.
NSF NCAR | NASA GSFC | DOE LANL ANL | NOAA NCEP GFDL | MIT | U MICH First Field Tests of ESMF GMAO Seasonal Forecast NCAR/LANL CCSM NCEP.
CESM Infrastructure Update
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
ESMF Development Status and Plans ESMF 4 th Community Meeting Cecelia DeLuca July 21, 2005 Climate Data Assimilation Weather.
CESM/RACM/RASM Update May 15, Since Nov, 2011 ccsm4_0_racm28:racm29:racm30 – vic parallelization – vic netcdf files – vic coupling mods and “273.15”
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado.
ESMF Application Status GMAO Seasonal Forecast NCAR/LANL CCSM NCEP Forecast GFDL FMS Suite MITgcm NCEP/GMAO Analysis Climate Data Assimilation.
CSEG Update Mariana Vertenstein CCSM Software Engineering Group Mariana Vertenstein CCSM Software Engineering Group.
CESM/ESMF Progress Report Mariana Vertenstein NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science.
Common Set of Tools for Assimilation of Data COSTA Data Assimilation Summer School, Sibiu, 6 th August 2009 COSTA An Introduction Nils van Velzen
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Earth System Modeling Framework Status Cecelia DeLuca NOAA Cooperative Institute for Research in Environmental Sciences University of Colorado, Boulder.
Regional Models in CCSM CCSM/POP/ROMS: Regional Nesting and Coupling Jon Wolfe (CSEG) Mariana Vertenstein (CSEG) Don Stark (ESMF)
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Running CESM An overview
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
ESMF and the future of end-to-end modeling Sylvia Murphy National Center for Atmospheric Research
NOAA Environmental Modeling System Cecelia DeLuca NOAA Environmental Software Infrastructure and Interoperability (NESII) NOAA ESRL/University of Colorado.
The NOAA Environmental Modeling System at NCEP Mark Iredell and the NEMS group NOAA/NWS/NCEP Environmental Modeling Center June 12, 2014.
A Quick Tour of the NOAA Environmental Software Infrastructure and Interoperability Group Cecelia DeLuca Dr. Robert Detrick visit March 28, 2012
Overview of the CCSM CCSM Software Engineering Group June
Experiences and Decisions in Met Office coupled ESM Development
Project Management Approach
JDemetra+ as an innovative tool for seasonal adjustment
Chapter 1 The Systems Development Environment
CI Updates and Planning Discussion
Chapter 1 The Systems Development Environment
Chapter 1: Introduction to Systems Analysis and Design
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Self Healing and Dynamic Construction Framework:
GWE Core Grid Wizard Enterprise (
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
A Web-enabled Approach for generating data processors
ESPC Air-Ocean-Land-Ice Global Coupled Prediction
Chapter 18 MobileApp Design
Chapter 1 The Systems Development Environment
ESMF Governance Cecelia DeLuca NOAA CIRES / NESII April 7, 2017
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
Introduction to Software Engineering
Information Systems Development
Model-Driven Analysis Frameworks for Embedded Systems
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Joint GEOS-Chem and NCAR Modeling Workshop:
FUJIN: a parallel framework for meteorological models
ABHISHEK SHARMA ARVIND SRINIVASA BABU HEMANT PRASAD 08-OCT-2018
What's New in eCognition 9
Mariana Vertenstein CCSM Software Engineering Group NCAR
Dtk-tools Benoit Raybaud, Research Software Manager.
Presented By: Darlene Banta
Metadata Development in the Earth System Curator
Overview of Workflows: Why Use Them?
Chapter 1 The Systems Development Environment
What's New in eCognition 9
Chapter 1: Introduction to Systems Analysis and Design
A brief introduction to NEMS
COMPONENT – BASED SOFTWARE ENGINEERING MODULE 2 – SECOND SEMESTER MKHIZE, BSC HONS COMPUTER SCIENCES, DIP IT, ICDL.
What's New in eCognition 9
Presentation transcript:

Mariana Vertenstein (CGD) Facilitating coupled model development for both climate and weather via CIME (Common Infrastructure for Modeling the Earth) Mariana Vertenstein (CGD)

Outline What is a big challenge for coupled earth system modeling? What is CIME and what is it comprised of? How does CIME address challenges of coupled earth system modeling? Flexible coupling infrastructure User-friendly case-control system User-friendly regression testing, unit testing, porting and verification utilities What are next steps for CIME to address forecast needs? How are different parts of CIME collaboratively developed and prioritized?

What is a coupled model and associated complexities? A set of fully independent component models representing different parts of the earth system each at different time scales, potentially different resolutions and different processor layouts In order to provide dynamic feedbacks, the component models periodically exchange state and flux information via a coupling framework Managing a coupled model requires managing complexity of configuring, building and running a variety of component models, resolutions and processor layouts CIME was developed to address these challenges!

Why do we need a coupling infrastructure? Driver/ Mediator river land ice land sea-ice wave atm ocean Same grid, same decomposition and processors –each component has its own data structures and its own decomposition - Swap out data/prognostic need a general coupling interface The internals of the components do not know anything about coupling data structures. An application program interface layer (in green) permits components to translate their data to coupler data structures and vice versa. This API is often referred to as an coupling cap. The API is the key thing that enables modularity – the driver mediator has no idea what type of components is being used – and therefore data and prognostic components can be swapped easily at compile time. This is a key feature feature that enables feedbacks to be activated and deactivated. Components do not exchange data with each other – but only via communication with a mediator Each component can run on its own grid, decomposition, data structures and processor layout Driver runs on all Pes and controls the temporal evolution of the system Mediator does remapping and merging from source -> destination comps Currently Coupling framework is MCT – moving to NUOPC/ESMF

Statistical Verification CIME is comprised of 3 categories – case control system, utilities, workflow Case Control System Creating/Building/Running Experiments System Testing Unit Testing Statistical Verification Tool (PyCECT) Mapping weight generation and checking tools (ESMF_Regrid and runoff map maker) Utilities in CIME repository CIME Compliant Workflow Coupling Infrastructure Cylc Workflow Post Processing/ Diagnostics Because its an open system, people Data Models Externals PIO Timers MCT Core CIME Functionality

CIME Coupling Infrastructure

Controlling Component Feedbacks Active ocean POP/MOM Active atmosphere CAM CAM and POP/MOM effect each other during simulation Active atmosphere CAM Data OCN Only Data OCN effects CAM – prescribed SST Coupling framework enables feedbacks to be easily turned off and on for any component KEY to adding to new science to a component Why are feedbacks important? If trying to improve CAM, then need to make sure that only change atmosphere and not how ocean is responding to atmosphere. Ocean stays fixed and can study just want is going on in the atmosphere.

Inter-component Activation and Deactivation of Feedbacks Driver/ Mediator Data ROF Data ICE MOSART CISM CICE WW3 CTSM Data LND Data WAV POP MOM6 SOM/DOM CAM/MPAS Data ATM The 7 CESM components exchange data via communication with a driver/mediator that is based on the MCT (modeling coupling toolkit) The internals of the components do not know anything about MCT data structures. An application program interface layer (in green) permits components to translate their data to MCT data and vice versa. This API is often referred to as an MCT coupling cap. The API is the key thing that enables modularity – the driver mediator has no idea what type of components is being used – and therefore data and prognostic components can be swapped easily at compile time. This is a key feature feature that enables feedbacks to be activated and deactivated. Coupling infrastructure has permits interoperability of active and data components Inter-component feedbacks are easily activated and deactivated using CIME case control system

“stand-alone” CAM Configuration Driver/ Mediator CTSM CICE Prescribed mode Data Ocn Slab Ocn or Prescribed SST The 7 CESM components exchange data via communication with a driver/mediator that is based on the MCT (modeling coupling toolkit) The internals of the components do not know anything about MCT data structures. An application program interface layer (in green) permits components to translate their data to MCT data and vice versa. This API is often referred to as an MCT coupling cap. The API is the key thing that enables modularity – the driver mediator has no idea what type of components is being used – and therefore data and prognostic components can be swapped easily at compile time. This is a key feature feature that enables feedbacks to be activated and deactivated. All components are on same grid – but each can have its own decomposition that ensures optimal load balancing CTSM, CICE and DOCN can all run concurrently on disjoint PES, optimizing performance

CIME Case Control System

CIME Case Control System Complexity in CESM continues to grow rapidly currently support hundreds of out-of-the box experimental configurations and tests. Creating a new experiment is very complex – no single user can know the entire details of all components! CIME Case Control System is a python based object-oriented package Lets users easily create customized experiments (using only 4 commands) with desired target feedbacks, component resolutions and component configurations. Keeps complexity hidden from users – not dependent on the users having expert knowledge of the entire system. Parallel diagnostic packages can be run from case directory Provenance: experiment can be saved into run database so that it can be duplicated at a later time Can easily be plugged into CYCL workflow You can run the active land with and without a carbon/nitrogen cycle. You can run the atmosphere with and without atmospheric chemistry. You can run the ocean with and without biogeochemistry component.

CIME Regression and Unit Testing Case Control System is accompanied by an extensible and robust regression testing framework that is utilized by all CESM components All prognostic components leverage the testing framework – component specific tests are specified by component itself - not centralized Can run hundreds of tests with different resolutions, feedbacks, science complexity, with one command You can run the active land with and without a carbon/nitrogen cycle. You can run the atmosphere with and without atmospheric chemistry. You can run the ocean with and without biogeochemistry component.

Next Steps in CIME Development for Forecasting Needs

New Features planned for CIME Addition of new capabilities in the case control system to accommodate forecast capability and not just climate capability Migration of coupling framework to ESMF/NUOPC Will bring in run-time regridding and run-time sequencing of components ESMF/NUOPC is becoming the de-facto coupling standard – this will lead to enhanced interoperability of the system Working jointly with NOAA to accomplish this Coupling infrastructure will be that used by EMC/UFS

Thank you Questions?

CIME Governance and Development

How is CIME developed? Open joint collaboration on public GitHub repository between DOE/NCAR software developers without any formal governance CIME is developed and tested stand-alone CIME stand-alone continuous integration (Travis CI) CIME stand-alone regression tests and unit tests (required for pull requests) Prognostic component regression tests use CIME testing framework as well

Why does this work (1) CIME infrastructure has been set up to permit this joint open collaboration Modular object-oriented python (and fortran) code reuse between efforts Shared code whenever possible Separation when necessary machines, compilers have are implemented in separate locations in CIME – but use the same underlying code

Why does this work (2) GitHub is a transformative way to collaborate Issues are raised in GitHub and resolved collaboratively Pull requests (PRs) are reviewed by both groups and the implementations must satisfy both groups in order for the PR to be accepted In practice, GitHub this process easy and transparent Documentation has been created via sphinx/rst and has been jointly developed and updated

CIME Tool for Verification and Porting

CESM Ensemble Consistency Test (ECT) Changes to hardware or software environment or CESM code CESM Data ≠ Big question: If , is the new result correct? Alternative question: Is statistically distinguishable from ?

CESM Ensemble Consistency Test (ECT) Create accepted ensemble Statistically quantify variability Create "new" runs Evaluate: PASS or FAIL Approach: Evaluate new data in the context of an “accepted” ensemble of CESM runs CESM-software engineers CESM-user Our new approach is that the climate system model has some natural variability that we are going to represent quantitatively using an ensemble of runs and use that as our baseline for accepted variability Complete software suite for end users, computationally very efficient Bit-for-bit is too restrictive – need to be able to optimize code, new hardware technologies, more aggressive compiler options Easy, automated: the end user does not need to do much of this climate-modeling expertise is not required! option when bit-for-bit reproducibility is not possible: new algorithms, solvers, compiler options, hardware technologies Highlights: enables “letting go” of bit-for-bit reproducibility objective, user-friendly 9 time-step test rapid feedback for model developers