web-based data and knowledge server software for geophysical fluid
TRANSCRIPT
![Page 1: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/1.jpg)
Gfdnavi,Web-based Data and Knowledge Server Software for Geophysical Fluid Sciences,Part II: RESTful Web Services and Object-
Oriented Programming Interface
Seiya NISHIZAWA, Takeshi HORINOUCHI,Chiemi WATANABE, Yuka ISAMOTO,
Akinori TOMOBAYASHI, Shigenori OTSUKA,and GFD-Dennou Davis project
![Page 2: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/2.jpg)
Web-based Data and Knowledge Server Software for Geophysical Fluid Sciences,
• Part I: Rationales, Stand-alone Features, and Supporting Knowledge Documentation Linked to Data
• Part II: RESTful Web Services and Object-Oriented Programming Interface
![Page 3: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/3.jpg)
Introduction
![Page 4: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/4.jpg)
Existing web-based data servers
• Web-based data servers in geophysical fluid sciences– download data– search– analysis and visualization with web-browser
![Page 5: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/5.jpg)
Problems of the existing servers
1. limit visualization capability– only initial “quick-looks” are possible
2. barrier between server- and client-side operations– features of the servers are not available once the
data files are downloaded.
3. weak support for non-georeferencing data4. limit search capability5. Interdisciplinary and/or collaborative studies
![Page 6: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/6.jpg)
Gfdnavi
• “Gfdnavi” has been developed to solve all the problems– web-based data and knowledge server software– for application in geophysical fluid science(the basic features were introduced in the Part I)
![Page 7: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/7.jpg)
In this talk• Solution for the problems 1 and 4 (also related
to 2)1. limit visualization capability
– only initial “quick-looks” are possible
2. barrier between server- and client-side operations– features of the servers are not available once the
data files are downloaded.
4. limit search capability
![Page 8: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/8.jpg)
• programmability– for analysis and visualization capability (prob. 1)– for smooth transition between server- and client-
side operations (prob .2)
• cross search– for search capability (prob. 4)
![Page 9: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/9.jpg)
Programmability
• usefulness in all stages of scientific studies– GUI: trial-and-error stages (e.g. quick-look)– programming: later stages (e.g. repetition)
• multiple ways of programmability1. web services and client library2. downloading a minimum subset of data and
scripts3. registering scripts
![Page 10: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/10.jpg)
Cross search
• search multiple kinds of data in multiple data servers across networks– data: observations, numerical simulations, etc– servers: personal, group’s, public
• for communication between servers1. web services
![Page 11: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/11.jpg)
Design and Implementationsof Gfdnavi Web Services
![Page 12: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/12.jpg)
An example of use case
1. performed several numerical simulations of the future climate with different scenarios for future emission of CO2
2. analyze and visualize result data of one simulation run with GUI of Gfdnavi web applications (try-and-errors)– figure out characteristics of spatial pattern of
temperature
![Page 13: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/13.jpg)
• apply the same analysis and visualization to result data of the other runs– download a ruby script reproducing the action
performed with the GUI– modify the script to perform the analysis and
visualization with the data of all the runs
• compare the result data and diagrams
![Page 14: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/14.jpg)
• downloaded ruby script
• modified script
1: require "numru/gfdnavi_data“2: include NumRu3: t = GfdnaviData.parse("http://example.com/data/T.exp01.nc/T")4: t mean = t.analysis("mean","longitude")5: tone = t mean.plot("tone")6: png = tone.to png
1: require "numru/gfdnavi_data"2: include NumRu3: NRUNS = 10 # number of runs4: pngs = Array.new5: for n in 0...NRUNS # loop for all the runs6: crun = sprintf("%02d", n+1) #=> "01", "02", ...7: t = GfdnaviData.parse("http://example.com/data/T.exp"+crun+".nc/T")8: t mean = t.analysis("mean","longitude")9: tone = t mean.plot("tone")10: pngs[n] = tone.to png11: end
![Page 15: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/15.jpg)
• compare the results with those of simulations performed by other researchers– use cross search of Gfdnavi to find other
simulation data– modified the script and apply the same analysis
and visualization to these data
![Page 16: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/16.jpg)
RESTful web services
• Resource-oriented architecture– similarities with object-oriented programming
• easy development of ruby client library
• Stateless– scalable– easier testing than stateful system
![Page 17: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/17.jpg)
Ruby client library
• Similarity with GPhysGPhys: a ruby library for analysis and visualization
for geophysical fluid sciences– enables users to analyze and visualize data on
Gfdnavi servers in a manner similar to programming with GPhys at local level
![Page 18: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/18.jpg)
• URL path of dynamic resourcesdynamic resource: generated dynamically as result
of operations such as analysis and visualization– having correspondence with object-oriented
programming
![Page 19: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/19.jpg)
Object and Resource• object (ruby script)
a_static_data_object.operation(arg).to_type(params)– e.g.t = GfdnaviData.open(“http://host/data/T.nc/T”) # static objectt.analysis(“mean”.”longitude”).to_gphyst.analysis(“mean”,”longitude”).plot(“contour”).to_png
• resource (URL path)/a_static_data_path/operation(arg).type?params– e.g./data/T.nc/T/analysis(mean;longitude).gphys/data/T.nc/T/analysis(mean;longitude)/plot(contour).png
![Page 20: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/20.jpg)
Hybrid P2P Cross Search• Hybrid peer-to-peer (P2P)
– a central server having a server list– send search request to each peer
Center serverGfdnavi server
Gfdnavi server
request server list
search query
search query
search result
serverresult
server list
Gfdnavi server
![Page 21: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/21.jpg)
Summary
![Page 22: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/22.jpg)
• network capability– programmability
• smooth transition between GUI and programming• web services and client library
– cross search• search across networks• web services and hybrid P2P
• RESTful web services and Ruby client library– resource-oriented architecture– object-oriented programming
![Page 23: Web-based Data and Knowledge Server Software for Geophysical Fluid](https://reader031.vdocuments.us/reader031/viewer/2022020702/61fb230b2e268c58cd5a94cc/html5/thumbnails/23.jpg)
Thank you