SUBROUTINE POLEAVG(IM,JM,JSTA,JEND,SMALL,COSL,SPVAL,VAR) ! This program averages scalor fields at pole points ! 13-05-06 Shrinivas Moorthi : Added protection from divide by zero for icount implicit none ! INCLUDE 'mpif.h' INTEGER,intent(in) :: IM,JM,JSTA,JEND REAL,intent(in) :: SMALL,SPVAL REAL,intent(in) :: COSL(IM,JSTA:JEND) REAL,intent(inout) :: VAR(IM,JSTA:JEND) INTEGER I,JJ,ICOUNT REAL WORK, tem ! JJ = 1 IF(JJ>=jsta .and. JJ<=jend)then IF(cosl(1,JJ) < SMALL)then WORK = 0. ICOUNT = 0 DO I=1,IM IF(VAR(I,JJ) /= SPVAL)THEN WORK = VAR(I,JJ) + WORK ICOUNT = ICOUNT + 1 END IF END DO if (icount > 0) then tem = WORK/ICOUNT DO I=1,IM VAR(I,JJ) = tem END DO endif END IF END IF JJ = JM IF(JJ>=jsta .and. JJ<=jend)then IF(cosl(1,JJ) < SMALL)then WORK = 0. ICOUNT = 0 DO I=1,IM IF(VAR(I,JJ) /= SPVAL)THEN WORK = VAR(I,JJ) + WORK ICOUNT = ICOUNT + 1 END IF END DO if (icount > 0) then tem = WORK/ICOUNT DO I=1,IM VAR(I,JJ) = tem END DO endif END IF END IF RETURN END