source: LMDZ6/trunk/libf/dyn3dmem/caladvtrac_mod.f90 @ 5278

Last change on this file since 5278 was 5272, checked in by abarral, 2 days ago

Turn paramet.h into a module

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 3.4 KB
Line 
1MODULE caladvtrac_mod
2
3  REAL,POINTER,SAVE :: q_adv(:,:,:)
4  REAL,POINTER,SAVE :: massem_adv(:,:)
5  REAL,POINTER,SAVE :: wg_adv(:,:)
6  REAL,POINTER,SAVE :: teta_adv(:,:)
7  REAL,POINTER,SAVE :: p_adv(:,:)
8  REAL,POINTER,SAVE :: pk_adv(:,:)
9  REAL,POINTER,SAVE :: pbarug_adv(:,:)
10  REAL,POINTER,SAVE :: pbarvg_adv(:,:)
11  REAL,POINTER,SAVE :: pbaruc(:,:)
12  REAL,POINTER,SAVE :: pbarvc(:,:)
13  REAL,POINTER,SAVE :: pbarug(:,:)
14  REAL,POINTER,SAVE :: pbarvg(:,:)
15  REAL,POINTER,SAVE :: wg(:,:)
16
17  REAL,POINTER,SAVE :: massem(:,:)
18  !Offline
19  REAL,POINTER,SAVE :: tetac(:,:)
20  REAL,POINTER,SAVE :: massec(:,:)
21  REAL,POINTER,SAVE :: phic(:,:)
22  REAL,POINTER,SAVE :: pbarucc(:,:)
23  REAL,POINTER,SAVE :: pbarvcc(:,:)
24  REAL,POINTER,SAVE :: pbarugg(:,:)
25  REAL,POINTER,SAVE :: pbarvgg(:,:)
26  REAL,POINTER,SAVE :: wgg(:,:)
27CONTAINS
28
29  SUBROUTINE caladvtrac_allocate
30  USE bands
31  USE allocate_field_mod
32  USE parallel_lmdz
33  USE infotrac, ONLY: nqtot
34  USE advtrac_mod, ONLY : advtrac_allocate
35  USE groupe_mod
36  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
37USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
38          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
39IMPLICIT NONE
40
41
42  TYPE(distrib),POINTER :: d
43
44    d=>distrib_vanleer
45    CALL allocate_u(q_adv,llm,nqtot,d)
46    CALL allocate_u(massem_adv,llm,d)
47    CALL allocate_u(wg_adv,llm,d)
48    CALL allocate_u(teta_adv,llm,d)
49    CALL allocate_u(p_adv,llmp1,d)
50    CALL allocate_u(pk_adv,llm,d)
51    CALL allocate_u(pbarug_adv,llm,d)
52    CALL allocate_v(pbarvg_adv,llm,d)
53
54    d=>distrib_caldyn
55    CALL allocate_u(massem,llm,d)
56    CALL allocate_u(pbaruc,llm,d)
57    pbaruc(:,:)=0
58    CALL allocate_v(pbarvc,llm,d)
59    pbarvc(:,:)=0
60    CALL allocate_u(pbarug,llm,d)
61    CALL allocate_v(pbarvg,llm,d)
62    CALL allocate_u(wg,llm,d)
63    ! Offline
64    CALL allocate_u(tetac,llm,d)
65    CALL allocate_u(phic,llm,d)
66    CALL allocate_u(pbarucc,llm,d)
67    CALL allocate_v(pbarvcc,llm,d)
68    CALL allocate_u(massec,llm,d)
69    CALL allocate_u(pbarugg,llm,d)
70    CALL allocate_v(pbarvgg,llm,d)
71    CALL allocate_u(wgg,llm,d)
72
73    CALL groupe_allocate
74    CALL advtrac_allocate
75   
76  END SUBROUTINE caladvtrac_allocate
77 
78  SUBROUTINE caladvtrac_switch_caldyn(dist)
79  USE allocate_field_mod
80  USE bands
81  USE parallel_lmdz
82  USE groupe_mod
83  IMPLICIT NONE
84    TYPE(distrib),INTENT(IN) :: dist
85
86    CALL switch_u(massem,distrib_caldyn,dist)
87    CALL switch_u(pbaruc,distrib_caldyn,dist)
88    CALL switch_v(pbarvc,distrib_caldyn,dist,up=1)
89    CALL switch_u(pbarug,distrib_caldyn,dist)
90    CALL switch_v(pbarvg,distrib_caldyn,dist)
91    CALL switch_u(wg,distrib_caldyn,dist)
92   
93    CALL groupe_switch_caldyn(dist)
94
95  END SUBROUTINE caladvtrac_switch_caldyn
96 
97  SUBROUTINE caladvtrac_switch_vanleer(dist)
98  USE allocate_field_mod
99  USE bands
100  USE parallel_lmdz
101  USE advtrac_mod, ONLY : advtrac_switch_vanleer
102  IMPLICIT NONE
103    TYPE(distrib),INTENT(IN) :: dist
104 
105    CALL switch_u(q_adv,distrib_vanleer,dist)
106    CALL switch_u(massem_adv,distrib_vanleer,dist)
107    CALL switch_u(wg_adv,distrib_vanleer,dist)
108    CALL switch_u(teta_adv,distrib_vanleer,dist)
109    CALL switch_u(p_adv,distrib_vanleer,dist)
110    CALL switch_u(pk_adv,distrib_vanleer,dist)
111    CALL switch_u(pbarug_adv,distrib_vanleer,dist)
112    CALL switch_v(pbarvg_adv,distrib_vanleer,dist)
113
114    CALL advtrac_switch_vanleer(dist)
115   
116  END SUBROUTINE caladvtrac_switch_vanleer 
117 
118END MODULE caladvtrac_mod 
Note: See TracBrowser for help on using the repository browser.