CDFpp Explorer¶
The CDFpp Explorer is a web app to look at CDF files. There is nothing to install.
It runs CDFpp itself, compiled to WebAssembly, inside your browser. Your files never leave your computer: nothing is uploaded to a server.
What it does¶
Inspect¶
Drop a file on the page, or paste the URL of a public CDF file and click Fetch.
The variables are grouped by their ISTP VAR_TYPE: data, support data, metadata.
Search them by name. Click a variable to see its shape, type, attributes and a preview
of its values.
Plot¶
Time series are drawn as lines, and spectrograms as colour maps. The Explorer reads the
ISTP attributes to do it right: DEPEND_0 for the time axis, DISPLAY_TYPE,
SCALETYP for log scales, and FILLVAL, VALIDMIN and VALIDMAX to hide
invalid values. You can export the plotted data as CSV or JSON.
Validate¶
Validate checks the file against the ISTP conventions with AstraLint. You get the list of problems, each with a link to the rule. See Producing ISTP-compliant files.
Compare¶
Compare ↔ shows the differences between two files: added, removed or renamed variables, and changed attributes. Changed text is highlighted word by word, like a code review. Use it to check what changed between two versions of a data product.
Convert¶
Convert codec re-compresses the file with every codec CDFpp supports, and shows the size you get with each one. Download the version you like. See Compression.
Export the structure¶
Export YAML saves the file’s structure and attributes, without the data. It is handy to document a data product or to review metadata.
Linking to a file¶
You can link directly to a file in the Explorer. Add the file’s URL to the address:
Open one file:
https://sciqlop.github.io/CDFpp/?url=<file URL>Compare two files:
https://sciqlop.github.io/CDFpp/?a=<first URL>&b=<second URL>
For example, this link opens the ACE file used throughout this documentation.
Note
The server hosting the file must allow the browser to fetch it (CORS). NASA’s SPDF archive does. If a URL fails, download the file and drop it on the page instead.
Large files¶
The Explorer handles files of several gigabytes, but everything happens in your
browser’s memory. Very large files may be refused, with a message explaining how much
memory they need. For those, use pycdfpp from Python.
Using CDFpp in your own web app¶
The WebAssembly module behind the Explorer can be embedded in other web applications, or used from Node.js. It reads CDF files into zero-copy typed arrays, and saves them with any codec. See JavaScript (WebAssembly).