Duo: a general program for calculating spectra of diatomic molecules
  Duo is a general, user-friendly program for computing rotational, rovibrational and rovibronic spectra of diatomic molecules. Duo solves the Schr\"{o}dinger equation for the motion of the nuclei not only for the simple case of uncoupled, isolated electronic states (typical for the ground state of closed-shell diatomics) but also for the general case of an arbitrary number and type of couplings between electronic states (typical for open-shell diatomics and excited states). Possible couplings include spin-orbit, angular momenta, spin-rotational and spin-spin. Corrections due to non-adiabatic effects can be accounted for by introducing the relevant couplings using so-called Born-Oppenheimer breakdown curves.   Duo requires user-specified potential energy curves and, if relevant, dipole moment, coupling and correction curves. From these it computes energy levels, line positions and line intensities. Several analytic forms plus interpolation and extrapolation options are available for representation of the curves. Duo can refine potential energy and coupling curves to best reproduce reference data such as experimental energy levels or line positions. Duo is provided as a Fortran 2003 program and has been tested under a variety of operating systems. 
Sergei N. Yurchenko, Lorenzo Lodi, Jonathan Tennyson and Andrey V.   Stolyarov
physics.comp-ph physics.chem-ph