75
76
79
80
81
82 integer, intent(in) :: ng, tile
83 integer, intent(in) :: LBi, UBi, LBj, UBj, LBij, UBij
84 integer, intent(in) :: IminS, ImaxS, JminS, JmaxS
85 integer, intent(in) :: Lout
86
87# ifdef ASSUMED_SHAPE
88# ifdef SOLVE3D
89 real(r8), intent(inout) :: tl_t(LBi:,LBj:,:,:,:)
90 real(r8), intent(inout) :: tl_u(LBi:,LBj:,:,:)
91 real(r8), intent(inout) :: tl_v(LBi:,LBj:,:,:)
92 real(r8), intent(inout) :: f_t(LBi:,LBj:,:,:)
93 real(r8), intent(inout) :: f_u(LBi:,LBj:,:)
94 real(r8), intent(inout) :: f_v(LBi:,LBj:,:)
95# else
96 real(r8), intent(inout) :: tl_ubar(LBi:,LBj:,:)
97 real(r8), intent(inout) :: tl_vbar(LBi:,LBj:,:)
98 real(r8), intent(inout) :: f_ubar(LBi:,LBj:)
99 real(r8), intent(inout) :: f_vbar(LBi:,LBj:)
100# endif
101 real(r8), intent(inout) :: tl_zeta(LBi:,LBj:,:)
102 real(r8), intent(inout) :: f_zeta(LBi:,LBj:)
103# else
104# ifdef SOLVE3D
105 real(r8), intent(inout) :: tl_t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
106 real(r8), intent(inout) :: tl_u(LBi:UBi,LBj:UBj,N(ng),2)
107 real(r8), intent(inout) :: tl_v(LBi:UBi,LBj:UBj,N(ng),2)
108 real(r8), intent(inout) :: f_t(LBi:UBi,LBj:UBj,N(ng),NT(ng))
109 real(r8), intent(inout) :: f_u(LBi:UBi,LBj:UBj,N(ng))
110 real(r8), intent(inout) :: f_v(LBi:UBi,LBj:UBj,N(ng))
111# else
112 real(r8), intent(inout) :: tl_ubar(LBi:UBi,LBj:UBj,:)
113 real(r8), intent(inout) :: tl_vbar(LBi:UBi,LBj:UBj,:)
114 real(r8), intent(inout) :: f_ubar(LBi:UBi,LBj:UBj)
115 real(r8), intent(inout) :: f_vbar(LBi:UBi,LBj:UBj)
116# endif
117 real(r8), intent(inout) :: tl_zeta(LBi:UBi,LBj:UBj,:)
118 real(r8), intent(inout) :: f_zeta(LBi:UBi,LBj:UBj)
119# endif
120
121
122
123 integer :: i, ib, ir, j, k
124# ifdef SOLVE3D
125 integer :: itrc
126# endif
127
128# include "set_bounds.h"
129
130
131
132 DO j=jstrr,jendr
133 DO i=istrr,iendr
134 tl_zeta(i,j,lout)=f_zeta(i,j)+tl_zeta(i,j,lout)
135 END DO
136 END DO
137
138# ifndef SOLVE3D
139
140
141
142 DO j=jstrr,jendr
143 DO i=istr,iendr
144 tl_ubar(i,j,lout)=f_ubar(i,j)+tl_ubar(i,j,lout)
145 END DO
146 END DO
147
148
149
150 DO j=jstr,jendr
151 DO i=istrr,iendr
152 tl_vbar(i,j,lout)=f_vbar(i,j)+tl_vbar(i,j,lout)
153 END DO
154 END DO
155# endif
156
157# ifdef SOLVE3D
158
159
160
162 DO j=jstrr,jendr
163 DO i=istr,iendr
164 tl_u(i,j,k,lout)=f_u(i,j,k)+tl_u(i,j,k,lout)
165 END DO
166 END DO
167 END DO
168
169
170
171
173 DO j=jstr,jendr
174 DO i=istrr,iendr
175 tl_v(i,j,k,lout)=f_v(i,j,k)+tl_v(i,j,k,lout)
176 END DO
177 END DO
178 END DO
179
180
181
182
185 DO j=jstrr,jendr
186 DO i=istrr,iendr
187 tl_t(i,j,k,lout,itrc)=f_t(i,j,k,itrc)+tl_t(i,j,k,lout,itrc)
188 END DO
189 END DO
190 END DO
191 END DO
192# endif
193
194 RETURN
integer, dimension(:), allocatable n
integer, dimension(:), allocatable nt