2 SUBROUTINE putout(CHDDHR,CHFNAM,MINJUL,NCALL)
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)
subroutine putout(CHDDHR, CHFNAM, MINJUL, NCALL)