c c------------------------------------------------------------------ c subroutine pltut(gcmut,nut,iut0,iut1,cint,cmin,cmax) c c Plot interpolated gcm data with sat ut on x-axis, linear height c on y-axis: c include 'tracsat.h' common/cpmpcom/ pltl,pltr,npoints,pltsatut(mxpts) dimension gcmut(nut,nhtscale,nfplt),vp(4), + plot(nut,nhtscale) data vp /.17,.87,.59,.94/, chsize/.040/ character*16 labx character*40 lab40 character*56 histlab data dxlab/0.5/ save vp c c Satellite ut for orbit is on x-axis: c npoints = iut1-iut0+1 do i=1,npoints pltsatut(i) = satut(iut0+i-1) ! for cpmpxy enddo npts = npoints if (npts.gt.mxpts.or.npts.le.0) then write(6,"('>>> pltut: bad npts=',i4,' iut0,1=',2i4)") + npts,iut0,iut1 return endif if (iut0.le.0.or.iut1.le.0.or.iut1.gt.nut) then write(6,"('>>> pltut: bad iut0 or iut1: iut0,1=',2i4)") + iut0,iut1 return endif write(6,"(' ')") write(6,"('pltut: npts=',i5,' iut0,1=',2i5)") npts,iut0,iut1 write(6,"(' satut=',f6.3,' to ',f6.3)") satut(iut0), + satut(iut1) write(6,"(' satlat,lon=',f6.2,f7.2,' to ',f6.2,f7.2)") + satlat(iut0),satlon(iut0),satlat(iut1),satlon(iut1) xc = satut(iut0) xd = satut(iut1) pltl = xc ! for cpmpxy pltr = xd ! for cpmpxy c c Set up conpack for plotting with cylindrical equidistant maps: call cpsetr('XC1',xc) call cpsetr('XCM',xd) call cpsetr('YC1',htscale(1)) call cpsetr('YCN',htscale(nhtscale)) call cpseti('SET',0) call cpseti('MAP',0) xmid = 0.5*(vp(1)+vp(2)) call cpsetr('ILX',xmid) call cpsetr('ILY',-.2) call cpseti('ILP',0) call cpseti('RWC',300) call clearstr(histlab) if (inttime.gt.0) then write(histlab,"('GCM HISTORY = ',a,' (with time interp)')") + histvol(ivol)(1:lenstr(histvol(ivol))) else write(histlab,"('TIMEGCM HISTORY = ',a,' (no time interp)')") + histvol(ivol)(1:lenstr(histvol(ivol))) endif nf = 0 c c Field loop (don't need to plot height): do ip=1,nftot if (ifplt(ip).le.0) goto 100 nf = nf+1 if (ip.eq.ixz) goto 100 call cpseti('MAP',3) ! for irregular ut on x-axis (see cpmpxy) call set(vp(1),vp(2),vp(3),vp(4),xc,xd,htscale(1), + htscale(nhtscale),1) do i=1,npts plot(i,:) = gcmut(iut0+i-1,:,nf) enddo write(lab40,"('FIELD ',a,' DAY ',i5,16x)") flab(ip),iydgcm if (logint(ip).gt.0) then call log10f(plot,nut*nhtscale,1.e-20,spval) write(lab40,"('FIELD (LOG10)',a,' DAY ',i5,9x)") + flab(ip),iydgcm endif call contour(plot,nut,npts,nhtscale,cint,cmin,cmax) call wrlab(lab40(1:lenstr(lab40)),xmid,vp(4)+.03,0.) call wrlab(histlab(1:lenstr(histlab)),xmid,vp(3)-.1,.010) write(labx,"('UT ',f5.2,'-',f5.2,2x)") satut(iut0),satut(iut1) call labrect(satut(iut0),npts,htscale,nhtscale,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(iut0),satlat(iut0),satlon(iut0),npts,chsize) call box(1) call frame write(6,"('pltut: contoured field ',a,' ip=',i3)") + flab(ip),ip 100 continue enddo return end