Short version: Each proposal is in one of the following categories:
- Under Consideration;
- Under Revision; or
The draft specification has two volumes.
- Volume 1: Data Model, Persistent Representation, and Constraints.
- Volume 2: Web Services Specification
DAP4 Features Straw man
This is a straw man design, broken down into sections. It is incomplete and its content is subject to revision. This was our foil; don't use it. The two documents about under 'DAP Specification' are the current state of the DAP4 specification.
DAP Service Terminus
Data Model and a XML Schema that provides one representation for the data model.
Web Services (Starting Point)
|Grids Ideas||Accepted||Dennis, et al.||(Cleaned up 4/10/2012)|
|XML Use in DAP4||Accepted||Dennis||2/25/2012|
|Top Level Group||Accepted||Dennis||4/12/2012|
|Proposal for Supporting Keys in Sequences||Revised||Dennis||5/28/2012|
|Constraints and Shared Dimensions||Under Consideration, closely related to Grids Ideas||James & Dennis||Modified 04/12/2012|
|Ideas for Defining VLens (and Sequences)||Under Consideration||Dennis||02/25/2012|
|Path Specification in DAP4||New||Dennis||3/30/2012|
|Coordinate Systems Element||New||Dennis||4/10/2012|
|Subsetting Arrays and Grids By Value||New||Nathan||4/27/2012|
|Proposal for a Constraint Notation||New||Dennis||4/30/2012|
|Proposal for an Abstract Constraint Specification||New||James, ed.||5/22/2012|
|Proposal for Structure Projection||New||Dennis||5/1/2012|
|Old Version of Grids Proposal||Obsolete||Dennis||4/10/2012|
|Filter Constraints||new||Dennis, John, Ethan||9/17/2012|
|Constraint Expressions||new||Everyone; original note by Dennis, ed. by James||10/29/2012|
|DAP4 Projection Syntax||withdrawn||Dennis||2/8/2013|
|Proposed Changes to Checksumming||accepted with modifications 3/19/2013||Dennis||3/1/2013|
|Proposal for new VLEN representation||New||Dennis||7/21/2013|
|Proposal for a Comprehensive Constraint Expression Syntax||New||James, Dennis, et al.||7/29/2013|
|Alternate Proposal for a Constraint Expression Syntax||New||Dennis||10/16/2013|
Responses Specific to DAP4
|Proposal to use Multi-part Mime||new 3/19/2013||Dennis||3/1/2013|
|DAP4: Inclusion of response metadata in the DMR||New||James||7/23/2013|
|DAP4 DDX Grammar||Under Consideration||Dennis|
|DAP4: DDX Lexical Elements||Accepted||Dennis||2/28/2012|
|Character Escape Mechanisms in DAP4||Accepted||Dennis||4/5/2012|
|DAP4: Encoding for the Data Response||Accepted||James, based on Proposed DAP4 On-The-Wire Format by Dennis||6/5/2012, updated 8/31/12|
|DAP4: Chunked encoding||Accepted||James||6/8/2012, updated 8/31/12|
|Proposed DAP4 On-The-Wire Format||Obsolete||Dennis||4/8/2012|
|Proposed Multipart Mime Format||Obsolete||Dennis||4/8/2012|
|Proposed Error Response Format||Obsolete||Dennis||5/8/2012|
|Proposal to Replace Chunking||Obsolete||Dennis||8/23/2012|
Web & HTTP
|DAP4 Constraint expressions and query strings.||Under Consideration||Nathan Potter||09/24/2012|
|Possible Notation for Server Commands||New||Dennis||Modified 04/12/2012|
|DAP4 Asynchronous Request-Response Proposal (new new version)||Accepted||Ethan Davis and Nathan Potter and James Gallagher||6/15/2012; updated 1 Aug 2012|
|DAP4 Dataset Services Response||Accepted||Nathan Potter||6/19/2012|
Commentary on DAP4 Related Topics
These are not intended as specific proposal, but rather as commentary on some issues with DAP4 that need addressing with specific proposals.
- Characterization of URL Annotations (Modified: 2/26/2012)
- Constructing a DDX from a Query (new: 04/12/2012)
- Notes on Constraints (new: 04/29/2012)
- DAP4: An Essay on Domain Specific Models (new: 05/05/2012)
OPULS Implementation Thoughts
Unidata's Current Thoughts
1) DAP4 C client library for use in netCDF-C library 2) DAP4 Java client library for use in netCDF-Java library 3) DAP4 Java server library for use in TDS 4) Conformance test service against which a DAP4 client library can be tested 5) Conformance test service against which a DAP4 server can be tested
The current CDM and TDS use of opendap-java library has performance problems due to extra API layers and extra copying of data. We would prefer direct serialization between CDM objects and the DAP on-the-wire data and would recommend that the OPeNDAP Java library leverage the netCDF-Java libraries.
If there are needs that the DAP4 opendap-java library be independent of the netCDF-Java library, then in order for CDM and TDS to use the opendap-java library, we would need the performance concerns mentioned above addressed. A reasonable metric would be within some percentage of cdmremote, say within 20-25%.
Unidata's performance requirements for Java libraries:
1) The netCDF-Java library performance reading DAP4 through the DAP4 Java client library must perform within 20-25% of cdmremote . 2) TDS performance when handling DAP4 requests using the DAP4 Java server library should perform within 20-25% of cdmremote .
We believe this means that the DAP4 Java libraries must provide a sufficiently generic API that can be used directly with the CDM/TDS IOSP interface.
1) Write the DAP4 C client library. 2) ??? some part of Java server library 3) ??? some parts of conformance testing services
 cdmremote is an experimental CDM streaming service. It is basically a direct serialization of the CDM.