24 CHARACTER*2 chpro(nhoriz)
25 CHARACTER*3 chdir,chspd,chric
29 INTEGER*4 ncall,minutz(111)
30 INTEGER*4 iutmp1(nxgrd,nygrd),ivtmp1(nxgrd,nygrd)
31 INTEGER*4 iptmp1(nxgrd,nygrd),ittmp1(nxgrd,nygrd)
38 DATA chpro,chdir,chspd,chric /
'01',
'02',
'03',
'04',
'05',
'06',
39 $
'07',
'08',
'09',
'10',
'11',
'12',
'13',
'14',
'15',
'16',
40 $
'17',
'18',
'19',
'20',
'21',
'22',
'23',
'24',
'25',
'26',
41 $
'27',
'28',
'29',
'30',
'DIR',
'SPD',
' RI'/
55 OPEN(35,file=
'U'//chmesh//
'KM.'//chddhr,
61 OPEN(35,file=
'V'//chmesh//
'KM.'//chddhr,
69 OPEN(35,file=
'W'//chmesh//
'KM.'//chddhr,
70 $ form=
'UNFORMATTED', status=
'UNKNOWN')
79 OPEN(35,file=
'PT'//chmesh//
'KM.'//chddhr,
80 $ form=
'UNFORMATTED', status=
'UNKNOWN')
89 OPEN(35,file=
'PR'//chmesh//
'KM.'//chddhr,
90 $ form=
'UNFORMATTED', status=
'UNKNOWN')
99 OPEN(35,file=
'RI'//chmesh//
'KM.'//chddhr,
100 $ form=
'UNFORMATTED', status=
'UNKNOWN')
107 OPEN(35,file=
'BV'//chmesh//
'KM.'//chddhr,
108 $ form=
'UNFORMATTED', status=
'UNKNOWN')
117 IF (.NOT.dowvsz)
THEN
122 CALL setint(0,iutmp1,nxgrd,nygrd)
123 CALL setint(0,ivtmp1,nxgrd,nygrd)
124 CALL setint(0,iptmp1,nxgrd,nygrd)
125 CALL setint(0,ittmp1,nxgrd,nygrd)
130 IF (nint(ucomp(iob)) .NE. -9999)
THEN
133 IF (kx.GT.0 .AND. kx.LE. nxgrd
134 $ .AND. ky.GT.0 .AND. ky.LE. nygrd)
THEN
135 iutmp1(kx,ky)=nint(100.0*ucomp(iob))
136 ivtmp1(kx,ky)=nint(100.0*vcomp(iob))
139 IF (nint(tempc(iob)).NE.-9999)
THEN
142 IF (kx.GT.0 .AND. kx.LE. nxgrd
143 $ .AND. ky.GT.0 .AND. ky.LE. nygrd)
THEN
144 IF (nint(altim(iob)) .NE. -9999)
THEN
145 ppp=
cvt2p(altim(iob),sfcht(kx,ky))
147 ppp=float(iprgrf(kx,ky,1))
150 ittmp1(kx,ky)=nint(10.0*
tpot(ppp,ttt))
153 IF (nint(altim(iob)).NE.-9999)
THEN
156 IF (kx.GT.0 .AND. kx.LE. nxgrd
157 $ .AND. ky.GT.0 .AND. ky.LE. nygrd)
THEN
159 $ nint(
cvt2p(altim(iob),sfcht(kx,ky)))
169 WRITE (*,*) chpvex//
'UFOBS'//chmesh//
'KM-ALLZ.'//
172 OPEN (50,file=
'UFOBS'//chmesh//
'KM-ALLZ.'//
173 $ chddhr,form=
'FORMATTED',status=
'UNKNOWN')
175 OPEN (51,file=
'VFOBS'//chmesh//
'KM-ALLZ.'//
176 $ chddhr,form=
'FORMATTED',status=
'UNKNOWN')
178 OPEN(40,file=
'PTOBS'//chmesh//
'KM-ALLZ.'//
179 $ chddhr,form=
'FORMATTED',status=
'UNKNOWN')
181 OPEN(41,file=
'PROBS'//chmesh//
'KM-ALLZ.'//
182 $ chddhr,form=
'FORMATTED',status=
'UNKNOWN')
184 DO 68 iy=nascy0,nascy0-1+nryty,nskip
186 WRITE(50,6008) (iutmp1(ix,iy),
187 $ ix=nascx0,nascx0-1+nrytx,nskip)
188 WRITE(51,6008) (ivtmp1(ix,iy),
189 $ ix=nascx0,nascx0-1+nrytx,nskip)
190 WRITE(40,6008) (ittmp1(ix,iy),
191 $ ix=nascx0,nascx0-1+nrytx,nskip)
192 WRITE(41,6008) (iptmp1(ix,iy),
193 $ ix=nascx0,nascx0-1+nrytx,nskip)
213 OPEN(31,file=chpvex//
'LOCLTOPO'//chmesh//
'KM.DAT',
216 DO 168 iy=nascy0-1+nryty,nascy0,-nskip
217 WRITE(31,6008) (nint(sfcht(ix,iy)),
218 $ ix=nascx0,nascx0-1+nrytx,nskip)
230 OPEN (46,file=chpvex//
'UF'//
231 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
234 OPEN (47,file=chpvex//
'VF'//
235 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
239 OPEN (35,file=chpvex//
'WF'//
240 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
245 OPEN (36,file=chpvex//
'PT'//
246 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
251 OPEN (37,file=chpvex//
'PR'//
252 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
257 OPEN (38,file=chpvex//
'RIF'//
258 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
263 OPEN (39,file=chpvex//
'BV'//
264 $ chmesh//
'KM-ALLZ.'//chddhr,form=
'FORMATTED',
270 DO 185 iy=nascy0-1+nryty,nascy0,-nskip
272 WRITE(46,6008) (iugraf(ix,iy,iz),
273 $ ix=nascx0,nascx0-1+nrytx,nskip)
274 WRITE(47,6008) (ivgraf(ix,iy,iz),
275 $ ix=nascx0,nascx0-1+nrytx,nskip)
277 IF (dowcmp)
WRITE(35,6008) (iwgraf(ix,iy,iz),
278 $ ix=nascx0,nascx0-1+nrytx,nskip)
280 IF (dothet)
WRITE(36,6008) (iptgrf(ix,iy,iz),
281 $ ix=nascx0,nascx0-1+nrytx,nskip)
283 IF (dopres)
WRITE(37,6008) (iprgrf(ix,iy,iz),
284 $ ix=nascx0,nascx0-1+nrytx,nskip)
286 IF (dobri)
WRITE(38,6008) (irngrf(ix,iy,iz),
287 $ ix=nascx0,nascx0-1+nrytx,nskip)
289 IF (dobvpd)
WRITE(39,6008) (ibvgrf(ix,iy,iz),
290 $ ix=nascx0,nascx0-1+nrytx,nskip)
296 IF (dowcmp)
CLOSE (35)
297 IF (dothet)
CLOSE (36)
298 IF (dopres)
CLOSE (37)
299 IF (dobri)
CLOSE (38)
300 IF (dobvpd)
CLOSE (39)
310 iuprf(ip,ll,ncall)=iugraf(ipx,ipy,ll)
311 ivprf(ip,ll,ncall)=ivgraf(ipx,ipy,ll)
312 riprf(ip,ll,ncall)=float(irngrf(ipx,ipy,ll))
325 OPEN(46,file=chpvex//
'WNDPROF'//chpro(ip),
326 $ form=
'FORMATTED', status=
'UNKNOWN')
330 WRITE (46,6004) (chdir,chpro(ii),chspd,
331 $ chpro(ii),chric,chpro(ii),ii=1,-ncall)
333 WRITE (46,6006) zchooz(iz),
334 $ (
dd(float(iuprf(ip,iz,it)),float(ivprf(ip,iz,it))),
335 $ 0.01*
sp(float(iuprf(ip,iz,it)),
336 $ float(ivprf(ip,iz,it))),
337 $ 1000.*riprf(ip,iz,it),it=1,-ncall)
345 OPEN(47,file=chpvex//
'WNDTSER'// chpro(ip),
346 $ form=
'FORMATTED', status=
'UNKNOWN')
347 WRITE (47,6005) (chdir,chpro(ii),
348 $ chspd,chpro(ii),chric,chpro(ii),ii=1,nflat)
351 WRITE (47,6007) minutz(it),
352 $ (
dd(float(iuprf(ip,iz,it)),float(ivprf(ip,iz,it))),
353 $ 0.01*
sp(float(iuprf(ip,iz,it)),
354 $ float(ivprf(ip,iz,it))),
355 $ 1000.*riprf(ip,iz,it),iz=1,nflat)
362 WRITE(*,*)
' FINISHED ',chfnam
366 6004
FORMAT (1x,
' MSL ',55(1x,a3,a2,1x,a3,a2,1x,a3,a2))
367 6005
FORMAT (1x,
' MIN ',55(1x,a3,a2,1x,a3,a2,1x,a3,a2))
368 6006
FORMAT (1x,f6.0,55(f6.0,2f6.1))
369 6007
FORMAT (1x,i8,55(f6.0,2f6.1))
370 6008
FORMAT (1x,111i6)
real function cvt2p(ALTIM, ELEV)
real function tpot(PP, TT)
subroutine setint(IVALUE, IARRAY, NUM1, NUM2)