********> rs6000 porting changes Problem: "sh: Makelist: not found" Solution: In Makefile, put './' before Makelist ----------------------------------------------------------------------- Author: K.Bryson, OML. ======================================================================= Date: 20/4/95 Problem: Various printing formats don't agree with rs6000 machines. Also amb2arc update removes a compiler warning. Fix: Make the following change to src/nmode_aux/lmanal/lmanal.f ---------------------------------------------------------------------- *** OLD lmanal.f --- NEW lmanal.f *************** *** 99,105 **** write(6,*) write(6,'(a14,2i5)') 'ntrun, nvect: ',ntrun,nvect write(6,'(a19,3i5,f10.3)') 'kup, lup, np, tf: ',kup,lup,np,tf ! write(6,'(a,f10.3)') 'bose: ',bose write(6,*) mn = 3*MA c --- 99,109 ---- write(6,*) write(6,'(a14,2i5)') 'ntrun, nvect: ',ntrun,nvect write(6,'(a19,3i5,f10.3)') 'kup, lup, np, tf: ',kup,lup,np,tf ! if (bose) then ! write(6,'(a,f10.3)') 'bose: ',1.0 ! else ! write(6,'(a,f10.3)') 'bose: ',0.0 ! endif write(6,*) mn = 3*MA c ---------------------------------------------------------------------- Fix: Make the following change to edit/eda.f ---------------------------------------------------------------------- *** OLD eda.f --- NEW eda.f *************** *** 283,289 **** IF(IFORMO.EQ.IINT .OR. IFORMO.EQ.IXYZ) GO TO 60 IF(IFORMO.EQ.IXRAY) GO TO 940 IF(IFORMO.EQ.KWADD) GO TO 740 ! write(6, '(x,a,a)') . ' *** EXTRA NEWLINE OR UNKNOWN KEYWORD: ', iformo call mexit(6,1) 940 CONTINUE --- 283,289 ---- IF(IFORMO.EQ.IINT .OR. IFORMO.EQ.IXYZ) GO TO 60 IF(IFORMO.EQ.IXRAY) GO TO 940 IF(IFORMO.EQ.KWADD) GO TO 740 ! write(6, '(1x,a,a)') . ' *** EXTRA NEWLINE OR UNKNOWN KEYWORD: ', iformo call mexit(6,1) 940 CONTINUE *************** *** 3438,3445 **** 500 CONTINUE RETURN 200 FORMAT(2I5) ! 403 FORMAT(/ / /,1H ,5X,'INTERNAL COORDINATES FOR MOLECULES',I5,2X,'-', ! $ I5,/) 404 FORMAT(/ /,1H ,10X,'BOND LENGTHS',/) 100 FORMAT(2(4X,I5,'.',2X,A4,'(',I4,') - ',A4,'(',I4,')',2X, $ ' = ',F6.2)) --- 3438,3445 ---- 500 CONTINUE RETURN 200 FORMAT(2I5) ! 403 FORMAT(/ / /,1H ,5X,'INTERNAL COORDINATES FOR MOLECULES',I5,2X, ! $ '-',I5,/) 404 FORMAT(/ /,1H ,10X,'BOND LENGTHS',/) 100 FORMAT(2(4X,I5,'.',2X,A4,'(',I4,') - ',A4,'(',I4,')',2X, $ ' = ',F6.2)) ---------------------------------------------------------------------- Fix: Make the following change to edit/edc.f ---------------------------------------------------------------------- *** OLD edc.f --- NEW edc.f *************** *** 778,784 **** 1051 FORMAT(/5X,'CUTOFF CRITERION FOR DISCARDING THE WATER:', + /5X,'CUTX =',F10.4,2X,'CUTY =',F10.4,2X,'CUTZ =',F10.4, + 2X,'CUTD =',F10.4,/) ! 1052 FORMAT(/x,"** SOLUTE + ",a," CLEARANCE = ",f8.3, + ": EXCEEDS BOXES' DIMENSION: ", f8.3) 1070 FORMAT(/,5X,'ANY WATER WITH AN OXYGEN DISTANCE LESS THAN ',F6.2, + ' ANGSTROMS',/,5X,'FROM THE SOLUTE WILL BE DISCARDED') --- 778,784 ---- 1051 FORMAT(/5X,'CUTOFF CRITERION FOR DISCARDING THE WATER:', + /5X,'CUTX =',F10.4,2X,'CUTY =',F10.4,2X,'CUTZ =',F10.4, + 2X,'CUTD =',F10.4,/) ! 1052 FORMAT(/1x,"** SOLUTE + ",a," CLEARANCE = ",f8.3, + ": EXCEEDS BOXES' DIMENSION: ", f8.3) 1070 FORMAT(/,5X,'ANY WATER WITH AN OXYGEN DISTANCE LESS THAN ',F6.2, + ' ANGSTROMS',/,5X,'FROM THE SOLUTE WILL BE DISCARDED') *************** *** 871,877 **** IFBOX = 1 if (ioct.eq.1) then ifbox=2 ! write(6, '(/x," (Trimming diagonals per OCT option)",/)') endif C C ----- PUT EACH MOLECULE DEFINED BY LINK AS ONE SUB-MOLECULE ----- --- 871,877 ---- IFBOX = 1 if (ioct.eq.1) then ifbox=2 ! write(6, '(/1x," (Trimming diagonals per OCT option)",/)') endif C C ----- PUT EACH MOLECULE DEFINED BY LINK AS ONE SUB-MOLECULE ----- *************** *** 1209,1215 **** 1051 FORMAT(/5X,'CUTOFF CRITERION FOR DISCARDING THE WATER:', + /5X,'CUTX =',F10.4,2X,'CUTY =',F10.4,2X,'CUTZ =',F10.4, + 2X,'CUTD =',F10.4,/) ! 1052 FORMAT(/x,"** SOLUTE + ",a," CLEARANCE = ",f8.3, + ": EXCEEDS BOXES' DIMENSION: ", f8.3) 1070 FORMAT(/,5X,'ANY WATER WITH AN OXYGEN DISTANCE LESS THAN ',F6.2, + ' ANGSTROMS',/,5X,'FROM THE SOLUTE WILL BE DISCARDED') --- 1209,1215 ---- 1051 FORMAT(/5X,'CUTOFF CRITERION FOR DISCARDING THE WATER:', + /5X,'CUTX =',F10.4,2X,'CUTY =',F10.4,2X,'CUTZ =',F10.4, + 2X,'CUTD =',F10.4,/) ! 1052 FORMAT(/1x,"** SOLUTE + ",a," CLEARANCE = ",f8.3, + ": EXCEEDS BOXES' DIMENSION: ", f8.3) 1070 FORMAT(/,5X,'ANY WATER WITH AN OXYGEN DISTANCE LESS THAN ',F6.2, + ' ANGSTROMS',/,5X,'FROM THE SOLUTE WILL BE DISCARDED') ---------------------------------------------------------------------- Fix: Make the following change to edit/boxes.f ---------------------------------------------------------------------- *** OLD boxes.f --- NEW boxes.f *************** *** 418,424 **** 1051 FORMAT(/5X,'CUTOFF CRITERION FOR DISCARDING THE WATER:', + /5X,'CUTX =',F10.4,2X,'CUTY =',F10.4,2X,'CUTZ =',F10.4, + 2X,'CUTD =',F10.4,/) ! 1052 FORMAT(/x,"** SOLUTE + ",a," CLEARANCE = ",f8.3, + ": EXCEEDS BOXES' DIMENSION: ", f8.3) 1070 FORMAT (/,t2,'ANY WATER WITH AN OXYGEN DISTANCE LESS THAN ',F6.2, + ' ANGSTROMS',/,t2,'FROM THE SOLUTE WILL BE DISCARDED') --- 418,424 ---- 1051 FORMAT(/5X,'CUTOFF CRITERION FOR DISCARDING THE WATER:', + /5X,'CUTX =',F10.4,2X,'CUTY =',F10.4,2X,'CUTZ =',F10.4, + 2X,'CUTD =',F10.4,/) ! 1052 FORMAT(/1x,"** SOLUTE + ",a," CLEARANCE = ",f8.3, + ": EXCEEDS BOXES' DIMENSION: ", f8.3) 1070 FORMAT (/,t2,'ANY WATER WITH AN OXYGEN DISTANCE LESS THAN ',F6.2, + ' ANGSTROMS',/,t2,'FROM THE SOLUTE WILL BE DISCARDED') ---------------------------------------------------------------------- Fix: Make the following change to sander/period.f ---------------------------------------------------------------------- *** OLD period.f --- NEW period.f *************** *** 164,170 **** xy = box(1) * box(2) dum = (0.75 * box(1) * box(2) * box(3)) / + sqrt( yz*yz + xz*xz + xy*xy ) ! write(6, '(x,a,f8.3,f8.3)') 'oct box min vector; ', boxhm,dum if (dum.lt.boxhm) then boxhm = dum boxhm2 = boxhm*boxhm --- 164,170 ---- xy = box(1) * box(2) dum = (0.75 * box(1) * box(2) * box(3)) / + sqrt( yz*yz + xz*xz + xy*xy ) ! write(6, '(1x,a,f8.3,f8.3)') 'oct box min vector; ', boxhm,dum if (dum.lt.boxhm) then boxhm = dum boxhm2 = boxhm*boxhm ---------------------------------------------------------------------- Fix: Make the following change to resp/resp.f ---------------------------------------------------------------------- *** OLD resp.f --- NEW resp.f *************** *** 572,578 **** 1000 FORMAT(10A8) 1010 FORMAT(10A8) 1030 FORMAT(/t2,'Total charge (ich):',I3, ! * /t2 'Number of centers:',I3) 9708 FORMAT(I5,6x,4F12.6,i5,i5,f10.5) UNITS = ONE/0.529177249d0 imol = 0 --- 572,578 ---- 1000 FORMAT(10A8) 1010 FORMAT(10A8) 1030 FORMAT(/t2,'Total charge (ich):',I3, ! * /t2,'Number of centers:',I3) 9708 FORMAT(I5,6x,4F12.6,i5,i5,f10.5) UNITS = ONE/0.529177249d0 imol = 0 *************** *** 2106,2112 **** icnt = icnt + 1 endif enddo ! 1210 format(2x,i4,2x,i4,x,f10.6,5x,f10.6, i5, f12.6, f12.3) c call amopen(19,qout,owrite,'F','W') write(19,'(8f10.6)') (Qcal(I),i=1,iuniq) --- 2106,2112 ---- icnt = icnt + 1 endif enddo ! 1210 format(2x,i4,2x,i4,1x,f10.6,5x,f10.6, i5, f12.6, f12.3) c call amopen(19,qout,owrite,'F','W') write(19,'(8f10.6)') (Qcal(I),i=1,iuniq) *************** *** 2228,2234 **** 1340 FORMAT(/t2,'Center of Mass (Angst.):'/) 1350 FORMAT(t2,'X =',F10.5,5X,' Y =',F10.5,5X,' Z =',F10.5) 1360 FORMAT(/t2,'Dipole (Debye):'/) ! 1370 FORMAT(t2'X =',F10.5,5X,' Y =',F10.5,5X,' Z =',F10.5) 1375 FORMAT(/t2,'Dipole Moment (Debye)=',F10.5) 1380 FORMAT(/,t2,'Quadrupole (Debye*Angst.):'/) 1390 FORMAT(t2,'Qxx =',F10.5,5X,'QYY =',F10.5,5X,'QZZ =',F10.5) --- 2228,2234 ---- 1340 FORMAT(/t2,'Center of Mass (Angst.):'/) 1350 FORMAT(t2,'X =',F10.5,5X,' Y =',F10.5,5X,' Z =',F10.5) 1360 FORMAT(/t2,'Dipole (Debye):'/) ! 1370 FORMAT(t2,'X =',F10.5,5X,' Y =',F10.5,5X,' Z =',F10.5) 1375 FORMAT(/t2,'Dipole Moment (Debye)=',F10.5) 1380 FORMAT(/,t2,'Quadrupole (Debye*Angst.):'/) 1390 FORMAT(t2,'Qxx =',F10.5,5X,'QYY =',F10.5,5X,'QZZ =',F10.5) ---------------------------------------------------------------------- Fix: Make the following change to anala.f ---------------------------------------------------------------------- *** OLD anala.f --- NEW anala.f *************** *** 1080,1086 **** 9058 FORMAT(/2X,I5,8X,2(I5,' - ',A4),6X,6F10.2) 9158 FORMAT(2X,I5,8X,I5,' - ',A4,18X,6F10.2) 9068 FORMAT(/ /10X,'HELICAL REPEAT ANGLES, DEFINED BY C6--C8 VECTOR',/) ! 9069 FORMAT(/ /10X,'HELICAL REPEAT ANGLES, DEFINED' . ' BY C1''--C1'' VECTOR',/) 9078 FORMAT(4X,'NO',25X,'RESIDUES',20X,'DEGREES',/) 9088 FORMAT(2X,I5,3X,2(I4,1X,A4,' - ',I4,1X,A4),4X,6F10.2) --- 1080,1086 ---- 9058 FORMAT(/2X,I5,8X,2(I5,' - ',A4),6X,6F10.2) 9158 FORMAT(2X,I5,8X,I5,' - ',A4,18X,6F10.2) 9068 FORMAT(/ /10X,'HELICAL REPEAT ANGLES, DEFINED BY C6--C8 VECTOR',/) ! 9069 FORMAT(/ /10X,'HELICAL REPEAT ANGLES, DEFINED', . ' BY C1''--C1'' VECTOR',/) 9078 FORMAT(4X,'NO',25X,'RESIDUES',20X,'DEGREES',/) 9088 FORMAT(2X,I5,3X,2(I4,1X,A4,' - ',I4,1X,A4),4X,6F10.2) ---------------------------------------------------------------------- Fix: Make the following change to nmode/nmdfil.f ---------------------------------------------------------------------- *** OLD nmdfil.f --- NEW nmdfil.f *************** *** 113,119 **** c #endif return ! 9000 format(/,5x,'usage: nmode [-O] -i nmdin -o nmdout -p prmtop' + ' -c inpcrd -r restrt', + /18x,'-ref refc -v vecs -t tstate -l lmode -e expfile') end --- 113,119 ---- c #endif return ! 9000 format(/,5x,'usage: nmode [-O] -i nmdin -o nmdout -p prmtop', + ' -c inpcrd -r restrt', + /18x,'-ref refc -v vecs -t tstate -l lmode -e expfile') end ---------------------------------------------------------------------- Fix: make the following change to nmode/pairr.f ---------------------------------------------------------------------- *** OLD pairr.f --- NEW pairr.f *************** *** 48,54 c return 2 format('0ERROR IN READING NONBON LIST:',3i6) - #if UXP || IBM3090 3 format (12(1x,i5)) #else 3 format (12(x,i5)) --- 48,52 ----- c return 2 format('0ERROR IN READING NONBON LIST:',3i6) 3 format (12(1x,i5)) end *************** *** 50,56 2 format('0ERROR IN READING NONBON LIST:',3i6) #if UXP || IBM3090 3 format (12(1x,i5)) - #else - 3 format (12(x,i5)) - #endif end --- 49,52 ----- return 2 format('0ERROR IN READING NONBON LIST:',3i6) 3 format (12(1x,i5)) end ---------------------------------------------------------------------- Fix: make the following change to nmode/pairw.f ---------------------------------------------------------------------- *** OLD pairw.f --- NEW pairw.f *************** *** 42,48 1 format('0WRITING ',i6,' PAIRS TO FILE PRLIST (unit 56)') c return - #if UXP || IBM3090 2 format (12(1x,i5)) #else 2 format (12(x,i5)) --- 42,46 ----- 1 format('0WRITING ',i6,' PAIRS TO FILE PRLIST (unit 56)') c return 2 format (12(1x,i5)) end *************** *** 44,50 return #if UXP || IBM3090 2 format (12(1x,i5)) - #else - 2 format (12(x,i5)) - #endif end --- 43,46 ----- c return 2 format (12(1x,i5)) end ---------------------------------------------------------------------- Fix: Make the following change to contrib/amb2arc.f ---------------------------------------------------------------------- *** OLD amb2arc.f --- NEW amb2arc.f *************** *** 35,40 **** --- 35,44 ---- c ... hollerith data for dataset title header integer ios c ... i/o status variable + + integer LWAT + data LWAT /'WAT '/ + C 9008 FORMAT(/ /,5X,'Program to Generate archive Files From', + /5X,'Amber formated trajectory Files',/) *************** *** 272,278 **** endif JC = 3*K-3 if (WAT.eq.1) then ! if (LBRES(J) .ne. 'WAT ') then WRITE(NF,9118) igraph(k),(C(JC+M),M=1,3),LBRES(J),J,K endif else --- 276,282 ---- endif JC = 3*K-3 if (WAT.eq.1) then ! if (LBRES(J) .ne. LWAT) then WRITE(NF,9118) igraph(k),(C(JC+M),M=1,3),LBRES(J),J,K endif else ---------------------------------------------------------------------- ====================================================================== Date: 4/25/95 Programs: dshift Severity: Moderate. Problem: Compilation failure on some rs6000 fortran compilers: (1) "_dshift_.f", line 59.20: 1516-044 (S) A conversion from type LOGICAL is not permitted. (2) "_dshift_.f", line 175.15: 1512-012 (S) The UNIT specifier must be either an INTEGER*4 expression or a CHARACTER variable, array, array element or substring. Affects: Cause: (1) Logical variable rprint not declared. (2) Problem with rs6000 fortran compiler's intepretation of the variable STDERR. Fix: Make the following change to nmr_aux/shifts/dshift.f --------------------------------------------------------------------------- *** OLD dshift.f --- NEW dshift.f *************** *** 23,29 **** c modified version of the SANDER cshf subroutine to compute c chemical shifts. c ! integer STDERR character*256 pdbin,shfin,arg,libin c parameter (MATOM=3000) --- 23,30 ---- c modified version of the SANDER cshf subroutine to compute c chemical shifts. c ! integer ISTDERR ! logical rprint character*256 pdbin,shfin,arg,libin c parameter (MATOM=3000) *************** *** 32,42 **** c c --- set up certain underflow operations c ! parameter(STDERR=7) on double precision underflow call trapud on real underflow call trapu #else ! parameter(STDERR=0) #endif c c -- process command-line arguments: --- 33,43 ---- c c --- set up certain underflow operations c ! parameter(ISTDERR=7) on double precision underflow call trapud on real underflow call trapu #else ! parameter(ISTDERR=0) #endif c c -- process command-line arguments: *************** *** 192,198 **** x(2,i) = yt x(3,i) = zt end do ! write(STDERR,*) 'More than ',MATOM,' atoms in input pdb file!' call mexit(6,1) 32 natom = i - 1 write(6,*) 'read pdb; natom = ',natom --- 193,199 ---- x(2,i) = yt x(3,i) = zt end do ! write(ISTDERR,*) 'More than ',MATOM,' atoms in input pdb file!' call mexit(6,1) 32 natom = i - 1 write(6,*) 'read pdb; natom = ',natom *************** *** 315,321 **** c write(6,*)'anisotropy is=', const(i), resat(i) end if end do ! write(STDERR,*) 'No library match for: ',resat(i) 111 continue end do c --- 316,322 ---- c write(6,*)'anisotropy is=', const(i), resat(i) end if end do ! write(ISTDERR,*) 'No library match for: ',resat(i) 111 continue end do c ---------------------------------------------------------------------------