Installing NBO 5.G in GAMESS (version 24-MAR-2007 R1): 1. Compile and link GAMESS. Ensure that GAMESS functions appropriately before attempting the NBO 5.G installation. 2. Use the Enable program distributed with NBO 5.G to prepare gmsnbo.src. Move this file to the source directory of the GAMESS distribution. 3. In the GAMESS source directory, make the following modifications to the source files prppop.src, rhfuhf.src, and iolib.src: a) prppop.src: Uncomment the call to RUNNBO. Also, modify this call to read the following: IF(NPROC.EQ.1) CALL RUNNBO Note that NBO is not prepared to function correctly in the parallel version of GAMESS. Sequential runs only! b) rhfuhf.src: Insert the COMMON block /ENEDA/ in the RHFCL and UHFOP routines. COMMON /ENEDA / E0 c) rhfuhf.src: Insert the following instruction immediately after the ETOT = EHF+EN line of the UHFOP routine. IF(ITER.EQ.1) E0 = ETOT d) iolib.src: In the routine DAREAD, change the following instruction IF(LEN.LE.0 ) GO TO 810 to read IF(LEN.LT.0 ) GO TO 810 Also, change the instruction CALL DARD(V(IS),LENW,IDAF,NSP,IDTYP) to read IF(LENW .GT. 0) CALL DARD(V(IS),LENW,IDAF,NSP,IDTYP) e) iolib.src: In the routine DAWRIT, change the following instruction IF (N .GT. 0 .AND. LEN .NE. IFILEN(NREC)) GO TO 800 to read IF (N .GT. 0 .AND. LEN .GT. IFILEN(NREC)) GO TO 800 4. Add the following line to the activate and compile steps of the compall script of the root GAMESS directory. ./comp gmsnbo 5. Make the following changes to the comp script: a: If you're using f2c/gcc compilation on a Linux machine, include the -Nx800 compiler (f2c) option. 6. Include gmsnbo.o in the link-edit step of the lked script. 7. Compile and link GAMESS. NBO Limitations: 1. NBO will fail if GAMESS is run in parallel. Run NBO only for single-node (sequential) calculations.