#include "dims.h" SUBROUTINE ADVECV(NX,S,T) use cons_module,only: imax,imaxp2,kmaxp1,kmax,len1,len2 implicit none #include "params.h" #include "fcom.h" #include "vscr.h" #include "index.h" #include "buff.h" #include "phys.h" ! ! Args: integer,intent(in) :: nx real,intent(in) :: T(ZIMXP) real,intent(out) :: S(ZIMXP,ZKMXP) ! ! Local: integer :: nwk,nxk,i,k real :: dsig ! NWK=NJNP+NW NXK=NJ+NX C **** S3(1)=(NX(1)-T)*W(1)*2. do i=1,len1 s3(i,1) = (f(i,nxk)-t(i))*f(i,nwk)*2. enddo DSIG=.5*(1./dz) DO 100 I=1,LEN1 S3(I,KMAXP1)=0. 100 CONTINUE C **** S3(K)=(X(K)-X(K-1))*W(K) do i=1,len2-len1 s3(i,2) = (f(i,nxk+1)-f(i,nxk))*f(i,nwk+1) enddo C **** S3(K)=(S3(K)+S3(K+1))*DSIG do i=1,len2 s3(i,1) = (s3(i,1)+s3(i,2))*dsig enddo C **** S=S+S3 do i=1,len2 s(i,1) = s(i,1)+s3(i,1) enddo C **** C **** PERIODIC POINTS FOR S C **** DO I = 1,2 DO K = 1,KMAX S(I,K)= S(I+IMAX,K) S(I+IMAXP2,K)= S(I+2,K) ENDDO ENDDO ! call addfsech('ADVECV',' ',' ',s,zimxp,zkmxp,zkmx,j) RETURN END C