27 & LBi, UBi, LBj, UBj, &
28 & IminS, ImaxS, JminS, JmaxS, &
39 integer,
intent(in) :: ng, tile, model
40 integer,
intent(in) :: LBi, UBi, LBj, UBj
41 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
45 real(r8),
intent(in) :: Amask(LBi:,LBj:)
47 real(r8),
intent(inout) :: A(LBi:,LBj:)
50 real(r8),
intent(in) :: Amask(LBi:UBi,LBj:UBj)
52 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj)
59 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS) :: Awrk1
60 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS) :: Awrk2
62#include "set_bounds.h"
79 & (a(i,j-1)*amask(i,j-1)+ &
80 & a(i,j+1)*amask(i,j+1)- &
81 & 2.0_r8*a(i,j)*amask(i,j))* &
82 & amask(i,j-1)*amask(i,j+1)*amask(i,j)
85 & (a(i,j-1)+a(i,j+1)-2.0_r8*a(i,j))
94 awrk2(i,j)=a(i,j)+awrk1(i,j)
103 awrk1(i,j)=0.25_r8* &
104 & (awrk2(i-1,j)*amask(i-1,j)+ &
105 & awrk2(i+1,j)*amask(i+1,j)- &
106 & 2.0_r8*awrk2(i,j)*amask(i,j))* &
107 & amask(i-1,j)*amask(i+1,j)*amask(i,j)
109 awrk1(i,j)=0.25_r8* &
110 & (awrk2(i-1,j)+awrk2(i+1,j)-2.0_r8*awrk2(i,j))
119 a(i,j)=awrk2(i,j)+awrk1(i,j)
130 & LBi, UBi, LBj, UBj, LBk, UBk, &
131 & IminS, ImaxS, JminS, JmaxS, &
142 integer,
intent(in) :: ng, tile, model
143 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBk, UBk
144 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
148 real(r8),
intent(in) :: Amask(LBi:,LBj:)
150 real(r8),
intent(inout) :: A(LBi:,LBj:,LBk:)
153 real(r8),
intent(in) :: Amask(LBi:UBi,LBj:UBj)
155 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj,LBk:UBk)
162 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS) :: Awrk1
163 real(r8),
dimension(IminS:ImaxS,JminS:JmaxS) :: Awrk2
165# include "set_bounds.h"
182 awrk1(i,j)=0.25_r8* &
183 & (a(i,j-1,k)*amask(i,j-1)+ &
184 & a(i,j+1,k)*amask(i,j+1)- &
185 & 2.0_r8*a(i,j,k)*amask(i,j))* &
186 & amask(i,j-1)*amask(i,j+1)*amask(i,j)
188 awrk1(i,j)=0.25_r8* &
189 & (a(i,j-1,k)+a(i,j+1,k)-2.0_r8*a(i,j,k))
198 awrk2(i,j)=a(i,j,k)+awrk1(i,j)
207 awrk1(i,j)=0.25_r8* &
208 & (awrk2(i-1,j)*amask(i-1,j)+ &
209 & awrk2(i+1,j)*amask(i+1,j)- &
210 & 2.0_r8*awrk2(i,j)*amask(i,j))* &
211 & amask(i-1,j)*amask(i+1,j)*amask(i,j)
213 awrk1(i,j)=0.25_r8* &
214 & (awrk2(i-1,j)+awrk2(i+1,j)-2.0_r8*awrk2(i,j))
223 a(i,j,k)=awrk2(i,j)+awrk1(i,j)
subroutine shapiro3d_tile(ng, tile, model, lbi, ubi, lbj, ubj, lbk, ubk, imins, imaxs, jmins, jmaxs, amask, a)
subroutine shapiro2d_tile(ng, tile, model, lbi, ubi, lbj, ubj, imins, imaxs, jmins, jmaxs, amask, a)