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)