/[MITgcm]/MITgcm_contrib/plumes/plume2dyn.F
ViewVC logotype

Diff of /MITgcm_contrib/plumes/plume2dyn.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

--- MITgcm_contrib/plumes/plume2dyn.F	2004/05/25 23:12:50	1.3
+++ MITgcm_contrib/plumes/plume2dyn.F	2004/05/26 03:10:27	1.4
@@ -1,5 +1,5 @@
       subroutine plume2dyn(qplume,Nxplume,Lmplume,uref,vref,flag,
-     .     idim1,idim2,jdim1,jdim2,Lmout,Nsx,Nsy,bi,bj,qdyn1,qdyn2)
+     . idim1,idim2,jdim1,jdim2,i1,i2,j1,j2,Nsx,Nsy,bi,bj,qdyn1,qdyn2)
 C***********************************************************************
 C Purpose:
 C   To interpolate an arbitrary quantity from higher resolution plume
@@ -11,22 +11,23 @@
 C
 C Input:
 C   qplume... [idim2,jdim2,im,Lmplume,bi] Quantity on Input Grid
-C   idimin... Longitude Dimension of Input
+C   Nxplume . Longitude Dimension of Input
 C   Lmplume.. Vertical  Dimension of Input
-C   uref .... [im,jm,Lmout,bi,bj] Reference u-component of velocity
-C   vref .... [im,jm,Lmout,bi,bj] Reference v-component of velocity
+C   uref .... [im,jm,Lmplume,bi,bj] Reference u-component of velocity
+C   vref .... [im,jm,plume,bi,bj] Reference v-component of velocity
 C   flag .... Flag to indicate vector (1) or scalar (0) interpolation
-C   idim1,2.. Beginning and ending i-values of output grid
-C   jdim1,2.. Beginning and ending j-values of output grid
-C   Lmout.... Vertical  Dimension of Output
+C   idim1,2.. Beginning and ending dimension of output grid
+C   jdim1,2.. Beginning and ending dimension of output grid
+C   i1,2..... Beginning and ending x-direction span         
+C   j1,2..... Beginning and ending y-direction span         
 C   Nsx...... Number of processes in x-direction
 C   Nsy...... Number of processes in y-direction
 C   bi....... Index of process number in x-direction
 C   bj....... Index of process number in x-direction
 C
 C Output:
-C   qdyn1..... [im,jm,Lmout,bi,bj] Field at output grid (dynamics)
-C   qdyn2..... [im,jm,Lmout,bi,bj] Field at output grid (dynamics)
+C   qdyn1..... [im,jm,plume,bi,bj] Field at output grid (dynamics)
+C   qdyn2..... [im,jm,plume,bi,bj] Field at output grid (dynamics)
 C
 C Notes:
 C   1)  Assume (for now) that the number of vertical levels is the
@@ -35,21 +36,22 @@
       implicit none
 #include "CPP_OPTIONS.h"
 
-      integer  Nxplume, Lmplume, Lmout, Nsx, Nsy
-      integer idim1, idim2, jdim1, jdim2, bi, bj, flag
-      _RL qplume(idim2,jdim2,Nxplume,Lmplume,Nsx)
-      _RL uref(idim1:idim2,jdim1:jdim2,Lmout,Nsx,Nsy)
-      _RL vref(idim1:idim2,jdim1:jdim2,Lmout,Nsx,Nsy)
-      _RL qdyn1(idim1:idim2,jdim1:jdim2,Lmout,Nsx,Nsy)
-      _RL qdyn2(idim1:idim2,jdim1:jdim2,Lmout,Nsx,Nsy)
+      integer  Nxplume, Lmplume, Nsx, Nsy
+      integer idim1, idim2, jdim1, jdim2, i1, i2, j1, j2
+      integer bi, bj, flag
+      _RL qplume(i2,j2,Nxplume,Lmplume,Nsx)
+      _RL uref(idim1:idim2,jdim1:jdim2,Lmplume,Nsx,Nsy)
+      _RL vref(idim1:idim2,jdim1:jdim2,Lmplume,Nsx,Nsy)
+      _RL qdyn1(idim1:idim2,jdim1:jdim2,Lmplume,Nsx,Nsy)
+      _RL qdyn2(idim1:idim2,jdim1:jdim2,Lmplume,Nsx,Nsy)
 
       integer i,j,L,iplume
-      _RL qplumeav(idim1,jdim2,Lmplume)
+      _RL qplumeav(i1,j2,Lmplume)
       _RL sqrtarg
 
 C First step - compute the average of qplume over Nxplume
-      do j = jdim1,jdim2
-      do i = idim1,idim2
+      do j = j1,j2
+      do i = i1,i2
        do L = 1,Lmplume
         qplumeav(i,j,L) = 0.
         do iplume = 1,Nxplume
@@ -65,16 +67,16 @@
 C the angle given by uref and vref
 
       if (flag.eq.0) then
-       do j = jdim1,jdim2
-       do i = idim1,idim2
+       do j = j1,j2
+       do i = i1,i2
        do L = 1,Lmplume
         qdyn1(i,j,L,bi,bj) = qplumeav(i,j,L)
        enddo
        enddo
        enddo
       elseif (flag.eq.1) then
-       do j = jdim1,jdim2
-       do i = idim1,idim2
+       do j = j1,j2
+       do i = i1,i2
        do L = 1,Lmplume
         if(vref(i,j,L,bi,bj).ne.0.) then
          sqrtarg = (qplumeav(i,j,L)*qplumeav(i,j,L)) /

 

  ViewVC Help
Powered by ViewVC 1.1.22