27 include
"dimensions.h"
44 REAL vcov(ijb_v:ije_v,llm),ucov(ijb_u:ije_u,llm)
45 REAL teta(ijb_u:ije_u,llm)
46 REAL q(ijb_u:ije_u,llm,nqtot)
48 REAL masse(ijb_u:ije_u,llm)
49 REAL phis(ijb_u:ije_u)
54 REAL,
ALLOCATABLE :: vcov_glo(:,:),ucov_glo(:,:),teta_glo(:,:)
55 REAL,
ALLOCATABLE :: q_glo(:,:),masse_glo(:,:),ps_glo(:)
56 REAL,
ALLOCATABLE :: phis_glo(:)
62 REAL ddsin,zsig,tetapv,w_pv
67 REAL teta0,ttp,delt_y,delt_z,
eps
71 REAL phi_pv,dphi_pv,gam_pv
79 character(len=*),
parameter :: modname=
"iniacademic"
80 character(len=80) :: abort_message
117 q(ijb_u:ije_u,1:llm,1:nqtot)=0
129 CALL
getin(
'ok_geost',ok_geost)
132 CALL
getin(
'k_j',k_f)
135 CALL
getin(
'k_c_s',k_c_s)
138 CALL
getin(
'k_c_a',k_c_a)
142 CALL
getin(
'teta0',teta0)
144 CALL
getin(
'ttp',ttp)
148 CALL
getin(
'delt_y',delt_y)
150 CALL
getin(
'delt_z',delt_z)
153 CALL
getin(
'ok_pv',ok_pv)
155 CALL
getin(
'phi_pv',phi_pv)
156 phi_pv=phi_pv*
pi/180.
158 CALL
getin(
'dphi_pv',dphi_pv)
159 dphi_pv=dphi_pv*
pi/180.
161 CALL
getin(
'gam_pv',gam_pv)
168 knewt_t(
l)=(k_c_s-k_c_a)*max(0.,(zsig-0.7)/0.3)
169 kfrict(
l)=k_f*max(0.,(zsig-0.7)/0.3)
172 clat4((
j-1)*iip1+1:
j*iip1)=cos(
rlatu(
j))**4
178 tetastrat=ttp*zsig**(-
kappa)
180 IF ((ok_pv).AND.(zsig.LT.0.1))
THEN
181 tetapv=tetastrat*(zsig*10.)**(
kappa*
cpp*gam_pv/1000./
g)
186 tetajl(
j,
l)=teta0-delt_y*ddsin*ddsin+
eps*ddsin &
187 -delt_z*(1.-ddsin*ddsin)*log(zsig)
188 if (planet_type==
"giant")
then
189 tetajl(
j,
l)=teta0+(delt_y* &
190 ((sin(
rlatu(
j)*3.14159*
eps+0.0001))**2) &
195 w_pv=(1.-tanh((
rlatu(
j)-phi_pv)/dphi_pv))/2.
196 tetastrat=tetastrat*(1.-w_pv)+tetapv*w_pv
197 tetajl(
j,
l)=max(tetajl(
j,
l),tetastrat)
216 allocate(ucov_glo(
ip1jmp1,llm))
217 allocate(teta_glo(
ip1jmp1,llm))
219 allocate(masse_glo(
ip1jmp1,llm))
239 if (pressure_exner)
then
258 vcov(ijb_v:ije_v,1:llm)=0.
261 if (planet_type==
"earth")
then
264 if (
i == 1)
q(ijb_u:ije_u,:,
i)=1.e-10
265 if (
i == 2)
q(ijb_u:ije_u,:,
i)=1.e-15
266 if (
i.gt.2)
q(ijb_u:ije_u,:,
i)=0.
278 teta_glo(
ij,
l)=teta_glo(
ij,
l)*(1.+0.005*
ran1(idum))
290 teta(ijb_u:ije_u,:)=teta_glo(ijb_u:ije_u,:)
291 ucov(ijb_u:ije_u,:)=ucov_glo(ijb_u:ije_u,:)
293 masse(ijb_u:ije_u,:)=masse_glo(ijb_u:ije_u,:)
294 ps(ijb_u:ije_u)=ps_glo(ijb_u:ije_u)
295 phis(ijb_u:ije_u)=phis_glo(ijb_u:ije_u)
300 deallocate(masse_glo)