35 #include "dimensions.h"
46 REAL vcov(ijb_v:ije_v,llm),ucov(ijb_u:ije_u,llm)
47 REAL teta(ijb_u:ije_u,llm)
49 REAL masse(ijb_u:ije_u,llm)
50 REAL phis(ijb_u:ije_u)
55 real,
allocatable :: ucov_glo(:,:)
56 real,
allocatable :: vcov_glo(:,:)
57 real,
allocatable :: teta_glo(:,:)
58 real,
allocatable :: masse_glo(:,:)
59 real,
allocatable :: ps_glo(:)
67 real,
allocatable :: p(:,:)
68 real,
allocatable :: pks(:)
69 real,
allocatable :: pk(:,:)
70 real,
allocatable :: pkf(:,:)
73 REAL :: sinth,costh,costh2, ath,bth,cth,
lon,dps
76 REAL,
PARAMETER :: rho=1
77 REAL,
PARAMETER ::
k = 7.848e-6
78 REAL,
PARAMETER :: gh0 = 9.80616 * 8e3
79 INTEGER,
PARAMETER :: r0=4, r1=r0+1, r2=r0+2
85 allocate(vcov_glo(
ip1jm,llm))
89 allocate(masse_glo(
ip1jmp1,llm))
104 ath = (r0+1)*(costh2**2) + (2*r0*r0-r0-2)*costh2 - 2*r0*r0
105 ath = .25*(
k**2)*(costh2**(r0-1))*ath
106 ath = .5*
k*(2*omeg+
k)*costh2 + ath
107 bth = (r1*r1+1)-r1*r1*costh2
108 bth = 2*(omeg+
k)*
k/(r1*r2) * (costh2**(r0/2))*bth
110 cth = .25*
k*
k*(costh2**r0)*cth
114 dps = ath + bth*cos(r0*
lon) + cth*cos(2*r0*
lon)
115 ps_glo(
ij) = rho*(gh0 + (
rad**2)*dps)
124 bth = r0*(1-costh2)-costh2
125 bth =
rad*
k*bth*(costh**(r0-1))
129 ucov_glo(
ij,1) = (ath + bth*cos(r0*
lon))
133 ucov_glo(:,1)=ucov_glo(:,1)*
cu
138 ath = -
rad*
k*r0*sinth*(costh**(r0-1))
142 vcov_glo(
ij,1) = ath*sin(r0*
lon)
145 write(
lunout,*)
'W91 v', maxval(vcov(:,1)), minval(vcov(:,1))
146 vcov_glo(:,1)=vcov_glo(:,1)*
cv
155 ps_glo(
ij) = 1e5*(1 + .1*exp(-100*(1+sin(
rlatu(
j)))**2))
169 teta(ijb_u:ije_u,:)=teta_glo(ijb_u:ije_u,:)
170 ucov(ijb_u:ije_u,:)=ucov_glo(ijb_u:ije_u,:)
171 vcov(ijb_v:ije_v,:)=vcov_glo(ijb_v:ije_v,:)
172 masse(ijb_u:ije_u,:)=masse_glo(ijb_u:ije_u,:)
173 ps(ijb_u:ije_u)=ps_glo(ijb_u:ije_u)
179 deallocate(masse_glo)