Скачать презентацию Cupid A Development Environment for Earth System Models Скачать презентацию Cupid A Development Environment for Earth System Models

ab4fe1b7fbbd76c26ded47f2f2258c51.ppt

  • Количество слайдов: 27

Cupid: A Development Environment for Earth System Models Rocky Dunlap NOAA ESRL/University of Colorado Cupid: A Development Environment for Earth System Models Rocky Dunlap NOAA ESRL/University of Colorado Third Workshop on Coupling Technologies for Earth System Models (CW 2015) Manchester, England April 20 -22, 2015

New Directions for ESMF The initial ESMF software fell short of the vision for New Directions for ESMF The initial ESMF software fell short of the vision for common infrastructure in several ways: 1) Implementations of ESMF-based models could vary widely and did not guarantee a minimum level of technical interoperability among sites - creation of the NUOPC Layer 2) It was difficult to track who was using ESMF and how they were using it – initiation of the Earth System Prediction Suite 3) There was a significant learning curve for implementing ESMF in a modeling code – Cupid Integrated Development Environment New development directions address these gaps…

NUOPC Interoperability Layer 1. Implementations of ESMF-based models could vary widely and did not NUOPC Interoperability Layer 1. Implementations of ESMF-based models could vary widely and did not guarantee a minimum level of technical interoperability among sites ESMF: • • • provides common data types (field, grid, mesh, clock, etc. ) and component interfaces (init, run, finalize) BUT, there are few constraints on what happens at each model phase RESULT: even if two independent models are built with ESMF types, more work remains to arrive at a functioning coupled system National Unified Operational Prediction Capability (NUOPC) Consortium of U. S. operational weather and water prediction centers – Improve collaboration among agencies – Accelerate the transition of new technology into the operational centers – Technical goal: Increase interoperability of ESMF-based applications

NUOPC Interoperability Layer An interoperability layer on top of ESMF that adds: Definitions for NUOPC Interoperability Layer An interoperability layer on top of ESMF that adds: Definitions for component interactions during Initialize, Run, Finalize NUOPC API Extensible, generic components that implement the component interactions above A field dictionary, based on Climate & Forecast (CF) conventions, as the basis for a standard identification of fields between components ESMF API Component Explorer and Compliance Checker tools that report component incompatibilities detected during run-time Static compliance checking and code generation via the Cupid Integrated Development Environment https: //www. earthsystemcog. org/ projects/nuopc/

NUOPC Layer Generic Components Model: Implements a specific physical domain, e. g. atmosphere, ocean, NUOPC Layer Generic Components Model: Implements a specific physical domain, e. g. atmosphere, ocean, wave, ice Connector: Connects pairs of components in one direction, e. g. Model to/from Model, or Model to/from Mediator Executes simple transforms (Regrid/Redist, units) Mediator: Scientific coupling code (flux calculations, accumulation, averaging, etc. ) between (potentially multiple) Models Driver: Provides a harness for Models, Mediators, and Connectors (supporting hierarchies) Coordinates initialize and run sequences

Initialize Phase Definition Phase IPDv 00 p 1 Component models, mediators, drivers IPDv 00 Initialize Phase Definition Phase IPDv 00 p 1 Component models, mediators, drivers IPDv 00 p 1 connectors IPDv 00 p 2 models, mediators, drivers IPDv 00 p 2 a connectors IPDv 00 p 2 b connectors IPDv 00 p 3 IPDv 00 p 4 Meaning Advertise their import and export Fields Match export/import fields Realize their import and export Fields Mark fields as connected. Reconcile the import and export States across processors. Precompute the Route. Handle (communication paths). models, mediators, Verify all import fields connected drivers models, mediators, Handle Field data initialization. drivers Timestamp their export Fields.

Example Configurations of NUOPC Components Example Configurations of NUOPC Components

The Earth System Prediction Suite 2. It was difficult to track who was using The Earth System Prediction Suite 2. It was difficult to track who was using ESMF and how they were using it • The Earth System Prediction Suite (ESPS) is a collection of weather and climate modeling codes that use ESMF with the NUOPC conventions. • The ESPS makes clear which codes are available as ESMF components and modeling systems. Inclusion criteria: • NUOPC-compliance • A minimal, prescribed set of model documentation that conforms to the Common Information Model standard • Clear terms of use (e. g. public domain statement, open source license, proprietary status), and must have a way for credentialed collaborators to request access • Regression tests provided • Commitment to continued NUOPC-compliance and ESPS participation https: //www. earthsystemcog. org/projects/esps/

ESPS Code Status LEGEND Compliant NEMS (Completion date) CFSv 3 GFS/GSM NMMB CAM FIM ESPS Code Status LEGEND Compliant NEMS (Completion date) CFSv 3 GFS/GSM NMMB CAM FIM GEOS-5 FV Model. E Atm COAMPS Atm Nav. GEM NEPTUNE MOM 5 HYCOM NCOM POP 2015 CICE WW 3 SWAN 2015 In progress Coupled Modeling Systems COAMPS / Nav. GEMCOAMPS-TC HYCOMCICE Atmospheres Oceans Ice Wave 2015 GEOS-5 Model. E CESM 2015 2015 2015 Spanning major climate, weather, and ocean codes, ESPS is the most direct response to calls for common modeling infrastructure yet assembled

Cupid Development Environment 3. There was a significant learning curve for implementing ESMF in Cupid Development Environment 3. There was a significant learning curve for implementing ESMF in a modeling code Cupid is a development tool to make adoption of ESMF/NUOPC infrastructure faster, easier, and more appealing. Goals: • help developers understand how the NUOPC API is used in a specific application • accelerate creation of new NUOPC components • simplify modification of existing NUOPC applications • provide an streamlined training environment by combining a diverse set of development tools into one application

Cupid is a Plugin for Eclipse Cupid adds ESMF/NUOPC-specific features to the Eclipse IDE Cupid is a Plugin for Eclipse Cupid adds ESMF/NUOPC-specific features to the Eclipse IDE / Fortran source code editor NUOPC view Project explorer Console for viewing output

Understand what’s there: Reverse Engineer an ESMF/NUOPC Application Understand what’s there: Reverse Engineer an ESMF/NUOPC Application

Check for issues: Static Compliance Checking NUOPC View • compact outline of NUOPC component Check for issues: Static Compliance Checking NUOPC View • compact outline of NUOPC component source code • linked with source code editor • contextual reference documentation • compliance issues shown in red

Write compliant code: In-place Code Generation Write compliant code: In-place Code Generation

Cupid Demo Cupid Demo

Wizard to set up Eclipse for Training Run locally or on a cloud Select Wizard to set up Eclipse for Training Run locally or on a cloud Select sample code or model • Pick a training problem (or coupled model) • Generate a framework-aware outline of the source code • Navigate around the source code using the outline • Use an editor to modify the source code • Automatically generate code needed for NUOPC compliance • Compile and run locally or on a cloud (currently Amazon Web Services)

Cupid Release 0. 1 beta Version 0. 1 beta, Jan. 9, 2015: • a Cupid Release 0. 1 beta Version 0. 1 beta, Jan. 9, 2015: • a reverse engineering feature for analyzing a model codebase that already has NUOPC conventions, • an in-place code generation feature that assists developers in working with the NUOPC API, and • a cloud computing interface capable of spinning up pre-configured virtual machine instances used for modeler training (currently available internally only to ESMF developers). Release page: https: //www. earthsystemcog. org/projects/cupid/releases Home page with installation instructions: https: //www. earthsystemcog. org/projects/cupid/ New users should view the: Feature overview and tutorial

Next Steps • support for specific models on specific platforms • support for full Next Steps • support for specific models on specific platforms • support for full NUOPC v 7 API • incorporate aspects of dynamic analysis, starting with simple ESMF log parsing • online training material

Cupid is funded by the NASA Computational Modeling Algorithms and Cyberinfrastructure (CMAC) program Collaborators: Cupid is funded by the NASA Computational Modeling Algorithms and Cyberinfrastructure (CMAC) program Collaborators: • NOAA/CIRES • Georgia Tech • NASA GISS/GSFC collaboration

Thanks! https: //earthsystemcog. org/projects/cupid/ Thanks! https: //earthsystemcog. org/projects/cupid/

Extra Slides Extra Slides

Model Codes in the ESPS Currently, components in the ESPS can be of the Model Codes in the ESPS Currently, components in the ESPS can be of the following types: coupled system, atmosphere, ocean, wave, sea ice Target codes include: • The Community Earth System Model (CESM) and its constituent components • The NOAA Environmental Modeling System (NEMS), including the new Climate Forecast System • The MOM 5 and HYCOM oceans • SWAN and Wave. Watch 3 wave models • The Navy Global Environmental Model (Nav. GEM)-HYCOM-CICE coupled system • The Navy Coupled Ocean Atmosphere Mesoscale Prediction System (COAMPS) and COAMPS Tropical Cyclone (COAMPS-TC) • NASA GEOS-5 • NASA Model. E

Automated Code Analyses to Reduce Code Complexity You Source code Query Response Automated Code Analyses to Reduce Code Complexity You Source code Query Response

Execution Platforms Options for compilation and execution: • Your local machine • Remote machine Execution Platforms Options for compilation and execution: • Your local machine • Remote machine or cluster • The cloud Cloud option: • Designed as an option for trainees • Reduces complexity of configuring computational environment (compilers, software dependencies, security, etc. ) • Reduces complexity of configuring the IDE itself • Keeps focus on training objectives

Selecting the Training Scenario or Model Four options are available, each with a different Selecting the Training Scenario or Model Four options are available, each with a different architecture and coupling behavior: • Single Model with Driver • Coupled Atmosphere-Ocean with Mediator and Driver • Model E EM 20 (atmosphere only) configuration (in progress)

Proposal to NASA ROSES/CMAC 2015 Program In collaboration with Georgia Tech Professional Education, design, Proposal to NASA ROSES/CMAC 2015 Program In collaboration with Georgia Tech Professional Education, design, produce, and publish a set of interactive, online training modules about ESMF modeling infrastructure and the Cupid IDE. Trainees will use Cupid as a companion training environment while working through course material. Proposed Topics: • Introduction to the Earth System Modeling Framework • Working with an Integrated Development Environment • Writing an ESMF Application • Adapting a Model Code to ESMF • Introduction to the National Unified Operational Prediction Capability (NUOPC) Layer

Working with the Eclipse Community • The Eclipse development community is very active with Working with the Eclipse Community • The Eclipse development community is very active with yearly major releases plus two additional service releases per year • Plug-in architecture: Ø Parallel Tools Platform (MPI, Open. MP, Open. ACC, batch queue submission, parallel debugger, remote tools) Ø Photran (Fortran language development) • Open to collaboration and responsive! Ø We submitted a patch that adds preprocessor support for Fixed Form Fortran files Ø Through support request, PTP developer added remote proxy capability for accessing machines through a secure gateway