52 SUBROUTINE w3fp04(IFLD,ALAT,ALON,TITLE,IDIM,CMIL,CMIR,
53 & CMJB,CMJT,INUM,XFAC,IERR)
55 REAL ALAT(IDIM), ALON(IDIM)
57 INTEGER IFLD(IDIM), TITLE(10)
58 INTEGER LINE(24), IL(17), IR(17), IJU(20), IJL(20)
63 CHARACTER*1 KH(120,77), MEAN(4), KB, KM, KP, LC,
64 & kk(5,77,20),
DATA(4), l1, l2, l3,
72 equivalence(mean(1),imean), (
DATA(1),lfld)
73 equivalence(rfield,ifield)
74 equivalence(ifmtt,ifmt)
78 DATA fmt1 /
"(6X, ('+',I , X),//) "/
79 DATA fmt2 /
"(' +',I3,1X, A1,' +',I3) "/
80 DATA fmt4 /
"(//, 6X, ('+',I , X))"/
81 DATA kb /
' '/, km/
'-'/, kp/
'+'/, lc/
'X'/
82 DATA l1/
'1'/, l2/
'2'/, l3/
'3'/, l24/
' 24'/, l116/
' 116'/
83 DATA ipole/
'P',
'O',
'L',
'E'/, kn/
'N'/, ks/
'S'/
85 1001
FORMAT(
'1',16x,
'PANEL #',i2,
' OF ',i2,4x,10a8,/,/)
87 2001
FORMAT(///,20x,
'UPPER LEFT CORNER--LAT =',f6.2,
' LON =',f7.2,
'W'
88 & , 3x,
'UPPER RIGHT CORNER--LAT =',f6.2,
' LON =',f7.2,
'W')
89 2002
FORMAT(20x,
'LOWER LEFT CORNER--LAT =',f6.2,
' LON =',f7.2,
'W'
90 & , 3x,
'LOWER RIGHT CORNER--LAT =',f6.2,
' LON =',f7.2,
'W')
91 2003
FORMAT(/,/, 16x,
'PANEL #', i2,
' OF ', i2, 4x, 10a8)
92 9001
FORMAT(/,5x,
'CMIL = ',f8.1,
' CMIR = ',f8.1,
' HIGH AND LOW'
93 & ,
' VALUES REVERSED......RETURN......')
94 9002
FORMAT(/,5x,
'CMJB = ',f8.1,
' CMJT = ',f8.1,
' HIGH AND LOW'
95 & ,
' VALUES REVERSED......RETURN......')
96 9003
FORMAT(/,5x,f8.1,
' IS ILLEGAL VALUE FOR LOW I. IT IS NOW 1.0')
97 9004
FORMAT(/,5x,f8.1,
' IS ILLEGAL VALUE FOR HIGH I. IT IS NOW 65.0')
98 9005
FORMAT(/,5x,f8.1,
' IS ILLEGAL VALUE FOR LOW J. IT IS NOW 1.0')
99 9006
FORMAT(/,5x,f8.1,
' IS ILLEGAL VALUE FOR HIGH J. IT IS NOW 65.0')
100 9007
FORMAT(/,5x,
'REQUESTED NUMBER OF CHARACTERS TO PLOT(',i2,
' )IS'
101 & ,
' NOT ALLOWED. FOUR(4) IS MAXIMUM. THATS ALL YOU GET')
102 9008
FORMAT(/,5x,
'REQUESTED SUBSET OF 65X65 GRID CANNOT CURRENTLY '
103 & ,
'BE PLOTTED WITH MAP SCALE FACTOR',f5.1,/5x,
'IF PLOT '
104 & ,
'IS NECESSARY, CONTACT JOHN M. HORODECK,ESQ. NMC/DD'
105 & ,
'/SEB FOR ASSISTANCE')
106 9009
FORMAT(/,5x,i4,
' IS INVALID HEMISPHERIC REFERENCE'
107 & ,
'......RETURN......')
108 9010
FORMAT(/,5x,
'HUNDREDS DIGIT OF INUM(INUM =',i4,
') IS'
109 & ,
' INVALID......RETURN......')
113 IF (cmir.GT.cmil)
GO TO 1
115 print 9001, cmil, cmir
118 IF (cmjt.GT.cmjb)
GO TO 2
120 print 9002, cmjb, cmjt
123 IF (cmil.GE.1.0)
GO TO 3
127 IF (cmir.LE.65.0)
GO TO 4
131 IF (cmjb.GE.1.0)
GO TO 5
135 IF (cmjt.LE.65.0)
GO TO 6
143 nref = (mod(inum,100))/10
147 IF (lnum.LE.4)
GO TO 7
151 IF (nref.LE.1)
GO TO 8
156 IF ((inum/100).LE.3)
GO TO 81
163 i1 = (cmil-1.0)*xfac + 1.0
164 i2 = (cmir-1.0)*xfac + 1.0
165 j1 = (cmjb-1.0)*xfac + 1.0
166 j2 = (cmjt-1.0)*xfac + 1.0
170 IF (((i2-i1).LT.139).AND.((j2-j1).LT.139))
GO TO 9
185 ipage = (jjam1/jjaa) + 1
186 jpage = (jjb/jjbb) + 1
188 xip = 32.0*xfac + 1.0
189 xjp = 32.0*xfac + 1.0
190 iixip = (xip-offi)*5 - 4
191 jjxjp = (xjp-offj)*4 - 3
200 il(nx) = i1 + (23*(nx-1))
201 IF (nx.NE.ipage) ir(nx) = i1 + (23*nx)
202 IF (nx.EQ.ipage) ir(nx) = i2
222 IF (la.EQ.24)
GO TO 13
223 CALL w3ai15(la,ifmt,1,4,kp)
224 fmt1(5:8) = ifmtt(1:4)
225 fmt4(9:12) = ifmtt(1:4)
226 CALL w3ai15(mmm,ifmt,1,4,kp)
227 fmt2(13:16) = ifmtt(1:4)
234 IF (la.LT.100)
GO TO 19
246 print 1001, nx, ipage, title
247 WRITE(6,fmt1) (line(n), n=1,la)
255 iju(jnx) = j2 - (19*(jnx-1))
256 IF (jnx.NE.jpage) ijl(jnx) = j2 - (19*jnx)
257 IF (jnx.EQ.jpage) ijl(jnx) = j1
258 jmax = iju(jnx) - offj
259 jmin = ijl(jnx) - offj
260 ju = jjb - (4*jmax-3)
261 jl = jjb - (4*jmin-3)
262 nnn = (jmax-jmin)*4 + 1
270 IF (nx.NE.1)
GO TO 31
277 kh(i,j) = kk(i,j,jnx)
279 DO 34 i=ibegin,jjaapn
283 IF (jnx.NE.1)
GO TO 40
288 IF (jnx.NE.jpage)
GO TO 50
299 IF ((abs(alat(i)).GT.90.).OR.(alon(i).LT.0.0).OR.(alon
300 a (i).GT.360.0))
GO TO 90
304 IF (nref.EQ.0)
GO TO 51
305 CALL w3fb04(alat(i),alon(i),-xmesh,260.0,deli,delj)
308 CALL w3fb04(alat(i),alon(i),xmesh,80.0,deli,delj)
316 ii = 1.0 + (xi-offi-0.9001)*5.0
317 jj = 1.0 + (xj-offj-0.8751)*4.0
318 iw = (jjaam1*(nx-1)) + 1
320 iy = jjb - (jjbbm1*(jnx-1))
321 IF (jnx.NE.jpage) iz = jjb - (jjbbm1*jnx)
322 IF (jnx.EQ.jpage) iz = 1
323 IF ((ii.LT.1).OR.(ii.GT.jja))
GO TO 100
324 IF ((jj.LT.1).OR.(jj.GT.jjb))
GO TO 100
325 IF ((ii.LT.iw).OR.(ii.GT.ix))
GO TO 100
326 IF ((jj.GT.iy).OR.(jj.LT.iz))
GO TO 100
330 IF (.NOT.((iixip.GE.iw.AND.iixip.LE.ix).AND.
331 a (jjxjp.LE.iy.AND.jjxjp.GE.iz)))
GO TO 56
332 iixxp = iixip - (jjaam1*(nx-1))
333 jjxxp = jjxjp - (iz-1)
334 IF (nref.EQ.0) kh(iixxp-1,jjxxp) = kn
335 IF (nref.EQ.1) kh(iixxp-1,jjxxp) = ks
338 kh(iixxp+l,jjxxp) = ipole(l)
345 ii = ii - (jjaam1*(nx-1))
346 IF (jnx.NE.jpage) jj = jj - (iz-1)
353 IF (kh(ii+in,jj).EQ.kb)
GO TO 60
364 IF ((inum/100).EQ.3)
GO TO 82
365 IF ((inum/100).EQ.1)
GO TO 73
375 IF ((jfld/10000).GE.1) jfld = mod(jfld,10000)
377 CALL w3ai15(iiabs,imean,1,lnum,kp)
378 IF (jfld.LT.0) kh(ii,jj) = km
379 IF (jfld.GE.0) kh(ii,jj) = kp
381 kh(ii+ia,jj) = mean(ia)
391 kh(ii+iq,jj) =
DATA(iq)
404 WRITE(6,fmt2) jx, (kh(i,jn), i=1,mmm), jx
407 IF (jn.NE.1)
GO TO 118
414 kk(ia,l,jnx) = kh(i,l)
422 print 1003, (kh(i,jn), i=1,mmm)
427 WRITE(6,fmt4) (line(n), n=1,la)
433 xi1 = ((al-1.0)/xfac + 1.0) - 33.0
434 xi2 = ((ar-1.0)/xfac + 1.0) - 33.0
437 IF (nref.EQ.0)
GO TO 142
438 CALL w3fb05(xi1,xj1,-xmesh,260.0,alat1,alon1)
439 CALL w3fb05(xi1,xj2,-xmesh,260.0,alat2,alon2)
440 CALL w3fb05(xi2,xj2,-xmesh,260.0,alat3,alon3)
441 CALL w3fb05(xi2,xj1,-xmesh,260.0,alat4,alon4)
444 CALL w3fb05(xi1,xj1,xmesh,80.0,alat1,alon1)
445 CALL w3fb05(xi1,xj2,xmesh,80.0,alat2,alon2)
446 CALL w3fb05(xi2,xj2,xmesh,80.0,alat3,alon3)
447 CALL w3fb05(xi2,xj1,xmesh,80.0,alat4,alon4)
449 print 2001, alat2, alon2, alat3, alon3
450 print 2002, alat1, alon1, alat4, alon4
451 print 2003, nx, ipage, title