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