1
==========================================
2
Implementation of the YAML variable dumper
3
==========================================
8
The YAML variable dumper has been implemented in as an orthogonal way as
9
possible from the rest of SIESTA. It consists in:
11
- a Fortran module producing valid YAML 1.2, codename *m_io_yaml*;
12
- the inclusion of the corresponding object file into the MAkefile of SIESTA;
13
- a call to the main routine of the module, *siesta_write_yaml* at the end of
16
The call to the I/O routine is both compatible with serial and parallel runs
21
if (ionode) call siesta_write_yaml()
23
This strategy is expected to be harmless to any other ongoing developments
24
within SIESTA and allows to add the YAML output capability into already
25
published versions of SIESTA. Patching such versions will indeed provide
26
useful information on possible issues that were previously undetected.
30
Contrary to XML which has tags and attributes, YAML is just plain text
31
using indenting (think of Python) to define data structures. As a
32
consequence, emitting YAML does **not** introduce any additional dependency
33
of SIESTA on another external library and is much easier to read by humans.
39
The complete source code of the YAML dumper can be found in
40
*~siesta/Src/m_io_yaml.F90*. The file is self-documented using the Doxygen
45
The Doxygen infrastructure is not merged yet...
51
To generate the Doxygen documentation, just run *doxygen* from the top
52
source directory of SIESTA. The resulting files can then be found within the
53
*~siesta/Docs/developers/* directory.
55
To access the HTML website, look for *index.html* inside the *source/*
56
subdirectory. To build the PDF manual, look at the *refman.tex* main document
57
inside the *latex/* subdirectory.
61
The provided *Doxyfile* has been tested with Doxygen 1.8.11. If you have an
62
earlier version and experience crashes, just add the problematic files to
63
the *EXCLUDE* variable within the *Doxyfile* and re-run doxygen. Repeat
64
this procedure as many times as necessary.