*======================================================================* subroutine ver_parse_rot(line,jrot) *----------------------------------------------------------------------* * Parse the rotation matrices. Only the ones that have been requested * * by the volume definitions will be loaded. * *----------------------------------------------------------------------* implicit none character*(*) line integer jx,nd,ne,nf,ng,dummy common /slate/nd,ne,nf,ng,dummy(36) include 'ver_geom.inc' character*80 comment character*6 adummy integer ivol, ixyz, icnext,i, jrot, ilast, lnblnk, irot_tmp integer luntty data luntty / 6 / *----------------------------------------------------------------------* write (6,'(1x,a80)') line(1:80) ne = 1 jx = icnext(line,ne,132) ! skip the 'GSROTM' marker read(line(jx:ne),'(a6)') adummy jx = icnext(line,ne,132) read(line(jx:ne),*) irot_tmp ! read identifier do i=1,nvols ! see if it is requested if (irota(i).eq.irot_tmp) go to 10 enddo return ! no match 10 jrot = jrot + 1 ! match irot_id(jrot) = irot_tmp do ixyz = 1,3 jx = icnext(line,ne,132) read(line(jx:ne),*) theta(ixyz,jrot) jx = icnext(line,ne,132) read(line(jx:ne),*) phi(ixyz,jrot) enddo jx = icnext(line,ne,132) ! If comment display if (jx.lt.132) then ! if (line(jx:jx).eq.'+') then ! is requested, show it. ilast = max(lnblnk(line),jx+1) read(line(jx+1:ilast),'(a80)') comment write (luntty,'(i3,i3,2x,a80)') jrot, irot_tmp, comment endif endif write (6,'(i3,6f8.2,1x,a10)') & irot_tmp,theta(1,jrot),phi(1,jrot), & theta(2,jrot),phi(2,jrot), & theta(3,jrot),phi(3,jrot), & comment(1:10) write (8,'(i3,6f8.2,1x,a10)') & irot_tmp,theta(1,jrot),phi(1,jrot), & theta(2,jrot),phi(2,jrot), & theta(3,jrot),phi(3,jrot), & comment(1:10) end ! parse_rot