1 | MODULE caldyn_mod |
---|
2 | |
---|
3 | REAL,POINTER,SAVE :: vcont(:,:) |
---|
4 | REAL,POINTER,SAVE :: ucont(:,:) |
---|
5 | REAL,POINTER,SAVE :: ang(:,:) |
---|
6 | REAL,POINTER,SAVE :: p(:,:) |
---|
7 | REAL,POINTER,SAVE :: massebx(:,:) |
---|
8 | REAL,POINTER,SAVE :: masseby(:,:) |
---|
9 | REAL,POINTER,SAVE :: psexbarxy(:,:) |
---|
10 | REAL,POINTER,SAVE :: vorpot(:,:) |
---|
11 | REAL,POINTER,SAVE :: ecin(:,:) |
---|
12 | REAL,POINTER,SAVE :: bern(:,:) |
---|
13 | REAL,POINTER,SAVE :: massebxy(:,:) |
---|
14 | REAL,POINTER,SAVE :: convm(:,:) |
---|
15 | |
---|
16 | |
---|
17 | |
---|
18 | CONTAINS |
---|
19 | |
---|
20 | SUBROUTINE caldyn_allocate |
---|
21 | USE bands |
---|
22 | USE allocate_field_mod |
---|
23 | USE parallel_lmdz |
---|
24 | USE dimensions_mod, ONLY: iim, jjm, llm, ndm |
---|
25 | USE paramet_mod_h |
---|
26 | USE advect_new_mod, ONLY : advect_new_allocate |
---|
27 | IMPLICIT NONE |
---|
28 | TYPE(distrib),POINTER :: d |
---|
29 | |
---|
30 | |
---|
31 | d=>distrib_caldyn |
---|
32 | CALL allocate_v(vcont,llm,d) |
---|
33 | CALL allocate_u(ucont,llm,d) |
---|
34 | CALL allocate_u(ang,llm,d) |
---|
35 | CALL allocate_u(p,llmp1,d) |
---|
36 | CALL allocate_u(massebx,llm,d) |
---|
37 | CALL allocate_v(masseby,llm,d) |
---|
38 | CALL allocate_v(psexbarxy,llm,d) |
---|
39 | CALL allocate_v(vorpot,llm,d) |
---|
40 | CALL allocate_u(ecin,llm,d) |
---|
41 | CALL allocate_u(bern,llm,d) |
---|
42 | CALL allocate_v(massebxy,llm,d) |
---|
43 | CALL allocate_u(convm,llm,d) |
---|
44 | |
---|
45 | CALL advect_new_allocate |
---|
46 | |
---|
47 | END SUBROUTINE caldyn_allocate |
---|
48 | |
---|
49 | SUBROUTINE caldyn_switch_caldyn(dist) |
---|
50 | USE allocate_field_mod |
---|
51 | USE bands |
---|
52 | USE parallel_lmdz |
---|
53 | USE advect_new_mod,ONLY : advect_new_switch_caldyn |
---|
54 | IMPLICIT NONE |
---|
55 | TYPE(distrib),INTENT(IN) :: dist |
---|
56 | |
---|
57 | CALL switch_v(vcont,distrib_caldyn,dist) |
---|
58 | CALL switch_u(ucont,distrib_caldyn,dist) |
---|
59 | CALL switch_u(ang,distrib_caldyn,dist) |
---|
60 | CALL switch_u(p,distrib_caldyn,dist) |
---|
61 | CALL switch_u(massebx,distrib_caldyn,dist) |
---|
62 | CALL switch_v(masseby,distrib_caldyn,dist) |
---|
63 | CALL switch_v(psexbarxy,distrib_caldyn,dist) |
---|
64 | CALL switch_v(vorpot,distrib_caldyn,dist) |
---|
65 | CALL switch_u(ecin,distrib_caldyn,dist) |
---|
66 | CALL switch_u(bern,distrib_caldyn,dist) |
---|
67 | CALL switch_v(massebxy,distrib_caldyn,dist) |
---|
68 | CALL switch_u(convm,distrib_caldyn,dist) |
---|
69 | |
---|
70 | CALL advect_new_switch_caldyn(dist) |
---|
71 | |
---|
72 | END SUBROUTINE caldyn_switch_caldyn |
---|
73 | |
---|
74 | |
---|
75 | |
---|
76 | END MODULE caldyn_mod |
---|