subroutine plumes_tendency_apply_u(iMin, iMax, jMin, jMax, . bi,bj,kLev,myTime,myThid) C======================================================================= C Routine: plumes_tendency_apply_u C add plumes tendency terms to U tendency. C C INPUT: C iMin - Working range of tile for applying forcing. C iMax C jMin C jMax C kLev C C Notes: Routine works for one level at a time C Assumes that U and V tendencies are already on C-Grid C======================================================================= implicit none #include "CPP_OPTIONS.h" #include "SIZE.h" #include "GRID.h" #include "EEPARAMS.h" #include "DYNVARS.h" #include "plumes_SIZE.h" #include "plumes_coms.h" integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid _RL myTime integer i, j do j=jMin,jMax do i=iMin,iMax gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj) + . maskC(i,j,kLev,bi,bj) * guplume(i,j,kLev,bi,bj) enddo enddo return end subroutine plumes_tendency_apply_v(iMin, iMax, jMin, jMax, . bi,bj,kLev,myTime,myThid) C======================================================================= C Routine: plumes_tendency_apply_v C add plumes tendency terms to V tendency. C C INPUT: C iMin - Working range of tile for applying forcing. C iMax C jMin C jMax C kLev C C Notes: Routine works for one level at a time C Assumes that U and V tendencies are already on C-Grid C======================================================================= implicit none #include "CPP_OPTIONS.h" #include "SIZE.h" #include "GRID.h" #include "EEPARAMS.h" #include "DYNVARS.h" #include "plumes_SIZE.h" #include "plumes_coms.h" integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid _RL myTime integer i, j do j=jMin,jMax do i=iMin,iMax gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj) + . maskC(i,j,kLev,bi,bj) * gvplume(i,j,kLev,bi,bj) enddo enddo return end subroutine plumes_tendency_apply_t(iMin, iMax, jMin, jMax, . bi,bj,kLev,myTime,myThid) C======================================================================= C Routine: plumes_tendency_apply_t C add plumes tendency terms to T (theta) tendency. C C INPUT: C iMin - Working range of tile for applying forcing. C iMax C jMin C jMax C kLev C C Notes: Routine works for one level at a time C======================================================================= implicit none #include "CPP_OPTIONS.h" #include "SIZE.h" #include "GRID.h" #include "EEPARAMS.h" #include "DYNVARS.h" #include "plumes_SIZE.h" #include "plumes_coms.h" integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid _RL myTime integer i, j do j=jMin,jMax do i=iMin,iMax gT(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj) . *( gT(i,j,kLev,bi,bj) + gthplume(i,j,kLev,bi,bj) ) enddo enddo return end subroutine plumes_tendency_apply_s(iMin, iMax, jMin, jMax, . bi,bj,kLev,myTime,myThid) C======================================================================= C Routine: plumes_tendency_apply_s C add plumes tendency terms to S tendency. C C INPUT: C iMin - Working range of tile for applying forcing. C iMax C jMin C jMax C kLev C C Notes: Routine works for one level at a time C======================================================================= implicit none #include "CPP_OPTIONS.h" #include "SIZE.h" #include "GRID.h" #include "EEPARAMS.h" #include "DYNVARS.h" #include "plumes_SIZE.h" #include "plumes_coms.h" integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid _RL myTime integer i, j do j=jMin,jMax do i=iMin,iMax gS(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj) . *( gS(i,j,kLev,bi,bj) + gsplume(i,j,kLev,bi,bj) ) enddo enddo return end