1 | MODULE gradiv2_mod |
---|
2 | |
---|
3 | REAL,POINTER,SAVE :: gdx( :,: ) |
---|
4 | REAL,POINTER,SAVE :: gdy( :,: ) |
---|
5 | REAL,POINTER,SAVE :: div( :,: ) |
---|
6 | |
---|
7 | CONTAINS |
---|
8 | |
---|
9 | SUBROUTINE gradiv2_allocate |
---|
10 | USE bands |
---|
11 | USE allocate_field_mod |
---|
12 | USE parallel_lmdz |
---|
13 | USE dimensions_mod, ONLY: iim, jjm, llm, ndm |
---|
14 | IMPLICIT NONE |
---|
15 | TYPE(distrib),POINTER :: d |
---|
16 | d=>distrib_dissip |
---|
17 | |
---|
18 | CALL allocate_u(gdx,llm,d) |
---|
19 | CALL allocate_v(gdy,llm,d) |
---|
20 | CALL allocate_u(div,llm,d) |
---|
21 | |
---|
22 | |
---|
23 | END SUBROUTINE gradiv2_allocate |
---|
24 | |
---|
25 | SUBROUTINE gradiv2_switch_dissip(dist) |
---|
26 | USE allocate_field_mod |
---|
27 | USE bands |
---|
28 | USE parallel_lmdz |
---|
29 | IMPLICIT NONE |
---|
30 | TYPE(distrib),INTENT(IN) :: dist |
---|
31 | |
---|
32 | CALL switch_u(gdx,distrib_dissip,dist) |
---|
33 | CALL switch_v(gdy,distrib_dissip,dist) |
---|
34 | CALL switch_u(div,distrib_dissip,dist) |
---|
35 | |
---|
36 | |
---|
37 | END SUBROUTINE gradiv2_switch_dissip |
---|
38 | |
---|
39 | END MODULE gradiv2_mod |
---|