The DVR3D program suite calculates energy levels, wavefunctions, and where appropriate dipole transition moments, for rotating and vibrating triatomic molecules. Potential energy and, where necessary, dipole surfaces must be provided. Expectation values of geometrically defined functions can be calculated, a feature which is particularly useful for fitting potential energy surfaces. The programs use an exact (within the Born–Oppenheimer approximation) Hamiltonian and offer a choice of Jacobi or Radau internal coordinates and several body-fixed axes. Rotationally excited states are treated using an efficient two-step algorithm. The programs uses a Discrete Variable Representation (DVR) based on Gauss–Jacobi and Gauss–Laguerre quadrature for all 3 internal coordinates and thus yields a fully point-wise representation of the wavefunctions. The vibrational step uses successive diagonalisation and truncation which is implemented for a number of possible coordinate orderings. The rotational, expectation value and transition dipole programs exploit the savings offered by performing integrals on a DVR grid. The new version has been rewritten in FORTRAN 90 to exploit the dynamic array allocations and the algorithm for dipole and spectra calculations have been substantially improved. New modules allow the z-axis to be embedded perpendicular to the plane of the molecule and for the calculation of expectation values. Program summary Title of the program: DVR3D suite Catalogue number: ADTI Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTI Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Programming language: Fortran 90 No. of lines in distributed program, including test data, etc.: 61 574 No. of bytes in distributed program, including test data, etc.: 972 404 Distribution format: tar.gz New version summary Title of program: DVR3DRJZ Catalogue number: ADTB Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTB Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Reference in CPC to previous version: 86 (1995) 175 Catalogue identifier of previous version: ADAK Authors of previous version: J. Tennyson, J.R. Henderson and N.G. Fulton Does the new version supersede the original program?: DVR3DRJZ supersedes DVR3DRJ Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix; SGI Origin 2000, Sunfire V750 and V880 systems running SunOS, IBM p690 Regatta running AIX Programming language used in the new version: Fortran 90 Memory required to execute: case dependent No. of lines in distributed program, including test data, etc.: 4203 No. of bytes in distributed program, including test data, etc.: 30 087 Has code been vectorised or parallelised?: The code has been extensively vectorised. A parallel version of the code, PDVR3D has been developed [1], contact the first author for details Additional keywords: perpendicular embedding Distribution format: gz Nature of physical problem: DVR3DRJZ calculates the bound vibrational or Coriolis decoupled rotational–vibrational states of a triatomic system in body-fixed Jacobi (scattering) or Radau coordinates [2] Method of solution: All coordinates are treated in a discrete variable representation (DVR). The angular coordinate uses a DVR based on (associated) Legendre polynomials and the radial coordinates utilise a DVR based on either Morse oscillator-like or spherical oscillator functions. Intermediate diagonalisation and truncation is performed on the hierarchical expression of the Hamiltonian operator to yield the final secular problem. DVR3DRJ provides the vibrational wavefunctions necessary for ROTLEV3, ROLEV3B or ROTLEV3Z to calculate rotationally excited states, DIPOLE3 to calculate rotational–vibrational transition strengths and XPECT3 to compute expectation values Restrictions on the complexity of the problem: (1) The size of the final Hamiltonian matrix that can practically be diagonalised. (2) The order of integration in the radial coordinates that can be dealt with within the machine exponent range. Some adjustment in the code may be necessary when large order Gauss–Laguerre quadrature is used Typical running time: Case dependent but usually dominated by the final (3D) matrix diagonalisation. The test runs take minutes on a fast PC Unusual features of the program: A user supplied subroutine containing the potential energy as an analytic function is a program requirement