source: trunk/LMDZ.TITAN/libf/phytitan/write_histins.h @ 1055

Last change on this file since 1055 was 808, checked in by slebonnois, 13 years ago

SL: Many changes for VENUS (related to newstart) and TITAN (related to clouds). Please read DOC/chantiers/commit_importants.log (cf v808).

File size: 12.2 KB
RevLine 
[3]1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/write_histins.h,v 1.1.1.1 2004/05/19 12:53:09 lmdzadmin Exp $
3!
4      IF (ok_instan) THEN
5c
6      ndex2d = 0
7      ndex3d = 0
8      zx_tmp_2d = 0.
9      zx_tmp_3d = 0.
10      zx_tmp_fi2d=0.
11      zx_tmp_fi3d=0.
12c
13          zsto = dtime * FLOAT(ecrit_ins)
14          zout = dtime * FLOAT(ecrit_ins)
15         itau_w = itau_phy + itap
16
17c
18c-------------------------------------------------------
19      IF(lev_histday.GE.1) THEN
20c
21ccccccccccccc 2D fields, invariables
22c
23      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
[97]24      CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]25C
26      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
[97]27      CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]28c
[808]29ccccccc axe Ls ... Faudrait le reduire a axe temporel seulement...
[3]30      do j=1,jjmp1
31       do i=1,iim
[97]32        zx_tmp_2d(i,j)=zls*180./RPI      ! zls est en radians !!
[3]33       enddo
34      enddo
[97]35      CALL histwrite(nid_ins,"ls",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]36c
37ccccccccccccc 2D fields, variables
38c
39      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d)
[97]40      CALL histwrite(nid_ins,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]41c
42      DO i = 1, klon
43         zx_tmp_fi2d(i) = paprs(i,1)
44      ENDDO
45      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
[97]46      CALL histwrite(nid_ins,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]47c
48c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
[97]49c     CALL histwrite(nid_ins,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]50c
51c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
[97]52c     CALL histwrite(nid_ins,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]53c
54      ENDIF !lev_histday.GE.1
55c
56c-------------------------------------------------------
57      IF(lev_histday.GE.2) THEN
58c
59ccccccccccccc 3D fields, basics
60c
61      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
[97]62      CALL histwrite(nid_ins,"temp",itau_w,zx_tmp_3d,
[3]63     .                                   iim*jjmp1*klev,ndex3d)
64c
65      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
[97]66      CALL histwrite(nid_ins,"pres",itau_w,zx_tmp_3d,
[3]67     .                                   iim*jjmp1*klev,ndex3d)
68c
69      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
[97]70      CALL histwrite(nid_ins,"geop",itau_w,zx_tmp_3d,
[3]71     .                                   iim*jjmp1*klev,ndex3d)
72c
73      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
[97]74      CALL histwrite(nid_ins,"vitu",itau_w,zx_tmp_3d,
[3]75     .                                   iim*jjmp1*klev,ndex3d)
76c
77      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
[97]78      CALL histwrite(nid_ins,"vitv",itau_w,zx_tmp_3d,
[3]79     .                                   iim*jjmp1*klev,ndex3d)
80c
81      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
[97]82      CALL histwrite(nid_ins,"vitw",itau_w,zx_tmp_3d,
[3]83     .                                   iim*jjmp1*klev,ndex3d)
84c
85      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
[97]86      CALL histwrite(nid_ins,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]87c
[106]88c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d)
89c     CALL histwrite(nid_ins,"duvdf",itau_w,zx_tmp_3d,
90c    .                                   iim*jjmp1*klev,ndex3d)
[3]91c
[106]92c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d)
93c     CALL histwrite(nid_ins,"dudyn",itau_w,zx_tmp_3d,
94c    .                                   iim*jjmp1*klev,ndex3d)
[3]95c
96      ENDIF !lev_histday.GE.2
97c
98c-------------------------------------------------------
99      IF(lev_histday.GE.3) THEN
100c
101cccccccccccccccccc  Tracers
102c
103         if (iflag_trac.eq.1) THEN
104          if (microfi.eq.1) then
105           DO iq=1,nmicro
106       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d)
[97]107       CALL histwrite(nid_ins,tname(iq),itau_w,zx_tmp_3d,
[3]108     .                                   iim*jjmp1*klev,ndex3d)
109           ENDDO
110          endif
111          if (nmicro.lt.nqmax) then
112           DO iq=nmicro+1,nqmax
113       CALL gr_fi_ecrit(klev,klon,iim,jjmp1,tr_seri(1,1,iq),zx_tmp_3d)
[97]114       CALL histwrite(nid_ins,tname(iq),itau_w,zx_tmp_3d,
[3]115     .                                   iim*jjmp1*klev,ndex3d)
116           ENDDO
117          endif
118         endif
119c
120cccccccccccccccccc  Radiative transfer
121c
122c 2D
123c
124      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
[97]125      CALL histwrite(nid_ins,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]126c
127      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
[97]128      CALL histwrite(nid_ins,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]129c
130      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
[97]131      CALL histwrite(nid_ins,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]132c
133c 3D
134c
135      zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev)
136      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]137      CALL histwrite(nid_ins,"SWnet",itau_w,zx_tmp_3d,
[3]138     .                                   iim*jjmp1*klev,ndex3d)
139c
140      zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev)
141      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]142      CALL histwrite(nid_ins,"LWnet",itau_w,zx_tmp_3d,
[3]143     .                                   iim*jjmp1*klev,ndex3d)
144c
[175]145c --------------
146c ----- OPACITE BRUME
[106]147       do k=7,NSPECV,10
148         do i=1,klon
149         do l=1,klev
150           t_tauhvd(i,l)=TAUHVD(i,klev-l+1,k)
151         enddo
152         enddo
153         write(str1,'(i2.2)') k
154      zx_tmp_fi3d(1:klon,1:klev)=t_tauhvd(1:klon,1:klev)
155      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[110]156      CALL histwrite(nid_ins,"thv"//str1,itau_w,zx_tmp_3d,
[106]157     .                                   iim*jjmp1*klev,ndex3d)
158       enddo      ! fin boucle NSPECV
159
[175]160       do k=8,NSPECI,10
161         do i=1,klon
162         do l=1,klev
163           t_tauhvd(i,l)=TAUHID(i,klev-l+1,k)
164         enddo
165         enddo
166         write(str1,'(i2.2)') k
167      zx_tmp_fi3d(1:klon,1:klev)=t_tauhvd(1:klon,1:klev)
168      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
169      CALL histwrite(nid_ins,"thi"//str1,itau_w,zx_tmp_3d,
170     .                                   iim*jjmp1*klev,ndex3d)
171       enddo      ! fin boucle NSPECI
172c --------------
173c ----- EXTINCTION BRUME
[106]174       do k=7,NSPECV,10
175         do i=1,klon
176         do l=1,klev
[175]177          if(l.ne.klev)
178     s     t_khvd(i,l)=TAUHVD(i,klev-l+1,k)
179     s                -TAUHVD(i,klev-l+1-1,k)
[106]180
181          if(l.eq.klev)
[175]182     s     t_khvd(i,l)=TAUHVD(i,klev-l+1,k)
[106]183
184         t_khvd(i,l)=t_khvd(i,l)/(zzlev(i,l+1)-zzlev(i,l))
185         enddo
186         enddo
187         write(str1,'(i2.2)') k
188      zx_tmp_fi3d(1:klon,1:klev)=t_khvd(1:klon,1:klev)
189      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[110]190      CALL histwrite(nid_ins,"khv"//str1,itau_w,zx_tmp_3d,
[106]191     .                                   iim*jjmp1*klev,ndex3d)
192       enddo      ! fin boucle NSPECV
193
[175]194       do k=8,NSPECI,10
[106]195         do i=1,klon
196         do l=1,klev
[175]197          if(l.ne.klev)
198     s     t_khvd(i,l)=TAUHID(i,klev-l+1,k)
199     s                -TAUHID(i,klev-l+1-1,k)
200
201          if(l.eq.klev)
202     s     t_khvd(i,l)=TAUHID(i,klev-l+1,k)
203
204         t_khvd(i,l)=t_khvd(i,l)/(zzlev(i,l+1)-zzlev(i,l))
[106]205         enddo
206         enddo
207         write(str1,'(i2.2)') k
[175]208      zx_tmp_fi3d(1:klon,1:klev)=t_khvd(1:klon,1:klev)
[106]209      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[175]210      CALL histwrite(nid_ins,"khi"//str1,itau_w,zx_tmp_3d,
[106]211     .                                   iim*jjmp1*klev,ndex3d)
[175]212       enddo      ! fin boucle NSPECI
213c --------------
214c ----- OPACITE GAZ
[106]215       do k=7,NSPECV,10
216         do i=1,klon
217         do l=1,klev
[175]218           t_tauhvd(i,l)=TAUGVD(i,klev-l+1,k)
[106]219         enddo
220         enddo
221         write(str1,'(i2.2)') k
[175]222      zx_tmp_fi3d(1:klon,1:klev)=t_tauhvd(1:klon,1:klev)
[106]223      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[175]224      CALL histwrite(nid_ins,"tgv"//str1,itau_w,zx_tmp_3d,
[106]225     .                                   iim*jjmp1*klev,ndex3d)
226       enddo      ! fin boucle NSPECV
227
228       do k=8,NSPECI,10
229         do i=1,klon
230         do l=1,klev
[175]231           t_tauhvd(i,l)=TAUGID(i,klev-l+1,k)
[106]232         enddo
233         enddo
234         write(str1,'(i2.2)') k
235      zx_tmp_fi3d(1:klon,1:klev)=t_tauhvd(1:klon,1:klev)
236      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[175]237      CALL histwrite(nid_ins,"tgi"//str1,itau_w,zx_tmp_3d,
[106]238     .                                   iim*jjmp1*klev,ndex3d)
239       enddo      ! fin boucle NSPECI
[175]240c --------------
241c ----- EXTINCTION GAZ
242       do k=7,NSPECV,10
[106]243         do i=1,klon
244         do l=1,klev
[175]245          if(l.ne.klev)
246     s     t_khvd(i,l)=TAUGVD(i,klev-l+1,k)
247     s                -TAUGVD(i,klev-l+1-1,k)
[106]248
249          if(l.eq.klev)
[175]250     s     t_khvd(i,l)=TAUGVD(i,klev-l+1,k)
[106]251
252         t_khvd(i,l)=t_khvd(i,l)/(zzlev(i,l+1)-zzlev(i,l))
253         enddo
254         enddo
255         write(str1,'(i2.2)') k
256      zx_tmp_fi3d(1:klon,1:klev)=t_khvd(1:klon,1:klev)
257      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[175]258      CALL histwrite(nid_ins,"kgv"//str1,itau_w,zx_tmp_3d,
[106]259     .                                   iim*jjmp1*klev,ndex3d)
[175]260       enddo      ! fin boucle NSPECV
[106]261
262       do k=8,NSPECI,10
263         do i=1,klon
264         do l=1,klev
[175]265          if(l.ne.klev)
266     s     t_khvd(i,l)=TAUGID(i,klev-l+1,k)
267     s                -TAUGID(i,klev-l+1-1,k)
[106]268
269          if(l.eq.klev)
[175]270     s     t_khvd(i,l)=TAUGID(i,klev-l+1,k)
[106]271
272         t_khvd(i,l)=t_khvd(i,l)/(zzlev(i,l+1)-zzlev(i,l))
273         enddo
274         enddo
275         write(str1,'(i2.2)') k
276      zx_tmp_fi3d(1:klon,1:klev)=t_khvd(1:klon,1:klev)
277      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[110]278      CALL histwrite(nid_ins,"kgi"//str1,itau_w,zx_tmp_3d,
[106]279     .                                   iim*jjmp1*klev,ndex3d)
280       enddo      ! fin boucle NSPECI
281
[3]282      ENDIF !lev_histday.GE.3
283c
284c-------------------------------------------------------
285      IF(lev_histday.GE.4) THEN
286c
287      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
[97]288      CALL histwrite(nid_ins,"dtdyn",itau_w,zx_tmp_3d,
[3]289     .                                   iim*jjmp1*klev,ndex3d)
290c
291      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
[97]292      CALL histwrite(nid_ins,"dtphy",itau_w,zx_tmp_3d,
[3]293     .                                   iim*jjmp1*klev,ndex3d)
294c K/s
295      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)
296      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]297      CALL histwrite(nid_ins,"dtvdf",itau_w,zx_tmp_3d,
[3]298     .                                   iim*jjmp1*klev,ndex3d)
299c
300c K/s
301      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)
302      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]303      CALL histwrite(nid_ins,"dtajs",itau_w,zx_tmp_3d,
[3]304     .                                   iim*jjmp1*klev,ndex3d)
305c
306c K/s
307      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)
308      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]309      CALL histwrite(nid_ins,"dtswr",itau_w,zx_tmp_3d,
[3]310     .                                   iim*jjmp1*klev,ndex3d)
311c
312c K/s     
313      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)
314      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]315      CALL histwrite(nid_ins,"dtlwr",itau_w,zx_tmp_3d,
[3]316     .                                   iim*jjmp1*klev,ndex3d)
317c K/s     
[106]318c     zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
319c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
320c     CALL histwrite(nid_ins,"dtec",itau_w,zx_tmp_3d,
321c    .                                   iim*jjmp1*klev,ndex3d)
[3]322c
323c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d)
[97]324c     CALL histwrite(nid_ins,"dvvdf",itau_w,zx_tmp_3d,
[3]325c    .                                   iim*jjmp1*klev,ndex3d)
326c
327      ENDIF !lev_histday.GE.4
328c
329c-------------------------------------------------------
330      IF(lev_histday.GE.5) THEN
331c
332c
333c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d)
334c      CALL histwrite(nid_ins,"taux_",itau_w,
[97]335c    $      zx_tmp_2d,iim*jjmp1,ndex2d) 
[3]336c     
337c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d)
338c      CALL histwrite(nid_ins,"tauy_",itau_w,
[97]339c    $      zx_tmp_2d,iim*jjmp1,ndex2d)
[3]340c
341c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
[97]342c     CALL histwrite(nid_ins,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]343c
344c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
[97]345c     CALL histwrite(nid_ins,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]346c
347      ENDIF !lev_histday.GE.5
348c-------------------------------------------------------
349c
350      if (ok_sync) then
351        call histsync(nid_ins)
352      endif
353      ENDIF
Note: See TracBrowser for help on using the repository browser.