72 |
_RL us(istrip,Lm), vs(istrip,Lm), ts(istrip,Lm) |
_RL us(istrip,Lm), vs(istrip,Lm), ts(istrip,Lm) |
73 |
_RL dragus(istrip,Lm), dragvs(istrip,Lm) |
_RL dragus(istrip,Lm), dragvs(istrip,Lm) |
74 |
_RL dragxs(istrip), dragys(istrip) |
_RL dragxs(istrip), dragys(istrip) |
75 |
_RL plstr(istrip,Lm),plestr(istrip,Lm),dpresstr(istrip,Lm) |
_RL plstr(istrip,Lm),plestr(istrip,Lm+1),dpresstr(istrip,Lm) |
76 |
integer nthinstr(istrip),nbasestr(istrip) |
integer nthinstr(istrip),nbasestr(istrip) |
77 |
|
|
78 |
integer n,i,j,L |
integer n,i,j,L |
125 |
c ---------------------------------------------- |
c ---------------------------------------------- |
126 |
do j=1,jm |
do j=1,jm |
127 |
do i=1,im |
do i=1,im |
128 |
phis_std(i,j) = min( 400.0, sqrt( max(0.0,phis_var(i,j)) )/grav ) |
phis_std(i,j) = min( 400.0 _d 0, sqrt( max(0.0 _d 0, |
129 |
|
$ phis_var(i,j)) )/grav ) |
130 |
enddo |
enddo |
131 |
enddo |
enddo |
132 |
|
|
162 |
call stripit ( vz,vs,im*jm,im*jm,istrip,Lm,n ) |
call stripit ( vz,vs,im*jm,im*jm,istrip,Lm,n ) |
163 |
call stripit ( tv,ts,im*jm,im*jm,istrip,Lm,n ) |
call stripit ( tv,ts,im*jm,im*jm,istrip,Lm,n ) |
164 |
call stripit ( pl,plstr,im*jm,im*jm,istrip,Lm,n ) |
call stripit ( pl,plstr,im*jm,im*jm,istrip,Lm,n ) |
165 |
call stripit ( ple,plestr,im*jm,im*jm,istrip,Lm,n ) |
call stripit ( ple,plestr,im*jm,im*jm,istrip,Lm+1,n ) |
166 |
call stripit ( dpres,dpresstr,im*jm,im*jm,istrip,Lm,n ) |
call stripit ( dpres,dpresstr,im*jm,im*jm,istrip,Lm,n ) |
167 |
call stripitint ( nthin,nthinstr,im*jm,im*jm,istrip,1,n ) |
call stripitint ( nthin,nthinstr,im*jm,im*jm,istrip,1,n ) |
168 |
call stripitint ( nbase,nbasestr,im*jm,im*jm,istrip,1,n ) |
call stripitint ( nbase,nbasestr,im*jm,im*jm,istrip,1,n ) |
184 |
do L = 1,Lm |
do L = 1,Lm |
185 |
do j = 1,jm |
do j = 1,jm |
186 |
do i = 1,im |
do i = 1,im |
187 |
dragu(i,j,L) = sign( min(0.006,abs(dragu(i,j,L))),dragu(i,j,L) ) |
dragu(i,j,L) = sign( min(0.006 _d 0,abs(dragu(i,j,L))), dragu(i |
188 |
dragv(i,j,L) = sign( min(0.006,abs(dragv(i,j,L))),dragv(i,j,L) ) |
$ ,j,L) ) |
189 |
|
dragv(i,j,L) = sign( min(0.006 _d 0,abs(dragv(i,j,L))), dragv(i |
190 |
|
$ ,j,L) ) |
191 |
dragt(i,j,L) = -( uz(i,j,L)*dragu(i,j,L)+vz(i,j,L)*dragv(i,j,L) ) |
dragt(i,j,L) = -( uz(i,j,L)*dragu(i,j,L)+vz(i,j,L)*dragv(i,j,L) ) |
192 |
. *cpinv |
. *cpinv |
193 |
dudt(i,j,L) = dudt(i,j,L) + dragu(i,j,L) |
dudt(i,j,L) = dudt(i,j,L) + dragu(i,j,L) |
417 |
enddo |
enddo |
418 |
|
|
419 |
do i = 1,irun |
do i = 1,irun |
420 |
robar(i) = robar(i)/(ps(i)-ple(i,Lm+1-nbase(i)-1)) * 100.0 |
robar(i) = robar(i)/(ps(i)-ple(i,Lm+1-(nbase(i)-1))) * 100.0 |
421 |
ubar(i) = ubar(i)/(ps(i)-ple(i,Lm+1-nbase(i)-1)) |
ubar(i) = ubar(i)/(ps(i)-ple(i,Lm+1-(nbase(i)-1))) |
422 |
vbar(i) = vbar(i)/(ps(i)-ple(i,Lm+1-nbase(i)-1)) |
vbar(i) = vbar(i)/(ps(i)-ple(i,Lm+1-(nbase(i)-1))) |
423 |
|
|
424 |
speed(i) = sqrt( ubar(i)*ubar(i) + vbar(i)*vbar(i) ) |
speed(i) = sqrt( ubar(i)*ubar(i) + vbar(i)*vbar(i) ) |
425 |
ang(i) = atan2(vbar(i),ubar(i)) |
ang(i) = atan2(vbar(i),ubar(i)) |
527 |
c ---------------------------------- |
c ---------------------------------- |
528 |
crifro = 1.0 - 0.25/richsn |
crifro = 1.0 - 0.25/richsn |
529 |
crif2 = crifro*crifro |
crif2 = crifro*crifro |
530 |
if( l.eq.2 ) crif2 = min(0.7,crif2) |
if( l.eq.2 ) crif2 = min(0.7 _d 0,crif2) |
531 |
|
|
532 |
if( fro2.gt.crif2 ) then |
if( fro2.gt.crif2 ) then |
533 |
tensio(i,L) = crif2/fro2*tensio(i,L-1) |
tensio(i,L) = crif2/fro2*tensio(i,L-1) |