I was trying to assign weights to each state in a CASSCF PES scan using nroot=2 in Gaussian. I specified 0.500000 0.500000 at the end of .com file. But it caused the program to assign the weight for the first calculation only. All the rest points of the scan had weights 0 and 0, which I don't want to have. I referred to the Gaussian manual which states

StateAverage: Used to specify a state-averaged CASSCF calculation. All states up to NRoot are averaged. This option requires the weighting of the various states to be input in format $n$F10.8 (no trailing blank line).

But I don't understand what is this nF10.8 format means and if it could help me solve the problem to assign the weight in each step of the scan. I tried writing 0.500000 0.500000 one after the another for say 50 points and I could see the required weight has been assigned. Can someone clarify the meaning of the nF10.8 format? I searched on internet but I couldn't find any helpful material.


It is a Fortran format specifier.

It means

  • $n$: repeat the input $n$ times, once for each weight
  • F: input is a floating-point number
  • 10.8: the number is of total width 10 (including the decimal point), and has 8 digits to the right of the decimal point

This means the number cannot have more than one digit to the left of the decimal point, which makes sense since weights should all be $< 1.0$.

| improve this answer | |
  • $\begingroup$ Thanks for the answer. So in order to write 0.500000 0.5000000 50 times, shall I write ` 0.500000 0.500000 <br/> 50F10.8` <br/> ?I want to know how to implement it too for the above mentioned problem. $\endgroup$ – Chemist Nov 14 '17 at 15:35
  • 1
    $\begingroup$ I can't test it, because I don't have access to Gaussian, but that sounds appropriate. You say yourself in the question that it works. $\endgroup$ – pentavalentcarbon Nov 14 '17 at 15:57
  • $\begingroup$ @Chemist , I think that you just have to write the numbers one next to the other, first number starting at column n, the second one starting at col. n+10, etc... (using the format explained in this answer) $\endgroup$ – user1420303 Nov 14 '17 at 22:28
  • 1
    $\begingroup$ I mean, without any separator character and using ten characters for each number $\endgroup$ – user1420303 Nov 14 '17 at 22:31
  • 1
    $\begingroup$ That is probably the safest approach. To be honest, I have no idea how the scan works, and this is really a software support question. I only know what 'nF10.8' means. $\endgroup$ – pentavalentcarbon Nov 14 '17 at 23:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.