You are here


Table of Contents


Natural Bond Orbitals (NBO) code is a post-processing tool for analyzing complex molecular orbitals in terms of Chemical bonding theory, developed by the goup of Frank Weinhold. From the  NBO webpage: "The Natural Bond Orbital (NBO) program NBO 6.0 is a discovery tool for determining chemical bonding descriptors of complex wavefunctions. NBO 6.0 is the current implementation of the broad range of 'natural' algorithms for optimally expressing numerical solutions of the quantum mechanical Schrödinger equation in the chemically intuitive language of Lewis-like bonding patterns and associated resonance-type 'donor-acceptor' interactions."

Restrictions / License Information

NBO6 is a commectial code which was purchased by Westgrid and presently available on the Grex system. It is provided free of charge to Academic Westgrid users. The access to the code is given via membership of the wg-nbo6 UNIX group. Westgrid users can be included in the group by sending an email to with subject "access to NBO6 code", and confirmation that they have read and agree to abide by NBO conditions as follows:

" I accept the terms of the license agreement and agree that the program(s) and materials purchased with this order will remain under my direct control, will not be redistributed to others in any form, will be used solely for peaceful civilian purposes and not for any purpose related to nuclear or missle technology, chemical or biological weaponry, or maritime nuclear propulsion purposes, and will not otherwise be used or transferred in violation of United States export laws and regulations."

Running Instructions

NBO6 is a standalone program that can be used on its own (by providing an input file in GenNBO format). Most often though, it is used together with another Molecular/Electronic structure code which provides the MO wavefunctions to analyze. Presently NBO6 supports the folling codes: Gaussian 09, ORCA, GAMESS and MOLPRO.

  • Using NBO6 with Gaussian 09. Only the latest binaries Gaussian 09.D01 can be used with NBO6. After loading the Gaussian 09 module, load NBO module. (module load gaussian ; module load nbo/6.0) . Note that Gaussian 09 has a built-in, old version of NBO 3.1 ; for specifying NBO6 in Gaussian09.D01 all the POP=NBOxxx keuywords have now their POP=NBO6xxx counterparts.
  • Using NBO6 with ORCA. ORCA has a limited support of NBO6 binaries starting from ORCA version 3.0 . After loading the ORCA module, load the NBO module. ( module load orca/3.0.3 ; module load nbo/6.0 ) . It will set all necessary environment variables. ORCA will create *.47 files with GENNBO input format. Note that as of now support of NBO6 in ORCA is somewhat limited, and in more complex NBO usage cases, ORCA is not able to parse the NBO output and stops. This is not fatal though, as *.47 files that are left by the jobs are valid GenNBO inputs and can be used manually: ( gennbo.i8.exe name.47 > name.nbo6out ) Note that there is presently a small discrepancy between formats of *.47 files as produced by ORCA vs as expected by NBO; on Grex we use a wrapper script to fix it, orcanbo6 . It is called automatically when NBO is run from under ORCA, and parses/modifies the *.47 files before passing them to GenNBO.
  • GAMESS-US: not yet available on Grex.
  • MolPro: not yet tested on Grex ; loading NBO module ( module load nbo/6.0 ) should be sufficient as it sets the necessary environment for using NBO6 with MolPro ver. 2012.1 or later.
  • Manual use of GENNBO and NBO6. After loading the NBO module, the NBO executables will be in the PATH. Chose gennbo.i4.exe or gennbo.i8.exe depending on how your Quantum Chemical software was built (i8 stands for 64-bit indexes and is used in most cases; i4 for 32-bit indexes) and provide it with valid GenNBO input file  ( gennbo.i8.exe name.47 > name.nbo6out ) .

Updated 2015-09-24 - GAS: added module commands and examples

System Grex
Version 6.0