UWG 2013 Meeting Publish-Subscribe (Datacasting).

12
UWG 2013 Meeting Publish-Subscribe (Datacasting)

Transcript of UWG 2013 Meeting Publish-Subscribe (Datacasting).

Page 1: UWG 2013 Meeting Publish-Subscribe (Datacasting).

UWG 2013 MeetingPublish-Subscribe (Datacasting)

Page 2: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Goal PO.DAAC to publish availability of our data

Why? So users can subscribe and no longer have to

crawl FTP

Goal

Page 3: UWG 2013 Meeting Publish-Subscribe (Datacasting).

High Level Functions: Publishing

Consumers

Archive

Ingest

Web Services & Publishing

Direct Data Access

High-Level Access Tools

Web Portal Visualization

Inventory

Information Providers

Data In Information In Data OutInformation Out

Data Providers

Page 4: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Datacasting Extension of RSS Work funded by NASA ACCESS 2005, 2009 Data providers publishes availability of new

data granules via XML feed Data consumers subscribes to feed to learn

about recently available data granules

Solution

Page 5: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Datacasting enables Down select items in feed based on multiple criteria

Temporal Spatial Other metadata

Automatically download selected data files Mash up across different types of feeds

Combine newspaper articles, scientific reports, event analyses, data, etc. in one place

And much more

By the way…

Page 6: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Publishing DatacastingRSS

Consumers

Archive

Ingest

Web Services & Publishing

Direct Data Access

High-Level Access Tools

Web Portal Visualization

Inventory

Information Providers

Data In Information In Data OutInformation Out

Data Providers

Data

cast

ingR

SS

Page 7: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Publish-Subscribe Sequence

Page 8: UWG 2013 Meeting Publish-Subscribe (Datacasting).

DatacastingRSS<rss xmlns:datacasting="http://datacasting.jpl.nasa.gov/datacasting" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" version="2.0"> <channel> <title>MetOp-A ASCAT Level 2 25.0 km Ocean Surface Wind Vectors</title> <link>http://podaac-test.jpl.nasa.gov/dataset/ASCAT-L2-25km</link> <description>This dataset contains operational near-real-time Level 2 ocean surface wind vector retrievals...</description> <pubDate>Wed, 27 Feb 2013 07:49:44 GMT</pubDate> ... <datacasting:channelUID>PODAAC-ASOP2-25X01</datacasting:channelUID> <datacasting:dataSource>METOP-A/ASCAT</datacasting:dataSource> <item> <title>ascat_20130226_190001_metopa_32990_eps_o_250_2101_ovw.l2.nc</title> <link>http://podaac-test.jpl.nasa.gov/dataset/ASCAT-L2-25km</link> <description>ascat_20130226_190001_metopa_32990_eps_o_250_2101_ovw.l2.nc</description> <enclosure length="847714" type="application/x-netcdf" url="ftp://podaac-ftp.jpl.nasa.gov/allData/ascat/preview/L2/25km/2013/057/ascat_20130226_190001_metopa_32990_eps_o_250_2101_ovw.l2.nc.gz" /> <pubDate>Wed, 27 Feb 2013 07:49:44 GMT</pubDate> ... <georss:where> <gml:Envelope> <gml:lowerCorner>-89.37 0.02</gml:lowerCorner> <gml:upperCorner>89.26 359.99</gml:upperCorner> </gml:Envelope> </georss:where> <datacasting:acquisitionStartDate>Tue, 26 Feb 2013 19:00:01 GMT</datacasting:acquisitionStartDate> <datacasting:acquisitionEndDate>Tue, 26 Feb 2013 20:41:59 GMT</datacasting:acquisitionEndDate> </item> ... <item> ... </item> </channel></rss>

Page 10: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Client Tool: Scripts

Scripts in Python, Perl, MATLAB, etc. can be written to download data granules as they are made available

Sample MATLAB script for downloading data granules:xml = xmlread('http://podaac-test.jpl.nasa.gov/ws/metadata/granule/?format=datacasting&datasetId=PODAAC-ASOP2-25X01');

enclosures = xml.getElementsByTagName('enclosure');

for i = 0:enclosures.getLength-1 url = char(enclosures.item(i).getAttribute('url')); [pathstr, name, ext] = fileparts(url); filename = [name, ext]; if exist(filename, 'file') disp(['File exists: ' filename]); else urlwrite(url,filename); disp(['Downloaded: ' filename]); endend

exit;

Page 11: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Perl tool for subscribing to feeds and downloading and maintaining files on disk

Client Tool:Data::Downloader

% dado config init --filename ./ascat-l2-25km.conf% dado feeds refresh% dado files download

Terminal

Page 12: UWG 2013 Meeting Publish-Subscribe (Datacasting).

Client Tool:Datacasting Feed Reader

Subscribe to DatacastingRSSFilter feed

items Download dataCreate mash up