Ecoinformatics site parent site of Partnership for Biodiversity Informatics site parent site of REAP - Home




O Pe NDAP Actor Use Case 03

Locating, subsetting, and importing DAP data into Kepler: Actor Utilizes Server Provided Sub-Setting Interface


1.0.0 Initial Draft (ndp)

1.0.0 Minor Edits (jhrg)

1.0.2 Imported into REAP wiki.


A user uses a Kepler Actor to locate and subset DAP data, using a specialized web browser embedded in the Kepler Actor to access the DAP HTML data request for available on almost all DAP servers. The user may subset by asking for specific variables and by decimating arrays and applying relational constraints on the data. If the server supports additional request/subsetting features they will be available to the user through the browser interface. The data becomes available in the Kepler data model for further processing.


  • User.
  • Kepler software application
  • OPeNDAP Kepler "Actor"
  • A server on the web with DAP accessible data.


  1. A list of OPeNDAP data sources, in HTML, is available.

  2. An OPeNDAP Actor that contains a browser that can render both javascript, and possibly AJAX based web pages.


Basic course of events:

  1. The user starts the Kelper application.
  2. The user creates a new Kepler Workflow.
  3. The user adds an instance of the OpendapDataSource Actor to the Workflow.
  4. The user configures the OpendapDataSource Actor by:
    1. Right-clicking on it and selecting "Configure Actor" from the Actor's pop-up menu. This will cause a window to appear that contains an embedded browser. The default page is the OPeNDAP Data Sources page at
    2. The user navigates in the browser pane to a DAP server that contains data that they wish to use in Kepler.
    3. The user selects a data set to access, and clicks on the link to the HTML data request form provided by the server.
    4. The user uses the HTML data request form to subset the data. The userwill select variables, subset arrays, and apply relational constraints as allowed by the server provided form. The user SHOULD subset array variables such that they are reduced to 1 or 2 effective (see Note 1) dimensions.
    5. The user clicks the download data button in the HTML data request form when they are through subsetting the data.
  5. The browser intercepts the outgoing data request and collects the request URL. It uses the request URL to configure the OPeNDAP Actor with the data set access and constraint expression information. (See Note 02) If no variables are selected then the CE is empty, which is valid.
  6. The OpendapDataSource Actor will reconfigure it's output terminals to reflect the variables specified in the CE. If the CE is null then the

Alternative Paths:

Previous use (if the OPeNDAP "Actor" has been used before):
4.1 If the Actor has been previously configured it is the last page viewed. The remaining steps are the same.

Exisiting Workflow:
2 The user opens a Workflow stored in a file.
3 Goto Step 4. (Main Path)

Alternate Implmentation Path #1:
4.3 The user selects a data set to access, and clicks on the link to the HTML data request form provided by the server.
4.4 The browser detects that the accessed page is a server provided HTML data request form and instructs the Actor to enable the "Done" button in the Actor configuration interface.
4.5 Same as 4d. in Main Path.
4.6 When the user is finished subsetting the data they press the "Done" button in the Actor's configuration interface (not a button in the HTML request form).
5 The Actor looks at the form data in the browser and extracts the data set access URL and the CE (See Note 02) If no variables are selected then the CE is empty, which is valid.
6 Goto Step 6. (Main Path)


  1. DAP data is now available to Kepler actors by connecting to the data source terminals on the configured OpendapDataSource Actor.

  2. The User will need to connect one or more of these data source terminals to additional Kepler Actors for data processing and display.

Business Rules:

Proposed: Have the OPeNDAP Actor enforce array subsetting rules such that arrays must be subset to 1 or 2 effective dimensions (See Note 01)


  1. Multidimensional arrays can subset so that their "effective" dimensionality is reduced by specifying (int the DAP constraint expression) a single value (row?) for one or more of the array's dimensions.

  2. The CE is made up of a "projection" and a "selection". The "projection" specifies which variables in the data set that the user wishes to access. The "selection" is a series of clauses that specify which conditions data must meet. If the user requests array variables then they SHOULD provide a CE that subsets them in order to reduce their effective dimensions to 1 or 2. Array's of dimensions 1 or 2 can be represented efficintly in the Kepler data model as a MatrixToken.


Nathan Potter, 12/11/2007

Go to top   Edit this page   More info...   Attach file...
This page last changed on 10-Dec-2007 14:14:16 PST by uid=potter,o=unaffiliated.