subroutine hmplotc(a_ri,title,tim,ipage) c c Plot mode amplitudes vs. ballooning angle for various m's. c where a_ri is a set of complex mode coefficients. c implicit none include 'itg.par' include 'itg.cmn' include 'post2.cmn' c include 'post.cmn' real a_ri(2,lz,mz,nz) real aloc(lz),yloc real tim,ymin,ymax,xmin,xmax integer l,m,n,isympa,ipage character title*(*) character*32 strtime character ctitle*80 integer ic,ltitle c c Loop over real and imaginary parts of the field: do ic=1,2 ymin=0. ymax=0. n=nplot2 do 10 m=1,md do 10 l=1,ldb yloc=a_ri(ic,l,m,n) if (yloc.gt.ymax) ymax=yloc if (yloc.lt.ymin) ymin=yloc 10 continue xmin=r(1) xmax=r(ld) call setzer call plchlq(.5,.08,'ballooning coordinate',15.,0.,0.) if(ic .eq. 1) then ctitle=title//' (real)' else ctitle=title//' (imag)' endif ltitle=index(ctitle,')') call plchlq(.5,.97,ctitle(1:ltitle),20.,0.,0.) write(strtime,'(a,i3,a,f7.2)') 'n = ',nplot2,', all m''s, time = ',tim call plchlq(.98,.93,strtime,15.,0.,1.) call mapsm(xmin,xmax,ymin,ymax) n=nplot2 do m=1,md do l=1,ldb aloc(l)=a_ri(ic,l,m,n) enddo call dashdb(dash(m)) call curved(r,aloc,ldb) enddo call finish(ipage) enddo ! end of do ic=2,1-1 return end subroutine hmplotcs(a_ri,title,tim,ipage) c c Plot mode amplitudes vs. ballooning angle for various m's, c where a_ri is a set of complex mode coefficients. For backwards c compatibility, plot as "cosine" and "sine" parts, rather than c as "real" and "imaginary" parts (including the sign difference). c c Eventually can drop this routine and use hmplotc instead. c implicit none include 'itg.par' include 'itg.cmn' include 'post2.cmn' c include 'post.cmn' real a_ri(2,lz,mz,nz) real aloc(lz),yloc real tim,ymin,ymax,xmin,xmax integer l,m,n,isympa,ipage character title*(*) character*32 strtime character ctitle*80 integer ic,ltitle c c Loop over imaginary and real parts of the field: do ic=2,1,-1 ymin=0. ymax=0. n=nplot2 do 10 m=1,md do 10 l=1,ldb yloc=a_ri(ic,l,m,n) c reverse imaginary part sign to reproduce previous plots exactly: if(ic .eq. 2) yloc=-yloc if (yloc.gt.ymax) ymax=yloc if (yloc.lt.ymin) ymin=yloc 10 continue xmin=r(1) xmax=r(ld) call setzer call plchlq(.5,.08,'ballooning coordinate',15.,0.,0.) c put exactly the same title on as old cosine/sine version: if(ic .eq. 2) then ctitle=title//' (sine)' else ctitle=title//' (cosine)' endif ltitle=index(ctitle,')') call plchlq(.5,.97,ctitle(1:ltitle),20.,0.,0.) write(strtime,'(a,i3,a,f7.2)') 'n = ',nplot2,', all m''s, time = ',tim call plchlq(.98,.93,strtime,15.,0.,1.) call mapsm(xmin,xmax,ymin,ymax) n=nplot2 do m=1,md do l=1,ldb aloc(l)=a_ri(ic,l,m,n) c reverse imaginary part sign to reproduce previous plots exactly: if(ic .eq. 2) aloc(l)=-aloc(l) enddo call dashdb(dash(m)) call curved(r,aloc,ldb) enddo call finish(ipage) enddo ! end of do ic=2,1-1 return end