LMDZ
caldyn_mod.F90
Go to the documentation of this file.
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
23  USE parallel_lmdz
24  USE dimensions_mod
26  IMPLICIT NONE
27  TYPE(distrib),POINTER :: d
28 
29 
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 
45 
46  END SUBROUTINE caldyn_allocate
47 
48  SUBROUTINE caldyn_switch_caldyn(dist)
50  USE bands
51  USE parallel_lmdz
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)
63  CALL switch_v(vorpot,distrib_caldyn,dist)
64  CALL switch_u(ecin,distrib_caldyn,dist)
65  CALL switch_u(bern,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 
75 END MODULE caldyn_mod
Definition: bands.F90:4
real, dimension(:,:), pointer, save p
Definition: caldyn_mod.F90:6
real, dimension(:,:), pointer, save ucont
Definition: caldyn_mod.F90:4
!$Header llmp1
Definition: paramet.h:14
real, dimension(:,:), pointer, save massebx
Definition: caldyn_mod.F90:7
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Id && ang
Definition: ener.h:11
real, dimension(:,:), pointer, save ecin
Definition: caldyn_mod.F90:11
subroutine caldyn_allocate
Definition: caldyn_mod.F90:21
real, dimension(:,:), pointer, save vorpot
Definition: caldyn_mod.F90:10
subroutine advect_new_switch_caldyn(dist)
real, dimension(:,:), pointer, save convm
Definition: caldyn_mod.F90:14
real, dimension(:,:), pointer, save bern
Definition: caldyn_mod.F90:12
real, dimension(:,:), pointer, save psexbarxy
Definition: caldyn_mod.F90:9
real, dimension(:,:), pointer, save massebxy
Definition: caldyn_mod.F90:13
subroutine caldyn_switch_caldyn(dist)
Definition: caldyn_mod.F90:49
real, dimension(:,:), pointer, save vcont
Definition: caldyn_mod.F90:3
type(distrib), target, save distrib_caldyn
Definition: bands.F90:17
subroutine advect_new_allocate
real, dimension(:,:), pointer, save masseby
Definition: caldyn_mod.F90:8