source: LMDZ6/branches/LMDZ-QUEST/libf/dyn3dmem/caldyn_mod.F90 @ 5227

Last change on this file since 5227 was 1907, checked in by lguez, 11 years ago

Added a copyright property to every file of the distribution, except
for the fcm files (which have their own copyright). Use svn propget on
a file to see the copyright. For instance:

$ svn propget copyright libf/phylmd/physiq.F90
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

Also added the files defining the CeCILL version 2 license, in French
and English, at the top of the LMDZ tree.

  • 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: 2.0 KB
Line 
1MODULE 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 
18CONTAINS
19
20  SUBROUTINE caldyn_allocate
21  USE bands
22  USE allocate_field_mod
23  USE parallel_lmdz
24  USE dimensions_mod
25  USE advect_new_mod,ONLY : advect_new_allocate
26  IMPLICIT NONE
27  TYPE(distrib),POINTER :: d
28
29
30    d=>distrib_caldyn
31    CALL allocate_v(vcont,llm,d)
32    CALL allocate_u(ucont,llm,d)
33    CALL allocate_u(ang,llm,d)
34    CALL allocate_u(p,llmp1,d)
35    CALL allocate_u(massebx,llm,d)
36    CALL allocate_v(masseby,llm,d)
37    CALL allocate_v(psexbarxy,llm,d)
38    CALL allocate_v(vorpot,llm,d)
39    CALL allocate_u(ecin,llm,d)
40    CALL allocate_u(bern,llm,d)
41    CALL allocate_v(massebxy,llm,d)
42    CALL allocate_u(convm,llm,d)
43   
44    CALL advect_new_allocate
45   
46  END SUBROUTINE caldyn_allocate
47 
48  SUBROUTINE caldyn_switch_caldyn(dist)
49  USE allocate_field_mod
50  USE bands
51  USE parallel_lmdz
52  USE advect_new_mod,ONLY : advect_new_switch_caldyn
53  IMPLICIT NONE
54    TYPE(distrib),INTENT(IN) :: dist
55
56    CALL switch_v(vcont,distrib_caldyn,dist)
57    CALL switch_u(ucont,distrib_caldyn,dist)
58    CALL switch_u(ang,distrib_caldyn,dist)
59    CALL switch_u(p,distrib_caldyn,dist)
60    CALL switch_u(massebx,distrib_caldyn,dist)
61    CALL switch_v(masseby,distrib_caldyn,dist)
62    CALL switch_v(psexbarxy,distrib_caldyn,dist)
63    CALL switch_v(vorpot,distrib_caldyn,dist)
64    CALL switch_u(ecin,distrib_caldyn,dist)
65    CALL switch_u(bern,distrib_caldyn,dist)
66    CALL switch_v(massebxy,distrib_caldyn,dist)
67    CALL switch_u(convm,distrib_caldyn,dist)
68   
69    CALL advect_new_switch_caldyn(dist)
70   
71  END SUBROUTINE caldyn_switch_caldyn
72 
73
74 
75END MODULE caldyn_mod 
Note: See TracBrowser for help on using the repository browser.