Procedures <Prev Next>

Walk-through of Simulating and Fitting a Simple Spectrum

Note: Clicking on the links to files below may (depending on the browser) show you the file contents as xml; to download the files right click on the link and select "Save Link Target As...".

This section walks through the typical steps that might be used for working on a spectrum. The example chosen is the infra-red spectrum of the bending vibration (ν2) of N2O, but the steps shown here are not specific to this spectrum. The file N2Onu2.ovr (right click the link and select "Save Link Target As..." to download the file) is provided for you to work through the steps in the analysis, which are:

  1. Loading the spectrum and setting up a basic simulation
  2. Assigning and fitting the spectrum
  3. Tools for understanding the spectrum - Fortrat plots and Energy Level plots.
  4. Adding a microwave spectrum.
  5. Using and fitting to an external (JPL) line list
  6. Fitting to data from multiple sources
  7. More advanced fitting - hot bands
  8. Band contour Fits
  9. Adding custom parameters - the "other" hot band
  10. Using HITRAN data
Steps 1 to 3 provide a basic introduction, with the following sections introducing more advanced features.

The spectrum provided is at a particularly high resolution spectrum (0.001 cm-1). The high resolution arises as the spectrum was taken on the far IR beam line of the Canadian Light Source and was provided by Brant Billinghurst; the file size has actually been reduced by a factor of 4 by averaging over 0.0005 cm-1. The spectrum, and this walk-through were prepared as part of a workshop on "Synchrotron Based Far Infra-red Vibrational Rotational Spectroscopy" organised by Brant Billinghurst and the Canadian Light Source on 26-27 June 2015.

1. Loading the spectrum and setting up a basic simulation

Loading and Viewing the Spectrum

To view the spectrum, start the PGOPHER program and drag and drop the N2Onu2.ovr file onto the PGOPHER window (or use "File", "Load Overlay…"). To view selected parts of the spectrum, select the required portion with the mouse and press the zoom to selected () button. The other key controls are:

Simulate Spectrum
Compress plot to show all lines – use this if no spectrum is visible or you are lost
Pan plot left or right

Compress Plot

Expand plot

Cycle through various plot styles.

The spectrum shows the the classic P, Q and R branch structure associated with a perpendicular band of a linear molecule:

To simulate this, select "File", "New", Linear Molecule". This gives a simulation of the rotational structure of a vibrational transition of a linear molecule with rotational constant 1 cm-1 and band origin (≈ vibrational frequency) 1000 cm-1, placed below the experimental spectrum. To start with we will just look at the P and R branches and ignore the Q branch (the strong central feature). This means the energy level formula is very simple:

E(J) = Origin + BJ(J+1)

to which we will consider adding centrifugal distortion terms −DJ2(J+1)2 + HJ4(J+1)4, though they are not essential for this exercise.

Saving Files

This would be a good point to start saving files. Note that, when saving, the experimental overlay and simulation parameters are saved in separate files. Simply using “File”, “Save” will save a .pgo file that only contains (at this point) the rotational constants and band origin. Later on it will contain some assignments. To save the overlay (if required) use “File”, “Save Overlay”, though it is often easier to reload from the original file.

Manual Adjustment of Parameters

To adjust the constants the program uses select "View", "Constants" which brings up the Constants Window. The most obvious thing to adjust is the band origin (approximately the band centre) to place the band in about the right place. Click on the v=1 entry under Excited and set Origin to 590. Press the simulate () button to update the simulation and use the zoom to selected () button to just display the band of interest.

The next obvious thing to adjust is the band type - the default spectrum is missing the central Q branch. This is fixed by setting the upper vibrational state symmetry to Π, as it has one quantum of the bending vibration. Click on the v=1 entry under Excited and set Lambda to Pi and re-simulate. This will introduce the Q branch to the spectrum:

The strong central Q branch has adjusted the scale so that the features to the left and right almost disappear. This is an artefact of the default parameters, which make the (unrealistic) assumption that the rotational constants are the same in both states. To investigate try making small adjustments to the B value in the upper state (underneath the Origin).

Mouse Adjustment of Parameters

This is a good application of the mouse adjust function – right click on B and select Turn on Mouse Adjust, after which the mouse wheel will step the rotational constant. You can click on different parameters to switch the adjustment to these; the "active" parameter is shown in bold. Hitting "Esc" stops the process and resets the value; using the menu will also stop the process but leave the adjusted value. If the default step size is too small or too big you can manually set the step size by entering a number under “Increment”. This mode can be confusing if left on, so remember to turn it off before the next stage.

2. Assigning and Fitting the Spectrum

Estimating the Rotational Constant

To improve the simulation requires more precise values of the rotational constants, B, for the upper and lower states. We could legitimately obtain these from the literature or ab initio calculations of the geometry, but for the purposes of the current exercise we will determine them from the spectrum. Try improving the simulation by manually adjusting B for the upper and lower states. To set the lower state rotational constant click on the v=0 entry under Ground. As a tip, the two rotational constants should be about equal, though not exactly to avoid issues with the central Q branch. (This dual adjustment is best not done with the mouse adjustment function.) The aim of this step is to be able to adjust the simulation until you can make a reasonable guess for the assignments of the lines, i.e. which line in the simulation  corresponds to which line in the experimental spectrum. This is best started with the low J lines around the band origin.

In the current case, setting rotational constants to about 0.5 cm-1 gives promising results as shown below. Possible assignments are indicated in blue.

(This plot is obtained with B' (Excited state B) = 0.502, and B" = 0.5, and zooming in to the central part of the spectrum.)

Line Position Assigning

The next step is produce a list of experimental line positions and the quantum numbers for the transition. When following the steps below, expect to have to make some corrections; the program is designed to make mistakes easy to detect and correct.

  1. Right click on one of the peaks in the simulated (lower) spectrum that you think you can assign. A Line List Window will appear:

    You will normally want to arrange the windows so that the simulation and the line list do not overlap. Selecting View, Arrange Windows from the main menu may help.
  2. All the lines close to the mouse (within a few pixels on the screen) will be shown selected, which will often catch more than one rotational transition. The intensity of the individual transitions (shown under Strength) is normally enough to indicate if you have a sensible selection of lines. The next step will ignore the weaker lines, or you can adjust the selected lines with the mouse. You can delete the unwanted transitions by selecting the required rows with the mouse and pressing the delete button, .
  3. Measure the corresponding peak in the experimental spectrum by dragging the across the peak with the right mouse button. (Press and hold with the right mouse button to the left of the peak, drag the mouse to the right of the peak, and release). The peak position will be determined from the spectrum and a marker indicating the determined position will be displayed. Note:
  4. Provided Auto is selected in the line list window, the "Position" column in the line window of the selected rows will change to the measured position of the experimental peak and the “Std Dev” column will be set to 1 to indicate a measured, rather than a calculated frequency. (If Auto is off press the Assign button to do this manually.)
  5. Repeat steps 1 to 4 to assign a few more peaks.
  6. To check that you have the correct assignments, press the "Test" button. The program will read and plot your assignments:
  7. If you enter the assignments indicated in the picture above, the "Test" button should give a picture like this:
  8. It is easy to miss-assign peaks, and wrongly assigned peaks can distort the subsequent fit quite badly An error might give a plot such as:

    To correct an assignment, select the corresponding rows(s) with the mouse and either:
    • Delete those rows with the delete button
    • Re-measure the peaks as in step 5 by dragging across the peak with the right mouse button.
    • Manually edit the values in the grid. You can temporarily remove an observation by setting the "Std Dev" to zero.

Note that the assignments are saved in the .pgo file when selecting File, Save along with updated constants.

Line Position Fitting

Given a reasonable number of assigned peaks you can perform a fit. At this stage only a few assignments are needed, and the fitting process will start by only trying to determine correspondingly few parameters.

  1. Select the parameters you want to float by going to the constants window (View, Constants) and set "Float" to "yes" by each of the parameters you want to float, by clicking on "no". At this stage appropriate constants to float are the upper and lower state rotational constants, B and the origin of the upper state.
  2. Click Fit in the line list window.
  3. If the results look reasonable, then press the "Fit" button (in the line list window, not the log window) repeatedly until the error converges. Note that the residuals and calculated positions displayed are the values before the fit, rather than after.
  4. If the fit does not look good, the Undo Fit button in the log or line list window; this will step constants back one fit cycle for each press. Use this and consider:
Complete the fit by measuring up all the P and R branch lines, or at least a reasonable selection of them. The file at this stage is available as N2Ostage1.pgo. For further refinements of the fit the residuals window is most useful. With all the P and R branch lines in it should look something like this:

Note the choice of x axis made here (the drop down in the top middle). The default is observation number, but the J has been chosen for the plot above. There is clearly a systematic trend in the residuals - perhaps the centrifugal distortion constant, D, should be floated? Floating both the upper and lower state D does indeed improve the fit, but reveals a couple of lines are fitting particularly poorly:

This is with my measurements - yours may well look different. Any specific measurement can be checked by right clicking on the point in the residuals window and selecting  "Show Transition". For best results the plot should be on quite an expanded scale - if "Show Transition" has just been used the expand plot button () will expand the plot about the transition of interest. With the transition indicated with the arrow above, the plot looks something like this:

It is clear from the top mark that I have been careless in measuring this particular transition. To remeasure, right click on the transition in the residuals window again, but this time select "Edit Point". This selects the transition in the line list window, and it can be measured again by right clicking and dragging on the experimental spectrum. Repeating this for the any other poorly fitting transitions and re-fitting should yield a random set of residuals, which is a sign of a good fit:

The file at this stage is available as N2Ostage2.pgo. At this stage you could also consider trying to determine H, but the residuals plot suggests it will not be determined, and indeed floating the upper and lower state H does not reduce the overall error, and the estimated errors in H are larger than the values determined. (Try fits with and without.)

3. Tools for understanding the spectrum

Various tools are available to understand the simulated spectrum and the underlying pattern of energy levels. Right clicking on an individual line will give the quantum numbers associated with the line (or the strongest lines close to where you click if there is more than one). The information is expressed in more than one way; on the left hand side are the quantum numbers always used internally, with extra information on the right hand side. For a complete list see the line list window documentation.

The Fortrat Diagram

The overall pattern can also be understood by turning on the Fortrat plot with the Fortrat button(). The resulting plot has the same horizontal axis as the main plot, but J as the vertical axis. This allows individual branches to be picked out. A symbol is plotted for each transition, and the size of the symbol proportional to the intensity:

The Q Branch

To finish the fit, we need to fit the central Q branch also. Zooming in it is clear that, while the basic structure is correct, the constants we have so far do not give the correct spacing:

In fact we need to take account of the fact that the upper state is degenerate, and consider l-doubling (known as Λ-doubling if the degeneracy is electronic).  The upper state is a Π state, and thus doubly degenerate, with two different parities for each J. The two different parities have slightly different rotational constants, so the energy level formula becomes:

E(J) = Origin + BJ(J+1)  ± qJ(J+1)

If you now assign some of the Q branch lines and float q (essentially the difference between the two rotational constants) for the upper state, you should be able to fit the entire spectrum. (Note that q for the lower state has no effect, as the lower state has Σ symmetry and is not degenerate.) The energy level plot should now show the splitting in the upper state clearly. For a perfect fit you may need to consider centrifugal distortion of q and float qD and possibly the higher terms. Note:

The file at this stage is available at N2Ostage3.pgo.

Saving the Line List to a Separate File.

As a final step, save the list of assigned line positions in a separate file; this allows more flexibility in fitting than is available from the line list window, and will be important for later. To do this, in the line list window click on "All" then "More", "Save to File","In Simple Format...". For the purposes of this exercise we will use the file name N2OIRv1.obs. This produces a text file, which is most conveniently edited with the Tabslave Editor, distributed with PGOPHER which has some special features to aid editing. (Any plain text file editor could be used, though not word processors as they can spoil the format.) The first few lines of the file are:
1 e 2 e 587.09236 1 .00079 : N2O_0.001....dpt - N2Onu2.ovr
2 e 3 e 586.25496 1 .00155 : N2O_0.001....dpt - N2Onu2.ovr
3 e 4 e 585.41791 1 .00228 : N2O_0.001....dpt - N2Onu2.ovr

The first line, NQN 2 specifies the format of the following lines. Each subsequent line has one observation with (in this case) 7 items for each:

 J'p' J"p" Observed    σ  Comment
1 e 2 e 587.09236 1 .00079 : N2O_0.001....dpt - N2Onu2.ovr

The first 4 items are the upper and lower state quantum numbers, upper state first (p is the parity). This is followed by the observed line position, and the estimated (relative) error (σ). The rest of the line is taken as a comment; the line list window has provided the calculated intensity of the transition and the name of the file used for the measurement (abbreviated in the above), but these can be omitted or replaced if you are using an alternative method of generating the line list. There are several other possible formats for line lists - see Line List Input File Format for more details. For example a "branch" type format is also available; the above could also be saved as:

 P(2) 587.09236 1 .00079  : N2O_0.001....dpt - N2Onu2.ovr
 P(3) 586.25496 1 .00155 : N2O_0.001....dpt - N2Onu2.ovr P(4) 585.41791 1 .00228 : N2O_0.001....dpt - N2Onu2.ovr

Energy Level Diagrams

The underlying energy level diagram can also be seen with "View", "Levels". The clearest plots are typically obtained by plotting EBeffJ(J+1) versus J, rather than simply E v. J. Beff is chosen empirically to give the clearest plots, usually close to the actual rotational constant. This "reduced" style of energy level plot makes deviations from the overall trend clearer. It can also plot the "observed" energy levels on the plot, calculated for the upper levels by taking the calculated energy for the lower levels and adding the observed energy, and vice-versa for the lower levels. This can reveal trends in errors (suggesting additional parameters are needed) and common difference failures. A good diagnostic for the current fit is obtained by:
Clicking on "All" should then give you a good idea as to the quality of your fit, and the pattern of energy levels, in this case the splitting between the two parities. You may need to use the vertical zoom buttons, and , to adjust the vertical scale. See the Energy Level Window for further information.

4. Adding a Microwave Spectrum

Combining data from more than one source is invaluable in improving the quality of fits. For the current example microwave data is available, so we will make use of that. The first step is to add the microwave spectrum to the simulation. All that is required is to add the relevant dipole moment to the model – the file constructed above only contains the v=1 – v=0 transition moment. The key steps are:
The tree of objects in the constants window (on the left) should then look like this:

The Simulation object contains parameters controlling the simulation, such as linewidth and temperature. The Ground and Excited objects are Manifolds, which contain one or more States (here v=0 and v=1). Manifolds can be used to group states together, with the only constraint on grouping that interacting states must be in the same manifold. For the simulation here, both states could be in the same manifold, though there is a slight speed advantage to keeping them separate. Along with the manifolds, Transition Moments objects (here <Excited|mu|Ground> and <Ground|mu|Ground>) contain one or more Transition Moment objects that link specific states. These are all under the higher level Molecule object; additional molecule objects could be added for isotopically substituted species, such as 15N14NO in this case. Additional Species objects could be added for completely unrelated molecules. For all these items, duplicate names under any given object should be avoided; they can be used when setting up the calculation in the first place but should be renamed when possible.

Pressing Simulate and then All should reveal a new set of pure rotational transitions at low frequency. In fact the microwave transitions are rather weaker than the infra-red transitions so they will not be visible on the same plot as the infra-red transitions. Zooming the plot into the 0-50 cm-1 range should show them. As microwave transitions are usually reported in frequency rather than wavenumber you may want to switch the plot units to MHz – use “Plot”, Units”, “MHz”. (Any simulation widths set will automatically be converted, but note the line assignments generated as above are not.)

5. Using and Fitting to an External (JPL) line list

Using a JPL Line List

A microwave line list is available from the JPL spectral line catalogue at Follow the “Catalog Directory with links” and look for entry 44004. The file is the line list in text format, and the first three lines look like:
Frequency/MHz FreqErr log10(I)DR   Elower gUP  Tag Qfmt Upper Qno   Lower Qno
25123.2460 0.0004 -6.7155 3 0.0000 3 -440041303 1 0 0 0 0 0
50246.3700 0.0130 -5.8150 3 0.8380 5 -440041303 2 0 0 1 0 0
75369.2240 0.0100 -5.2911 3 2.5141 7 -440041303 3 0 0 2 0 0

The quantum numbers are J, l and v. The file has been edited to remove the IR and hot band transitions. (These transitions are not normally included in JPL catalogue files. The pdf link on the JPL site provides information on the file.)

PGOPHER can understand and make use of .par files in various ways. To use it as a simple line list (i.e. as a list of frequency, intensity pairs) load it as an overlay. (Tip: to load at this point, without removing the previous overlay, right click on the .cat file in a file explorer and select “Copy” and then select “Overlays”, “Paste Another” in PGOPHER. Alternatively turn on “Merge” in the file menu before loading the overlay, and then turn it off.) Note you might need to adjust Jmax to reproduce the entire spectrum. This can be set at the state, manifold, molecule or species level, and defaults to 50 at the species level.

The .cat files have absolute intensities, in units of nm2 MHz. To force the experimental overlay to use these units, make sure the intensity units in the Overlays window ("View", "Overlays") are set to nm2MHzperMolecule at both the top level and the object. To make PGOPHER use the same units, set the same intensity units in the Simulation object in the constants window. For quantitative agreement on intensities, the dipole must be set correctly. Helpfully this is provided in the JPL documentation associated with the .cat file. The value (0.16083 D) should be entered as the strength parameter in <v=0|T(I)|v=0> in the constants window.

Fitting From a .cat Line List

The simulation and overlay of the microwave should look fairly similar at this point, but can be improved by using the line list for as input to a fit. This is (in principle) easy for .cat files, as PGOPHER can (in principle) take the assignments from the file without modification. To fit:
Fits should now work, though if you have been following the complete instructions above you will need to fix some now irrelevant parameters for sensible results. (The “Undo Fit” button might be needed here and, in the constants window, "Fix", "Fix All Parameters...", "Mixture".) The residuals window is, as before, essential in tracking the progress of the fit (“View”, “Residuals” if not already visible). Note that contains a wide range of observation weights (= standard deviation of the observations), so you may want to set the plot to “Unweighted Obs-Calc” to understand the fit in the early stages. It also contains a mixture of calculated and observed line positions, and PGOPHER will use only the observed line positions for fitting by default. The file provided seems sufficient to determine B, D, H and L for the ground state. In addition to make the text displayed in the log window useful you will need to increase the precision of the displayed values - the Precision setting at the top level should be increased to 7 or 8. (Click on the N2Ostage.pgo at the top of the tree to set this.)

It is also possible to fit the dipole moment to the intensities in the file. To do this:

The file at this stage, after fitting ground state rotational constants and dipole moment is available at N2Ostage4.pgo.

6. Fitting using multiple sources of data

To produce a best overall fit, using both the infra-red and microwave line positions, the lines are best placed in separate text files. The line list window is convenient for getting started in fitting, but for anything other than the simplest fits a setup along the lines described below is much more flexible. See List Input File Format for full details of the format of the observation files.

From the instructions above, we have two files, N2OIRv1.obs. with the infra-red data and To combine these we need a control file with the following contents:

Colour Red
include N2OIRv1.obs
Colour Blue

Save this as N2Ocombined.obs and:

The Colour directives in the control file govern the colour of the points in the residuals window, and this makes it very clear that the relative estimated errors of the two data sets need adjustment:

The microwave data has weighted residuals, (Observed-Calculated)/Estimated Error, in the range of -3 to +3, which is as expected if the estimated errors correspond to one standard deviation, and indeed the .cat file has an individual uncertainty assigned to each line. The infra-red data has a much smaller range of residuals, suggesting estimated error is much too large, and indeed the default of 1 that we used above is much larger than the resolution of 0.001cm-1. (Note that only the relative magnitudes of the estimated errors are important in fitting, so the default of one is normally adequate if the data is all from the same source.) We could edit the estimated errors in N2OIRv1.obs but it is easier to add an override in the control file, as in:

Colour Red
ScaleStdDev 0.001
include N2OIRv1.obs
Colour Blue
The ScaleStdDev directive scales all subsequent estimated errors by the value given, or 1 if no value given. In fact just scaling by the linewidth still looks like too large an error:

and a better guide is the average error in the infra-red fits, 5×10-5. Using ScaleStdDev 5e-5 gives:

The relative errors now look good, but there is clearly a systematic error in the infra-red data. We can now do a combined fit, floating everything we have floated before - B, D, H and L in the ground state, and the Origin, B, D, q and qD in the excited state. A few fitting cycles gives:

suggesting a good overall fit. The files at this stage are N2Ostage5.pgo and N2Ocombined.obs.

7. More Advanced Fitting - Hot Bands

If you look carefully at the infra-red spectrum you can see two additional weak Q branches in the spectrum, at 579.36 cm-1 and 588.98 cm-1. (The expand vertical scale button, , is helpful in seeing the latter.) These are due to hot bands, i.e. transitions where the lower state is a vibrationally excited state, and in fact for these two branches the lower state is actually the upper state of the infra-red transition we have been working on so far. We expect P and R branches associated with these Q branches to be present also, but are going to be rather difficult to spot.

The v2=2 state of N2O will actually have two components with bending quantum number l = 0 and 2 corresponding to  Σ+ and Δ symmetry respectively. To set up the data file to include these perform the following steps in the constants window; we will start by just adding a single state.

  1. Duplicate the upper (v2=1) state of the infra-red transition by right clicking on "Excited" and selecting "Copy With Linked Items" then right click again and select "Paste".
  2. Some renaming is called for - the names are arbitrary, but to reduce confusion right click on "Copy of Excited", select "Rename" and enter "Second". Right click on "v=1" below Second, select "Rename" and enter "v=2".
  3. This has copied the constants from v=1 to v=2 which is a reasonable starting point for B but not the origin, which will be about twice that for v=1. Try 1176 for this - click on v=2 and enter this at Origin.
  4. Pressing the simulate button and then "All" will show that the 2-0 overtone band is now visible in the spectrum. This is not the required hot band, which we fix by right clicking on <Second|mu|Ground>, selecting "Rename" and changing "Ground" to "Excited" in the resulting dialogue box.
  5. This will not (yet) produce any transitions in the simulation. To make PGOPHER consider a manifold (such as Ground or Excited here) as an initial state in a transition the Initial flag must be set. Click on "Excited" and change Initial from False to True.
  6. There should now be some hot bands in the simulation, but they are likely to be difficult to see as they are so weak. As a quick fix, set the vibrational temperature, Tvib, to 3000 K. (Click on the Simulation object in the constants window for this.) This allows a different effective temperature for the distribution over rotational and vibrational energy levels, which you may need to simulate spectra in some circumstances.
  7. To distinguish spectra from multiple sources colour coding can help. Click on v=2 and change Colour to Navy. Clicking on the "Individual Spectra" button, , will then show the hot bands in blue. You will need to turn off the display of the overall spectrum with the "Show Sum" button, . Also try cycling through the various plot styles with the "Next Plot Style" button, .
Your plot should now look something like this (the vibrational temperature, Tvib has been reset to the default (-1) for this, implying the rotational and vibrational temperatures are the same).

The data file at this stage is available as N2Ostage6.pgo. The object tree at this stage looks like:

Note there are several possible transition moments that could be added to this picture, including <v=1|T(1)|v=1> under a <Excited|mu|Excited> transition moments object (which would give microwave transitions within v2=1) and <v=2|T(1)|v=0> under a <Second|mu|Ground> object which, as we saw above, would simulate an overtone transition.

To fit the Q branch at 579.36 cm-1:

  1. Adjust the v=2 Origin so the Q branch hot band is in about the right place.
  2. The state type will not be right - try both Σ+ and Δ for v=2. For the Δ state both q and qD should be set to 0, as l doubling is typically too small to be observed. (To avoid confusion they should also be cleared for the Σ state, but only because they are ignored for a Σ state.) This is a good application for the mouse adjust function (F3) as only the upper state constants (v=2) need adjusting. Good values for the increments are 0.001 for the Origin and 1e-5 for B. In addition the way lines merge is important for the appearance of the spectrum here, so a width should be added to the simulated spectrum. Try setting the Gaussian width of the spectrum to 0.001 in the Gau box at the top of the main window.
  3. The difference between Σ+ and Δ is fairly subtle - the band selected is actually Σ+,  and visually the difference is that the transition to the Δ has two branches, corresponding to the two different parities. Compare (Σ+, Origin=1168.1305, B=.41992 available as N2Ostage7.pgo):

    with (Δ, Origin=1168.1305, B=.41915):
Even given the assignment of the state symmetry, the assignment of individual lines is awkward as the numbering of the of the peaks is not easy to establish. This is made more difficult in this case, as the centrifugal distortion constant, D, is important in determining the appearance of the spectrum, and also the Q branch only nature of the spectrum means that common differences are not available. A possible approach is to assign the band head as the lowest J transition (Q(1) in this case), and then try a few different assignments.  The possible assignments will only differ in J, and this is easiest to change if the line list is in a text file. Try the following:
  1. Bring up the line list window ("View", "LineList") and use "Clear" to empty it. (The assignments currently in this window have been saved above.)
  2. Assign as many lines as possible, floating the upper state Origin, B and D to help this. It should be possible to assign 20 or so lines with relative J values correct even if you are not sure as to the absolute numbering, so the band head won't necessarily look right
  3. Save the assignments in Branch format to a text file. (In the line list window use "More", "Save To File", "In Branch Format..." and save it to N2OIRv2SigmaBr.obs).
  4. This file requires a little editing before it can be used for fitting; the upper and lower states must now be specified as the edits above means there is now a choice. Edit the file so it starts with:
    UpperManifold Second
    UpperState v=2
    LowerManifold Excited
    LowerState v=1
        Q(7)  579.3595            1 5.8582  : N2O_0.001....dpt - N2Onu2.ovr
        Q(8)  579.358             1 6.4287  : N2O_0.001....dpt - N2Onu2.ovr
        Q(9)  579.35695           1 6.9292  : N2O_0.001....dpt - N2Onu2.ovr
  5. In the branch format it is easy to slide all the assignments along by one - simply change Q(7) to Q(8), Q(8) to Q(9) and so on. Alternatively the BranchExpr format format can be used by editing the file to look as follows:
    UpperManifold Second
    UpperState v=2
    LowerManifold Excited
    LowerState v=1
    BranchExpr Q(J)
      7 579.3595            1 5.8582  : N2O_0.001....dpt - N2Onu2.ovr
      8 579.358             1 6.4287  : N2O_0.001....dpt - N2Onu2.ovr
      9 579.35695           1 6.9292  : N2O_0.001....dpt - N2Onu2.ovr
    (Versions of PGOPHER after 9.0.116 can also save directly to this format from the line list window). To offset the assignment replace BranchExpr Q(J) with BranchExpr Q(J-1) or BranchExpr Q(J+1).
  6. Using either of the methods above try a few different assignments, and look at the overall quality of the fit, and how well the band head is reproduced. An offset of 2 from the assignments given above gives the best fit to the band head:

The resulting files are available as N2Ostage8.pgo and N2OIRv2SigmaBrEx.obs.

8. Band Contour Fits

The spectrum above shows only partially resolved rotational structure, and it may be worth trying a contour fit in these circumstances. This fits directly to the observed spectrum, rather than to line positions. While it sounds easier (in that assignments are not required) a good starting point is required as peaks must typically be within half a linewidth of their true positions for the fit to succeed. For a spectrum like the one used here contour fits only make sense as a follow up to a standard line position fit. See Contour Fitting for a full description.

For the current spectrum we use a slice of the original spectrum at full resolution without averaging; this is available at N2Onu2Sigmaonly.ovr. (Fitting to the entire spectrum would not make sense.) Try the following steps:

  1. In the overlays window (View, Overlays), click on the topmost item and ensure that "IntensityUnits" are set to "Normalized" in both objects.
  2. In the constants window (View, Constants) and click on "Fix", "Fix All Parameters" and select "Mixture"  to ensure that no molecular constants are floated to start with.
  3. The first parameters to be floated must be the scale and baseline of the overlayed spectrum. In the overlays window (View, Overlays), float Scale and Baseline (click in the float column so it reads “yes”).
  4. In the log window (View, Log) choose "Contour" as the fit type in the top left. On pressing the "Fit" button the main window will change to show two plots. The upper plot shows the residual (the difference between the experimental spectrum and the simulation) is shown in the main window (see below for an example) and the lower plot the experimental and observed spectra simultaneously. After a few cycles it should look like:

  5. This is actually quite good already, but try floating the linewidth (Gaussian under the Simulation object in the constants window), and Origin, B and D for the upper state. You will find that the fit requires some help to converge - the "Undo Fit" button, , is essential here. A specific problem here is that the default increments used for calculating derivatives for the least squares fit are too large. This is a fairly common problem, which is why the constants window allows setting an increment for each parameter. Derivatives are calculated by repeating the simulation with the parameter displaced by the increment, and taking the difference from the initial simulation. Try floating one extra parameter at a time, and if the fit diverges use undo fit to step backwards to sensible values and then experiment with the increment for the parameter. (Try 1e-8 for the Origin and 1e-13 for B). In this case a minor improvement in the simulation is possible:

The final file is available as N2Ostage9.pgo. The overlay values used were Baseline=0.02664, Scale=91699.

9. Adding Custom Parameters - The Other Hot Band

The Δ - Π hot band at 588.98 cm-1 is left as mainly as an exercise for the reader, but some tips are in order:
  1. There are two different branches (corresponding to e and f parities, showing as Qe(J) and Qf(J)) - turn on the Fortrat plot to see this. There is significant overlap between the two, so right clicking will often select more than one transition. If this occurs, consider deleting one or more of the lines before measurement. For initial fitting at low J the f transitions are stronger, so try fitting the f transitions only to start with.
  2. There are several possible ways to do this; in fact I picked out a few f transitions and used the BranchExpr technique described above to shift the assignment. To add more transitions I then used the line list window as follows:
    1. Clear the line list window.
    2. Assign a few lines (Right click on the simulation, right click and drag on the experimental spectrum.)
    3. Add to the line list file by pressing "All", "More", "Copy Branch Table" in the line list window and using paste in the editor with the line list file open.
    4. Fit with the new data, and then repeat from step 1.
    The final line list file, N2OIRv2DeltaBrEx.obs then contains a mixture of formats for the observations.
  3. Despite the earlier comment about l doubling being typically too small to see for Δ state the resolution here is sufficiently high to observe it, so q must be floated for the Δ state.
  4. Even more unusually the centrifugal distortion of q is also determined. This is not included in the standard PGOPHER terms, but illustrates nicely how perturbations can be used to add non-standard terms in a general way. See Λ Doubling and perturbation objects for more details.
The final file is available at N2Ostage10.pgo includes this perturbation. The object tree looks like:

The two v2=2 states, v=2 (the Σ+ state) and v=2Delta (the Δ state), have been put in the same manifold (Second). These states, which are close together in energy, are a typical case where one state might perturb the other so putting then in the same manifold makes sense. This would allow the addition of a Perturbation object to the manifold to model the interaction. No interactions are observed here, so the two states could equally be put in separate manifolds.

Left as an exercise for the reader is adding P and R branch transitions from the hot bands to the observed line list - there are some visible.

10. Using HITRAN data

Line lists from the HITRAN database (or line listings with the same format) are understood by PGOPHER and can be used in several different ways. At its simplest, the line positions and intensities can be overlaid as an "experimental" spectrum, but the files can also be used as input to line position or intensity fits (PGOPHER can use the quantum numbers in the file directly) or imported as an external source allowing more general application of many of the features of PGOPHER, such as energy level plots, in addition to standard simulations. See Using HITRAN files for further details.

The file N2OHITRAN2012v2edit.par was obtained from HITRAN, in this case by using HITRAN on the web at Browse to “Molecules”, select Nitrous Oxide (molecule 4), select the ν2 band (0110 - 0000), hit “Simulate Spectrum” and then select “Numerical Representation” and save the resulting text. To trigger PGOPHER’s processing of HITRAN files the extension should be .par.

Alternatively, use the newer HITRAN online at Select “Data Access”, “Line-by-Line”, “N2O”. In the “Select isotopologues” page select 14N16O only. The frequency ranges can be left at the default, but for the current exercise “Select vibrational bands” is required. This option is only available if you are logged in to the site, and “Select by band” is turned on in your profile. In this case select “Upper state” = 0 11 0 (1), “Lower state” = 0 00 0 (1) and make sure the output format is selected as “.par (160 chars)”. Use the link to download the generated .par file.

This .par file can be used as an overlay - drag and drop the the .par file onto the PGOPHER window of use "File", “Load Overlay...”. The .par files have absolute intensities, in units of cm2 cm-1 Molecule-1 at 296 K. To force the experimental overlay to use these units, make sure the intensity units in the Overlays window ("View", "Overlays") are set to cm2WavenumberperMolecule at both the top level and the N2OHITRAN2012v2edit.par object. To make PGOPHER use the same units, set the same intensity units in the Simulation object in the constants window.For the simulated intensities to be correct the transition dipole must be set correctly; this is the Strength parameter of <v=0|T(I)|v=0> in the constants window. Manual adjustment suggests a value of 0.04 D is required.

The .par file can also be used as a line list for fitting, in the same way as the .cat files described above. If you try that for the supplied files position fits suggests a systematic error of 0.0002 cm-1 at low J (about 1/3 of the linewidth, probably the result of a small calibration offset) increasing to higher J (suggesting HITRAN is derived from a larger range of J than here). You will also see a systematic difference in intensities, suggesting a Custom Transition Moment is required.

HITRAN files can also be imported into PGOPHER using “File, Import, HITRAN File....” The resulting file will produce simulations in the normal way, allowing the temperature and linewidth to be adjusted and right clicking on any transition will give the underlying quantum numbers. Note however, that two extra steps will normally be required to produce complete results:

  1. If more than one isotopologue is present in the file the abundances for each will need to be entered manually. Importing the complete HITRAN file for N2O  will produce several HITRANMolecule objects named 41, 42, 43, ... corresponding to the HITRAN numbers. 41 corresponds to the main isotopologue, and the others can be deleted or the Abundance set to the correct value in the Molecule object. (Strictly the abundance should be set to 0.990333 rather than the default of 1)
  2. By default, the partition function is calculated by summing over the energy levels deduced from .par file. This can give a good starting point, but may not be correct. This is because relevant levels may have been excluded from the HITRAN line list and also the process of deducing the effective energy level pattern from the line list is not foolproof. (Any error this introduces will not affect relative intensities at a given temperature.) To correct this, specify the partition function as a table of values using an Interpolated Partition Function. To add this, right click on the HITRANMolecule object and select "Add New...", "Interpolated Partition Function" and then right click on the Interpolated Partition Function object, select "Load..." and then select a file with the required values. HITRAN online makes the requiered file available under "Documentation", "Isotopologues". Look for the link to q21.txt.
An exercise for the reader is to use this import process to verify the assignments above.