3 REAL,
POINTER,
SAVE :: ucov(:,:)
4 REAL,
POINTER,
SAVE :: vcov(:,:)
5 REAL,
POINTER,
SAVE :: teta(:,:)
6 REAL,
POINTER,
SAVE :: p(:,: )
7 REAL,
POINTER,
SAVE :: pk(:,:)
9 REAL,
POINTER,
SAVE :: ucont(:,:)
10 REAL,
POINTER,
SAVE :: vcont(:,:)
11 REAL,
POINTER,
SAVE :: ecin(:,:)
12 REAL,
POINTER,
SAVE :: ecin0(:,:)
13 REAL,
POINTER,
SAVE :: dudis(:,:)
14 REAL,
POINTER,
SAVE :: dvdis(:,:)
15 REAL,
POINTER,
SAVE :: dtetadis(:,:)
16 REAL,
POINTER,
SAVE :: dtetaecdt(:,:)
57 TYPE(distrib),
INTENT(IN) :: dist
59 CALL
switch_u(ucov,distrib_dissip,dist)
60 CALL
switch_v(vcov,distrib_dissip,dist)
61 CALL
switch_u(teta,distrib_dissip,dist)
63 CALL
switch_u(pk,distrib_dissip,dist)
64 CALL
switch_u(ucont,distrib_dissip,dist)
65 CALL
switch_v(vcont,distrib_dissip,dist)
66 CALL
switch_u(ecin,distrib_dissip,dist)
67 CALL
switch_u(ecin0,distrib_dissip,dist)
68 CALL
switch_u(dudis,distrib_dissip,dist)
69 CALL
switch_v(dvdis,distrib_dissip,dist)
70 CALL
switch_u(dtetadis,distrib_dissip,dist)
71 CALL
switch_u(dtetaecdt,distrib_dissip,dist)
79 SUBROUTINE call_dissip(ucov_dyn,vcov_dyn,teta_dyn,p_dyn,pk_dyn,ps_dyn)
89 REAL :: ucov_dyn(ijb_u:ije_u,llm)
90 REAL :: vcov_dyn(ijb_v:ije_v,llm)
91 REAL :: teta_dyn(ijb_u:ije_u,llm)
92 REAL :: p_dyn(ijb_u:ije_u,
llmp1 )
93 REAL :: pk_dyn(ijb_u:ije_u,llm)
94 REAL :: ps_dyn(ijb_u:ije_u)
95 REAL :: tppn(
iim),tpps(
iim)
99 LOGICAL,
PARAMETER :: dissip_conservative=.true.
100 TYPE(request) :: request_dissip
102 INTEGER ::
ij,
l,ijb,ije
131 CALL
vtb(vtdissipation)
142 CALL
dissip_loc(vcov,ucov,teta,p,dvdis,dudis,dtetadis)
156 ucov(ijb:ije,
l)=ucov(ijb:ije,
l)+dudis(ijb:ije,
l)
160 IF (pole_sud) ije=ije-iip1
164 vcov(ijb:ije,
l)=vcov(ijb:ije,
l)+dvdis(ijb:ije,
l)
172 IF (dissip_conservative)
THEN
199 dtetadis(
ij,
l)=dtetadis(
ij,
l)+dtetaecdt(
ij,
l)
296 CALL
vte(vtdissipation)