Hi,
The calculations can be run with something like
ProjectOnShellsByElementAndSpin = ProjectionGenerator(atoms=ElementsProjection, l_quantum_numbers=True, spin=UpDownProjection)
projected_density_of_states = ProjectedDensityOfStates(
configuration=bulk_configuration,
kpoints=kpoint_grid,
projections=ProjectOnShellsByElementAndSpin,
energies=numpy.linspace(-10, 4, 1000)*eV,
energy_zero_parameter=FermiLevel,
bands_above_fermi_level=All,
spectrum_method=TetrahedronMethod,
)
where I defined a new projection generator to project on elements, shells (s, p, d, etc.) and spin up/down.
Regarding the plotting, it will definitely be possible with the upcoming 2020.09 release. There you can rather easily customize plot to e.g. flip the sign of a given curve (in this case the spin-down component). For now, you might need to make the plots yourself by getting each individual pdos using p_xx = projected_density_of_states.evaluate(projection_index=xx), where xx is the index of the specific projection. And the plot the results using pylab or matplotlib.