1 | MODULE vlz_mod |
---|
2 | |
---|
3 | REAL,POINTER,SAVE :: wq(:,:,:) |
---|
4 | REAL,POINTER,SAVE :: dzq(:,:) |
---|
5 | REAL,POINTER,SAVE :: dzqw(:,:) |
---|
6 | REAL,POINTER,SAVE :: adzqw(:,:) |
---|
7 | ! CRisi: pour les traceurs: |
---|
8 | REAL,POINTER,SAVE :: Ratio(:,:,:) |
---|
9 | |
---|
10 | CONTAINS |
---|
11 | |
---|
12 | SUBROUTINE vlz_allocate |
---|
13 | USE bands |
---|
14 | USE allocate_field_mod |
---|
15 | USE parallel_lmdz |
---|
16 | USE infotrac |
---|
17 | USE dimensions_mod, ONLY: iim, jjm, llm, ndm |
---|
18 | IMPLICIT NONE |
---|
19 | TYPE(distrib),POINTER :: d |
---|
20 | |
---|
21 | d=>distrib_vanleer |
---|
22 | CALL allocate_u(wq,llm+1,nqtot,d) |
---|
23 | CALL allocate_u(dzq,llm,d) |
---|
24 | CALL allocate_u(dzqw,llm,d) |
---|
25 | CALL allocate_u(adzqw,llm,d) |
---|
26 | IF(ANY(tracers(:)%nqDescen > 0)) CALL allocate_u(Ratio,llm,nqtot,d) |
---|
27 | |
---|
28 | END SUBROUTINE vlz_allocate |
---|
29 | |
---|
30 | SUBROUTINE vlz_switch_vanleer(dist) |
---|
31 | USE allocate_field_mod |
---|
32 | USE bands |
---|
33 | USE parallel_lmdz |
---|
34 | USE infotrac |
---|
35 | IMPLICIT NONE |
---|
36 | TYPE(distrib),INTENT(IN) :: dist |
---|
37 | |
---|
38 | CALL switch_u(wq,distrib_vanleer,dist) |
---|
39 | CALL switch_u(dzq,distrib_vanleer,dist) |
---|
40 | CALL switch_u(dzqw,distrib_vanleer,dist) |
---|
41 | CALL switch_u(adzqw,distrib_vanleer,dist) |
---|
42 | IF(ANY(tracers(:)%nqDescen > 0)) CALL switch_u(Ratio,distrib_vanleer,dist) |
---|
43 | |
---|
44 | END SUBROUTINE vlz_switch_vanleer |
---|
45 | |
---|
46 | END MODULE vlz_mod |
---|