4 subroutine aaam_bud (iam,nlon,nlev,rjour,rsec,
90 #include "dimensions.h"
96 REAL,
intent(in):: rjour,rsec,rea,rg,ome
97 REAL plat(nlon),plon(nlon),
phis(nlon)
98 REAL dragu(nlon),liftu(nlon),phyu(nlon)
99 REAL dragv(nlon),liftv(nlon),phyv(nlon)
100 REAL p(nlon,nlev+1),
u(nlon,nlev),
v(nlon,nlev)
105 REAL xpi,hadley,hadday
107 REAL raam(3),oaam(3),tmou(3),tsso(3),tbls(3)
114 REAL zs(801,401),ps(801,401)
115 REAL ub(801,401),vb(801,401)
116 REAL ssou(801,401),ssov(801,401)
117 REAL blsu(801,401),blsv(801,401)
118 REAL zlon(801),zlat(401)
120 CHARACTER (LEN=20) :: modname=
'aaam_bud'
121 CHARACTER (LEN=80) :: abort_message
127 if(
iim+1.gt.801.or.jjm+1.gt.401)
then
128 abort_message =
'Pb de dimension dans aaam_bud'
134 hadday=1.e18*24.*3600.
136 dlon=2.*xpi/
REAL(iim)
155 ub(1,1)=ub(1,1)+
u(
l,
k)*(p(
l,
k)-p(
l,
k+1))/rg
156 vb(1,1)=vb(1,1)+
v(
l,
k)*(p(
l,
k)-p(
l,
k+1))/rg
159 zlat(1)=plat(
l)*xpi/180.
167 ssou(
i,1)=dragu(
l)+liftu(
l)
168 ssov(
i,1)=dragv(
l)+liftv(
l)
169 blsu(
i,1)=phyu(
l)-dragu(
l)-liftu(
l)
170 blsv(
i,1)=phyv(
l)-dragv(
l)-liftv(
l)
181 ssou(
iim+1,
j)=dragu(
l+1)+liftu(
l+1)
182 ssov(
iim+1,
j)=dragv(
l+1)+liftv(
l+1)
183 blsu(
iim+1,
j)=phyu(
l+1)-dragu(
l+1)-liftu(
l+1)
184 blsv(
iim+1,
j)=phyv(
l+1)-dragv(
l+1)-liftv(
l+1)
185 zlon(
iim+1)=-plon(
l+1)*xpi/180.
186 zlat(
j)=plat(
l+1)*xpi/180.
201 ssou(
i,
j)=dragu(
l)+liftu(
l)
202 ssov(
i,
j)=dragv(
l)+liftv(
l)
203 blsu(
i,
j)=phyu(
l)-dragu(
l)-liftu(
l)
204 blsv(
i,
j)=phyv(
l)-dragv(
l)-liftv(
l)
205 zlon(
i)=plon(
l)*xpi/180.
226 ub(1,jjm+1)=ub(1,jjm+1)+
u(
l,
k)*(p(
l,
k)-p(
l,
k+1))/rg
227 vb(1,jjm+1)=vb(1,jjm+1)+
v(
l,
k)*(p(
l,
k)-p(
l,
k+1))/rg
229 zlat(jjm+1)=plat(
l)*xpi/180.
234 ssou(
i,jjm+1)=dragu(
l)+liftu(
l)
235 ssov(
i,jjm+1)=dragv(
l)+liftv(
l)
236 blsu(
i,jjm+1)=phyu(
l)-dragu(
l)-liftu(
l)
237 blsv(
i,jjm+1)=phyv(
l)-dragv(
l)-liftv(
l)
238 ub(
i,jjm+1)=ub(1,jjm+1)
239 vb(
i,jjm+1)=vb(1,jjm+1)
249 raam(1)=raam(1)-rea**3*dlon*dlat*0.5*
250 c(cos(zlon(
i ))*sin(zlat(
j ))*cos(zlat(
j ))*ub(
i ,
j )
251 c +cos(zlon(
i ))*sin(zlat(
j+1))*cos(zlat(
j+1))*ub(
i ,
j+1))
252 c +rea**3*dlon*dlat*0.5*
253 c(sin(zlon(
i ))*cos(zlat(
j ))*vb(
i ,
j )
254 c +sin(zlon(
i ))*cos(zlat(
j+1))*vb(
i ,
j+1))
256 oaam(1)=oaam(1)-ome*rea**4*dlon*dlat/rg*0.5*
257 c(cos(zlon(
i ))*cos(zlat(
j ))**2*sin(zlat(
j ))*ps(
i ,
j )
258 c +cos(zlon(
i ))*cos(zlat(
j+1))**2*sin(zlat(
j+1))*ps(
i ,
j+1))
260 raam(2)=raam(2)-rea**3*dlon*dlat*0.5*
261 c(sin(zlon(
i ))*sin(zlat(
j ))*cos(zlat(
j ))*ub(
i ,
j )
262 c +sin(zlon(
i ))*sin(zlat(
j+1))*cos(zlat(
j+1))*ub(
i ,
j+1))
263 c -rea**3*dlon*dlat*0.5*
264 c(cos(zlon(
i ))*cos(zlat(
j ))*vb(
i ,
j )
265 c +cos(zlon(
i ))*cos(zlat(
j+1))*vb(
i ,
j+1))
267 oaam(2)=oaam(2)-ome*rea**4*dlon*dlat/rg*0.5*
268 c(sin(zlon(
i ))*cos(zlat(
j ))**2*sin(zlat(
j ))*ps(
i ,
j )
269 c +sin(zlon(
i ))*cos(zlat(
j+1))**2*sin(zlat(
j+1))*ps(
i ,
j+1))
271 raam(3)=raam(3)+rea**3*dlon*dlat*0.5*
272 c(cos(zlat(
j))**2*ub(
i,
j)+cos(zlat(
j+1))**2*ub(
i,
j+1))
274 oaam(3)=oaam(3)+ome*rea**4*dlon*dlat/rg*0.5*
275 c(cos(zlat(
j))**3*ps(
i,
j)+cos(zlat(
j+1))**3*ps(
i,
j+1))
286 tmou(1)=tmou(1)-rea**2*dlon*0.5*sin(zlon(
i))
287 c *(zs(
i,
j)-zs(
i,
j+1))
288 c *(cos(zlat(
j+1))*ps(
i,
j+1)+cos(zlat(
j))*ps(
i,
j))
289 tmou(2)=tmou(2)+rea**2*dlon*0.5*cos(zlon(
i))
290 c *(zs(
i,
j)-zs(
i,
j+1))
291 c *(cos(zlat(
j+1))*ps(
i,
j+1)+cos(zlat(
j))*ps(
i,
j))
297 tmou(1)=tmou(1)+rea**2*dlat*0.5*sin(zlat(
j))
298 c *(zs(
i+1,
j)-zs(
i,
j))
299 c *(cos(zlon(
i+1))*ps(
i+1,
j)+cos(zlon(
i))*ps(
i,
j))
300 tmou(2)=tmou(2)+rea**2*dlat*0.5*sin(zlat(
j))
301 c *(zs(
i+1,
j)-zs(
i,
j))
302 c *(sin(zlon(
i+1))*ps(
i+1,
j)+sin(zlon(
i))*ps(
i,
j))
303 tmou(3)=tmou(3)-rea**2*dlat*0.5*
304 c cos(zlat(
j))*(zs(
i+1,
j)-zs(
i,
j))*(ps(
i+1,
j)+ps(
i,
j))
315 tsso(1)=tsso(1)-rea**3*cos(zlat(
j))*dlon*dlat*
316 c ssou(
i,
j) *sin(zlat(
j))*cos(zlon(
i))
317 c +rea**3*cos(zlat(
j))*dlon*dlat*
318 c ssov(
i,
j) *sin(zlon(
i))
320 tsso(2)=tsso(2)-rea**3*cos(zlat(
j))*dlon*dlat*
321 c ssou(
i,
j) *sin(zlat(
j))*sin(zlon(
i))
322 c -rea**3*cos(zlat(
j))*dlon*dlat*
323 c ssov(
i,
j) *cos(zlon(
i))
325 tsso(3)=tsso(3)+rea**3*cos(zlat(
j))*dlon*dlat*
326 c ssou(
i,
j) *cos(zlat(
j))
328 tbls(1)=tbls(1)-rea**3*cos(zlat(
j))*dlon*dlat*
329 c blsu(
i,
j) *sin(zlat(
j))*cos(zlon(
i))
330 c +rea**3*cos(zlat(
j))*dlon*dlat*
331 c blsv(
i,
j) *sin(zlon(
i))
333 tbls(2)=tbls(2)-rea**3*cos(zlat(
j))*dlon*dlat*
334 c blsu(
i,
j) *sin(zlat(
j))*sin(zlon(
i))
335 c -rea**3*cos(zlat(
j))*dlon*dlat*
336 c blsv(
i,
j) *cos(zlon(
i))
338 tbls(3)=tbls(3)+rea**3*cos(zlat(
j))*dlon*dlat*
339 c blsu(
i,
j) *cos(zlat(
j))
357 100
format(f12.5,15(1
x,f12.5))
369 torsfc= tmou(3)+tsso(3)+tbls(3)