Some of you might rememember my posting on a better output for TPCD. Following the suggestions here I wrote the output myself and everything is fine. This posting is somewhat similar in topic but more general. I am not really sure if it really fits into this part of the forum, however I think it is an important point developers of new features should have in mind.
My point is on general readability of the output. Although my problems with TPCD are solved I will take this as an example. Properties like this often require e.g. rotational averaging (as it is done in the program e.g. for two-photon absorption) and therefore the elements of the relevant tensors have to be gathered and postprocessed. And this is the important point: Tensor elements from Dalton (as in the case for TPCD) are difficult to gather. Before I implemented my own output for this I could only get the tensor elements from the output by grepping in loops according to
Code: Select all
grep 'omega B' $1 | head -n $stateblock | tail -n $relevantblock | head -n $indexbundle | tail -n 6 | cut -b 63-75 >> rotstr_dipvel
grep 'omega B' $1 | head -n $stateblock | tail -n $relevantblock | head -n $indexbundle | tail -n 9 | head -n 3 | cut -b 63-75 >> angmom_dipvel
grep 'omega B' $1 | head -n $stateblock | tail -n $relevantblock | head -n $indexbundle | tail -n 12 | head -n 3 | cut -b 63-75 >> dipvel_dipvel
Code: Select all
omega B, excitation energy, moment : 0.064106 0.128212 1.110576
Code: Select all
sym, state, pert 1, pert 2, freq 1, freq 2, 2nd order moment: 1 1, XDIPLEN XDIPLEN 0.064106 0.064106 1.110576
I know that I can (and I am always allowed) to change the code but I think it would be a good thing for the user in general if developers of new features could keep in mind the needs of postprocessing when they write an output. This includes a general "greppability" (The possibility to gather results by grep from the output file) and also a reasonable order of the results.
To stress again: This does not focus on TPCD as the problems there have been solved. It is a more general thing and TPCD was a good example for this.