SUBROUTINE INITPS(PS,NLATH,NLON,NPRECS,PSFILE) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C . . . . C SUBPROGRAM: INITPS SET UP INITIAL RHS FOR SURFACE PRESS. C PRGMMR: DERBER ORG: W/NMC23 DATE: 91-02-26 C C ABSTRACT: SET UP INITIAL RHS FOR SURFACE PRESSURE OBSERVATIONS C C PROGRAM HISTORY LOG: C 91-02-26 DERBER C C INPUT ARGUMENT LIST: C NLATH - HALF THE NUMBER OF LATITUDES ON GAUSSIAN GRID C NLON - NUMBER OF LONGITUDES ON GAUSSIAN GRID C NPRECS - NUMBER OF PS RECORDS C NBLK - BLOCKING FACTOR FOR IUNIT C IUNIT - DATA SCRATCH FILE C C OUTPUT ARGUMENT LIST: C PS - RESULTS FROM OBSERVATION OPERATOR (0 FOR NO DATA) C C ATTRIBUTES: C LANGUAGE: CFT77 C MACHINE: CRAY YMP C C$$$ C C-CRA DIMENSION PS(2*NLATH+1,NLON+2) C-CRA DIMENSION PSFILE(*) DIMENSION PS(2*48+1,192+2) DIMENSION PSFILE(*) C-------- C-CRA PS=0. C DIMENSION PS(2*NLATH+1,NLON+2) DO ITMP=1,(2*NLATH+1)*(NLON+2) PS(ITMP,1)=0. ENDDO IF(NPRECS .EQ. 0)RETURN NPP=10 C-------- C-------- INITIALIZE GRIDS C-------- IS=1 DO 100 I=1,NPRECS NGRP=PSFILE(IS)+.001 IS=IS+1 CDIR$ IVDEP DO 101 K=1,NGRP JLAT=PSFILE((K-1)*NPP+IS) JLON=PSFILE((K-1)*NPP+IS+1) JLATP=PSFILE((K-1)*NPP+IS+2) JLONP=PSFILE((K-1)*NPP+IS+3) WGT00=PSFILE((K-1)*NPP+IS+4) WGT10=PSFILE((K-1)*NPP+IS+5) WGT01=PSFILE((K-1)*NPP+IS+6) WGT11=PSFILE((K-1)*NPP+IS+7) VAL=-PSFILE((K-1)*NPP+IS+8)*PSFILE((K-1)*NPP+IS+9) C AERR=PSFILE((IRPT-1)*NPP+11) C PGES=PSFILE((IRPT-1)*NPP+12) C PTYP=PSFILE((IRPT-1)*NPP+13) PS(JLAT,JLON)=PS(JLAT,JLON)+WGT00*VAL PS(JLATP,JLON)=PS(JLATP,JLON)+WGT10*VAL PS(JLAT,JLONP)=PS(JLAT,JLONP)+WGT01*VAL PS(JLATP,JLONP)=PS(JLATP,JLONP)+WGT11*VAL 101 CONTINUE IS=IS+NGRP*NPP 100 CONTINUE RETURN END