c c------------------------------------------------------------------ c Begin file /home/sting/foster/uars/tracsat/pltut.f c------------------------------------------------------------------ c subroutine pltut(gcmut,htscale,nut,nht,nfplt,nftot,logplt,lab, + ipltime,gcmvol,inttime,cint,cmin,cmax,iydmod) c c Plot interpolated timegcm data with sat ut on x-axis, linear height c on y-axis: c include 'uars.h' include 'timesgcm.h' character*(*) gcmvol common/cpmpcom/ pltl,pltr,npoints dimension gcmut(nut,nht,nfplt),viewport(4),htscale(nht), + ipltime(nftot),logplt(nftot),plot(nut,nht),cint(nftot), + cmin(nftot),cmax(nftot) data viewport /.17,.87,.59,.94/, chsize/.040/ character*8 lab(nftot) character*16 labx character*40 lab40 character*56 histlab data dxlab/0.5/, spval/1.e36/ c c Satellite ut for orbit is on x-axis: c xc = float(ifix(satut(1))) + dxlab if (xc.gt.satut(1)) xc = xc - dxlab xd = float(ifix(satut(nut))) + 1. - dxlab if (xd.lt.satut(nut)) xd = xd + dxlab pltl = xc pltr = xd npoints = nut c c Set up conpack for plotting with cylindrical equidistant maps: call cpsetup(1.e36) call cpsetr('XC1',xc) call cpsetr('XCM',xd) call cpsetr('YC1',htscale(1)) call cpsetr('YCN',htscale(nht)) call cpseti('SET',0) xmid = 0.5*(viewport(1)+viewport(2)) call cpsetr('ILX',xmid) call cpsetr('ILY',-.2) call cpseti('ILP',0) call cpseti('RWC',300) write(6,"('pltut: npts=',i5,' satut=',f6.3,' to ',f6.3, + ' htscale=',f7.3,' to ',f7.3)") nut,satut(1),satut(nut), + htscale(1),htscale(nht) do i=1,56 histlab(i:i) = ' ' enddo if (inttime.gt.0) then write(histlab,"('GCM HISTORY = ',a,' (with time interp)')") + gcmvol(1:lenstr(gcmvol)) else write(histlab,"('TIMEGCM HISTORY = ',a,' (no time interp)')") + gcmvol(1:lenstr(gcmvol)) endif nf = 0 c c Field loop (don't need to plot height): do ip=1,nftot if (ipltime(ip).le.0) goto 100 nf = nf+1 if (ip.eq.itxz) goto 100 call set(viewport(1),viewport(2),viewport(3),viewport(4), + xc,xd,htscale(1),htscale(nht),1) call cpseti('MAP',3) ! for irregular ut on x-axis (see cpmpxy) do i=1,nut plot(i,:) = gcmut(i,:,nf) enddo write(lab40,"('FIELD ',a,' DAY ',i5,16x)") lab(ip),iydmod if (logplt(ip).gt.0) then call log10f(plot,nut*nht,1.e-20,spval) write(lab40,"('FIELD (LOG10)',a,' DAY ',i5,9x)") + lab(ip),iydmod endif call contour(plot,nut,nut,nht,cint(ip),cmin(ip),cmax(ip)) call wrlab(lab40(1:lenstr(lab40)),xmid,viewport(4)+.03,0.) call wrlab(histlab(1:lenstr(histlab)),xmid,viewport(3)-.1,.010) write(labx,"('UT ',f5.2,'-',f5.2,2x)") satut(1),satut(nut) call labrect(satut,nut,htscale,nht,labx,"HEIGHT (KM)",chsize) c c Show sat orbit in line plot: c subroutine maptrac(satut,satlat,satlon,npts,chsize) c rvl = 0.17 rvr = 0.87 rvb = 0.08 rvt = 0.43 call set(rvl,rvr,rvb,rvt,0.,1.,0.,1.,1) call maptrac(satut,satlat,satlon,nut,chsize) c call box(1) call frame write(6,"('pltut: contoured field ',a,' ip=',i3)") + lab(ip),ip 100 continue enddo c return end