Objects <Prev Next>


This is the topmost object in the hierarchy, and there will be only one of these objects for a simulation. It contains settings controlling details of the calculation, such as the units used. The data files PGOPHER uses (.pgo) thus contain one mixture, with all other objects contained within it, and the name of the mixture will normally be the name of the file. The Mixture object contains one or more Species and Simulation objects and an optional Correlations object.

Note that many of the parameters were moved into the Simulation object in version 5.2.


Units Units for calculation of frequencies/energy - valid values are cm1 (cm-1), MHz, Kelvin and eV. The key change this makes is in calculating Boltzmann factors from temperature and for selected intensity units; the units are otherwise not significant.
PrintLevel Controls the amount of printout in the Log window. Possible values, in order of increasing amount of output are:
  • None: no output
  • Default: Mainly for internal use, but as None
  • Minimal: Currently as None
  • CSV: Show line list in comma separated variable (.csv) format, suitable for import to spreadsheets or other programs.
  • Text: Show line list with the fields separated by tabs, suitable for import to spreadsheets or other programs.
  • Binary: Show line list in binary format, for quick import into other programs. See Binary Line List Format for how to do this.
  • Detail: Show symbolic matrix elements associated with each constant, where available.
  • LineList: As Detail, and show individual lines also
  • EigenVectors: As LineList, and show details of all calculated states, including eigenvector make up
  • Hamiltonian: As EigenVectors, and show all Hamiltonian matrices
  • Matrices: As Hamiltonian, and show (almost) all matrices, including transition matrices
  • All: All possible output; this setting can force more output while fitting.
Precision Precision of printout (decimal places after the point).
BasisOrder How to order the basis states making up a basis. Valid values are: boDefault, boDiagonal and boStateDiagonal.
QuantumNumberFormat Controls how quantum numbers are read and displayed. Possible values are:
  • J: Values are displayed as integer or integer + 0.5, such as 2 and 3.5. On input, strings contain /2 are also accepted, such as 7/2 (=3.5)
  • 2J: All quantum numbers are doubled, and always display and must be read as integers. This was the default for very early versions (before 5.2).
  • 2J+1/2: The value displayed is the quantum number + 0.5, but otherwise as for J
  • 2J-1/2: The value displayed is the quantum number - 0.5, but otherwise as for J
Note that the definition of quantum numbers includes the rank and component of transition moments, so this setting is only recommended for use in input files for least squares fitting.
FitCycles Number of least squares fit cycles to do on each press of a "fit" button.
If true, display more information following a fit, currently a singular value decomposition of the parameters.
AutoReplot If false, automatic recalculation of the simulation is disabled in some circumstances. Use if the program is running slowly.
AllowComplex If set, calculations will be performed using complex wavefunctions if there are matrix elements that require it. Otherwise purely imaginary matrix elements are multiplied by -i to force them to be real. This often has no effect on the calculations, but there are circumstances where the calculation is wrong if the matrix elements are not allowed to be complex. Circumstances in which it is not significant include cases where the factor of -i is simply equivalent to a different phase choice for the basis states, or where the interaction involved is sufficiently small that second order perturbation theory gives a good result, as the energy shift essentially depends on the square modulus of the matrix element.
NoLineList Disable the use of recorded line lists during simulations. This disables some features, such as the ability to right click on a line to identify it, but allows larger calculations to be performed. For example, the maximum J in a simple asymmetric top calculation is increased from about 200 to 500 with this setting.
Show estimated uncertainties of line positions in the line list window and in line lists (use PrintLevel = LineList or Export a line list from the File menu). This requires the standard deviations and correlation matrix from a fit to be present in the file, typically from a preceding fit. Note also that this can considerably slow down the calculation.
ShowDerivatives Show derivatives with respect to parameters in line lists.
SVDlimit Number of contributions to show for each SVD vector; 0 for all.
Include sub-basis labels in quantum number display. These are shown enclosed in {}.
Set to allow lines with zero calculated intensity are permitted when fitting to intensities
Scale parameters when fitting using derivatives. If this is False then SVDThresh is likely to need adjustment.
Set for a more consistent phase definition for transition moments; see the discussion at the end of Transition Moments and Line Strengths for more details.
OldHyperfineOrder This controls the order of J and F values within a given basis, and is only likely to be useful for compatibility with older versions. The default order from version 10.0.502 has the quantum numbers in increasing order; set this True to force a decreasing order, which was the only possibility in earlier versions. In most cases this will make no difference, but the newer default can provide better quantum number assignments under some circumstances. For this to have any possibility of an effect hyperfine structure must be present, and BasisOrder must be boDefault.
OldColourOrder Set to use the older algorithm (before 10.1.160) for determining colours for transitions, where the state/manifold ordering was determined by the order in the constants window, rather than energy order. See Determining Colours and J ranges.


SVDThresh In least squares fitting, discard singular values below the given value. This stabilizes badly behaved fits, where little or no information is available about certain parameters, or combinations of them. The singular value decomposition is shown in the log window when some values are discarded. The default (10-6) is chosen to catch obvious errors, such as floating both upper and lower state origins of a transition, but may need adjustment.

If ScaledParameters is False then the cut off is SVDThresh times the largest singular value, and SVDThresh values around 10-15 are more likely to be appropriate. (ScaledParameters was introduced in version 8.0.390, and previous versions did not do the parameter scaling, and the default for SVDThresh was 10-15.)

A negative value here implies an alternative least squares method is used, specifically a QR factorisation using the LAPACK routine DGELS.
ScaleChanges In least squares fitting, scale proposed changes in parameters by this; the default is 1, but smaller values may help fits with convergence problems.
Matrix elements smaller than this are discarded.
Robust If not zero, adjust estimated errors using σi = (σi2+Robust*((Obsi-Calci)/σ)2)½, giving less weight to larger errors. σ is the root mean square weighted error before adjusting the weights.