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, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, & |
---|
26 | ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm |
---|
27 | USE advect_new_mod, ONLY : advect_new_allocate |
---|
28 | IMPLICIT NONE |
---|
29 | TYPE(distrib),POINTER :: d |
---|
30 | |
---|
31 | |
---|
32 | d=>distrib_caldyn |
---|
33 | CALL allocate_v(vcont,llm,d) |
---|
34 | CALL allocate_u(ucont,llm,d) |
---|
35 | CALL allocate_u(ang,llm,d) |
---|
36 | CALL allocate_u(p,llmp1,d) |
---|
37 | CALL allocate_u(massebx,llm,d) |
---|
38 | CALL allocate_v(masseby,llm,d) |
---|
39 | CALL allocate_v(psexbarxy,llm,d) |
---|
40 | CALL allocate_v(vorpot,llm,d) |
---|
41 | CALL allocate_u(ecin,llm,d) |
---|
42 | CALL allocate_u(bern,llm,d) |
---|
43 | CALL allocate_v(massebxy,llm,d) |
---|
44 | CALL allocate_u(convm,llm,d) |
---|
45 | |
---|
46 | CALL advect_new_allocate |
---|
47 | |
---|
48 | END SUBROUTINE caldyn_allocate |
---|
49 | |
---|
50 | SUBROUTINE caldyn_switch_caldyn(dist) |
---|
51 | USE allocate_field_mod |
---|
52 | USE bands |
---|
53 | USE parallel_lmdz |
---|
54 | USE advect_new_mod,ONLY : advect_new_switch_caldyn |
---|
55 | IMPLICIT NONE |
---|
56 | TYPE(distrib),INTENT(IN) :: dist |
---|
57 | |
---|
58 | CALL switch_v(vcont,distrib_caldyn,dist) |
---|
59 | CALL switch_u(ucont,distrib_caldyn,dist) |
---|
60 | CALL switch_u(ang,distrib_caldyn,dist) |
---|
61 | CALL switch_u(p,distrib_caldyn,dist) |
---|
62 | CALL switch_u(massebx,distrib_caldyn,dist) |
---|
63 | CALL switch_v(masseby,distrib_caldyn,dist) |
---|
64 | CALL switch_v(psexbarxy,distrib_caldyn,dist) |
---|
65 | CALL switch_v(vorpot,distrib_caldyn,dist) |
---|
66 | CALL switch_u(ecin,distrib_caldyn,dist) |
---|
67 | CALL switch_u(bern,distrib_caldyn,dist) |
---|
68 | CALL switch_v(massebxy,distrib_caldyn,dist) |
---|
69 | CALL switch_u(convm,distrib_caldyn,dist) |
---|
70 | |
---|
71 | CALL advect_new_switch_caldyn(dist) |
---|
72 | |
---|
73 | END SUBROUTINE caldyn_switch_caldyn |
---|
74 | |
---|
75 | |
---|
76 | |
---|
77 | END MODULE caldyn_mod |
---|