I'm currently working on calculating semiempirical local and nonlocal matrix elements for Ga. To proceed with my calculations, I need to extract specific parameters from the UPF (Unified Pseudopotential Format) file for Ga. I've encountered challenges in this process. I haven't found a solution yet. If anyone has insights or suggestions on how to efficiently read and extract the required parameters from a UPF pseudopotential file for Ga on FORTRAN, I would greatly appreciate your assistance. Thank you!
For now, the UPF standard is defined on
Quantum ESPRESSO's website. Looks like the documentation is for an XML-like format, but it will be (or has already been, that documentation is pretty old) converted to true XML later. If you really want to read the file as-is, that may be enough. An actual XML reader like FoXy (if your Fortran is >= 2008) might help.
Quantum ESPRESSO deals with pseudopotential files with the
upflib directory, which you can read here. In particular, the files
read_upf_new.f90 look like they will more or less explain what you need! (They should read either the XML or the older 2.1 format of
upf files, too.)