The Common Data Format (CDF) is a conceptual data abstraction for storing, manipulating, and accessing multidimensional datasets. The basic component of CDF is a software programming interface that is a device-independent view of the CDF data model. The application developer is insulated from the actual physical file format for reasons of conceptual simplicity, device independence, and future expandability. CDF files created on any given platform can be transported to any other platform onto which CDF is ported and used with any CDF tools or layered applications. A more detailed introduction to CDF can be found in the CDF User Guide.
What programming languages are supported?
The CDF library comes with C, Java, IDL, MATLAB, and Fortran Application programming Interfaces (APIs). In addition, Perl and C# APIs are also available as an optional package for download. The CDF library allows developers of CDF-based systems to easily create applications that permit users to slice data across multidimensional subspaces, access entire structures of data, perform subsampling of data, and access one data element independently regardless of its relationship to any other data element. On Windows, C#, and Visual Basic APIs were also available.
The Creating CDFs and Reading CDFs pages provide extensive information about the various programming languages, examples, and other useful tools for CDF. The Programming Languages page also has helpful information.
How do I find out about CDF developments?
There are email lists for users and developers to stay up to date on CDF developments. For administration questions, additions or deletions from the general mailing list, or for corrections to the list, please contact CDF support. The CDF Users’ Mailing List is used to distribute major announcements and events to CDF users. To subscribe, contact them via email to join the mailing list (no text in the body is required). To unsubscribe, contact the CDF support team to be removed from the mailing list.
What are the CDF time formats and how do I use them?
CDF uses three time formats: CDF_EPOCH, CDF_EPOCH16 and CDF_TIME_TT2000. CDF_EPOCH is milseconds from 0AD. High time resolution CDF_EPOCH16 is picoseconds from 0AD. CDF_TIME_TT2000 is nanoseconds from J2000 with leap seconds. The CDF User Guide includes detailed descriptions of each one.
How do I develop my own software API to create/read CDF files?
The CDF internal format specification document describes the physical file layout and concepts used by CDF. The latest version is available here.