What is Madrigal? Distributed, open-source, standards-based local databases that share metadata and have VO-features built in ● AMISR.

Slides:



Advertisements
Similar presentations
Easily retrieve data from the Baan database
Advertisements

1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
M AT L AB Programming: scripts & functions. Scripts It is possible to achieve a lot simply by executing one command at a time on the command line (even.
Adding Dynamic Content to your Web Site
Intro to Python Welcome to the Wonderful world of GIS programing!
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
CS-341 Dick Steflik Introduction. C++ General purpose programming language A superset of C (except for minor details) provides new flexible ways for defining.
Guide To UNIX Using Linux Third Edition
Introduction to Array The fundamental unit of data in any MATLAB program is the array. 1. An array is a collection of data values organized into rows and.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
UFCEKG-20-2 Data, Schemas & Applications Lecture 4 Server Side Scripting & PHP.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
OCLC Online Computer Library Center CONTENTdm Migration Training Craig Yamashita Vice President, Technology and Product Development DiMeMa, Inc. July 2005.
Chapter 1: Introduction to Web
Chapter 33 CGI Technology for Dynamic Web Documents There are two alternative forms of retrieving web documents. Instead of retrieving static HTML documents,
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Virtual Observatories and Data Interfaces for Atmospheric Science 12th EISCAT International Workshop Incoherent Scatter Radar School Swedish Institute.
Nic Shulver, Intro: Developing Server Applications What is a server? Many types of server – File server – file: networked file.
INTERNET APPLICATION DEVELOPMENT For More visit:
Nic Shulver, Intro: Developing Server Applications What is a server? Many types of server – File server – file: networked file.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Indispensable tools for research at its best Introducing the New Write-N-Cite.
Python CGI programming
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Programming language A programming language is an artificial language designed to communicate instructions to a machine,languageinstructionsmachine particularly.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Java CGI Lecture notes by Theodoros Anagnostopoulos.
UWG 2013 Meeting PO.DAAC Web Services Demo. What are PO.DAAC Web Services?
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
Documentation: What we might do in an ideal world Ian McCrea.
CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Enterprise PHP - Introduction Enterprise Client-Server Development with PHP Nic Shulver, FCES, Staffordshire University A fifteen credit module based on.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
1 Developing WBEM Clients Using Python Tim Potter Hewlett-Packard Company
1.Launch from PeopleSoft (7 or 8) Panels Plug-and-play Perfect fit for PeopleSoft 8.X No modification needed 2.Launch from CS Link Anywhere, anytime Good.
HDF EOS Workshop David Han Code
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
Distributed Time Series Database
Ionospheric Science, Models and Databases at Haystack Observatory
Database Connectivity and Server-Side Scripting Chapter 12.
Website Design, Development and Maintenance ONLY TAKE DOWN NOTES ON INDICATED SLIDES.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
SPDF Science Advisory Group - September 29-30, 2005 Page 12/24/2016 9:09:48 PM Services of the Space Physics Data Facility (SPDF) / Sun-Earth Connection.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
PHP Tutorial. What is PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
CGS 3066: Web Programming and Design Spring 2016 Introduction to Server-Side Programming.
NcBrowse: A Graphical netCDF File Browser Donald Denbo NOAA-PMEL/UW-JISAO
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Bucharest, 23 February 2005 CHM PTK technologies Adriana Baciu Finsiel Romania.
PHP using MySQL Database for Web Development (part II)
Web Database Programming Using PHP
What are they? The Package Repository Client is a set of Tcl scripts that are capable of locating, downloading, and installing packages for both Tcl and.
Data Virtualization Tutorial: Introduction to SQL Script
z/Ware 2.0 Technical Overview
Towards a CTA high-level science analysis framework
Web Database Programming Using PHP
Introduction to Programming the WWW I
PHP Introduction.
Web App vs Mobile App.
PHP.
Web Application Development Using PHP
Presentation transcript:

What is Madrigal? Distributed, open-source, standards-based local databases that share metadata and have VO-features built in ● AMISR

The Madrigal database stores data from a wide variety of upper atmosphere research instruments in the Cedar database format. Incoherent Scatter Radar TEC via GPSMF Radar Cedar database format Loading programs can be written in Python, C, or Tcl Other instrument types in Madrigal: Meteor radar, Digisonde, Fabry-Perot, Geophysical indices

How can the Madrigal database be accessed? User Web interface Web services API From anywhere on internet Python API Matlab API Allows for easy VO access AstroGrid has links Database standard – Cedar file format - allows easy import into Cedar Real-time and historical data

Madrigal Data Model Madrigal site (typically a facility with scientists and a Madrigal installation) ↓ Instruments (ground-based, typically with a set location) ↓ Experiments (typically of limited duration, with a single contact) ↓ Experiment Files (represents data from one analysis of the experiment) ↓ Records (measurement over one period of time) ↓ Data shared among all Madrigal sites Data unique to one Madrigal site

Cedar/Madrigal Database All parameters in file defined All parameters in file defined meters_list.txthttp://cedarweb.hao.ucar.edu/documents/para meters_list.txthttp://cedarweb.hao.ucar.edu/documents/para meters_list.txthttp://cedarweb.hao.ucar.edu/documents/para meters_list.txt Ranges of parameters for each instrument Ranges of parameters for each instrument Data stored in one or two 16 bit ints Data stored in one or two 16 bit ints Additional increment parametersAdditional increment parameters Error parameters always available Error parameters always available File format defined in File format defined in bin/cedar_file_access.pl?filename=documents /cedar_fmt.pdfhttp://cedarweb.hao.ucar.edu/cgi- bin/cedar_file_access.pl?filename=documents /cedar_fmt.pdf

Madrigal Derivation Engine Derived parameters appear to be in file Derived parameters appear to be in file Engine determines all parameters that can be derived Engine determines all parameters that can be derived

Classes of derived parameters Space, time Space, time Examples: Local time, shadow heightExamples: Local time, shadow height Geophysical Geophysical Examples: Kp, Dst, Imf, F10.7Examples: Kp, Dst, Imf, F10.7 Magnetic Magnetic Examples: Bmag, Mag conjugate lat and long, Tsyganenko magnetic equatorial plane interceptExamples: Bmag, Mag conjugate lat and long, Tsyganenko magnetic equatorial plane intercept Models Models Examples: MSIS, IRIExamples: MSIS, IRI

Remote Access to Madrigal Data Built on web services Built on web services Like the web, available from anywhere on any platform Like the web, available from anywhere on any platform Complete Matlab and Python API written Complete Matlab and Python API written More APIs available on request or via contribution More APIs available on request or via contribution

Madrigal Web Services Simple delimited output via CGI scripts Simple delimited output via CGI scripts Not based on SOAP or XmlRpc since no support in languages such as Matlab Not based on SOAP or XmlRpc since no support in languages such as Matlab CGI arguments and output fully documented at emoteAPIs.html CGI arguments and output fully documented at emoteAPIs.html

Simple Python example # create the main object to get all needed info from Madrigal madrigalUrl = ‘ testData = madrigalWeb.madrigalWeb.MadrigalData(madrigalUrl) # get all MLH experiments in 1998 expList = testData.getExperiments(30, 1998,1,1,0,0,0,1998,12,31,23,59,59) for exp in expList: # print out all experiments # print out all experiments print exp print exp # print list of all files in first experiment fileList = testData.getExperimentFiles(expList[0].id) for thisfile in fileList: for thisfile in fileList: print thisfile print thisfile

Python Remote API Can run on any platform with python (PC, Unix, Mac, etc) Can run on any platform with python (PC, Unix, Mac, etc) Fully documented with examples Fully documented with examples See al/remotePythonAPI.html for documentation, more examples, and source See al/remotePythonAPI.html for documentation, more examples, and source al/remotePythonAPI.html al/remotePythonAPI.html

Matlab Remote API Methods Methods getInstrumentsWebgetInstrumentsWeb getExperimentsWebgetExperimentsWeb getExperimentFilesWebgetExperimentFilesWeb getParametersWebgetParametersWeb isprintWebisprintWeb madCalculatorWebmadCalculatorWeb Methods match Madrigal model Methods match Madrigal model

Simple Matlab example filename = '/usr/local/madroot/experiments /2003/tro/05jun03/NCAR_ _tau2pl_60_uhf.bin'; eiscat_cgi_url = ' % download the following parameters from the above file: ut, gdalt, ti parms = 'ut,gdalt,ti'; filterStr = 'filter=gdalt,200,600 filter=ti,0,5000'; % returns a three dimensional array of double with the dimensions: % % [Number of rows, number of parameters requested, number of records] % % If error or no data returned, will return error explanation string instead. data = isprintWeb(eiscat_cgi_url, filename, parms, filterStr); Matlab Madrigal API call

Simple Matlab example, continued See al/remoteMatlabAPI.html for complete documentation and more examples See al/remoteMatlabAPI.html for complete documentation and more examples al/remoteMatlabAPI.html al/remoteMatlabAPI.html

Extending/contributing to Madrigal Madrigal is completely open source Madrigal is completely open source See for CVS See for CVSwww.openmadrigal.org All new code is C/Python, with some Tcl. All new code is C/Python, with some Tcl. Extending the Madrigal derivation engine is simple Extending the Madrigal derivation engine is simple

Demo Program Demo program that walks users through the Madrigal Python Remote API. Demo program that walks users through the Madrigal Python Remote API. To try it, log unto jupiter, cd to /opt/madrigal/bin, and run:./python demoMadrigalWebServices.py To try it, log unto jupiter, cd to /opt/madrigal/bin, and run:./python demoMadrigalWebServices.py