Coupling Climate and Hydrological Models Interoperability Through Web Services.

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Welcome to Middleware Joseph Amrithraj
ICS 434 Advanced Database Systems
University of Southampton Electronics and Computer Science M-grid: Using Ubiquitous Web Technologies to create a Computational Grid Robert John Walters.
Operating System.
Executional Architecture
Standa Vaněček The potential of Integrated Modelling and the OpenMI Standa Vaněček DHI, Chairman of the OATC.
Venkatesh Merwade, Purdue University
1 Software & Grid Middleware for Tier 2 Centers Rob Gardner Indiana University DOE/NSF Review of U.S. ATLAS and CMS Computing Projects Brookhaven National.
Cactus in GrADS (HFA) Ian Foster Dave Angulo, Matei Ripeanu, Michael Russell.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Chapter 1 and 2 Computer System and Operating System Overview
1 NGGPS Dynamic Core Requirements Workshop NCEP Future Global Model Requirements and Discussion Mark Iredell, Global Modeling and EMC August 4, 2014.
Soil Water Assessment Tool (SWAT) Model Input
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
The SAM-Grid Fabric Services Gabriele Garzoglio (for the SAM-Grid team) Computing Division Fermilab.
Web-based design Flávio Rech Wagner UFRGS, Porto Alegre, Brazil SBCCI, Manaus, 24/09/00 Informática UFRGS.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
WRF-VIC: The Flux Coupling Approach L. Ruby Leung Pacific Northwest National Laboratory BioEarth Project Kickoff Meeting April 11-12, 2011 Pullman, WA.
The Design Discipline.
Coupling Climate and Hydrological Models Interoperability Through Web Services Kathy Saint/SGI – NESII Jon Goodall/University of South Carolina Richard.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
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.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
Project Overview GMAO Seasonal Forecast NCAR/LANL CCSM NCEP Forecast GFDL FMS Suite MITgcm NASA GMAO Analysis Climate Data Assimilation.
Metadata for the Coupled Ocean/Atmosphere Mesoscale Prediction System (COAMPS) using the Earth System Modeling Framework (ESMF) Peter Bosler University.
NE II NOAA Environmental Software Infrastructure and Interoperability Program Cecelia DeLuca Sylvia Murphy V. Balaji GO-ESSP August 13, 2009 Germany NE.
DISTRIBUTED COMPUTING
UNIT - 1Topic - 2 C OMPUTING E NVIRONMENTS. What is Computing Environment? Computing Environment explains how a collection of computers will process and.
Cluster Reliability Project ISIS Vanderbilt University.
Instant Messaging for the Workplace A pure collaborative communication tool that does not distract users from their normal activities.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
Coupling Climate and Hydrological Models Interoperability Through Web Services.
The use of modeling frameworks to facilitate interoperability Cecelia DeLuca/NCAR (ESMF) Bill Putman/NASA GSFC (MAPL) David Neckels/NCAR.
The Limitation of MapReduce: A Probing Case and a Lightweight Solution Zhiqiang Ma Lin Gu Department of Computer Science and Engineering The Hong Kong.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
End-to-End Workflows for Coupled Climate and Hydrological Modeling Edwin Sumargo (University of Illinois at Urbana-Champaign) Sylvia Murphy (NOAA/CIRES)
Workflow Project Status Update Luciano Piccoli - Fermilab, IIT Nov
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
ARGONNE NATIONAL LABORATORY Climate Modeling on the Jazz Linux Cluster at ANL John Taylor Mathematics and Computer Science & Environmental Research Divisions.
Earth System Modeling Framework Status Cecelia DeLuca NOAA Cooperative Institute for Research in Environmental Sciences University of Colorado, Boulder.
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Processes Introduction to Operating Systems: Module 3.
A Portable Regional Weather and Climate Downscaling System Using GEOS-5, LIS-6, WRF, and the NASA Workflow Tool Eric M. Kemp 1,2 and W. M. Putman 1, J.
ATmospheric, Meteorological, and Environmental Technologies RAMS Parallel Processing Techniques.
MODPI: A parallel MOdel Data Passing Interface for integrating legacy environmental system models A. Dozier, O. David, Y. Zhang, and M. Arabi.
NCEP ESMF GFS Global Spectral Forecast Model Weiyu Yang, Mike Young and Joe Sela ESMF Community Meeting MIT, Cambridge, MA July 21, 2005.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Dispatching Java agents to user for data extraction from third party web sites Alex Roque F.I.U. HPDRC.
Earth System Curator and Model Metadata Discovery and Display for CMIP5 Sylvia Murphy and Cecelia Deluca (NOAA/CIRES) Hannah Wilcox (NCAR/CISL) Metafor.
CUAHSI HIS: Science Challenges Linking small integrated research sites (
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Building Community and Capability through Common Infrastructure: ESMF and the Earth System Curator Cecelia DeLuca MAP Meeting College.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
ESMF and the future of end-to-end modeling Sylvia Murphy National Center for Atmospheric Research
A TIME-GCM CAM Multi-executable Coupled Model Using ESMF and InterComm Robert Oehmke, Michael Wiltberger, Alan Sussman, Wenbin Wang, and Norman Lo.
STAR Scheduler Gabriele Carcassi STAR Collaboration.
VIEWS b.ppt-1 Managing Intelligent Decision Support Networks in Biosurveillance PHIN 2008, Session G1, August 27, 2008 Mohammad Hashemian, MS, Zaruhi.
A Quick Tour of the NOAA Environmental Software Infrastructure and Interoperability Group Cecelia DeLuca Dr. Robert Detrick visit March 28, 2012
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Introduction to Distributed Platforms
Service-centric Software Engineering
Chapter 4: Threads.
Chapter 2: The Linux System Part 1
Chapter 6 – Architectural Design
Module 01 ETICS Overview ETICS Online Tutorials
Software models - Software Architecture Design Patterns
Presentation transcript:

Coupling Climate and Hydrological Models Interoperability Through Web Services

Outline Project Objective Motivation System Description – Components – Frameworks – System Driver Logical Workflow Data Flow Architecture Future Directions

Project Objective The development of an end-to-end workflow that executes, in a loosely coupled mode, a distributed modeling system comprised of an atmospheric climate model using ESMF and a hydrological model using OpenMI

Motivation Hydrological impact studies can be improved when forced with data from climate models [Zeng et al., 2003; Yong et al., 2009] A technology gap exists: – Many hydrological models run on personal computers – Most climate models run on high performance supercomputers The leveraging of ESMF and OpenMI can mitigate the communication difficulties between these modeling types – ESMF contains web services interfaces that can be used to communicate across a distributed network – Both ESMF and OpenMI are widely used within their respective communities

System Description High Performance Computer ESMF Web Services ESMF CAM Component ESMF CAM Component SWAT OpenMI CAM OpenMI Wrapper Driver Personal Computer SWAT (hydrology model) runs on PC CAM (climate model) runs on HPC Wrappers for both SWAT and CAM provide OpenMI interface to each model Driver (OpenMI Configuration Editor) uses OpenMI interface to timestep through models via wrappers Access to CAM across the network provided by ESMF Web Services CAM output data streamed to CAM wrapper via ESMF Web Services

Components: SWAT The hydrological model chosen for this project is the Soil Water Assessment Tool (SWAT) It is a river basin scale model developed to quantify the impact of land management practices in large, complex watersheds It was chosen for this project because it is widely used, is open source, and runs on a Windows platform

Components: CAM The atmospheric model chosen for this system is the Community Atmospheric Model (CAM5), part of the Community Climate System Model (CESM1.0.3) It was chosen because: Has ESMF Component Interfaces Our group has an ongoing collaboration with CESM It is Open Source

Frameworks: Earth System Modeling Framework Is a high-performance, flexible software infrastructure that increases the ease of use, performance portability, interoperability, and reuse of Earth science applications Provides an architecture for composing complex, coupled modeling systems and includes array-based, multi- dimensional data structures Has utilities for developing individual models including utilities to make models self-describing Web services included in the ESMF distribution allow any networked ESMF component to be available as a web service.

Frameworks: OpenMI The OpenMI Software Development Kit (SDK) is a software library that provides a standardized interface that focuses on time dependent data transfer Primarily designed to work with systems that run simultaneously, but in a single-threaded environment [Gregerson et al., 2007] The primary data structure in OpenMI is the ExchangeItem, which comes in the form of an InputExchangeItem and an OutputExchangeItem (single point, single timestep)

The system driver Controls the application flow Implemented using OpenMI’s Configuration Editor Convenient tool for the testing of the OpenMI implementations and model interactions

Hardware Architecture Personal Computer (Windows) High Performance Computer Virtual Linux Server Login Nodes (kraken) Compute Nodes (kraken) The Client contains the OpenMI and SWAT software, which run on a Windows platform. The Atmospheric Model runs on a HPC platform Access to the HPC Compute Nodes must be through the Login Nodes Access to the Login Nodes is through the Virtual Server (Web Svcs)

Software Achitecture Client Personal Computer (Windows) OpenMI Configuration Editor CAM OpenMI Wrapper SWAT 2005 OpenMI … to Web Services Configuration Editor is the driver… it is used to link the models and trigger the start of the run. Hydrological model (SWAT 2005) is a modified version to work with OpenMI Access to Atmospheric model (CAM) is done through “wrapper” code that accesses ESMF Web Services via an OpenMI interface

Software Architecture Server Linux Server (Web Svr) Tomcat/Axis2 SOAP Svcs HPC Login Nodes HPC Compute Nodes Job Scheduler Comp Svc Comp Svc Comp Svc CAM Process Controller Registrar In some HPC systems, access to nodes can be restrictive. In XSEDE, only the Login Nodes can communicate with the Compute Nodes. Access to/from external systems can be controlled via “gateway” systems using Web Services. Running applications (such as CAM Component Svc) on Compute Nodes must be handled by a Job Scheduler.

Logical Workflow One-Way Coupling DriverSWAT/OpenMIATM/OpenMI WrapperESMF Web ServicesESMF Component Initialize Prepare GetValues Finish Dispose NewClient Initialize RunTimestep Finalize GetData EndClient GetValues ESMF_GridCompInitialize ESMF_GridCompRun ESMF_GridCompFinalize ValueSet

Logical Workflow Two-Way Coupling DriverSWAT/OpenMIATM/OpenMI WrapperESMF Web ServicesESMF Component Initialize Prepare GetValues Finish Dispose NewClient Initialize RunTimestep Finalize GetData EndClient GetValues ESMF_GridCompInitialize ESMF_GridCompRun ESMF_GridCompFinalize GetValues Extrapolate ValueSet

Data Flow One-Way Coupling ESMF Component/CAM ESMF State CAM/OpenMI Wrapper Output Exchange Item Output Exchange Item SWAT/OpenMI Input Exchange Item Input Exchange Item GetValues Personal ComputerHigh Performance Computer GetDataValues The data is pulled from the CAM Component to SWAT via the wrapper, initiated by the OpenMI GetValues call; this call is made once per timestep. Data is exchanged between CAM and SWAT using the OpenMI Exchange Item structures that handle the translation from grid to point values

Data Flow Two-Way Coupling ESMF Component/CAM ESMF Export State CAM/OpenMI Wrapper Output Exchange Item Output Exchange Item Import SWAT/OpenMI Input Exchange Item Input Exchange Item GetValues Personal ComputerHigh Performance Computer GetDataValues Output Exchange Item Output Exchange Item Input Exchange Item Input Exchange Item GetValues SetInputData ESMF Import State In two-way coupling, each model pulls the data from the other model using the OpenMI GetValues method. Extrapolation is used on the first timestep to break the deadlock between the two model requests. OpenMI Input and Output Exchanges items are again used to exchange and translate the data.

Model Configurations SWAT – Hydrology science information provided by Jon Goodall of University of S. Carolina – Lake Fork Watershed (TX) – Watershed Area: km2 – Model run: 2 years, 1977 – 1978 – Timestep = 1 day – Weather Stations: wea62 (33.03 N, W) wea43 (33.25 N, W) CAM – Global Atmospheric Model – Model run: 1 day – Timestep: 1800 sec – Dynamical Core: finite volume – Horizontal Grid: 10x15 – Export data variables: surface air temperature precipitation wind speed relative humidity solar radiation

Scaling Analysis 4 areas of increasing size 3 variations of CAM resolution (.25,.5, and 1 degree) CAM almost always gating factor in run times Data transfer rates minimal – 5 data values CAM to SWAT – 1 data value SWAT to CAM

Future Tasks Additional SWAT configurations for larger scales Possible integration with other models – Currently working on replacement of CAM with WRF Abstraction of data exchange within the ESMF wrapper code to accommodate configuration of different variables for different model implementations

Logical Flow - Startup Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM Initialize 2.New Client 3.New Client 4.Submit Job 5.Status = SUBMITTED 6.Instantiate Job (Comp Svc) 7.Status = READY When loading models into the Configuration Editor, each model is initialized. For CAM, this involves starting a “New Client” in the Process Controller, which submits a new CAM Component Service using the Job Scheduler.

Logical Flow - Status Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM Get Status 2.Get Status 3.Get State The status of the CAM Component Service is checked often throughout the workflow. The status is stored in the Registrar, so it can be retrieved via the Process Controller.

Logical Flow - Initialize Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM Prepare 2.Initialize 3.Initialize 4.Initialize 5.Status = INITIALIZING 6.Status = INIT_DONE Before the models can be run, they need to be initialized. For CAM, the Initialize call is sent to the CAM Component Service via Web Services and the Process Controller. The CAM Component Svc updates it’s status in the Registrar prior to and after Initialization.

Logical Flow – Timestep (Run) Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM Get Values 2.Get Values 3.Run Timestep 4.Run Timestep 5.Run Timestep 6.Status = RUNNING 7.Set Output Data 8.Status = TIMESTEP_DONE For each Timestep in SWAT, the trigger to run a timestep in CAM is a Get Values request in the OpenMI Interface. The Run Timestep request is passed to the CAM Component Service and the Component Service sets the output data making it available for later retrieval (see Get Data).

Logical Flow – Timestep (Get Data) Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM Get Data Desc* 2.Get Data Desc* 3.Get Data Desc* 4.Get Data 5.Get Data 6.Get Data * one time only After each Timestep Run, the output data is then fetched from the CAM Component Service via the Web Services and Process Controller. The first time fetching data, a description of the data structure is requested. This description is then used for the remaining Timesteps.

Logical Flow - Finalize Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM Finish 2.Finalize 3.Finalize 4.Finalize 5.Status = FINALIZING 6.Status = FINAL_DONE End Client (Next Slide) After all timesteps have completed, the models need to be finalized. For CAM, the Finalize call is sent to the CAM Component Service via Web Services and the Process Controller. The CAM Component Svc updates it’s status in the Registrar prior to and after finalization.

Logical Flow – End Client Personal Computer (Windows) Config Editor CAM Wrapper SWAT 2005 OpenMI Linux Server Web Svcs HPC Login Nodes Job Scheduler Process Controller Registrar HPC Compute Nodes HPC Compute Nodes Comp Svc CAM End Client 2.End Client 3.Kill Server 4.Exit Service Loop After the Finalize call, the CAM Component Service is done, so the CAM Wrapper closes it out by calling End Client. This call results in the CAM Component Service completing it’s loop and exiting as well as the Process Controller removing all references to the client. 5.Status = COMPLETED 5 5