CSDM - Core Scientific Data Model

CSDM provides a single file format for all types of scientific data. In addition, it provides a number of features making it the obvious choice for data sharing: CSDM is supported by the widely used NMR simulation programs We are offering the following tools for developers The CSDM file format is published with open access in PLOS ONE, 15 e0225953 (2020).

CSDM validation

Drag and drop your CSDM file or use the upload button to validate your CSDM file.
Drag your CSDM file here
or upload it here

CSDM online example

To illustrate the capabilities for online storage, we have uploaded example spectra to the open repository zenodo. You only need to download the csdfe file, which points to the online location of the data file
  1. 1D 87Rb NMR spectrum of RbClO4. Available at DOI: 10.5281/zenodo.3588299.

CSDM overview

CSDM is serialized in JSON format and has the following structure
{
   "csdm": {
      // Key attributes of the CSDM object
      "version": "1.0",
      "dimensions": [{
         // First (0th) dimension
         "type": "linear",
         "count": 1024,
         "increment": "10 µs",
         "quantity_name": "time",
         ...
         "application": {
            // Optionally specify application-dependent information
            "dk.pastis.csdm": {...}
         },
      },{
         // Second (1st) dimension
         "type": "monotonic",
         "coordinates": ["0.1 ms", "1 ms", "10 ms", "50 ms", "100 ms", ...],
         "quantity_name": "time",
         ...
      }],
      "dependent_variables": [{
         "type": "internal",
         "numeric_type": "complex64",
         "quantity_type": "scalar",
         "encoding": "base64",
         "components": [...]
      }]
      // Optional attributes of the CSDM object
      "geographic_coordinate": {...},
      "timestamp": "2020-02-06T06:10:10Z",,
      "tags": [...],
      "read_only": true,
      ...
   }
}
   

CSDM attributes

While the example above sketches the overall architecture of the CSDM file, the following tables provide the details on the individual entries. The first table describes the attributes from the main csdm object.
AttributeJSON TypeDescription


Table describing the attributes from the Dimension object.
AttributeJSON TypeDescription


Table describing the attributes from the DependentVariable object.
AttributeJSON TypeDescription

February 6, 2020, Thomas Vosegaard