1 |
! |
2 |
! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/adaptdt.F,v 1.1.1.1 2004/05/19 12:53:05 lmdzadmin Exp $ |
3 |
! |
4 |
subroutine adaptdt(nadv,dtbon,n,pbaru, |
5 |
c masse) |
6 |
|
7 |
use dimens_m |
8 |
use paramet_m |
9 |
use comconst |
10 |
use comvert |
11 |
use conf_gcm_m |
12 |
use conf_gcm_m |
13 |
use comgeom |
14 |
use temps |
15 |
use ener |
16 |
IMPLICIT NONE |
17 |
|
18 |
|
19 |
c---------------------------------------------------------- |
20 |
c Arguments |
21 |
c---------------------------------------------------------- |
22 |
INTEGER n,nadv |
23 |
REAL dtbon |
24 |
REAL, intent(in):: pbaru(iip1,jjp1,llm) |
25 |
REAL masse(iip1,jjp1,llm) |
26 |
c---------------------------------------------------------- |
27 |
c Local |
28 |
c---------------------------------------------------------- |
29 |
INTEGER i,j,l |
30 |
REAL CFLmax,aaa,bbb |
31 |
|
32 |
CFLmax=0. |
33 |
do l=1,llm |
34 |
do j=2,jjm |
35 |
do i=1,iim |
36 |
aaa=pbaru(i,j,l)*dtvr/masse(i,j,l) |
37 |
CFLmax=max(CFLmax,aaa) |
38 |
bbb=-pbaru(i,j,l)*dtvr/masse(i+1,j,l) |
39 |
CFLmax=max(CFLmax,bbb) |
40 |
enddo |
41 |
enddo |
42 |
enddo |
43 |
n=int(CFLmax)+1 |
44 |
c pour reproduire cas VL du code qui appele x,y,z,y,x |
45 |
c if (nadv.eq.30) n=n/2 ! Pour Prather |
46 |
dtbon=dtvr/n |
47 |
|
48 |
return |
49 |
end |
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|