Pickett’s SPFIT/SPCAT program suite, available from JPL Molecular Spectroscopy, stands as a cornerstone tool for analyzing and predicting high-resolution spectra. It is especially useful for spectroscopic databases essential in atmospheric and astrophysical research. This guide offers an introduction to SPFIT/SPCAT, focusing on key aspects for beginners.
Understanding SPFIT/SPCAT
The strength of SPFIT/SPCAT lies in its flexible molecular Hamiltonian construction and efficient internal matrix factorization. This combination allows the software to handle a wide range of molecular problems with speed and precision. However, SPFIT/SPCAT is known for having a steep learning curve.
This guide provides notes based on practical applications of Pickett’s SPFIT/SPCAT, aiming to complement the official documentation. Keep in mind that program updates may supersede some information, so always refer to the latest documentation.
SPFIT: The Fitting Program
SPFIT is designed to fit spectroscopic data to determine molecular parameters. Here’s a breakdown of its inputs and outputs:
Inputs:
*.par
: This file contains control flags, declarations, and values of constants. It is crucial for setting up the fitting process.*.lin
: This file lists the transitions observed in the spectrum.
Outputs:
*.bak
: A backup of the original*.par
file, created at the beginning of each fitting run.*.par
: The modified*.par
file, now containing the refined constants resulting from the fitting process.*.var
: Similar to*.par
, but includes errors and the Cholesky decomposition of the correlation matrix. This is essential for use with SPCAT.*.fit
: The main output file, containing detailed results of the fit.*.bin
: A binary output file containing parameters and variances (now obsolete).
Linear Top Molecules in SPFIT
For linear molecules, the third line in the *.par
file defines quadrupolar interactions. For example, with a single quadrupolar nucleus (I=3/2):
s -4 1 0 ,0 , , , , , , ,
For three quadrupolar nuclei (I1=3/2, I2=1, I3=1, F1,F2,F coupling):
s -334 1 0 ,0 , , , , , , ,
For three quadrupolar nuclei (I1=3/2, I2=1, I3=1, I,I1,F coupling):
s -334 1 0 ,0 , , -1 , , , , ,
Remember to explicitly set KNMAX
to zero. Use WTPL
and WTML
in the case of symmetry-equivalent nuclei. Important constants include 100 B
and 20000 B -30000 C
(set to follow the value of B). Note that constants with identical values by symmetry must be declared in this way. For spin-rotation, for example, use:
10020000 -M.bb -10030000 -M.cc
In the *.lin
file for a single quadrupolar nucleus:
J' F' J'' F'' 0 0 0 0 0 0 0 0 freq error weight
Symmetric Top Molecules with h3 Term
For symmetric tops, the third line in the *.par
file uses -1 to define the symmetric top, 1 for prolate symmetry (change to -1 for oblate):
s -1 1 0 ,,,,,,,,,,,,,,,,,,
Important constants (prolate):
10000 A 20000 B -30000 C (set to follow the value of B) 60000 h3
Alternatively:
1000 A-B :prolate 3000 B-C :oblate 100 B
In the *.lin
file:
J' K' J'' K'' 0 0 0 0 0 0 0 0 freq error weight
K=3 (K=6 etc.) doublets are specified as:
J+1 -3 J 3 0 0 0 0 0 0 0 0
J+1 3 J -3 0 0 0 0 0 0 0 0 etc.
Asymmetric Top Fits
For a standard asymmetric top fit, the third line in the *.par
file varies based on the reduction and representation:
- 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 ,,,,,,,,,,,,,,,,,,
You can fit linear combinations of constants. For example, for prolate (B+C), (B−C):
20000 value /(B+C)/2 -30000 value
40000 value1 /(B-C)/4
or:
20000 value /(B+C)/2 -30000 value
20000 value1 /(B-C)/2 -30000 -value1
In the *.lin
file:
J' K-1' K+1' J'' K-1'' K+1'' 0 0 0 0 0 0 freq error weight
Coriolis Coupling Between Asymmetric Rotor Vibrational Levels
The lower level is v=0, and the upper is v=1. Constants include:
10000 A rotational constant for state v=0 etc.
10011 A rotational constant for state v=1 etc.
11 Delta E i.e. difference in vibrational energies of the two states
200001 i G.a P.a
210001 F.a (P.b P.c + P.c P.b)
400001 i G.b P.b
410001 F.b (P.c P.a + P.a P.c)
600001 i G.c P.c
610001 F.c (P.a P.b + P.b P.a)
The third line in the *.par
file (A-type, prolate):
a 1 2 0 ,,,,,,,,,,,,,,,,,,
In the *.lin
file:
J' K-1' K+1' v' J'' K-1'' K+1'' v'' 0 0 0 0 freq error weight
Asymmetric Rotor with a Single Quadrupolar Nucleus
Round spin quantum numbers to the nearest integer. Specify independent quadrupolar constants as:
110010000 1.5 Chi.aa :Prolate
110040000 0.25 (Chi.bb-Chi.cc)
110030000 1.5 Chi.cc :Oblate
110040000 0.25 (Chi.bb-Chi.aa)
110610000 Chi.ab :Prolate and oblate
110210000 Chi.bc
110410000 Chi.ac
The third line in the *.par
file (A-type, prolate, spin 3/2):
a 4 1 0 ,,,,,,,,,,,,,,,,,,
The third line in the *.par
file (S-type, oblate, spin 3/2):
s 4 -1 0 ,,,,,,,,,,,,,,,,,,
In the *.lin
file:
J' K-1' K+1' F' J'' K-1'' K+1'' F'' 0 0 0 0 freq error weight
SPCAT: The Predictive Program
SPCAT uses the molecular parameters from SPFIT to predict transition frequencies and intensities.
Inputs:
*.var
: Contains constants, errors, and the correlation matrix from SPFIT.*.int
: Contains information for intensity calculation, including the rotational partition function.*.bin
: Binary version of parameters and variances (obsolete).
Outputs:
*.out
: The main output file with energies and transition frequencies.*.cat
: The catalog file, containing calculated transitions in an 80-column format. It is sorted by frequency and serves as input for merging programs.*.str
: Output of transition dipoles.*.egy
: Output of energy levels, derivatives, and eigenvectors.
Before running SPCAT, execute SPFIT, even with dummy data, to generate the required *.var
file.
Partition Function and Intensities in SPCAT
The *.int
file requires the rotational partition function, *Q*r, calculated by default for 300K. Specify the temperature directly (ninth parameter on the second line of the *.int
file) and the *Qr value for this temperature. A preliminary SPCAT run with the desired temperature will precalculate the Qr* value.
Common approximations for *Q*r:
- Linear top: *Q*r = kT/hB = 2.0837×10^4 T/ B ; B/MHz, T/K
- Symmetric top (prolate): *Q*r = 5.3311×10^6 (T^3/(B^2 A))^1/2 /sigma ; A,B/MHz, T/K
- Asymmetric top: *Q*r = 5.3311×10^6 (T^3/(A B C))^1/2 /sigma ; A,B,C/MHz, T/K
Dipole Moments in SPCAT
Specify dipole moments as:
1 x.xxx mua/D for state v=0
2 x.xxx mub/D for state v=0
3 x.xxx muc/D for state v=0
111 x.xxx mua/D for state v=1
112 x.xxx mub/D for state v=1 etc.
Common SPFIT Traps and How to Avoid Them
SPFIT, while powerful, presents several potential pitfalls. It’s important to avoid these to ensure accurate and reliable results.
- Trap 1: Misinterpreting parameter errors.
- Trap 2: Assuming a fit has converged prematurely. A fit is converged only when the current and predicted RMS ERROR values are identical, and the THRESH parameter is zero.
- Trap 3: Improper use of a priori parameter uncertainties (ERPAR). While useful for reducing the search range for correlated constants, ERPAR should be reset to be at least an order of magnitude greater than the resulting errors in the fitted constants in the final fit.
- Trap 4: Incorrect signs of quartic centrifugal distortion constants. Most quartic centrifugal distortion constants are negative relative to the usual convention.
- Trap 5: Inappropriate use of the DIAG parameter (twelfth parameter in third line of .par). It is usually best to commence a new problem with DIAG=0.
Postprocessing Programs
Several postprocessing programs enhance SPFIT/SPCAT:
- PIFORM: Formats the
*.fit
output for publications. - PISLIN: Checks for line duplication and sorts the
*.lin
file. - LINFIL: Filters and modifies a
*.lin
file. - CATFIL: Filters a
*.cat
file based on user-specified options. - ASCP_L: Graphics viewer of SPCAT predictions as stick diagrams.
Conclusion
Pickett’s SPFIT/SPCAT suite is an invaluable tool for high-resolution molecular spectroscopy. Understanding its structure, inputs, outputs, and potential pitfalls is crucial for accurate spectral analysis and prediction. This guide provides a foundation for beginners to start using SPFIT/SPCAT effectively. Remember to consult the official documentation and explore the postprocessing tools for advanced applications.