FCHKWriter() writing wrongly formatted .fchk files

The FCHKWriter() module is still writing incorrectly formatted .fchk files in v1.2.1, though the problems now are somewhat different than in v1.1. There are 4 issues that I’m aware of:

  1. The MO and Density blocks are being mislabeled, for all levels of theory as far as I can tell. This prevents 3rd party apps from parsing the files correctly. The labels for the MO orbital energy and coefficients blocks should always be as follows:

Alpha Orbital Energies
Alpha MO Coefficients
Beta Orbital Energies
Beta MO Coefficients

Title case is important.

The Density blocks should be labeled according to the level of theory as follows:

Total SCF Density (this should be the label for both HF and DFT)
Total MP2 Density (don’t prepend ‘DF’ to any methods when using density-fitting)
Total MP3 Density
Total MP4 Density
Total CC Density
Total CI Density

Spin Density should be labeled similarly:

Spin SCF Density (this should be the label for HF, DFT, and CASSCF)
Spin MP2 Density
Spin MP3 Density
Spin MP4 Density
Spin CC Density
Spin CI Density

  1. Don’t write the Beta blocks for RHF jobs, as their presence makes 3rd party apps think that the level of theory is UHF, and that in turn leads to unnecessarily expensive calcs

  2. If canonical orbitals have been removed from the basis due to S_TOLERANCE, then the “number of independent functions” in the .fchk file should be the resulting number of canonical orbitals. Currently the “number of independent functions” always seems to be equal to the “number of basis functions”, which screws up parsing because the matrices aren’t nbasis x nbasis in this case.

  3. This wasn’t happening in v1.1, but in v1.2, writing the .fchk file triggers printing of the MOs to the output file, which bloats the file tremendously. I can’t figure out how to turn this off, but it is undesirable as a default behavior.