Closed tjbarnum13 closed 2 years ago
I'm for 1. and 3., since they're pretty easily implemented.
Do you want to try implementing it? For 3., pyspectools.units
has a kappa
function builtin already, which you can use to just use as a best-guess. If the user provides a specific rep. in the YAML, we can have it bypass the guessing.
Since all the simulation parameters are contained as SPCAT
attributes, I reckon we can just have a rep
keyword argument. The flag you would want to toggle is called quanta
in the .var template contained in pyspectools.pypickett.utils
.
Looking into the code a bit more, it seems that that value is determined using the __quanta_map__
dictionary class attribute:
For reference, from the CRIBSHEET:
Reduction-A, prolate (representation Ir): a 1 1 0 ,,,,,,,,,,,,,,,,,, Reduction-A, oblate (representation IIIl): a 1 -1 0 ,,,,,,,,,,,,,,,,,, Reduction-S, prolate (representation Ir): s 1 1 0 ,,,,,,,,,,,,,,,,,, Reduction-S, oblate (representation IIIl): s 1 -1 0 ,,,,,,,,,,,,,,,,,,
I might not have implemented those flags properly then; I'm not sure how linear/symmetric tops are treated w.r.t. the "representation" under the hood. For 3., we can modify around this line:
Closing this issue, since point two is not really feasible, and probably not in the scope for PySpecTools right now. If anyone else wants to work on building that we can make a new issue.
Currently, in treating asymmetric tops for SPCAT input, the reduction (A vs S) is specified by the presence of
Delta_J
vsD_J
in the YAML containing molecular constants. However, there is no explicit designation of the axis representation (I vs II vs III, r vs l) used in the fit, and the default is to run all asymmetric tops in the IIIl representation. This is dictated by the sign of the third entry on the third line of the .var/.par file: + for Ir, - for IIIl. The ideal situation would be to explicitly designate the axis representation in the molecule YAML file and set that representation for the SPCAT calculation. There are two issues:To address this issue, I suggest: