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

Contents of /MITgcm_contrib/plumes/plumes_tendency_apply.F

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


Revision 1.1 - (show annotations) (download)
Wed May 5 18:19:35 2004 UTC (19 years, 10 months ago) by molod
Branch: MAIN
CVS Tags: HEAD
Code for embedded plume model

1 subroutine plumes_tendency_apply_u(iMin, iMax, jMin, jMax,
2 . bi,bj,kLev,myTime,myThid)
3 C=======================================================================
4 C Routine: plumes_tendency_apply_u
5 C add plumes tendency terms to U tendency.
6 C
7 C INPUT:
8 C iMin - Working range of tile for applying forcing.
9 C iMax
10 C jMin
11 C jMax
12 C kLev
13 C
14 C Notes: Routine works for one level at a time
15 C Assumes that U and V tendencies are already on C-Grid
16 C=======================================================================
17 implicit none
18
19 #include "CPP_OPTIONS.h"
20 #include "SIZE.h"
21 #include "GRID.h"
22 #include "EEPARAMS.h"
23 #include "DYNVARS.h"
24 #include "plumes_SIZE.h"
25 #include "plumes_coms.h"
26
27 integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
28 _RL myTime
29
30 integer i, j
31
32 do j=jMin,jMax
33 do i=iMin,iMax
34 gU(i,j,kLev,bi,bj) = gU(i,j,kLev,bi,bj) +
35 . maskC(i,j,kLev,bi,bj) * guplume(i,j,kLev,bi,bj)
36 enddo
37 enddo
38
39 return
40 end
41 subroutine plumes_tendency_apply_v(iMin, iMax, jMin, jMax,
42 . bi,bj,kLev,myTime,myThid)
43 C=======================================================================
44 C Routine: plumes_tendency_apply_v
45 C add plumes tendency terms to V tendency.
46 C
47 C INPUT:
48 C iMin - Working range of tile for applying forcing.
49 C iMax
50 C jMin
51 C jMax
52 C kLev
53 C
54 C Notes: Routine works for one level at a time
55 C Assumes that U and V tendencies are already on C-Grid
56 C=======================================================================
57 implicit none
58
59 #include "CPP_OPTIONS.h"
60 #include "SIZE.h"
61 #include "GRID.h"
62 #include "EEPARAMS.h"
63 #include "DYNVARS.h"
64 #include "plumes_SIZE.h"
65 #include "plumes_coms.h"
66
67 integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
68 _RL myTime
69
70 integer i, j
71
72 do j=jMin,jMax
73 do i=iMin,iMax
74 gV(i,j,kLev,bi,bj) = gV(i,j,kLev,bi,bj) +
75 . maskC(i,j,kLev,bi,bj) * gvplume(i,j,kLev,bi,bj)
76 enddo
77 enddo
78
79 return
80 end
81 subroutine plumes_tendency_apply_t(iMin, iMax, jMin, jMax,
82 . bi,bj,kLev,myTime,myThid)
83 C=======================================================================
84 C Routine: plumes_tendency_apply_t
85 C add plumes tendency terms to T (theta) tendency.
86 C
87 C INPUT:
88 C iMin - Working range of tile for applying forcing.
89 C iMax
90 C jMin
91 C jMax
92 C kLev
93 C
94 C Notes: Routine works for one level at a time
95 C=======================================================================
96 implicit none
97
98 #include "CPP_OPTIONS.h"
99 #include "SIZE.h"
100 #include "GRID.h"
101 #include "EEPARAMS.h"
102 #include "DYNVARS.h"
103 #include "plumes_SIZE.h"
104 #include "plumes_coms.h"
105
106 integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
107 _RL myTime
108
109 integer i, j
110
111 do j=jMin,jMax
112 do i=iMin,iMax
113 gT(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj)
114 . *( gT(i,j,kLev,bi,bj) + gthplume(i,j,kLev,bi,bj) )
115 enddo
116 enddo
117
118 return
119 end
120 subroutine plumes_tendency_apply_s(iMin, iMax, jMin, jMax,
121 . bi,bj,kLev,myTime,myThid)
122 C=======================================================================
123 C Routine: plumes_tendency_apply_s
124 C add plumes tendency terms to S tendency.
125 C
126 C INPUT:
127 C iMin - Working range of tile for applying forcing.
128 C iMax
129 C jMin
130 C jMax
131 C kLev
132 C
133 C Notes: Routine works for one level at a time
134 C=======================================================================
135 implicit none
136
137 #include "CPP_OPTIONS.h"
138 #include "SIZE.h"
139 #include "GRID.h"
140 #include "EEPARAMS.h"
141 #include "DYNVARS.h"
142 #include "plumes_SIZE.h"
143 #include "plumes_coms.h"
144
145 integer iMin, iMax, jMin, jMax, kLev, bi, bj, myThid
146 _RL myTime
147
148 integer i, j
149
150 do j=jMin,jMax
151 do i=iMin,iMax
152 gS(i,j,kLev,bi,bj) = maskC(i,j,kLev,bi,bj)
153 . *( gS(i,j,kLev,bi,bj) + gsplume(i,j,kLev,bi,bj) )
154 enddo
155 enddo
156
157 return
158 end

  ViewVC Help
Powered by ViewVC 1.1.22