Recent Work in Progress John Caron June 3

  • Slides: 25
Download presentation
Recent Work in Progress John Caron, June 3, 2003 • THREDDS development – Dynamic

Recent Work in Progress John Caron, June 3, 2003 • THREDDS development – Dynamic Catalogs: DQC, Resolvers – IDD Data Server – ADDE Cataloger • Net. CDF development – Net. CDF Markup Language (Nc. ML) – More efficient Java I/O (NIO) – Net. CDF/DODS/HDF 5 Data Models

THREDDS Catalogs HTTP Server Catalog. Ref. xml Catalog Generator Catalog. xml Catalog. Ref. xml

THREDDS Catalogs HTTP Server Catalog. Ref. xml Catalog Generator Catalog. xml Catalog. Ref. xml Data Server DODS, ADDE, FTP, HTTP Client Application Datasets hostname. edu

Dynamic Catalogs = Services HTTP Tomcat Server Catalog. xml Catalog Generator Catalog Service Catalog.

Dynamic Catalogs = Services HTTP Tomcat Server Catalog. xml Catalog Generator Catalog Service Catalog. Ref. xml Query Resolver Service DQC. xml Resolver Service URI URL Data Server DODS, ADDE, FTP, HTTP Datasets hostname. edu Client Application

Dataset Query Capability (DQC) • XML document. • Describes what the user can ask

Dataset Query Capability (DQC) • XML document. • Describes what the user can ask for as a set of orthogonal “selections”. • On the client, a “query URL” is formed based on the user’s choices, and sent to the server. • The “query resolver” server finds which datasets satisfy the query and returns a list of real dataset URLs. • The DQC describes the queries that the server is capable of responding to.

Resolver Services • Logical Dataset, eg “latest ETA model run” • Dataset with Service

Resolver Services • Logical Dataset, eg “latest ETA model run” • Dataset with Service type “Resolver” • On the client, the URI of the logical dataset is sent to the server • The server finds what is available and returns a list of real dataset URLs.

ADDE Cataloger HTTP Tomcat Server Catalog. xml Catalog Service ADDE Catalog. Ref. xml Cataloger

ADDE Cataloger HTTP Tomcat Server Catalog. xml Catalog Service ADDE Catalog. Ref. xml Cataloger Query Resolver Service DQC. xml Client Xxxxx Xxxx Application ADDE Data Server hostname. edu Datasets IDD

Summary IDD Data Server Get as much of the IDD Data feeds available via

Summary IDD Data Server Get as much of the IDD Data feeds available via THREDDS as possible. – NCEP model data (catgen) (DODS) – Level 3 NEXRAD (custom server/DQC) (ADDE) – SSEC/Unidata Satellite data (ADDE Cataloger) (ADDE) – Text Data: Metars, Surface Obs, etc (DQC/custom server), returns text or XML. – Profiler Data (custom server/DQC) (ADDE)

Net. CDF 3 Net. CDF File Open. DAP Dataset Local file Nc. ML Dataset

Net. CDF 3 Net. CDF File Open. DAP Dataset Local file Nc. ML Dataset XML Open. DAP HTTP protocol Net. CDF-3 library Virtual dataset API Client Application protocol

Net. CDF Markup Language XML representation of net. CDF metadata, uses XML Schema •

Net. CDF Markup Language XML representation of net. CDF metadata, uses XML Schema • Core: existing net. CDF data model • Coordinate System: general and georeferencing coordinate system • Dataset: redefine, aggregate, subset • Luca Cinquini (NCAR/SCD/ESG), John Caron, Ethan Davis, Bob Drach (LLNL), Stefano Nativi (Florence), Russ Rew

Nc. ML Coordinate Systems Convention Parser • ATDRadar • AWIPS • COARDS • CF

Nc. ML Coordinate Systems Convention Parser • ATDRadar • AWIPS • COARDS • CF • CSM • GDV • NUWG • WRF • Zebra Net. CDF File Open. DAP Dataset Netcdf Dataset Nc. ML Dataset XML

Geo. Grids, Geo. Tiffs, Geowhiz! Net. CDF File Open. DAP Dataset Convention Parser Netcdf

Geo. Grids, Geo. Tiffs, Geowhiz! Net. CDF File Open. DAP Dataset Convention Parser Netcdf Dataset Geo. Grid factory Vis. AD / IDV Geo. Grid Dataset WCS Server Geo. Tiff Writer Strange land of GIS Geo. Tiff File Open. GIS WCS

Nc. ML Dataset : “virtual view” Net. CDF File Open. DAP Dataset Nc. ML

Nc. ML Dataset : “virtual view” Net. CDF File Open. DAP Dataset Nc. ML Dataset XML Parser Java-net. CDF 2. 1 Client Application Net. CDF Dataset

Nc. ML Dataset • Use Nc. ML like CDL, to declare the contents of

Nc. ML Dataset • Use Nc. ML like CDL, to declare the contents of a net. CDF file. • Add, delete or rename Variables, Attributes, and Dimensions • Subset Variables • Reorder a Variable’s dimensions • Aggregate multiple net. CDF files, a la DODS Aggregation Server • Nc. ML Dataset is a “virtual view” or can make copy to a local net. CDF file.

2: Nc. ML Datasets on a Server Catalog. xml DODS Agg/Netcdf Server DODS, ADDE,

2: Nc. ML Datasets on a Server Catalog. xml DODS Agg/Netcdf Server DODS, ADDE, FTP, HTTP Dataset XML Parser Client Application Nc. ML Dataset XML Datasets hostname. edu

3: Nc. ML Datasets via Catalogs Catalog. xml Net. CDF File Open. DAP Dataset

3: Nc. ML Datasets via Catalogs Catalog. xml Net. CDF File Open. DAP Dataset Nc. ML Dataset XML Catalog/Dataset XML Parser Java-net. CDF v 2. 1. 1 Client Application

NIO • Rewrite ucar. nc 2 I/O layer using java. nio package (currently using

NIO • Rewrite ucar. nc 2 I/O layer using java. nio package (currently using ucar. netcdf) • Uses memory mapping, bulk I/O transfer • Prototype has 7 x speedup on large files. • Requires JDK 1. 4+ • HTTP access must be rewritten

NIO vs current Java NIO Current old/new First access small (3. 9 Mb) large

NIO vs current Java NIO Current old/new First access small (3. 9 Mb) large (240 Mb) 281 671 3334 28221 2. 4 8. 5 Average next 5 accesses small large 54 290 2239 16367 5. 4 7. 3 • Time in millisecs to sequentially read entire file • Wintel 2 GHz, 1 GB main memory • Java 1. 4. 2 -client

NIO vs optimized C NIO C C/NIO First access small (3. 9 Mb) large

NIO vs optimized C NIO C C/NIO First access small (3. 9 Mb) large (240 Mb) 281 370 3334 19348 1. 3 5. 8 Average next 5 accesses small large 54 2239 . 44. 43 • Java 1. 4. 2 –client vs. VC 6. 0 /O 2 24 953

Net. CDF Data Model Netcdf. File Dimension Variable Attribute Data. Type • byte •

Net. CDF Data Model Netcdf. File Dimension Variable Attribute Data. Type • byte • char • short • int • float • double Attribute

Open. DAP Data Model Dataset Base. Type Attribute Base. Type • primitive (8) array

Open. DAP Data Model Dataset Base. Type Attribute Base. Type • primitive (8) array Dimension • string • array Base. Type • grid Attribute • structure / Attribute • sequence Attribute Base. Type

HDF 5 Data Model Groups File directory structure inside HDF file. Datatype • Fixed

HDF 5 Data Model Groups File directory structure inside HDF file. Datatype • Fixed point • floating point • date/time • string • bit field Dataset Datatype Data. Space Attribute • Opaque Data storage • Compound • Compact • Reference • External • Enumeration • Layout • Variable length • Array • Indexed • Striped

Possible Extensions to net. CDF data model • Add new data types: – Strings:

Possible Extensions to net. CDF data model • Add new data types: – Strings: variable length arrays of bytes, plus an encoding attribute. – Structures: collections of any other element types, allow nested structures. – Vector: a variable length 1 D array of any type. • Allow reusable structure definition = user defined data type. • Allow unnamed, undeclared dimensions = anonymous dimensions. • Allow multiple unlimited dimensions (outer dimension only) • Compression. Push scale/offset into library, allow variable bit sizes. • Explicit support for coordinate variables/axes.

New Net. CDF Data Model Netcdf. File Dimension Attribute Variable Structure Data. Type •

New Net. CDF Data Model Netcdf. File Dimension Attribute Variable Structure Data. Type • byte • short • int • long • float • double • String • Structure • Vector Attribute Data. Type Vector • Length Data. Type

Net. CDF 4 Net. CDF V. 1 and 2 File HDF 5 File Open.

Net. CDF 4 Net. CDF V. 1 and 2 File HDF 5 File Open. DAP Dataset Open. DAP Nc. ML Dataset XML Local file or 4. 0 HTTP protocol Net. CDF 4 library Virtual dataset API Client Application