PDOS processor for the Siesta program (www.uam/siesta)

The PDOS information generated by Siesta is in XML format, with proper
tags to ease the further processing of the data.

You need an XML parser to extract the information you want. 

Here we give an implementation of a PDOS processor using the Fortran
XML parser by Alberto Garcia (see http://lcdx00.wm.lc.ehu.es/ag/xml )
(Relevant SAX code included in the Siesta distribution in the Src/xmlparser
directory)


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.
FLIB_ROOT should point to the place where you have the modules
and library for the Fortran XML parser. See

	http://lcdx00.wm.lc.ehu.es/ag/xml

You might need to tweak the f2kcli module to suit your compiler. If
you do not need command-line processing you could remove it and
hard-wire the name of the input XML file in the program.

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.
