00/XXXX 1 Data Processing in PRISM Introduction. COCO (CDMS Overloaded for CF Objects) What is it. Why is COCO written in Python. Implementation Data Operations.

Slides:



Advertisements
Similar presentations
DataTools Models Data, models and tools: Dealing with any complex hydraulic engineering problem invariable use is made of: data, models and tools.
Advertisements

1 ESMF. May 2003 PRISM Data and Visualisation Data formats and Processing Toolkit Low End Visualisation High End Visualisation Prepared by: Ros Hatcher.
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VI December 5, 2002 John Readey
Preparing CMOR for CMIP6 and other WCRP Projects
Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
1 A Balanced Introduction to Computer Science, 2/E David Reed, Creighton University ©2008 Pearson Prentice Hall ISBN Chapter 17 JavaScript.
The MEMOPS Programming Framework Wayne Boucher, Cambridge
Software Lifecycle A series of steps through which a software product progresses Lifetimes vary from days to months to years Consists of –people –overall.
Guide To UNIX Using Linux Third Edition
Russell Taylor Lecturer in Computing & Business Studies.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
GLAST LAT ProjectOnline Peer Review – July 21, Integration and Test L. Miller 1 GLAST Large Area Telescope: I&T Integration Readiness Review.
Version 4 for Windows NEX T. Welcome to SphinxSurvey Version 4,4, the integrated solution for all your survey needs... Question list Questionnaire Design.
Lesson15. JavaScript Objects Objects encapsulate data (properties) and behavior(methods); the properties and the methods of an object are tied together.
 2004 Prentice Hall, Inc. All rights reserved. Chapter 25 – Perl and CGI (Common Gateway Interface) Outline 25.1 Introduction 25.2 Perl 25.3 String Processing.
Hadoop: The Definitive Guide Chap. 8 MapReduce Features
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Chapter 10 Architectural Design
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey
CompuCell Software Current capabilities and Research Plan Rajiv Chaturvedi Jesús A. Izaguirre With Patrick M. Virtue.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
1 N Degrees of Separation: Multi-Dimensional Separation of Concern (MDSOC) HyperJ: language and concepts of general concern combination.
History Server & API Christopher Larrieu Jefferson Laboratory.
Chapter Four UNIX File Processing. 2 Lesson A Extracting Information from Files.
Unidata’s TDS Workshop TDS Overview – Part II October 2012.
The Program Development Cycle
Database structure for the European Integrated Tokamak Modelling Task Force F. Imbeaux On behalf of the Data Coordination Project.
F. Toussaint (WDCC, Hamburg) / / 1 CERA : Data Structure and User Interface Frank Toussaint Michael Lautenschlager World Data Center for Climate.
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
Accomplishments and Remaining Challenges: THREDDS Data Server and Common Data Model Ethan Davis Unidata Policy Committee Meeting May 2011.
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
The european ITM Task Force data structure F. Imbeaux.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
May 2003National Coastal Data Development Center Brief Introduction Two components Data Exchange Infrastructure (DEI) Spatial Data Model (SDM) Together,
CIS/SUSL1 Fundamentals of DBMS S.V. Priyan Head/Department of Computing & Information Systems.
C OMPUTING E SSENTIALS Timothy J. O’Leary Linda I. O’Leary Presentations by: Fred Bounds.
STAR Event data storage and management in STAR V. Perevoztchikov Brookhaven National Laboratory,USA.
Data formats and requirements in CMIP6: the climate-prediction case Pierre-Antoine Bretonnière EC-Earth meeting, Reading, May 2015.
The HDF Group Data Interoperability The HDF Group Staff Sep , 2010HDF/HDF-EOS Workshop XIV1.
Benjamin Post Cole Kelleher.  Availability  Data must maintain a specified level of availability to the users  Performance  Database requests must.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
INFSO-RI Enabling Grids for E-sciencE Ganga 4 – The Ganga Evolution Andrew Maier.
Distributed Data Analysis & Dissemination System (D-DADS ) Special Interest Group on Data Integration June 2000.
John Porter Sheng Shan Lu M. Gastil Gastil-Buhl With special thanks to Chau-Chin Lin and Chi-Wen Hsaio.
Chapter – 8 Software Tools.
1 09/2003 Processing Library Update CF Checker – Script made available as a web based form on the BADC site -
CF 2.0 Coming Soon? (Climate and Forecast Conventions for netCDF) Ethan Davis ESO Developing Standards - ESIP Summer Mtg 14 July 2015.
Climate-SDM (1) Climate analysis use case –Described by: Marcia Branstetter Use case description –Data obtained from ESG –Using a sequence steps in analysis,
A Collaboration Tool to Support Modeling Groups Donald W. Denbo JISAO/UW-NOAA/PMEL 20 th IIPS/AMS, 12 – 15 January, 2004,
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
SmartMet Lea Saukkonen FMI What is SmartMet? A software tool for visualizing and editing meteorological data.
Introduction to DBMS Purpose of Database Systems View of Data
CF Conventions Support
Python data visualization
Java FX: Scene Builder.
MS Access Forms, Queries, Reports Matt Martin
Module 11: File Structure
SRNWP Interoperability Workshop
IRI Data Library Overview
Object-Orientated Programming
JavaScript: Functions.
The cf-python software library
Tom Rink Tom Whittaker Paolo Antonelli Kevin Baggett.
Julia Powell Coast Survey Development Laboratory
Databases and Information Management
Chapter Four UNIX File Processing.
Databases and Information Management
Introduction to DBMS Purpose of Database Systems View of Data
Presentation transcript:

00/XXXX 1 Data Processing in PRISM Introduction. COCO (CDMS Overloaded for CF Objects) What is it. Why is COCO written in Python. Implementation Data Operations. CDAT (Climate Data Analysis Tools) What is it. Implementation Data Operations Examples COCO vs CDMS (Climate Data Management System)

00/XXXX 2 What is COCO? Processing library written in Python which reads and manipulates netCDF data conforming to the Climate and Forecast (CF) metadata conventions. Provides an implementation for the ADT specification describing the encapsulated CF metadata read in from disk. Defines the properties and set of operations for manipulating encapsulated CF metadata objects in memory. Conversion of the CF metadata objects between files of different formats possible.

00/XXXX 3 Why Python? Influence of CDAT/CDMS which is written in Python. Dynamically typed - ease of use for scientists. Enables you to base structure of code on object type rather than on actions - convenient way to store CF metadata with data. Compatability with other languages - easy to combine with other software libraries using tools to automate the task e.g SWIG. Efficiency and high performance may be achieved via C code - Python’s Numeric library is such an example.

00/XXXX 4 COCO Implementation A space construct defines a grid of zero or more dimensions. The dimensions are the only information which is always present in the space construct >>> grid = SpaceConstruct((96,73)) Identification of variables using standard names. >>> grid.standard_name = ‘temperature_on_theta_levels’ Units attribute required for all variables that represent dimensional quantities. >>> grid.units = ‘K’ Space construct may also contain coordinate constructs, data and attributes A coordinate construct has a list of dimensions and axis names, coordinate data, bounds and properties.

00/XXXX 5 COCO Implementation (cont.) A coordinate construct has a name when in a space construct. The axis names are chosen when the space construct is created. >>> grid.getAxis() # [‘axis1’, ‘axis2’] >>> coord = grid.getCoord(‘axis2’) The axes X,Y,Z,T have special status in CF and are identified by units attribute of the coordinate construct. >>> coord.units = ‘degrees_east’ >>> grid.putCoord(coord) >>> grid.getCoord(‘X’) Description of intervals and cells done via the get/putBounds feature of the coordinate construct.

00/XXXX 6 COCO Implementation (cont.) Description of climatological statistics >>> grid.setCellMethod(‘X’, ‘mean’) Data in space constructs has dimensions corresponding to axes in the order specified, with each axis being arranged in the sense with increasing coordinate values. >>> grid.putValue(MaskedArray(zeros([96,73])), axis=‘yx’) Any construct which contains coordinate data but is not a coordinate variable is known as an auxiliary coordinate construct. Auxilliary coordinates can be multidimensional.

00/XXXX 7 COCO Data Operations There are the following major operations for producing new space constructs with modified attributes/coordinates. Subspace extraction -selects a portion of each axis. Collapse -mean, max, min along dimension etc.. Interpolation -changes gridpoint coordinates along axis. Lumping -changes gridcell boundaries along axis. Merging -e.g replace lat-lon-time field with a set of timeseries. Concatenation - combines common dimensions. Splitting - decomposes a space construct.

00/XXXX 8 What is CDAT/CDMS? PCMDI’s Climate Data Analysis Tools focus is to access and analyse multi-dimensional distributed climate datasets. Links together separate software subsystems and packages to form an integrated environment for solving model diagnosis problems. Comes with a variety of user applications including command-line interaction, stand-alone scripts (applications) and a GUI. The CDAT subsystems, implemented as modules, provide access to and management of gridded data (CDMS), array numerical operations (Numerical Python) and visualisation (VCS). PCMDI has integrated LAS (Live Access Server) and DODS (Distributed Oceanographic Data System).

00/XXXX 9 CDMS Data Operations When a function is performed on a variable that modifies its axes a transient variable is returned with new dimensions and axes. variable.subRegion -extract a hyperrectangle - specified by ranges of coordinate values. variable.subSlice -restrict variable to particular indices along one or more axes. Various operations exist for particular interpolation. variable.regrid for lat-lon grids. variable.crossSectionRegrid for lat-level grids variable.pressureRegrid for lat-pressure grids.

00/XXXX 10 COCO vs. CDMS The space construct in COCO currently uses the CDMS Variable for netCDF IO and the CDMS Axis to assist in the creation of bounds. It is not yet decided how the library is going to be written - may decide to implement the space construct as a descendant of the CDMS Variable. CDMS is currently being made CF compliant.

00/XXXX 11 COCO Example >>> file = File(‘model.nc’) >>> spaceConstructs = file.read() >>>for grid in spaceConstructs: >>> print grid.standard_name >>> x = grid.getCoord(‘longitude’) >>> y = grid.getCoord(‘Y’) >>> if grid.hasTAxis(): >>> print grid.getAlias(‘t’) >>> print grid.getAxis() >>> print grid.getCoord(‘z’).getValue() >>>simpleMeans = Collapse(spaceConstructs, method=‘mean’, axis=‘x’) >>> for grid in simpleMeans: >>> print grid.getValue().shape >>> print grid.getValue(t=‘0’,z=‘0:2’, y=‘0:2’) >>>output = File(‘model_zonal_means.nc’) >>>output.write(simpleMeans) tap time (‘time’, ‘level0’, ‘latitude’, longitude’) [30.,50.,100.,150.,200.,300.,500.,700.,850.] (22, 9, 73, 1) [[[ ,] [ ,]] [[ ,] [ , ]]]

00/XXXX 12 VCS Example >>>import cdms, vcs >>>f=cdms.open(‘file.nc’) >>>variable = f(‘tap’) >>>w = vcs.init() >>>w.plot(variable)