SUBROUTINE INTT(RT,NTRECS,NLATH,NLON,NSIG,TFILE) C$$$ SUBPROGRAM DOCUMENTATION BLOCK C . . . . C SUBPROGRAM: INTT APPLY OBSERVATION OPERATOR FOR TEMPS. C PRGMMR: DERBER ORG: W/NMC23 DATE: 91-02-26 C C ABSTRACT: APPLY OBSERVATION OPERATOR FOR TEMPERATURES. C C PROGRAM HISTORY LOG: C 91-02-26 DERBER C C INPUT ARGUMENT LIST: C RT - SEARCH DIRECTION FOR TEMPS C NLATH - HALF THE NUMBER OF LATITUDES ON GAUSSIAN GRID C NLON - NUMBER OF LONGITUDES ON GAUSSIAN GRID C NSIG - NUMBER OF SIGMA LEVELS C NTRECS - NUMBER OF TEMP RECORDS C NBLK - BLOCKING FACTOR FOR IUNIT C IUNIT - DATA SCRATCH FILE C C OUTPUT ARGUMENT LIST: C RR - RESULTS FROM OBSERVATION OPERATOR (NO CHANGE FOR NO DATA) C C ATTRIBUTES: C LANGUAGE: CFT77 C MACHINE: CRAY YMP C C$$$ C C-CRA DIMENSION RT(2*NLATH+1,NLON+2,NSIG) C-CRA DIMENSION RR(2*NLATH+1,NLON+2,NSIG) C-CRA DIMENSION TFILE(*) DIMENSION RT(2*48+1,192+2,28) DIMENSION RR(2*48+1,192+2,28) DIMENSION TFILE(*) C-------- IF(NTRECS .EQ. 0)RETURN C-CRA RR=RT C DIMENSION RR(2*NLATH+1,NLON+2,NSIG) DO ITMP=1,(2*NLATH+1)*(NLON+2)*NSIG RR(ITMP,1,1)=RT(ITMP,1,1) ENDDO C-CRA RT=0. C DIMENSION RT(2*NLATH+1,NLON+2,NSIG) DO ITMP=1,(2*NLATH+1)*(NLON+2)*NSIG RT(ITMP,1,1)=0. ENDDO NPP=16 C-------- C C-------- IS=1 DO 100 I=1,NTRECS NGRP=TFILE(IS) IS=IS+1 CDIR$ IVDEP DO 101 K=1,NGRP JLAT=TFILE((K-1)*NPP+IS) JLON=TFILE((K-1)*NPP+IS+1) JSIG=TFILE((K-1)*NPP+IS+2) JLATP=TFILE((K-1)*NPP+IS+3) JLONP=TFILE((K-1)*NPP+IS+4) JSIGP=TFILE((K-1)*NPP+IS+5) WGT000=TFILE((K-1)*NPP+IS+6) WGT100=TFILE((K-1)*NPP+IS+7) WGT010=TFILE((K-1)*NPP+IS+8) WGT110=TFILE((K-1)*NPP+IS+9) WGT001=TFILE((K-1)*NPP+IS+10) WGT101=TFILE((K-1)*NPP+IS+11) WGT011=TFILE((K-1)*NPP+IS+12) WGT111=TFILE((K-1)*NPP+IS+13) C TDAT=AEOFS((K-1)*NPP+16) C AERR=AEOFS((K-1)*NPP+17) C TGES=AEOFS((K-1)*NPP+18) C TTYP=AEOFS((K-1)*NPP+19) VAL=WGT000*RR(JLAT,JLON,JSIG)+WGT100*RR(JLATP,JLON,JSIG) * +WGT010*RR(JLAT,JLONP,JSIG)+WGT110*RR(JLATP,JLONP,JSIG) * +WGT001*RR(JLAT,JLON,JSIGP)+WGT101*RR(JLATP,JLON,JSIGP) * +WGT011*RR(JLAT,JLONP,JSIGP)+WGT111*RR(JLATP,JLONP,JSIGP) RT(JLAT,JLON,JSIG)=RT(JLAT,JLON,JSIG)+WGT000*VAL RT(JLATP,JLON,JSIG)=RT(JLATP,JLON,JSIG)+WGT100*VAL RT(JLAT,JLONP,JSIG)=RT(JLAT,JLONP,JSIG)+WGT010*VAL RT(JLATP,JLONP,JSIG)=RT(JLATP,JLONP,JSIG)+WGT110*VAL RT(JLAT,JLON,JSIGP)=RT(JLAT,JLON,JSIGP)+WGT001*VAL RT(JLATP,JLON,JSIGP)=RT(JLATP,JLON,JSIGP)+WGT101*VAL RT(JLAT,JLONP,JSIGP)=RT(JLAT,JLONP,JSIGP)+WGT011*VAL RT(JLATP,JLONP,JSIGP)=RT(JLATP,JLONP,JSIGP)+WGT111*VAL 101 CONTINUE IS=IS+NPP*NGRP 100 CONTINUE RETURN END