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

Annotation of /MITgcm_contrib/plumes/do_plumes.F

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


Revision 1.2 - (hide annotations) (download)
Thu May 13 22:20:26 2004 UTC (21 years, 2 months ago) by molod
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +2 -2 lines
Developing......

1 molod 1.2 subroutine do_plumes(uplume,vplume,thplume,
2 molod 1.1 . idim,jdim,Nr,Nsx,Nsy,bi,bj,nxperdyn,nyperdyn,
3 molod 1.2 . duplume,dvplume,dthplume)
4 molod 1.1 c-----------------------------------------------------------------------
5     c Dummy routine to calculate plumes increments - here set them to whatever
6     c
7     c-----------------------------------------------------------------------
8     implicit none
9     #include "CPP_OPTIONS.h"
10    
11     integer idim,jdim,Nr,Nsx,Nsy,bi,bj,nxperdyn,nyperdyn
12     _RL uplume(idim,jdim,Nr,Nsx,Nsy)
13     _RL vplume(idim,jdim,Nr,Nsx,Nsy)
14     _RL thplume(idim,jdim,Nr,Nsx,Nsy)
15     _RL splume(idim,jdim,Nr,Nsx,Nsy)
16     _RL duplume(idim,jdim,Nr,Nsx,Nsy)
17     _RL dvplume(idim,jdim,Nr,Nsx,Nsy)
18     _RL dthplume(idim,jdim,Nr,Nsx,Nsy)
19     _RL dsplume(idim,jdim,Nr,Nsx,Nsy)
20     c
21     _RL upergrid(nxperdyn,nyperdyn,nr)
22     _RL vpergrid(nxperdyn,nyperdyn,nr)
23     _RL tpergrid(nxperdyn,nyperdyn,nr)
24     _RL spergrid(nxperdyn,nyperdyn,nr)
25     _RL dupergrid(nxperdyn,nyperdyn,nr)
26     _RL dvpergrid(nxperdyn,nyperdyn,nr)
27     _RL dtpergrid(nxperdyn,nyperdyn,nr)
28     _RL dspergrid(nxperdyn,nyperdyn,nr)
29     integer i,j,L,ig,jg,iindex,jindex,nxgrids,nygrids
30    
31     nxgrids = idim/nxperdyn
32     nygrids = jdim/nyperdyn
33    
34     c Large do-loop, do a plume model at each grid point
35     do jg = 1,nygrids
36     do ig = 1,nxgrids
37    
38     c Extract per grid point info from large arrays
39     do L = 1,Nr
40     do j = 1,nyperdyn
41     do i = 1,nxperdyn
42     iindex = (i-1)*nxgrids + i
43     jindex = (j-1)*nygrids + j
44     upergrid(i,j,L) = uplume(iindex,jindex,L,bi,bj)
45     vpergrid(i,j,L) = vplume(iindex,jindex,L,bi,bj)
46     tpergrid(i,j,L) = thplume(iindex,jindex,L,bi,bj)
47     spergrid(i,j,L) = splume(iindex,jindex,L,bi,bj)
48     enddo
49     enddo
50     enddo
51    
52     c Now call plume model to get tendencies
53     call plume( )
54    
55     c Put tendencies into large arrays
56     do L = 1,Nr
57     do j = 1,nyperdyn
58     do i = 1,nxperdyn
59     iindex = (i-1)*nxgrids + i
60     jindex = (j-1)*nygrids + j
61     duplume(iindex,jindex,L,bi,bj) = dupergrid(i,j,L)
62     dvplume(iindex,jindex,L,bi,bj) = dvpergrid(i,j,L)
63     dthplume(iindex,jindex,L,bi,bj) = dtpergrid(i,j,L)
64     dsplume(iindex,jindex,L,bi,bj) = dspergrid(i,j,L)
65     enddo
66     enddo
67     enddo
68    
69     return
70     end

  ViewVC Help
Powered by ViewVC 1.1.22