The OCEAN code

OCEAN is a versatile and user-friendly package for calculating core edge spectroscopy including excitonic effects. This is a first-principles code based on both ground-state density-functional theory and the Bethe-Salpeter equation (BSE). OCEAN utilizes the program ABINIT for ground-state density-functional theory (DFT) calculations, and the program NBSE to solve the Bethe-Salpeter equation. OCEAN serves as a driver for both ABINIT and NBSE, starting from a single input file, and also constructs various physical quantities and arrays needed in the calculations. OCEAN is the result of collaboration between the Rehr group at University of Washington and Eric Shirley at NIST.


  • XAS, XES, NRIXS, and RIXS. OCEAN can be used to calculated resonant and non-resonant emission as well as absorption and non-resonant scattering. It explicitly includes photon polarization and momentum dependence. Excitonic effects are included through the BSE.
  • DFT foundation. OCEAN incorporates one-electron states from density functional theory and does not make use of system-dependent fitting parameters.
  • L and K edges. The Bethe-Salpeter equation approach correctly reproduces the non-statistical L3/L2 ratios of light transition metals.

Running OCEAN: The code is currently in pre-release. For more information please use the Contact form above. The user’s guide is currently under review, but a slightly older version can be obtained here.