NEMS-OCEAN coupling using the NUOPC Layer. Gerhard Theurich, NESII



Similar documents
Metastorm BPM Interwoven Integration. Process Mapping solutions. Metastorm BPM Interwoven Integration. Introduction. The solution

NetCDF and HDF Data in ArcGIS

Real-time Ocean Forecasting Needs at NCEP National Weather Service

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

Structural Health Monitoring Tools (SHMTools)

Introduction to Automated Testing

Mariana Vertenstein. NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science Foundation

SOA-14: Continuous Integration in SOA Projects Andreas Gies

IT Service Management with System Center Service Manager

Software design (Cont.)

The Arctic Observing Network and its Data Management Challenges Florence Fetterer (NSIDC/CIRES/CU), James A. Moore (NCAR/EOL), and the CADIS team

isolar Integrated Solution for AUTOSAR

Case Study: Semantic Integration as the Key Enabler of Interoperability and Modular Architecture for Smart Grid at Long Island Power Authority (LIPA)

JOURNAL OF OBJECT TECHNOLOGY

Full and Para Virtualization

Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords

Implementing Project Server 2010

Network Configuration Management

OpenMI 'in a nutshell'

ESB Features Comparison

Using BitLocker As Part Of A Customer Data Protection Program: Part 1

Enterprise Voice and Online Services with Microsoft Lync Server 2013

Integration of DB oriented CAD systems with Product Lifecycle Management

Introduction. Connection security

Electronic Ticket and Check-in System for Indico Conferences

What is An Introduction

Use Cases. Massimo Felici. Massimo Felici Use Cases c

irods and Metadata survey Version 0.1 Date March Abhijeet Kodgire 25th

FreeForm Designer. Phone: Fax: POB 8792, Natanya, Israel Document2

Upgrading to webmethods 8.2. Jason Simpson Director, Product Management/Software AG

Microsoft Project Server 2010 Technical Boot Camp

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g

MatchPoint Technical Features Tutorial Colygon AG Version 1.0

25.1 Translational Frameworks (MDA with transformations)

Component Based Software Engineering: A Broad Based Model is Needed

NetBeans IDE Field Guide

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Achieving business benefits through automated software testing. By Dr. Mike Bartley, Founder and CEO, TVS

Leveraging the Eclipse TPTP* Agent Infrastructure

SOSFTP Managed File Transfer

StreamServe Persuasion SP5 Upgrading instructions

Siebel Business Process Framework: Workflow Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Version Control Your Jenkins Jobs with Jenkins Job Builder

MDM as Service Component

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

How to use PDFlib products with PHP

What s new in TIBCO Spotfire 6.5

Enhanced Project Management for Embedded C/C++ Programming using Software Components

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Improved Credential and SSL Configuration for EE 7

Policy Driven Practices for SOA

Back Office Recorder Dig04 Installation Guide

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

MS 10751A - Configuring and Deploying a Private Cloud with System Center 2012

SharePoint Integration Framework Developers Cookbook

Qlik Sense Enabling the New Enterprise

The Deployment Production Line

INSTALL NOTES Elements Environments Windows 95 Users

Archiving Troubleshooting Guide

ETL as a Necessity for Business Architectures


CA Process Automation

Application Note: AN00141 xcore-xa - Application Development

Treating Interfaces as Components

Configuring and Deploying a Private Cloud

StreamServe Persuasion SP5 Document Broker Plus

Ikasan ESB Reference Architecture Review

PART 1. Representations of atmospheric phenomena

Upgrade and Migration Strategy

Building Your EDI Modernization Roadmap

Outside In Image Export Technology SDK Quick Start Guide

Impact Analysis for Software changes in OpenLAB CDS A.01.04

Report of the LHC Computing Grid Project. Software Management Process RTAG CERN

General Introduction to IBM (R) Rational (R) Asset Manager

Oracle SQL Developer for Database Developers. An Oracle White Paper September 2008

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

Technology Note. PCI Express

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

TDWI strives to provide course books that are content-rich and that serve as useful reference documents after a class has ended.

Software Architecture

Management and Web service Management

User's Guide. OpenCATS 0.9.1

IT Service Management with System Center Service Manager

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

Transcription:

NEMS-OCEAN coupling using the NUOPC Layer Gerhard Theurich, NESII

NEMS code with the NUOPC Layer NUOPC Layer infrastructure is in the NEMS trunk version. https://svnemc.ncep.noaa.gov/projects/nems/trunk/ More recent work (and this week's work) is under the NUOPC branch: https://svnemc.ncep.noaa.gov/projects/nems/branches/nuopc Compiling and running NEMS with enabled NUOPC Layer: Currently the NEMS/NUOPC configuration is targeted toward Zeus. Need a recent ESMF version, ESMF v6.3.0r; available as a module via: module use /home/gerhard.theurich/modulefiles Configure the NEMS source directory to use the NUOPC Layer:./esmf_version nuopc_zeus Build NEMS with ATM and OCN options: gmake nmm_gsm OCN=mom5,dummy,hycom Run regression test using: (can also handle all of the build details automatically)./rt.sh nuopc test

Details: NEMS code with active NUOPC Layer External OCN component build dependencies: src/conf/configure.nems.zeus.intel ################################################################################ ## OCN settings ## NUOPC compliant OCN models supply a standard makefile fragment ocndummy_mk = /home/gerhard.theurich/ocn INSTALLS/DummyOCN version 03/ocn.mk hycom_mk = /home/gerhard.theurich/ocn INSTALLS/HYCOMrtofs0.25cfsr branches NUOPC.rev32555 ESMF630r/hycom_nuopc.mk mom5_mk = /home/fei.liu/ocn INSTALLS/20131211/mom5.mk Regression testing:./rt.sh nuopc test NUOPC: NMM-B pure binary input NUOPC: GSM with stepable Run() driven in 12h intervals NUOPC: GSM <-2h-> Mediator <-6h-> DummyOCN NUOPC: GSM + HYCOM side-by-side from data with 6h intervals NUOPC: GSM + MOM5 side-by-side from data with 2h intervals

#################################### #### NEMS Configuration File ##### #################################### # ATM # atm_model: gsm atm_petlist_bounds: 0 31 GSM <-2h-> Mediator <-6h-> DummyOCN # OCN # ocn_model: dummy ocn_petlist_bounds: 32 49 # MED # med_petlist_bounds: 50 63 med_atm_coupling_interval_sec: 7200.0 med_ocn_coupling_interval_sec: 21600.0

NEMS Architecture based on NUOPC ATM OCN MED ATM OCN MED

NEMS Run Sequence with NUOPC 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 9 18 0h 2h 4h 6h 8h 10h 12h 14h

RunSequence in NEMS EARTH! Implement the NEMS Earth Driver run sequence, replacing the default. call NUOPC_RunSequenceDeallocate(superIS%wrap%runSeq, rc=rc)! add two run sequence slots: runseq(1) and runseq(2) call NUOPC_RunSequenceAdd(superIS%wrap%runSeq, 2, rc=rc)! ocn2med into slot runseq(1) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(1), i=ocn, j=med, rc=rc)! med (phase=2) into slot runseq(1) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(1), i=med, phase=2, rc=rc)! med2ocn into slot runseq(1) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(1), i=med, j=ocn, rc=rc)! ocn into slot runseq(1) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(1), i=ocn, rc=rc)! LINK slot runseq(2) into slot runseq(1) call NUOPC_RunElementAddLink(superIS%wrap%runSeq(1), slot=2, rc=rc)! med2atm into slot runseq(2) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(2), i=med, j=atm, rc=rc)! atm into slot runseq(2) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(2), i=atm, rc=rc)! atm2med into slot runseq(2) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(2), i=atm, j=med, rc=rc)! med (phase=1) into slot runseq(2) call NUOPC_RunElementAddComp(superIS%wrap%runSeq(2), i=med, phase=1, rc=rc)

GSM Export Fields! exportable fields: call NUOPC_StateAdvertiseFields(exportState, StandardNames=(/ & "mean_zonal_compt_moment_flx", & "mean_merid_compt_moment_flx", & "mean_sensi_heat_flx", & "mean_laten_heat_flx", & "mean_down_lw_rad_flx", & "mean_down_sol_rad_flx", & "mean_prec_rate", & "inst_zonal_compt_moment_flx", & "inst_merid_compt_moment_flx", & "inst_sensi_heat_flx", & "inst_laten_heat_flx", & "inst_down_lw_rad_flx", & "inst_down_sol_rad_flx", & "inst_temp_height2m", & "inst_spec_humid_height2m", & "inst_u_wind_height10m", & "inst_v_wind_height10m", & "inst_temp_height_surface", & "inst_pres_height_surface", & "inst_surface_height" & /), rc=rc)

NUOPC Background National Unified Operational Prediction Capability Consortium of U.S. operational weather and water prediction centers. Participants: NOAA, Navy, Air Force, NASA, and other associated modeling groups. Develop a Common Model Architecture (CMA) to: Improve collaboration among agencies. Accelerate the transition of new technology into the operational centers. NUOPC websites: http://www.weather.gov/nuopc/ http://earthsystemcog.org/projects/nuopc/ NUOPC Layer Reference Manual + NEMS Plan Roadmap

NUOPC Layer The NUOPC Layer adds to ESMF: A formalism that describes and splits the phases of initialization. This enables the initializations of different components to interact properly when they are combined in an application. Automatic connections based on field matching. Data-dependent initialization between components. Grid and Mesh transfer between components. Field matching based on an extension of the Climate and Forecast (CF) conventions. A formalism for checking and reporting whether component input requirements are satisfied during a run sequence. Code reuse through generic library code for models, drivers, mediators, and simple connects. Templates for fundamental architectural cases. Compliance checking.

NUOPC Layer for Developers Writing a NUOPC compliant ESMF component the easy way by using the NUOPC Layer: Software layer implemented on top of ESMF. Generic components (Model, Mediator, Connector, and Driver) to derive from; Specialize by attachable methods. Utility methods for common tasks. Field dictionary (standard names and units) for matching. Compliance checker option, as a development & debugging tool. Part of ESMF; NUOPC Layer reference release is now in public release ESMF v6.3.0r.

Basic Building Blocks Model: Typically implements a specific physical domain, e.g. atmosphere, ocean, ice. Connector: Mediator: Connects pairs of components in one direction, e.g. Model to/from Model, or Model to/from Mediator. Executes simple transforms (Regrid or Redist). Used for custom coupling code (flux calculations, averaging, etc.) between Models. Driver: Provides a harness for Models, Mediators, and Connectors. Coordinates initialize and run sequences.

Architectural Options ATM ATM OCN ATM OCN WAV ATM OCN WAV ICE MED ICE OCN LND MED ICE OCN LND MED MED ATM 1 ATM 2 ATM 3 OCN ICE MED MED ATM1 ATM2

CODE Look at module_earth_grid_comp.f90 Set petlists for ATM, OCN, MED according to run-time configuration (nems.configure). Select specific ATM and OCN models according to build- (configure.nems) and run-time (nems.configure) configuration. Plug a specific Mediator into the EARTH Driver. Define the connection matrix.

Specialization of Generic Components Going beyond Initialize/Run/Finalize Balance the need for additional complexity (for negotiation, compatibility checking, selfdescription) with the resulting burden on the developer. Generic components with clearly defined specialization points: a well established OOP pattern: inheritance and abstract classes Developer is guided to specific aspects that need to be implemented. Concept of application code called by the library is the basis of ESMF components; NUOPC Layer goes one step further.

ESMF Components Application call CompInit() end subroutine app_special() end subroutine ESMF subroutine CompInit() call app_special() end subroutine

NUOPC Generic Components Application call CompInit() end NUOPC Layer subroutine app_compinit_point1()! special code that goes! beyond generic NUOPC code end subroutine subroutine generic_compinit()! generic code, e.g. checking call app_compinit_point1()! more generic code call app_compinit_point2()! generic code, e.g. time stamp end subroutine ESMF subroutine CompInit() call generic_compinit() end subroutine

NUOPC Layer Features Architectural choices Parametrized in a Driver component. Field brokering Field dictionary based on CF "standard name" metadata. Initialize sequence Different levels are implemented. Field brokering between producer and consumer components. Resolving data dependencies between components during initialize. Run sequence Parametrized run sequence. Fully customizable (explicit, semi-implicit, implicit schemes). Component based (run components, not code directly) Support for multiple time scales.