Using the LibCF/GRIDSPEC extensions to interpret data on mosaic grids with CDAT David Kindig 1, Alex Pletzer 1, V. Balaji 2, Steve C Hankin 3, Edward J.

Slides:



Advertisements
Similar presentations
1 DATA STRUCTURES USED IN SPATIAL DATA MINING. 2 What is Spatial data ? broadly be defined as data which covers multidimensional points, lines, rectangles,
Advertisements

1 WCS Encoding Format Profiles netCDF Example Stefano Nativi, Lorenzo Bigagli, Ben Domenico, John Caron March 2006 Draft based mainly on presentations.
EURO4M Project Kick-Off, April 2010 OGC Web Services Data visualization using OGC web services Maarten Plieger Wim Som de Cerff Royal Netherlands Meteorological.
The Live Access Server (Access to observational data) Jonathan Callahan (University of Washington) Steve Hankin (NOAA/PMEL – PI) Roland Schweitzer, Kevin.
Expanding Regridding Capabilities of the Earth System Modeling Framework Andrew Scholbrock University of Colorado – Boulder Robert Oehmke NOAA/CIRES 1.
10 th Argo data management 2009 Toulouse Argo format and CF compatibility OceanOBS09 Strengthen and enhance the international framework under GCOS, GOOS,
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.
Data Formats: Using self-describing data formats Curt Tilmes NASA Version 1.0 Review Date.
Slides Prepared from the CI-Tutor Courses at NCSA By S. Masoud Sadjadi School of Computing and Information Sciences Florida.
The Model Output Interoperability Experiment in the Gulf of Maine: A Success Story Made Possible By CF, NcML, NetCDF-Java and THREDDS Rich Signell (USGS,
Developing a Web Site: Links Using a link is a quicker way to access information at the bottom of a Web page than scrolling down A user can select a link.
Preparing CMOR for CMIP6 and other WCRP Projects
ESCI/CMIP5 Tools - Jeudi 2 octobre CMIP5 Tools Earth System Grid-NetCDF4- CMOR2.0-Gridspec-Hyrax …
Application Layer At long last we can ask the question - how does the user interface with the network?
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 13 Disk Storage, Basic File Structures, and Hashing.
NFS. The Sun Network File System (NFS) An implementation and a specification of a software system for accessing remote files across LANs. The implementation.
Marine GIS Applications using ArcGIS Global Classroom training course Marine GIS Applications using ArcGIS Global Classroom training course By T.Hemasundar.
Status of netCDF-3, netCDF-4, and CF Conventions Russ Rew Community Standards for Unstructured Grids Workshop, Boulder
Database Design - Lecture 1
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 17 Disk Storage, Basic File Structures, and Hashing.
NE II NOAA Environmental Software Infrastructure and Interoperability Program Cecelia DeLuca Sylvia Murphy V. Balaji GO-ESSP August 13, 2009 Germany NE.
PHP meets MySQL.
Mid-Course Review: NetCDF in the Current Proposal Period Russ Rew
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
EarthCube Building Block for Integrating Discrete and Continuous Data (DisConBB) David Maidment, University of Texas at Austin (Lead PI) Alva Couch, Tufts.
1 Kyung Hee University Chapter 18 Domain Name System.
Accessing Remote Datasets using the DAP protocol through the netCDF interface. Dr. Dennis Heimbigner Unidata netCDF Workshop August 3-4, 2009.
M.Benno Blumenthal and John del Corral International Research Institute for Climate and Society OpenDAP 2007
THREDDS Catalogs Ethan Davis UCAR/Unidata NASA ESDSWG Standards Process Group meeting, 17 July 2007.
File Structures. 2 Chapter - Objectives Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and.
Portable Infrastructure for the Metafor Metadata System Charlotte Pascoe 1, Gerry Devine 2 1 NCAS-BADC, 2 NCAS-CMS University of Reading PIMMS provides.
Earth System Modeling Framework Python Interface (ESMP) October 2011 Ryan O’Kuinghttons Robert Oehmke Cecelia DeLuca.
The CF Conventions: Options for Sustained Support Involving Unidata Russ Rew Unidata Policy Committee May 12, 2008.
CF Metadata Conventions: Governance, Support, and Future Karl E. Taylor Program for Climate Model Diagnosis and Intercomparison Lawrence Livermore National.
I/O for Structured-Grid AMR Phil Colella Lawrence Berkeley National Laboratory Coordinating PI, APDEC CET.
Data formats and requirements in CMIP6: the climate-prediction case Pierre-Antoine Bretonnière EC-Earth meeting, Reading, May 2015.
ESMF Regridding Update Robert Oehmke, Peggy Li, Ryan O’Kuinghttons, Mat Rothstein, Joseph Jacob NOAA Cooperative Institute for Research in Environmental.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
Information Technology: GrADS INTEGRATED USER INTERFACE Maps, Charts, Animations Expressions, Functions of Original Variables General slices of { 4D Grids.
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.
Earth System Curator and Model Metadata Discovery and Display for CMIP5 Sylvia Murphy and Cecelia Deluca (NOAA/CIRES) Hannah Wilcox (NCAR/CISL) Metafor.
GIS for Atmospheric Sciences and Hydrology By David R. Maidment University of Texas at Austin National Center for Atmospheric Research, 6 July 2005.
UC 2006 Tech Session 1 NetCDF in ArcGIS 9.2. UC 2006 Tech Session2 Overview Introduction to Multidimensional DataIntroduction to Multidimensional Data.
C OMPUTATIONAL R ESEARCH D IVISION 1 Defining Software Requirements for Scientific Computing Phillip Colella Applied Numerical Algorithms Group Lawrence.
Chapter 5 Record Storage and Primary File Organizations
CF 2.0 Coming Soon? (Climate and Forecast Conventions for netCDF) Ethan Davis ESO Developing Standards - ESIP Summer Mtg 14 July 2015.
1 Alison Pamment, 2 Calum Byrom, 1 Bryan Lawrence, 3 Roy Lowry 1 NCAS/BADC,Science and Technology Facilities Council, 2 Tessella plc, 3 British Oceanogrphic.
Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech 5 th GO-ESSP Community Meeting.
Update on Unidata Technologies for Data Access Russ Rew
NcBrowse: A Graphical netCDF File Browser Donald Denbo NOAA-PMEL/UW-JISAO
The CF Conventions: Governance and Community Issues in Establishing Standards for Representing Climate, Forecast, and Observational Data Russ Rew 1, Bob.
Libcf – A CF Convention Library for NetCDF Ed Hartnett Unidata Program Center Boulder Colorado June 11, 2007.
Memory management The main purpose of a computer system is to execute programs. These programs, together with the data they access, must be in main memory.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
A Quick Tour of the NOAA Environmental Software Infrastructure and Interoperability Group Cecelia DeLuca Dr. Robert Detrick visit March 28, 2012
Python data visualization
A User’s Perspective on Acquisition and Management of CMIP5 Data
File System Implementation
Intro to PHP & Variables
Julia Powell Coast Survey Development Laboratory
Multidimensional Data and GIS
GENERAL VIEW OF KRATOS MULTIPHYSICS
ESMF Regridding Update
National Center for Atmospheric Research
Chapter 15: File System Internals
NCL variable based on a netCDF variable model
Future Development Plans
eSeries Entities By Julie Ladner
ECMWF usage, governance and perspectives
Presentation transcript:

Using the LibCF/GRIDSPEC extensions to interpret data on mosaic grids with CDAT David Kindig 1, Alex Pletzer 1, V. Balaji 2, Steve C Hankin 3, Edward J Hartnett 4, Charles Doutriaux 5, Jeff Painter 5, Andrey Sobol 1, Matt Wrobel 1 1 – Tech-X Corporation, 2-Geophysical Fluid Dynamics Laboratory, 3-Pacific Marine Environmental Laboratory, 4-Unidata/UCAR, 5-Lawrence Livermore National Laboratory In models longitude-latitude grids create numerical stability issues related to singularities at the poles. Figure 1 shows examples of logically rectangular grids which avoid the polar singularity problem. Cubed-sphere (Atmosphere) (1b,c). Tri-polar (Ocean and Ice) (1d). Calhoun-Helzel-LeVeque (1e). These grids often involve a collection of structured grid tiles (e.g. 6 tiles for the cube sphere). We refer to these collections as mosaics for this poster (1a). Climate and Forecast Conventions 2 (CF) do not cover cases with data stored in separate files whether the files are time related or grid related. We do not address unstructured grids, which require new dynamics within the models. The Problem Linear interpolation using nearest neighbors only No over-shooting Straightforward to parallelize Pseudo-Newton search of position in index space Only one iteration required for uniform, rectilinear grids Line search to improve convergence Use previous index location as initial guess when regridding from structured to structured grid Snake iterator to navigate coordinate data, hopping to nearest from one vertex to neighbor vertex Below are two examples of interpolation using mock data. Plots obtained using matplotlib and CDAT. Interpolation Mosaics © 2009 Tech-X Corporation Work funded by MoDAVE: DOE/SBIR DE-FG02-08ER85153 AGU Fall Meeting 2010 Dec 13 – 17, 2010 Figure 4. Unsupported Contacts References: 1)Gridspec: A standard for the description of grids used in Earth System models, 2) NetCDF Climate and Forecast Metadata Convention, 3) Climate Data Analysis Tool 4) Climate Model Intercomparison Project-5 Figure 3. Supported time contacts. From right to left, top to bottom, the C contact_map for each contact is: 0:3,3:4::2:-1,2:3; 1:4,4:5::0:3,2:3; 1:4,4:5::0:6,5:6; 0:1,3:4::0:1,2:3; 0:3,2:4::2:-1,1:3; 1:4,1:4::0:3,2:-1;. CDAT GRIDSPEC GRIDSPEC 1 was developed originally at the Geophysical Fluid Dynamics Laboratory (GFDL) by Balaji et al ( ) Here we use the syntax to describe the connectivity between tiles from the original document. In order to accommodate CMIP5 requirements, time data aggregation was added. We are proposing to extend the CF conventions to allow users to: Handle the needs of mosaics. A given variable will typically exist on multiple structured grid tiles (patches). Distribute data among multiple files, allowing grid information, time independent data, and data time-slices to be stored in separate files. One file (the host file) will provide a single entry point for consumers to access data scattered among multiple files. The proposed additions to CF: Global attributes (Table 1) To uniquely identify a data collection. To further identify a data collection we recommend the use of the CF global attributes institution and source. standard_name for variables Add gs_ to standard_name s to allow GRIDSPEC to determine the type of file as seen in Table 2. This allows variables to be identified as GRIDSPEC variables without reserving variable names. Figure 2. File hierarchy for GRIDSPEC. The Host File contains the path to all Grid and Data Files as well as the Mosaic File. The Data and Grid Files may be the same file. Figure 1. a) A three tiled mosaic with the tile indexes rotated relative to each other, b) a cubed- sphere grid, c) the unfolded cubed-sphere with connectivity between tiles, d) the tri-polar grid and e) the Calhoun-Helzel- LeVeque logically rectangular grid with the cut exaggerated. a)b)c) e) c) d) A mosaic hierarchy will consist of (Figure 2): Grid files – block structured coordinate system for each tile. Data files – time dependent and time independent data for each tile. Mosaic file – connectivity information for the assembly of the grids. Host file – collection of file names making up the grid files, the data files and the mosaic file. LibCF/GRIDSPEC API LibCF MODaVE - GRIDSPEC wiki for more information The API conforms to the LibCF conventions: NetCDF3 compliant C interface All GRIDSPEC types (Grids, Data, Mosaic and Host) have: _def_ methods – Allows a user to define the type in memory _put_ methods - Write the type to a file _free_ methods – Free the type from memory _get_ or _inq_ methods – get data or attributes from memory Data and Grids only need to receive the global attributes from Table 1 to become GRIDSPEC ready. Mosaic files must contain the following variables and attributes in order to be able rebuild the tiles with proper relationships. Coordinate names Tile names tile_contact – Which tiles contact each other contact_map – how do the indexes at the contact edges relate to each other slice_format - Fortran or C ordering Host Files contain all information required to rebuild a data collection Grid paths and file names Data paths and file names Mosaic path and filename The relationship between tiles: We call this relationship a map. Allows calculating any thing where navigating across tiles is necessary, e.g. Zonal mean. Laplacian of a field. GRIDSPEC supports contacts between tiles where the edges are parallel and there are at least two vertexes which correspond (Figure 3). The contact map contains the information needed to rebuild a mosaic or to translate from one tile to an adjacent tile. Figure 4 shows examples of unsupported mosaics. Example 4. Cubed Sphere to lon-lat grid. Three tiles are shown along with some target points not are not in original grid. The Lon-lat grid covers entire globe. Example 3. Bi-polar cap defined for lat >= 60 deg north. There are two poles at lat = 60 deg N, lon = 0, +/- 180 deg and there is a coordinate cut at -/+ 180 deg. Better integration between LibCF/GRIDSPEC and the remainder of LibCF needed Will need support for virtual files (in memory data access) in NetCDF Proposing GRIDSPEC extensions to CF Multi-file aggregation Mosaic file connectivity Support for staggered data Need to support face and edge centered data (Arakawa C/D) Supergrids? Become an integral part of the NetCDF library Future Directions standard_nameFileDescribesexample gs_coordinate_namesMosaicarray of coordinate names lon, lat, elev gs_tile_contactsMosaicArray of contact pairs top::front gs_contact_mapMosaicArray of connectivity pairs 2:3,0:2::0:2,2:3 gs_slice_formatMosaicIndexing order C or Fortran gs_mosaic_filenameHostMosaic filename gs_static_data_filenamesHostTime independent data filenames gs_time_data_filenamesHostTime dependent data filenames gs_tile_filenamesHostArray of grid files containing grid data gs_tile_filenamesBothArray of tile names Table 2. New standard_names Global attributeDescribesExample collection_idUnique identifier binding all files a54e5ee e9- e3baddce48c3 file_typeType of data in file gs_host_file, gs_mosaic_file, gs_time_data_file tile_nameTile name pointing to coordinates cubed_sphere_grid0 Table 1. New global attributes netcdf tst_three_tile_cubed_sphere_host { dimensions: string = 256 ; nGrid = 3 ; nStatData = 1 ; nTimes = 1 ; nTimeData = 1 ; variables: char mosaic_filename(string) ; mosaic_filename:standard_name = "gs_mosaic_filename" ; char tile_names(nGrid, string) ; tile_names:standard_name = "gs_tile_names" ; char tile_filenames(nGrid, string) ; tile_filenames:standard_nam e = "gs_tile_filenames" ; char static_data_filenames(nStatData, nGrid, string) ; static_data_filenames:standard_name = "gs_static_data_filenames" ; char time_data_filenames(nTimes, nTimeData, nGrid, string) ; time_data_filenames:standard_name = "gs_time_data_filenames" ; // global attributes: :collection_id = "7a eb8f-408c-83b ec32b9" ; :file_type = "gs_host_file" ; data: mosaic_filename = "tst_three_tile_cubed_sphere_mosaic.nc" ; tile_names = "tst_three_tile_cubed_sphere_grid0", "tst_three_tile_cubed_sphere_grid1", "tst_three_tile_cubed_sphere_grid2" ; tile_filenames = "tst_three_tile_cubed_sphere_grid0.nc", "tst_three_tile_cubed_sphere_grid1.nc", "tst_three_tile_cubed_sphere_grid2.nc" ; static_data_filenames = "tst_three_tile_cubed_sphere_stat_data0.nc", "tst_three_tile_cubed_sphere_stat_data1.nc", "tst_three_tile_cubed_sphere_stat_data2.nc"; time_data_filenames = "tst_three_tile_cubed_sphere_time_data0.nc", "tst_three_tile_cubed_sphere_time_data1.nc", "tst_three_tile_cubed_sphere_time_data2.nc"; } Example 1. Host File CDL example. Example 2. Connectivity between tiles of a cubed-sphere. f.(method)Note =cdms2.open(uri, mode= r, template=None, dods=1) uri=host_file, if valid GRIDSPEC file, it will contain the global attributes from Table 1, and depending on the file, standard_names from Table 2. listvariables()Opening a host file will have to return a list of variables by searching the first file in each file_name type. Assumes variable homogeneity between files. listdimensions()Will have to search all files for dimensions incase there are different resolutions represented. [ var1]Returns a whole variable with nTime, nx, ny, nGrid dimensions. [ var1 ].shapee.g. (6,10,20,6) AxesBecause of structuredness of grids, could return a range. getGrid(id)Return the requested grid based on an index. tile_contacts()Return a list of tile_contacts. contact_map()Return a list of the contact maps. Nccf_get_grid_rangesReturn an index on an adjacent tile. Table 3. A set of CDAT API methods and objects.