[1632] | 1 | MODULE vlz_mod |
---|
| 2 | |
---|
[2270] | 3 | REAL,POINTER,SAVE :: wq(:,:,:) |
---|
[1632] | 4 | REAL,POINTER,SAVE :: dzq(:,:) |
---|
| 5 | REAL,POINTER,SAVE :: dzqw(:,:) |
---|
| 6 | REAL,POINTER,SAVE :: adzqw(:,:) |
---|
[4050] | 7 | ! CRisi: pour les traceurs: |
---|
[2270] | 8 | REAL,POINTER,SAVE :: Ratio(:,:,:) |
---|
[1632] | 9 | |
---|
| 10 | CONTAINS |
---|
| 11 | |
---|
| 12 | SUBROUTINE vlz_allocate |
---|
| 13 | USE bands |
---|
[1810] | 14 | USE allocate_field_mod |
---|
[1823] | 15 | USE parallel_lmdz |
---|
[1632] | 16 | USE infotrac |
---|
[1810] | 17 | USE dimensions_mod |
---|
[1632] | 18 | IMPLICIT NONE |
---|
| 19 | TYPE(distrib),POINTER :: d |
---|
| 20 | |
---|
| 21 | d=>distrib_vanleer |
---|
[2270] | 22 | CALL allocate_u(wq,llm+1,nqtot,d) |
---|
[1632] | 23 | CALL allocate_u(dzq,llm,d) |
---|
| 24 | CALL allocate_u(dzqw,llm,d) |
---|
| 25 | CALL allocate_u(adzqw,llm,d) |
---|
[4050] | 26 | IF(ANY(tracers(:)%nqDescen > 0)) CALL allocate_u(Ratio,llm,nqtot,d) |
---|
[1632] | 27 | |
---|
| 28 | END SUBROUTINE vlz_allocate |
---|
| 29 | |
---|
| 30 | SUBROUTINE vlz_switch_vanleer(dist) |
---|
[1810] | 31 | USE allocate_field_mod |
---|
[1632] | 32 | USE bands |
---|
[1823] | 33 | USE parallel_lmdz |
---|
[2270] | 34 | USE infotrac |
---|
[1632] | 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) |
---|
[4050] | 42 | IF(ANY(tracers(:)%nqDescen > 0)) CALL switch_u(Ratio,distrib_vanleer,dist) |
---|
[1632] | 43 | |
---|
| 44 | END SUBROUTINE vlz_switch_vanleer |
---|
| 45 | |
---|
| 46 | END MODULE vlz_mod |
---|