PDOS processor for the Siesta program

The PDOS information generated by Siesta when using the PDOS option is
in XML format, with proper tags to ease the further processing of the
data. (Two XML files are actually produced, with extensions .PDOS and
.PDOS.xml, respectively. They differ only in the formatting.)

(Note that one can also analyze the PDOS information using the mprop
program in Util/COOP in 'pdos' mode)

Here we give an implementation of a PDOS processor using the Fortran
XML parser by Alberto Garcia (see https://gitlab.com/siesta-project/libraries/xmlf90)

(Relevant SAX code from that project is included in this Siesta
distribution in the Src/xmlparser directory, so no independent
compilation of the xmlf90 library is needed.)


1. Edit m_orbital_chooser.f90 to select the orbitals whose PDOS you
want to accumulate. For example:

	wantit = ( orbid%l == 0)

will select the "s" orbitals.

	wantit = ( orbid%l == 0 .and. orbid%z == 1)

will select the first "s" orbitals on each n.

	wantit = ( orbid%l == 0 .or. orbid%l == 1)

will accumulate the s and p orbitals on all atoms.

	wantit = ( orbid%index == 15)

will get the PDOS on orbital number 15 (whatever it is).

	wantit = (orbid%species == "O")

will accumulate the PDOS on all oxygen atoms.

2. Compile the program, using the makefile provided:

   make
        or
   make OBJDIR=<_name_of_object_directory> if it is not Obj

3. Run the pdosxml program:

	pdosxml file.PDOS > datafile

You can test the program with the h2o_dos.PDOS file provided.

4. Process datafile  with your favorite graphics program.
 Format of the output:

	Energy    PDOS_up  PDOS_down

If the system is not spin_polarized, the third column will be all zeros.
