My Project
 All Classes Files Functions Variables Macros
write_histday_seri.h
Go to the documentation of this file.
1 c
2 c $Header$
3 c
4  IF (is_sequential) THEN
5 
6  IF (type_run.EQ."AMIP") THEN
7 c
8  ndex2d = 0
9  itau_w = itau_phy + itap + start_time * day_step / iphysiq
10 c
11 c Champs 2D:
12 c
13  pi = ACOS(-1.)
14  pir = 4.0*ATAN(1.0) / 180.0
15 c
16  DO i=1, klon
17  zx_tmp_fi2d(i)=(topsw(i)-toplw(i))
18  ENDDO
19 c
20  ok_msk=.FALSE.
21  msk(1:klon)=pctsrf(1:klon,is_ter)
22  CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
23  . ok_msk, msk, moyglo)
24  zx_tmp_fi2d(1:klon)=moyglo
25 c
26  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
27  CALL histwrite(nid_day_seri,"bilTOA",itau_w,
28  . zx_tmp_2d,iim*jjmp1,ndex2d)
29 c
30  ok_msk=.FALSE.
31  CALL moyglo_pondaire(klon, bils, airephy,
32  . ok_msk, msk, moyglo)
33  zx_tmp_fi2d(1:klon)=moyglo
34 c
35  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
36  CALL histwrite(nid_day_seri,"bils",itau_w,
37  . zx_tmp_2d,iim*jjmp1,ndex2d)
38 c
39  DO k=1, klev
40  DO i=1, klon
41 cIM 080904 zx_tmp_fi3d(i,k)=u(i,k)**2+v(i,k)**2
42  zx_tmp_fi3d(i,k)=(u(i,k)**2+v(i,k)**2)/2.
43  ENDDO
44  ENDDO
45 c
46  CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d,
47  . airephy, paprs, moyglo)
48  zx_tmp_fi2d(1:klon)=moyglo
49 c
50  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
51  CALL histwrite(nid_day_seri,"ecin",itau_w,
52  . zx_tmp_2d,iim*jjmp1,ndex2d)
53 c
54 cIM 151004 BEG
55  IF(1.EQ.0) THEN
56 c
57  DO k=1, klev
58  DO i=1, klon
59  zx_tmp_fi3d(i,k)=u_seri(i,k)*RA*cos(pir* rlat(i))
60  ENDDO
61  ENDDO
62 c
63  CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d,
64  . airephy, paprs, moyglo)
65  zx_tmp_fi2d(1:klon)=moyglo
66 c
67  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
68  CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d,
69  . iim*jjmp1,ndex2d)
70 c
71 c friction torque
72 c
73  DO i=1, klon
74  zx_tmp_fi2d(i)=zxfluxu(i,1)*RA* cos(pir* rlat(i))
75  ENDDO
76 c
77  ok_msk=.FALSE.
78  CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
79  . ok_msk, msk, moyglo)
80  zx_tmp_fi2d(1:klon)=moyglo
81 c
82  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
83  CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d,
84  . iim*jjmp1,ndex2d)
85 c
86 c mountain torque
87 c
88 cIM 190504 BEG
89  CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn)
90  CALL gr_fi_dyn(klev+1,klon,iim+1,jjm+1,paprs,padyn)
91  CALL gr_fi_dyn(1,klon,iim+1,jjm+1,rlat,rlatdyn)
92  mountor=0.
93  airetot=0.
94  DO j = 1, jjmp1
95  DO i = 1, iim+1
96  ij=i+(iim+1)*(j-1)
97  zx_tmp(ij)=0.
98  DO k = 1, klev
99  zx_tmp(ij)=zx_tmp(ij)+dudyn(i,j,k)*airedyn(i,j)*
100  $ (padyn(i,j,k+1)-padyn(i,j,k))/RG
101  airetot=airetot+airedyn(i,j)
102  ENDDO
103 cIM 190504 mountor=mountor+zx_tmp(ij)*airedyn(i,j)*RA*
105  $ cos(pir* rlatdyn(i,j))
106  ENDDO
107  ENDDO
108 cIM 151004 BEG
109  IF(itap.EQ.1) PRINT*,'airetot=',airetot,airetot/klev
110 cIM 151004 END
111 cIM 190504 mountor=mountor/(airetot*airetot)
112  mountor=mountor/airetot
113 c
114 cIM 190504 END
115  zx_tmp_2d(1:iim,1:jjmp1)=mountor
116  CALL histwrite(nid_day_seri,"mountor",itau_w,zx_tmp_2d,
117  . iim*jjmp1,ndex2d)
118 c
119  ENDIF !(1.EQ.0) THEN
120 c
121 c
122  CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn)
123  CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
124  airetot=0.
125 c DO j = 1, jjmp1
126 c DO i = 1, iim+1
127 c ij=i+(iim+1)*(j-1)
128 c DO k = 1, klev
129 c airetot=airetot+airedyn(i,j)
130 c airetot=airetot+airedyn(i,j)
131 c ENDDO !k
132 c ENDDO !i
133 c ENDDO !j
134 c
135  DO i=1, klon
136  airetot=airetot+airephy(i)
137  ENDDO
138 c IF(itap.EQ.1) PRINT*,'airetotphy=',airetot
139 c
140  airetot=0.
141  DO j=1, jjmp1
142  DO i=1, iim
143  airetot=airetot+zx_tmp_2d(i,j)
144  ENDDO
145  ENDDO
146 c
147 c IF(itap.EQ.1) PRINT*,'airetotij=',airetot,
148 c $ '4piR2',4.*pi*RA*RA
149 c
150  zx_tmp_fi2d(1:klon)=aam/airetot
151  CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
152  CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d,
153  . iim*jjmp1,ndex2d)
154 c
155  zx_tmp_fi2d(1:klon)=torsfc/airetot
156  CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
157  CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d,
158  . iim*jjmp1,ndex2d)
159 c
160 cIM 151004 END
161 c
162  CALL moyglo_pondmass(klon, klev, t_seri,
163  . airephy, paprs, moyglo)
164  zx_tmp_fi2d(1:klon)=moyglo
165 c
166  CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
167  CALL histwrite(nid_day_seri,"tamv",itau_w,
168  . zx_tmp_2d,iim*jjmp1,ndex2d)
169 c
170  ok_msk=.FALSE.
171  CALL moyglo_pondaire(klon, paprs(:,1), airephy,
172  . ok_msk, msk, moyglo)
173  zx_tmp_fi2d(1:klon)=moyglo
174 c
175  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
176  CALL histwrite(nid_day_seri,"psol",itau_w,
177  . zx_tmp_2d,iim*jjmp1,ndex2d)
178 c
179  ok_msk=.FALSE.
180  CALL moyglo_pondaire(klon, evap, airephy,
181  . ok_msk, msk, moyglo)
182  zx_tmp_fi2d(1:klon)=moyglo
183 c
184  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
185  CALL histwrite(nid_day_seri,"evap",itau_w,
186  . zx_tmp_2d,iim*jjmp1,ndex2d)
187 c
188 c DO i=1, klon
189 c zx_tmp_fi2d(i)=SnowFrac(i,is_ter)
190 c ENDDO
191 c
192 c ok_msk=.TRUE.
193 c msk(1:klon)=pctsrf(1:klon,is_ter)
194 c CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
195 c . ok_msk, msk, moyglo)
196 c zx_tmp_fi2d(1:klon)=moyglo
197 c
198 c CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
199 c CALL histwrite(nid_day_seri,"SnowFrac",
200 c . itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
201 c
202 c DO i=1, klon
203 cIM 080904 zx_tmp_fi2d(i)=zsnow_mass(i)/330.*rowl
204 c zx_tmp_fi2d(i)=zsnow_mass(i)
205 c ENDDO
206 c
207 cIM 140904 ok_msk=.FALSE.
208 c ok_msk=.TRUE.
209 c msk(1:klon)=pctsrf(1:klon,is_ter)
210 c CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
211 c . ok_msk, msk, moyglo)
212 c zx_tmp_fi2d(1:klon)=moyglo
213 c
214 c CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
215 c CALL histwrite(nid_day_seri,"snow_depth",itau_w,
216 c . zx_tmp_2d,iim*jjmp1,ndex2d)
217 c
218  DO i=1, klon
219  zx_tmp_fi2d(i)=ftsol(i,is_oce)
220  ENDDO
221 c
222  ok_msk=.TRUE.
223  msk(1:klon)=pctsrf(1:klon,is_oce)
224  CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy,
225  . ok_msk, msk, moyglo)
226  zx_tmp_fi2d(1:klon)=moyglo
227 c
228  CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
229  CALL histwrite(nid_day_seri,"tsol_"//clnsurf(is_oce),
230  $ itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
231 c
232 c=================================================================
233 c=================================================================
234 c=================================================================
235 c
236  if (ok_sync) then
237  call histsync(nid_day_seri)
238  endif
239 c
240  ENDIF !fin test sur type_run.EQ."AMIP"
241 
242  ENDIF ! mono_cpu