  Norm-conserving pseudopotentials are used by a significant number of
electronic-structure packages, but the practical differences among codes in the
handling of the associated data hinder their interoperability and make it
difficult to compare their results. At the same time, existing formats lack
provenance data, which makes it difficult to track and document computational
workflows. To address these problems, we first propose a file format (PSML)
that maps the basic concepts of the norm-conserving pseudopotential domain in a
flexible form and supports the inclusion of provenance information and other
important metadata. Second, we provide a software library (libPSML) that can be
used by electronic structure codes to transparently extract the information in
the file and adapt it to their own data structures, or to create converters for
other formats. Support for the new file format has been already implemented in
several pseudopotential generator programs (including ATOM and ONCVPSP), and
the library has been linked with Siesta and Abinit, allowing them to work with
the same pseudopotential operator (with the same local part and fully non-local
projectors) thus easing the comparison of their results for the structural and
electronic properties, as shown for several example systems. This methodology
can be easily transferred to any other package that uses norm-conserving
pseudopotentials, and offers a proof-of-concept for a general approach to
interoperability.
