Delivering Point Observation Data XML vs. NetCDF - PowerPoint PPT Presentation

About This Presentation
Title:

Delivering Point Observation Data XML vs. NetCDF

Description:

Use STaX, not DOM! File Size (Mb) Slow network (~100 kb/sec) XML ... Must use STaX, not DOM to parse. Should compress the content to overcome finite bandwidth ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 23
Provided by: car97
Category:

less

Transcript and Presenter's Notes

Title: Delivering Point Observation Data XML vs. NetCDF


1
Delivering Point Observation DataXML vs. NetCDF
  • John Caron, Ethan Davis
  • UCAR/Unidata
  • Jeremy Tandy, Bruce Wright
  • British Met Office

2
Motivation
  • Can OGC Web Coverage Service (WCS) be used to
    deliver Point Obs Data ?
  • Part of a theoretical effort to marry Feature and
    Coverage conceptual models
  • What are the tradeoffs of delivering the data in
    text (XML) vs binary (netCDF) ?

3
Testing Methodology
  • Prototype using TDS server proxy for WCS
  • Simple ad-hoc XML proxy for GML
  • NetCDF with proposed CF Conventions
  • Try some common queries, measure time to fetch
    and read the results
  • Details will be in paper

4
Test dataset Metars
  • Text data coming from Unidata Internet Data
    Distribution (realtime)
  • 5000 stations around the world
  • 120K metars/day
  • 7 day rolling archive at Unidata
  • Stored as netCDF-3 file with Unidata point
    observation convention

5
(No Transcript)
6
TDS NetCDF Subset Servicefor Point Data
  • Experimental REST Web service in the THREDDS
    Data Server (TDS)
  • Allows subsetting by variable, lat/lon bounding
    box, time range
  • Output formats NetCDF, CSV, XML, Raw

7
Sample Queries
  • Query A complete time series at one station
  • One station LOWW (Vienna, Austria)
  • 353 records
  • Query B all stations in a Bounding Box for one
    time point
  • Bounding box lat35,90 lon-10,50 (Europe)
  • 662 records
  • Query C complete 1 day all stations
  • 4818 stations
  • 114,370 records

8
Raw Metar
  • 2007-11-24T134952Z LOWW 241350Z 33009KT
    300V360 9999 SCT014 BKN016 07/04 Q1022 NOSIG
  • 2007-11-24T141944Z LOWW 241420Z 33008KT 9999
    FEW011 BKN013 07/04 Q1022 NOSIG
  • 2007-11-24T095056Z LOWW 240950Z 31009KT 9999
    BKN014 07/03 Q1022 BECMG BKN020

9
XML
  • ltmetar date"2007-11-24T141944Z"gt
  • ltstation name"LOWW" latitude"48.119"
    longitude"16.569" altitude"190"gtVIENNA/SCHWECHA,
    -- OSlt/stationgt
  • ltdata name"air_pressure_at_sea_level"
    units"hectoPascal"gt-99999.0 lt/datagt
  • ltdata name"air_temperature" units"Celsius"gt7.0
    lt/datagt
  • ltdata name"dew_point_temperature"
    units"Celsius"gt4.0 lt/datagt
  • ltdata name"hectoPascal_ALTIM"
    units"hectoPascal"gt1022.0 lt/datagt
  • ltdata name"precipitation_amount_hourly"
    units".01 inches"gt-99999.0 lt/datagt
  • ltdata name"visibility_in_air"
    units"US_statute_mile"gt-99999.0 lt/datagt
  • ltdata name"weather"gtlt/datagt
  • ltdata name"wind_from_direction"
    units"degrees"gt330 lt/datagt
  • ltdata name"wind_peak_speed" units"m/s"gt-99999.
    0 lt/datagt
  • ltdata name"wind_speed" units"m/s"gt4.115552
    lt/datagt
  • lt/metargt

10
NetCDF
  • _at_fxŽÇÃOÇÃO_at_ ??_at_???D_at_?ÇÃO????????????????ÇÃOGG
    n?ÿÿÿÿ???_at_ŸAÇÃOÇÃO_at_??_at_???D_at_?ÇÃO????????????
    ????ÇÃOGGg?ÿÿÿÿ???_at_EçÇÃOÇÃO_at_??_at_???D_at_?ÇÃO??
    ??????????????ÇÃOGJ?ÿÿÿÿ??,AdÇÃOÇÃO_at_À?????
    D_at_?ÇÃO????????????????ÇÃOGIü?ÿÿÿÿ??"AŸAÇÃOÇÃ
    O_at_À????D_at_?ÇÃO????????????????ÇÃOGIõ?ÿÿÿÿ??"
    _at_öîáÇÃOÇÃO_at_À?????D?ÇÃO????????????????ÇÃOGI
    î?ÿÿÿÿ??"_at_æxŽÇÃOÇÃO_at_À?????D?ÇÃO????????????
    ????ÇÃOGIç?ÿÿÿÿ??"A(íÇÃOÇÃO_at_À?????D_at_?ÇÃO??
    ??????????????ÇÃOGIà?ÿÿÿÿ??,_at_æxŽÇÃOÇÃO_at_ ??????
    D?ÇÃO????????????????ÇÃOGIÙ?ÿÿÿÿ??"_at_æxŽÇÃOÇÃ
    O_at_À??????D?ÇÃO????????????????ÇÃOGIÒ?ÿÿÿÿ??"
    AíÄÇÃOÇÃO_at_À?????DÀ?ÇÃO????????????????ÇÃOGI
    Ë?ÿÿÿÿ??"A(íÇÃOÇÃO_at_À?????D?ÇÃO????????????
    ????ÇÃOGIÄ?ÿÿÿÿ??,A(íÇÃOÇÃO_at_À??????D?ÇÃO??
    ??????????????ÇÃOGI½?ÿÿÿÿ??"_at_ÖÇÃOÇÃO_at_À??????
    DÀ?ÇÃO????????????????ÇÃOGI?ÿÿÿÿ??,_at_æxŽÇÃOÇÃ
    O_at_À?????DÀ?ÇÃO????????????????ÇÃOGI?ÿÿÿÿ??6
    _at_ƒ²šÇÃOÇÃO_at_ ?????D??ÇÃO????????????????ÇÃOGI
    ÿÿÿÿ??,AíÄÇÃOÇÃO_at_À?????D??ÇÃO????????????
    ????ÇÃOGI ÿÿÿÿ??"A²šÇÃOÇÃO_at_À?????D??ÇÃO??
    ??????????????ÇÃOGIÿÿÿÿ??"A(íÇÃOÇÃO_at_à?????
    DÀ?ÇÃO????????????????ÇÃOGIÿÿÿÿ??"_at_ÖÇÃOÇÃ
    O_at_à?????DÀ?ÇÃO????????????????ÇÃOGIÿÿÿÿ??"
    _at_µÇÃOÇÃO_at_à?????D??ÇÃO????????????????ÇÃOGI
    ÿÿÿÿ??,_at_ÅçÇÃOÇÃO_at_à??_at_???D??ÇÃO????????????
    ????ÇÃOGIÿÿÿÿ??,A(íÇÃOÇÃOA??????D??ÇÃO??
    ??????????????ÇÃOGIvÿÿÿÿ??"A²šÇÃOÇÃOA??????
    D??ÇÃO????????????????ÇÃOGIoÿÿÿÿ??,AíÄÇÃOÇÃ
    OA???_at_???D??ÇÃO????????????????ÇÃOGIhÿÿÿÿ??,
    AdÇÃOÇÃOA??????D??ÇÃO????????????????ÇÃOGI
    aÿÿÿÿ??6_at_µÇÃOÇÃOA???_at__at_??D_at_?ÇÃO????????????
    ????ÇÃOGIZÿÿÿÿ??,_at_(íÇÃOÇÃO_at_à??_at__at_??D_at_?ÇÃO??
    ??????????????ÇÃOGISÿÿÿÿ??,_at_(íÇÃOÇÃO_at_à??_at__at_??
    D_at_?ÇÃO-SHRA ??????????ÇÃOGILÿÿÿÿ??_at_ÅçÇÃOÇÃ
    O_at_à??_at__at_??D_at_?ÇÃO????????????????ÇÃOGIEÿÿÿÿ??,
    _at_öîáÇÃOÇÃO_at_à??_at__at_??D_at_?ÇÃO????????????????ÇÃOGI
    gt?ÿÿÿÿ??,_at_ÅçÇÃOÇÃO_at_à??_at__at_??D?ÇÃO-SHRA
    ??????????ÇÃOGI7?ÿÿÿÿ??"_at_æxŽÇÃOÇÃO_at_à??_at__at_??D_at_?
    ÇÃO-SHRA ??????????ÇÃOGI0?ÿÿÿÿ??"A²šÇÃOÇÃO_at_à
    ??_at_???D_at_?ÇÃO-SHRA ??????????ÇÃOGI)?ÿÿÿÿ??,_at_(í
    ÇÃOÇÃO_at_à??_at__at_??D_at_?ÇÃO????????????????ÇÃOGI"?ÿÿ
    ÿÿ??,_at_(íÇÃOÇÃO_at_à??_at__at_??D?ÇÃO????????????????
    ÇÃOGI?ÿÿÿÿ??,_at_fxŽÇÃOÇÃO_at_À??_at__at_??D?ÇÃO??????
    ??????????ÇÃOGI?ÿÿÿÿ??_at__at_EçÇÃOÇÃO_at_À??_at_??D_at_?
    ÇÃO????????????????ÇÃOGI

11
Fetch Time (secs)
12
Fetch and Read (Query C)
13
Use STaX, not DOM!
14
File Size (Mb)
15
Slow network (100 kb/sec)
16
XML vs NetCDF File Size
17
Slow network - GZIP
18
Streaming point obs data
  • XML can be written as a stream, as each
    observation is found
  • Harder for netCDF, which assumes random access
    capability
  • netCDF/CF format can put station info at the
    front of the file, then the observations are
    appended along the unlimited dimension

19
netCDF stream format
  • Only problem is the numrec number of unlimited
    records field in the header
  • But numrec can be calculated by netcdf library
    based on the size. Netcdf-Java and Netcdf-C
    (gt3.6) will do this but not backwards
    compatible!
  • We have added this to the netCDF spec

20
Slow GZIPnetCDF stream format
21
Conclusions
  • XML reasonable for streaming data
  • Must use STaX, not DOM to parse
  • Should compress the content to overcome finite
    bandwidth
  • netCDF excels as archive format, multiple reads
  • classic format a bit slower than XML
  • streaming format 25 speedup over XML, but
    not backwards compatible
  • netCDF-3 as binary exchange format for
    geospatial data

22
Contact
  • caron_at_unidata.ucar.edu
  • Will have link to paper
  • http//unidata.ucar.edu/staff/caron/
Write a Comment
User Comments (0)
About PowerShow.com