Skip to content
Nadia Dencheva edited this page Sep 17, 2019 · 5 revisions

Why not use HDF5?

Though HDF5 was likely the best choice out of the existing data formats, there were some key drawbacks that are important to the use-cases of ASDF. A full discussion on the subject is contained in the ASDF paper, but a short summary follows.

  1. HDF5 is an entirely binary format, where FITS and ASDF support human readability and edit-ability with very primitive tools.

  2. HDF5 is not self-documenting. Because of the largely human-readable format, ASDF can be reasonably inferred even without the specification document. This plays an important role in the data format's applicability as an interchange and archive format.

  3. HDF5's data model is not flexible enough to represent all the needed structures, particularly generalized World Coordinate Systems (WCS).

How to add a schema to asdf-standard?

  1. Add the schema to the appropriate subfolder in asdf-standard.

  2. Add the schema tag to the latest supported version_map file in asdf-standard/schemas/stsci.edu/asdf/.

  3. Update the hash of asdf-standard in asdf to point to the one with the new schemas.

  4. Add the tag implementation to asdf or astropy.

Note Transform schemas are stored in asdf-standard but transform tags live in astropy. In order for the tests to pass, both the tag and the schema should be available. This is a chicken and egg problem. It's easiest to test this locally. Online, on Travis if all PRs are merged, the asdf tests with astropy-dev should be passing, while the tests with stable astropy will be failing.

Clone this wiki locally