********>Bugfix 40: Author:Dave Case, reported by Robert Hopkins Date: 2/15/08 Programs: ambmask Description: The code has some obsolete use of integers to hold character data. Fix: apply the following patch to amber9/src/sander/ambmask.f ------------------------------------------------------------------------------ *** ambmask.f 10 Jul 2006 15:33:26 -0000 9.1 --- ambmask.f 15 Feb 2008 17:46:32 -0000 *************** *** 39,51 **** integer iarg, nargc, iargc, i integer natom, nres, prnlev ! integer ititl(20), astat, ios ! integer, dimension(:), allocatable :: ipres ! ! igraph,isymbl,lbres are in fact hollerith arrays, so they should ! ! be declared as integer instead of (more understandable) character ! ! in order to be compatible with findmask.f and the rest of sander character(len=4), dimension(:), allocatable :: igraph, isymbl, lbres ! ! integer, dimension(:), allocatable :: igraph, isymbl, lbres _REAL_, dimension(:), allocatable :: crd, chg integer, dimension(:), allocatable :: mask --- 39,48 ---- integer iarg, nargc, iargc, i integer natom, nres, prnlev ! integer astat, ios ! character(len=4) ititl(20) character(len=4), dimension(:), allocatable :: igraph, isymbl, lbres ! integer, dimension(:), allocatable :: ipres _REAL_, dimension(:), allocatable :: crd, chg integer, dimension(:), allocatable :: mask *************** *** 178,184 **** implicit none integer natom, nres, nf ! integer ititl(*) integer i, iok integer ntypes,nbonh,mbona,ntheth,mtheta,nphih,mphia --- 175,181 ---- implicit none integer natom, nres, nf ! character(len=4) ititl(*) integer i, iok integer ntypes,nbonh,mbona,ntheth,mtheta,nphih,mphia *************** *** 215,224 **** use constants, only : INV_AMBER_ELECTROSTATIC implicit none ! integer natom, nres, nf ! integer ipres(*), igraph(*), isymbl(*), lbres(*) _REAL_ chg(*) ! integer ititl(*) integer i, iok integer ntypes,nbonh,mbona,ntheth,mtheta,nphih,mphia --- 212,221 ---- use constants, only : INV_AMBER_ELECTROSTATIC implicit none ! integer natom, nres, nf, ipres(*) ! character(len=4) igraph(*), isymbl(*), lbres(*) _REAL_ chg(*) ! character(len=4) ititl(*) integer i, iok integer ntypes,nbonh,mbona,ntheth,mtheta,nphih,mphia *************** *** 345,351 **** implicit none _REAL_ crd(*) ! integer natom, nf, i, nat3, ios, matom, ititl(20) character(len=80) line nat3 = 3*natom --- 342,349 ---- implicit none _REAL_ crd(*) ! integer natom, nf, i, nat3, ios, matom ! character(len=4) ititl(20) character(len=80) line nat3 = 3*natom *************** *** 378,385 **** implicit none ! integer natom, nres, nf ! integer ipres(*), igraph(*), isymbl(*), lbres(*) integer mask(*) character(80) buffer, flushline --- 376,383 ---- implicit none ! integer natom, nres, nf, ipres(*) ! character(len=4) igraph(*), isymbl(*), lbres(*) integer mask(*) character(80) buffer, flushline *************** *** 506,513 **** implicit none ! integer natom, nres, nf ! integer ipres(*), igraph(*), isymbl(*), lbres(*) character(*) title integer mask(*) _REAL_ crd(*), chg(*) --- 504,511 ---- implicit none ! integer natom, nres, nf, ipres(*) ! character(len=4) igraph(*), isymbl(*), lbres(*) character(*) title integer mask(*) _REAL_ crd(*), chg(*) *************** *** 542,549 **** implicit none ! integer natom, nres, nf ! integer ipres(*), igraph(*), isymbl(*), lbres(*) integer mask(*) integer j, j1, j2, k --- 540,547 ---- implicit none ! integer natom, nres, nf, ipres(*) ! character(len=4) igraph(*), isymbl(*), lbres(*) integer mask(*) integer j, j1, j2, k ------------------------------------------------------------------------------ Temporary Workarounds: None