SUBROUTINE PLSTN2(IX,JX,NS,ylat,ylon,ASTA, > tb19v_inv,tb19h_inv,tb22v_inv, > tb37v_inv,tb37h_inv,tb85v_inv,tb85h_inv, > tb19v,tb19h,tb22v,tb37v,tb37h,tb85v,tb85h, > NAME,N, > deltx,delty,isize,Xx1,ifr, > time_obs, time_window_min, time_window_max) c # include <nestdmn.incl> # include <maps.incl> C DIMENSION ylat(ns), ylon(ns), time_obs (ns),asta(ns) DIMENSION tb19v_inv(ns), tb19h_inv(ns), tb22v_inv(ns) DIMENSION tb37v_inv(ns) DIMENSION tb37h_inv(ns), tb85v_inv(ns), tb85h_inv(ns) DIMENSION tb19v(ns), tb19h(ns), tb22v(ns), tb37v(ns) DIMENSION tb37h(ns), tb85v(ns), tb85h(ns) INTEGER IC real t1,t2,t3,t4,t5 CHARACTER*5 ASTA character*1 Symbol C real levels(100) ! levels for CONDRV character*80 title, TM ! title string integer errsev character gridloc*3 character*(*) NAME character*19 time_obs,time_window_min,time_window_max logical inside C DX = DIS(N) IR = NRATIO(N) XIR = FLOAT(IR) JEND = (NESTJX(1)-1)*IR + 1 IEND = (NESTIX(1)-1)*IR + 1 ISTART = 1 JSTART = 1 JEX = 0 IEX = 0 IF (N.EQ.1) THEN JEX = JOFFST IEX = IOFFST ENDIF IF (N.EQ.1) THEN XA = 1.0 YA = 1.0 XB = FLOAT(JEND) YB = FLOAT(IEND) ELSE XA = (XWEST(N) - FLOAT(JOFFST) - 1.)*XIR + 1. XB = (XEAST(N) - FLOAT(JOFFST) - 1.)*XIR + 1. YA = (XSOUTH(N) -FLOAT(IOFFST) - 1.)*XIR + 1. YB = (XNORTH(N) -FLOAT(IOFFST) - 1.)*XIR + 1. ENDIF C C AVOID THE XA, XB, YA, YB ARE OUTSIDE THE BIG DOMAIN: IF (XA.LT.1.0) THEN XA = 1.0 PRINT *,'XA < 1.0, XA=1.0' STOP ENDIF IF (XB.GT.FLOAT(JEND)) THEN XB = FLOAT(JEND) PRINT *,'XB > JEND, XB = FLOAT(JEND)' STOP ENDIF IF (YA.LT.1.0) THEN YA = 1.0 PRINT *,'YA < 1.0, YA = 1.0' STOP ENDIF C PRINT 2001, N,ISTART,IEND,JSTART,JEND,XA,XB,YA,YB 2001 FORMAT(/2X,'--- CALL PLSTN2 ..........',I3 1 /2X,'ISTART,IEND,JSTART,JEND:',4I6,3X,'XA,XB,YA,YB:',4F8.1) C WRITE(TITLE(1:9),22) N 22 FORMAT('DOMAIN ',I2) WRITE(6,23) TITLE 23 FORMAT('TITLE= ',A9) C C OPEN THE COLOR TABLE FILE MAPUNIT=17 C OPEN THE CORRECT TABLE FILE cc OPEN (MAPUNIT,FILE='map.tbl',STATUS='OLD') OPEN (MAPUNIT,FILE='mapco.tbl',STATUS='OLD') C SET UP A COLOR TABLE CALL RDCOLT(MAPUNIT) C MAKE THE MAP c ... turn of clipping CALL GSCLIP (0) c ... use whole domain CALL SET (0.0,1.0,0.0,1.0,0.0,1.0,0.0,1.0,1) c ... errsev: <0 abort on warning, =0 abort on error, >0 no abort errsev=1 CALL MAPDRV (PROJECT,TRUELAT1,TRUELAT2,PHIC,XLONC, * DX,JEND,IEND,xa,xb,ya,yb, * ' ', * 9,n,MAPUNIT,.FALSE.,errsev) C CLOSE THE TABLE FILE CLOSE (MAPUNIT) call getset(xsa,xsb,ysa,ysb,xsc,xsd,ysc,ysd,ltype) C ... nice ordinary map C CALL GFLAS3(N) C PRINT *,' -----> MAP PLOTTED' C c ... put on the observed values on the map: C print 51,xsa,xsb,ysa,ysb,ltype 51 format(2x,'xsa,xsb,ysa,ysb,ltype:',4f6.2,i5) c call set(xsa,xsb,ysa,ysb,1.,float(Jx),1.,float(Ix),ltype) dist=amax1(float(Jx),float(Ix)) delt=dist/100. call gsclip(0) c t0=30. t1=20. t2=10. t3=3. t4=-3. t5=-7. print *,'NS=',NS,' DX=',DX number = 0 do 40 j = 1,ns IC = 10 Symbol = '-' c if (tb19v_inv(j) .gt. t0) then c red c IC = 14 c Symbol = '+' c endif c if (tb19v_inv(j) .gt. t1 .and. tb19v_inv(j) .le. t0 ) then c blue c IC = 15 c Symbol = '+' c endif c if (tb19v_inv(j) .gt. t2 .and. tb19v_inv(j) .le. t1 ) then c IC = 16 c Symbol = '+' c endif if (tb19v_inv(j) .gt. t3 .and. tb19v_inv(j) .le. t2 ) then IC = 16 Symbol = '$' endif if (tb19v_inv(j) .gt. t4 .and. tb19v_inv(j) .le. t3 ) then c dark red 14 c blue 12 c yellow 9 c skin 13 c green 10 IC = 9 Symbol = '+' endif if (tb19v_inv(j) .gt. t5 .and. tb19v_inv(j) .le. t4 ) then IC = 12 Symbol = '+' endif if (tb19v_inv(j) .le. t5) then IC = 7 Symbol = '*' endif call gspmci(IC) call gstxci(IC) call gsplci(IC) CALL INSIDE_WINDOW (time_obs (j), > time_window_min, time_window_max, > inside, 0) IF (inside) THEN CALL LLXY(YLAT(j),YLON(j),XX,YY,IEND,JEND,DX) c XX = ssmixj(j) c YY = ssmiyi(j) C GET BACK TO THE NEST DOMAIN COORDINATE XX=XX-XA+1. YY=YY-YA+1. xcs(j) = xx ycs(j) = yy if (xx.lt.1.0 .or. xx.gt.float(jx) .or. * yy.lt.1.0 .or. yy.gt.float(ix)) go to 40 c xx = xx+deltx yy = yy+delty CALL PWRITX(xx,yy,'''KGU''',5,1,0,0) CALL PWRITX(xx,yy,Symbol,1,isize,0,0) CALL PWRITX(XX,YY,'''PRU''',5,1,0,0) C number = number+1 ENDIF 40 continue C c write(title,202) number, NAME write(title,203) number, NAME, > time_window_min ( 1: 4), time_window_min ( 6: 7), > time_window_min ( 9:10), time_window_min (12:13), > time_window_min (15:16), > time_window_max ( 9:10), time_window_max (12:13), > time_window_max (15:16) print* print*, title 202 format(I7,2X,A6,2X) 203 format(I7,2X,A6,2X, >A4,'-',A2,1X,'[',A2,'_',A2,':',A2,',',A2,'_',A2,':',A2,']') C1997/07 [16:00,16:23] CALL SET(0.0,1.0,0.0,1.0,1.,100.,1.,100.,1) CALL PWRIT(Xx1, 6.,TITLE(1:44),44,2,0,0) CALL PWRITX(xx1+15.,6.,'''KGU''',5,1,0,0) CALL PWRITX(xx1+15.,6.,Symbol,1,isize,0,0) CALL PWRITX(Xx1+15.,6.,'''PRU''',5,1,0,0) C IF (IFR.EQ.1) CALL FRAME cc CALL COLOR C RETURN END