source: LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_output_write.h @ 1264

Last change on this file since 1264 was 1263, checked in by lguez, 15 years ago

1) Reactivated ability to read ozone (that was deactivated because of
dependency on version of IOIPSL). Added ability to read a pressure
coordinate in Pa in "regr_lat_time_climoz".

2) Added the ability to read a second ozone climatology, corresponding to
daylight ozone:

-- "read_climoz" is now an integer variable, instead of a logical
variable.

-- Added argument "read_climoz" to "phys_state_var_init",
"phys_output_open" and "regr_lat_time_climoz".

-- Created new variable "ozone_daylight" for "hist*.nc" output files.

-- Added a third dimension to variable "wo" in module
"phys_state_var_mod" and variable "POZON" in "radlwsw": index 1 for
average day-night ozone, index 2 for daylight ozone.

-- Added a fourth dimension to variables "o3_in", "o3_regr_lat" and
"o3_out" in "regr_lat_time_climoz": index 1 for average day-night
ozone, index 2 for daylight ozone.

-- In "physiq", moved call to "conf_phys" before call to
"phys_state_var_init". Thus, "conf_phys" is now inside the block "if
(first)" instead of "IF (debut)". There were definitions of "bl95_b0"
and "bl95_b1" that were useless because the variables were overwritten
by "conf_phys". Removed those definitions.

-- In "radlwsw", we pass the average day-night ozone to "LW_LMDAR4"
and the daylight ozone, if we have it, to "SW_LMDAR4" or
"SW_AEROAR4". If we do not have a specific field for daylight ozone
then "SW_LMDAR4" or "SW_AEROAR4" just get the average day-night ozone.

-- "regr_lat_time_climoz" now manages latitudes where the input ozone
field is missing at all levels (polar night).

-- Encapsulated "radlwsw" in a module.

3) Modifications to make sequential and parallel versions of
"create_etat0_limit" almost identical:

-- In "dyn3dpar/create_etat0_limit.F". No need to call
"phys_state_var_init", removed "use phys_state_var_mod" statement. No
need for "clesphys.h", removed "include" statement.

-- In "dyn3dpar/etat0_netcdf.F". Added argument "tau_ratqs" in call to
"conf_phys" (this bug was already corrected in "dyn3d"). Moved call to
"inifilr" after call to "infotrac_init" (as in "dyn3d").

4) Other peripheral modifications:

-- Added procedures "nf95_get_att" and "nf95_def_var_scalar" in
NetCDF95 interface. Overloaded "nf95_put_var" with three more
procedures: "nf95_put_var_FourByteReal", "nf95_put_var_FourByteInt",
"nf95_put_var_1D_FourByteInt".

-- Overloaded "regr1_step_av" with one more procedure:
"regr14_step_av". Overloaded "regr3_lint" with one more procedure:
"regr34_lint".

-- Corrected call to "Init_Phys_lmdz" in "dyn3d/create_etat0_limit.F":
the last argument should be an array, not a scalar.

-- Encapsulated "conf_phys" in a module.

-- Splitted module "regr_pr" into "regr_pr_av_m" and "regr_pr_int_m".

5) Tests:

This revision was compared to revision 1259, with optimization options
"debug" and "dev", parallelization options "none", "mpi", "omp" and
"mpi_omp", 1 and 2 MPI processes, 1 and 2 OpenMP threads, with the
compiler "FORTRAN90/SX Version 2.0 for SX-8". Both programs
"create_etat0_limit" and "gcm" were tested. In all cases,
parallelization does not change the results. With "read_climoz = 0" in
the ".def" files, the results of revision 1259 and of this revision
are the same.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 43.9 KB
RevLine 
[907]1      itau_w = itau_phy + itap
2
3      DO iff=1,nfiles
4
5       IF (clef_files(iff)) THEN
6             ndex2d = 0
7             ndex3d = 0
8
9!!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[1083]10       IF (o_phis%flag(iff)<=lev_files(iff)) THEN
[907]11         CALL histwrite_phy(nid_files(iff),
[1083]12     $                      o_phis%name,itau_w,pphis)
[907]13       ENDIF
14
[1083]15       IF (o_aire%flag(iff)<=lev_files(iff)) THEN
16       CALL histwrite_phy(nid_files(iff),o_aire%name,itau_w,airephy)
[907]17       ENDIF
18
[1083]19       IF (o_contfracATM%flag(iff)<=lev_files(iff)) THEN
[907]20      DO i=1, klon
21       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
22      ENDDO
23      CALL histwrite_phy(nid_files(iff),
[1083]24     $             o_contfracATM%name,itau_w,zx_tmp_fi2d)
[907]25       ENDIF
26
[1083]27       IF (o_contfracOR%flag(iff)<=lev_files(iff)) THEN
28      CALL histwrite_phy(nid_files(iff),o_contfracOR%name,itau_w,
[996]29     $                   pctsrf(:,is_ter))
[907]30       ENDIF
31
[1083]32       IF (o_aireTER%flag(iff)<=lev_files(iff)) THEN
[907]33      CALL histwrite_phy(nid_files(iff),
[1083]34     $                  o_aireTER%name,itau_w,paire_ter)
[907]35       ENDIF
36
37!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
38
[1083]39       IF (o_flat%flag(iff)<=lev_files(iff)) THEN
40      CALL histwrite_phy(nid_files(iff),o_flat%name,itau_w,zxfluxlat)
[907]41       ENDIF
42
[1083]43       IF (o_slp%flag(iff)<=lev_files(iff)) THEN
44      CALL histwrite_phy(nid_files(iff),o_slp%name,itau_w,slp)
[907]45       ENDIF
46
[1083]47       IF (o_tsol%flag(iff)<=lev_files(iff)) THEN
48      CALL histwrite_phy(nid_files(iff),o_tsol%name,itau_w,zxtsol)
[907]49       ENDIF
50
[1083]51       IF (o_t2m%flag(iff)<=lev_files(iff)) THEN
52      CALL histwrite_phy(nid_files(iff),o_t2m%name,itau_w,zt2m)
[907]53       ENDIF
54
[1083]55       IF (o_t2m_min%flag(iff)<=lev_files(iff)) THEN
56      CALL histwrite_phy(nid_files(iff),o_t2m_min%name,itau_w,zt2m)
[907]57       ENDIF
58
[1083]59       IF (o_t2m_max%flag(iff)<=lev_files(iff)) THEN
60      CALL histwrite_phy(nid_files(iff),o_t2m_max%name,itau_w,zt2m)
[907]61       ENDIF
62
[1083]63       IF (o_wind10m%flag(iff)<=lev_files(iff)) THEN
[907]64      DO i=1, klon
65       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
66      ENDDO
[1083]67      CALL histwrite_phy(nid_files(iff),
68     s                  o_wind10m%name,itau_w,zx_tmp_fi2d)
[907]69       ENDIF
70
[1083]71       IF (o_wind10max%flag(iff)<=lev_files(iff)) THEN
[907]72      DO i=1, klon
73       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
74      ENDDO
[1083]75      CALL histwrite_phy(nid_files(iff),o_wind10max%name, 
[907]76     $                   itau_w,zx_tmp_fi2d)
77       ENDIF
78
[1083]79       IF (o_sicf%flag(iff)<=lev_files(iff)) THEN
[907]80      DO i = 1, klon
81         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
82      ENDDO
[1083]83      CALL histwrite_phy(nid_files(iff),
84     $                   o_sicf%name,itau_w,zx_tmp_fi2d)
[907]85       ENDIF
86
[1083]87       IF (o_q2m%flag(iff)<=lev_files(iff)) THEN
88      CALL histwrite_phy(nid_files(iff),o_q2m%name,itau_w,zq2m)
[907]89       ENDIF
90
[1083]91       IF (o_u10m%flag(iff)<=lev_files(iff)) THEN
92      CALL histwrite_phy(nid_files(iff),o_u10m%name,itau_w,zu10m)
[907]93       ENDIF
94
[1083]95       IF (o_v10m%flag(iff)<=lev_files(iff)) THEN
96      CALL histwrite_phy(nid_files(iff),o_v10m%name,itau_w,zv10m)
[907]97       ENDIF
98
[1083]99       IF (o_psol%flag(iff)<=lev_files(iff)) THEN
[907]100      DO i = 1, klon
101         zx_tmp_fi2d(i) = paprs(i,1)
102      ENDDO
[1083]103      CALL histwrite_phy(nid_files(iff),
104     s                   o_psol%name,itau_w,zx_tmp_fi2d)
[907]105       ENDIF
106
[1083]107       IF (o_qsurf%flag(iff)<=lev_files(iff)) THEN
108      CALL histwrite_phy(nid_files(iff),o_qsurf%name,itau_w,zxqsurf)
[907]109       ENDIF
110
111       if (.not. ok_veget) then
[1083]112         IF (o_qsol%flag(iff)<=lev_files(iff)) THEN
113        CALL histwrite_phy(nid_files(iff),o_qsol%name,itau_w,qsol)
[907]114         ENDIF
115       endif
116
[1083]117      IF (o_precip%flag(iff)<=lev_files(iff)) THEN
[907]118       DO i = 1, klon
119         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
120       ENDDO
[1083]121      CALL histwrite_phy(nid_files(iff),o_precip%name,
122     s                   itau_w,zx_tmp_fi2d)
[907]123      ENDIF
124
[1083]125       IF (o_ndayrain%flag(iff)<=lev_files(iff)) THEN
126      CALL histwrite_phy(nid_files(iff),o_ndayrain%name,
127     s                   itau_w,nday_rain)
[907]128       ENDIF
129
[1083]130      IF (o_plul%flag(iff)<=lev_files(iff)) THEN
[907]131       DO i = 1, klon
132         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
133       ENDDO
[1083]134      CALL histwrite_phy(nid_files(iff),o_plul%name,itau_w,zx_tmp_fi2d)
[907]135      ENDIF
136
[1083]137      IF (o_pluc%flag(iff)<=lev_files(iff)) THEN
[907]138      DO i = 1, klon
139         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
140      ENDDO
[1083]141      CALL histwrite_phy(nid_files(iff),o_pluc%name,itau_w,zx_tmp_fi2d)
[907]142      ENDIF
143
[1083]144       IF (o_snow%flag(iff)<=lev_files(iff)) THEN
145      CALL histwrite_phy(nid_files(iff),o_snow%name,itau_w,snow_fall)
[907]146       ENDIF
147
[1083]148       IF (o_evap%flag(iff)<=lev_files(iff)) THEN
149      CALL histwrite_phy(nid_files(iff),o_evap%name,itau_w,evap)
[907]150       ENDIF
151
[1083]152       IF (o_tops%flag(iff)<=lev_files(iff)) THEN
153      CALL histwrite_phy(nid_files(iff),o_tops%name,itau_w,topsw)
[907]154       ENDIF
155
[1083]156       IF (o_tops0%flag(iff)<=lev_files(iff)) THEN
157      CALL histwrite_phy(nid_files(iff),o_tops0%name,itau_w,topsw0)
[907]158       ENDIF
159
[1083]160       IF (o_topl%flag(iff)<=lev_files(iff)) THEN
161      CALL histwrite_phy(nid_files(iff),o_topl%name,itau_w,toplw)
[907]162       ENDIF
163
[1083]164       IF (o_topl0%flag(iff)<=lev_files(iff)) THEN
165      CALL histwrite_phy(nid_files(iff),o_topl0%name,itau_w,toplw0)
[907]166       ENDIF
167
[1083]168       IF (o_SWupTOA%flag(iff)<=lev_files(iff)) THEN
[907]169      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
[1083]170      CALL histwrite_phy(nid_files(iff),o_SWupTOA%name,
171     s                     itau_w,zx_tmp_fi2d)
[907]172       ENDIF
173
[1083]174       IF (o_SWupTOAclr%flag(iff)<=lev_files(iff)) THEN
[907]175      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
176      CALL histwrite_phy(nid_files(iff), 
[1083]177     $                  o_SWupTOAclr%name,itau_w,zx_tmp_fi2d)
[907]178       ENDIF
179
[1083]180       IF (o_SWdnTOA%flag(iff)<=lev_files(iff)) THEN
[907]181      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
[1083]182      CALL histwrite_phy(nid_files(iff),
183     s                  o_SWdnTOA%name,itau_w,zx_tmp_fi2d)
[907]184       ENDIF
185
[1083]186       IF (o_SWdnTOAclr%flag(iff)<=lev_files(iff)) THEN
[907]187      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
188      CALL histwrite_phy(nid_files(iff), 
[1083]189     $                  o_SWdnTOAclr%name,itau_w,zx_tmp_fi2d)
[907]190       ENDIF
191
[1083]192       IF (o_SWup200%flag(iff)<=lev_files(iff)) THEN
193      CALL histwrite_phy(nid_files(iff),o_SWup200%name,itau_w,SWup200)
[907]194       ENDIF
195
[1083]196       IF (o_SWup200clr%flag(iff)<=lev_files(iff)) THEN
197      CALL histwrite_phy(nid_files(iff),
198     s                   o_SWup200clr%name,itau_w,SWup200clr)
[907]199       ENDIF
200
[1083]201       IF (o_SWdn200%flag(iff)<=lev_files(iff)) THEN
202      CALL histwrite_phy(nid_files(iff),o_SWdn200%name,itau_w,SWdn200)
[907]203       ENDIF
204
[1083]205       IF (o_SWdn200clr%flag(iff)<=lev_files(iff)) THEN
206      CALL histwrite_phy(nid_files(iff),
207     s                o_SWdn200clr%name,itau_w,SWdn200clr)
[907]208       ENDIF
209
[1083]210       IF (o_LWup200%flag(iff)<=lev_files(iff)) THEN
211      CALL histwrite_phy(nid_files(iff),o_LWup200%name,itau_w,LWup200)
[907]212       ENDIF
213
[1083]214       IF (o_LWup200clr%flag(iff)<=lev_files(iff)) THEN
215      CALL histwrite_phy(nid_files(iff),
216     s                   o_LWup200clr%name,itau_w,LWup200clr)
[907]217       ENDIF
218
[1083]219       IF (o_LWdn200%flag(iff)<=lev_files(iff)) THEN
220      CALL histwrite_phy(nid_files(iff),
[1182]221     s                   o_LWdn200%name,itau_w,LWdn200)
[907]222       ENDIF
223
[1083]224       IF (o_LWdn200clr%flag(iff)<=lev_files(iff)) THEN
225      CALL histwrite_phy(nid_files(iff),
[1182]226     s                  o_LWdn200clr%name,itau_w,LWdn200clr)
[907]227       ENDIF
228
[1083]229       IF (o_sols%flag(iff)<=lev_files(iff)) THEN
230      CALL histwrite_phy(nid_files(iff),o_sols%name,itau_w,solsw)
[907]231       ENDIF
232
[1083]233       IF (o_sols0%flag(iff)<=lev_files(iff)) THEN
234      CALL histwrite_phy(nid_files(iff),o_sols0%name,itau_w,solsw0)
[907]235       ENDIF
236
[1083]237       IF (o_soll%flag(iff)<=lev_files(iff)) THEN
238      CALL histwrite_phy(nid_files(iff),o_soll%name,itau_w,sollw)
[907]239       ENDIF
240
[1083]241       IF (o_radsol%flag(iff)<=lev_files(iff)) THEN
242      CALL histwrite_phy(nid_files(iff),o_radsol%name,itau_w,radsol)
[907]243       ENDIF
244
[1083]245       IF (o_soll0%flag(iff)<=lev_files(iff)) THEN
246      CALL histwrite_phy(nid_files(iff),o_soll0%name,itau_w,sollw0)
[907]247       ENDIF
248
[1083]249       IF (o_SWupSFC%flag(iff)<=lev_files(iff)) THEN
[907]250      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
[1083]251      CALL histwrite_phy(nid_files(iff),
252     s               o_SWupSFC%name,itau_w,zx_tmp_fi2d)
[907]253       ENDIF
254
[1083]255       IF (o_SWupSFCclr%flag(iff)<=lev_files(iff)) THEN
[907]256      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
257      CALL histwrite_phy(nid_files(iff), 
[1083]258     $                   o_SWupSFCclr%name,itau_w,zx_tmp_fi2d)
[907]259       ENDIF
260
[1083]261       IF (o_SWdnSFC%flag(iff)<=lev_files(iff)) THEN
[907]262      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
263      CALL histwrite_phy(nid_files(iff), 
[1083]264     $                   o_SWdnSFC%name,itau_w,zx_tmp_fi2d)
[907]265       ENDIF
266
[1083]267       IF (o_SWdnSFCclr%flag(iff)<=lev_files(iff)) THEN
[907]268      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
269      CALL histwrite_phy(nid_files(iff), 
[1083]270     $                  o_SWdnSFCclr%name,itau_w,zx_tmp_fi2d)
[907]271       ENDIF
272
[1083]273       IF (o_LWupSFC%flag(iff)<=lev_files(iff)) THEN
[907]274      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
275      CALL histwrite_phy(nid_files(iff),
[1083]276     $                    o_LWupSFC%name,itau_w,zx_tmp_fi2d)
[907]277       ENDIF
278
[1083]279       IF (o_LWdnSFC%flag(iff)<=lev_files(iff)) THEN
[907]280      CALL histwrite_phy(nid_files(iff),
[1083]281     $                   o_LWdnSFC%name,itau_w,sollwdown)
[907]282       ENDIF
283
[958]284       sollwdownclr(1:klon) = -1.*lwdn0(1:klon,1)
[1083]285       IF (o_LWupSFCclr%flag(iff)<=lev_files(iff)) THEN
[907]286      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
287      CALL histwrite_phy(nid_files(iff),
[1083]288     $                   o_LWupSFCclr%name,itau_w,zx_tmp_fi2d)
[907]289       ENDIF
290
[1083]291       IF (o_LWdnSFCclr%flag(iff)<=lev_files(iff)) THEN
[907]292      CALL histwrite_phy(nid_files(iff),
[1083]293     $                   o_LWdnSFCclr%name,itau_w,sollwdownclr)
[907]294       ENDIF
295
[1083]296       IF (o_bils%flag(iff)<=lev_files(iff)) THEN
297      CALL histwrite_phy(nid_files(iff),o_bils%name,itau_w,bils)
[907]298       ENDIF
299
[1083]300       IF (o_sens%flag(iff)<=lev_files(iff)) THEN
[907]301      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
[1083]302      CALL histwrite_phy(nid_files(iff),o_sens%name,itau_w,zx_tmp_fi2d)
[907]303       ENDIF
304
[1083]305       IF (o_fder%flag(iff)<=lev_files(iff)) THEN
306      CALL histwrite_phy(nid_files(iff),o_fder%name,itau_w,fder)
[907]307       ENDIF
308
[1083]309       IF (o_ffonte%flag(iff)<=lev_files(iff)) THEN
310       CALL histwrite_phy(nid_files(iff),o_ffonte%name,itau_w,zxffonte)
[907]311       ENDIF
312
[1083]313       IF (o_fqcalving%flag(iff)<=lev_files(iff)) THEN
[907]314       CALL histwrite_phy(nid_files(iff),
[1083]315     $                    o_fqcalving%name,itau_w,zxfqcalving)
[907]316       ENDIF
317
[1083]318       IF (o_fqfonte%flag(iff)<=lev_files(iff)) THEN
[907]319       CALL histwrite_phy(nid_files(iff),
[1083]320     $                   o_fqfonte%name,itau_w,zxfqfonte)
[907]321       ENDIF
322
323         DO nsrf = 1, nbsrf
[1083]324!           IF(nsrf.GE.2) THEN
325            IF (o_pourc_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]326            zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
327            CALL histwrite_phy(nid_files(iff),
[1083]328     $                     o_pourc_srf(nsrf)%name,itau_w,
[907]329     $                     zx_tmp_fi2d)
330            ENDIF
331
[1083]332          IF (o_fract_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]333          zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
334          CALL histwrite_phy(nid_files(iff),
[1083]335     $                  o_fract_srf(nsrf)%name,itau_w,
336     $                  zx_tmp_fi2d)
[907]337          ENDIF
[1083]338!         ENDIF !nsrf.GT.2
[907]339
[1083]340        IF (o_taux_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]341        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
342        CALL histwrite_phy(nid_files(iff),
[1083]343     $                     o_taux_srf(nsrf)%name,itau_w,
344     $                     zx_tmp_fi2d)
[907]345        ENDIF
346
[1083]347        IF (o_tauy_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN           
[907]348        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
349        CALL histwrite_phy(nid_files(iff),
[1083]350     $                    o_tauy_srf(nsrf)%name,itau_w,
351     $                    zx_tmp_fi2d)
[907]352        ENDIF
353
[1083]354        IF (o_tsol_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]355        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
356        CALL histwrite_phy(nid_files(iff),
[1083]357     $                   o_tsol_srf(nsrf)%name,itau_w,
[907]358     $      zx_tmp_fi2d)
359        ENDIF
360
[1083]361      IF (o_u10m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]362      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, nsrf)
[1083]363      CALL histwrite_phy(nid_files(iff),o_u10m_srf(nsrf)%name,
[907]364     $                 itau_w,zx_tmp_fi2d)
365      ENDIF
366
[1083]367      IF (o_v10m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]368      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, nsrf)
[1083]369      CALL histwrite_phy(nid_files(iff),o_v10m_srf(nsrf)%name,
[907]370     $              itau_w,zx_tmp_fi2d)
371      ENDIF
372 
[1083]373      IF (o_t2m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]374      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, nsrf)
[1083]375      CALL histwrite_phy(nid_files(iff),o_t2m_srf(nsrf)%name,
[907]376     $           itau_w,zx_tmp_fi2d)
377      ENDIF
378
[1083]379       IF (o_sens_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]380       zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
381       CALL histwrite_phy(nid_files(iff),
[1083]382     $                    o_sens_srf(nsrf)%name,itau_w,
[907]383     $      zx_tmp_fi2d)
384       ENDIF
385
[1083]386        IF (o_lat_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]387        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
388        CALL histwrite_phy(nid_files(iff),
[1083]389     $                 o_lat_srf(nsrf)%name,itau_w,
[907]390     $                                   zx_tmp_fi2d)
391          ENDIF
392
[1083]393        IF (o_flw_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]394        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
395        CALL histwrite_phy(nid_files(iff),
[1083]396     $                     o_flw_srf(nsrf)%name,itau_w,
[907]397     $      zx_tmp_fi2d)
398        ENDIF
399
[1083]400        IF (o_fsw_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]401        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
402        CALL histwrite_phy(nid_files(iff),
[1083]403     $                   o_fsw_srf(nsrf)%name,itau_w,
[907]404     $      zx_tmp_fi2d)
405        ENDIF
406
[1083]407        IF (o_wbils_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]408        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
409        CALL histwrite_phy(nid_files(iff),
[1083]410     $                   o_wbils_srf(nsrf)%name,itau_w,
[907]411     $      zx_tmp_fi2d)
412        ENDIF
413
[1083]414        IF (o_wbilo_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]415        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
416        CALL histwrite_phy(nid_files(iff),
[1083]417     $                    o_wbilo_srf(nsrf)%name,itau_w,
[907]418     $      zx_tmp_fi2d)
419        ENDIF
420
421       if (iflag_pbl>1 .and. lev_histday.gt.10 ) then
[1083]422        IF (o_tke_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]423        CALL histwrite_phy(nid_files(iff),
[1083]424     $                   o_tke_srf(nsrf)%name,itau_w,
425     $                    pbl_tke(:,1:klev,nsrf))
[907]426       ENDIF
427
[1083]428        IF (o_tke_max_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]429        CALL histwrite_phy(nid_files(iff),
[1083]430     $                    o_tke_max_srf(nsrf)%name,itau_w,
[907]431     $      pbl_tke(:,1:klev,nsrf))
432        ENDIF
433       endif
434      ENDDO
435
[1083]436        IF (o_cdrm%flag(iff)<=lev_files(iff)) THEN
437      CALL histwrite_phy(nid_files(iff),o_cdrm%name,itau_w,cdragm)
[907]438        ENDIF
439
[1083]440        IF (o_cdrh%flag(iff)<=lev_files(iff)) THEN
441      CALL histwrite_phy(nid_files(iff),o_cdrh%name,itau_w,cdragh)
[907]442        ENDIF
443
[1083]444        IF (o_cldl%flag(iff)<=lev_files(iff)) THEN
445      CALL histwrite_phy(nid_files(iff),o_cldl%name,itau_w,cldl)
[907]446        ENDIF
447
[1083]448        IF (o_cldm%flag(iff)<=lev_files(iff)) THEN
449      CALL histwrite_phy(nid_files(iff),o_cldm%name,itau_w,cldm)
[907]450        ENDIF
451
[1083]452        IF (o_cldh%flag(iff)<=lev_files(iff)) THEN
453      CALL histwrite_phy(nid_files(iff),o_cldh%name,itau_w,cldh)
[907]454        ENDIF
455
[1083]456        IF (o_cldt%flag(iff)<=lev_files(iff)) THEN
457      CALL histwrite_phy(nid_files(iff),o_cldt%name, 
[907]458     &                   itau_w,cldt*100)
459        ENDIF
460
[1083]461        IF (o_cldq%flag(iff)<=lev_files(iff)) THEN
462      CALL histwrite_phy(nid_files(iff),o_cldq%name,itau_w,cldq)
[907]463        ENDIF
464
[1083]465        IF (o_lwp%flag(iff)<=lev_files(iff)) THEN
[907]466      zx_tmp_fi2d(1:klon) = flwp(1:klon)
[1083]467      CALL histwrite_phy(nid_files(iff),
468     s                   o_lwp%name,itau_w,zx_tmp_fi2d)
[907]469        ENDIF
470
[1083]471        IF (o_iwp%flag(iff)<=lev_files(iff)) THEN
[907]472      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
[1083]473      CALL histwrite_phy(nid_files(iff),
474     s                    o_iwp%name,itau_w,zx_tmp_fi2d)
[907]475        ENDIF
476
[1083]477        IF (o_ue%flag(iff)<=lev_files(iff)) THEN
478      CALL histwrite_phy(nid_files(iff),o_ue%name,itau_w,ue)
[907]479        ENDIF
480
[1083]481        IF (o_ve%flag(iff)<=lev_files(iff)) THEN
482      CALL histwrite_phy(nid_files(iff),o_ve%name,itau_w,ve)
[907]483        ENDIF
484
[1083]485        IF (o_uq%flag(iff)<=lev_files(iff)) THEN
486      CALL histwrite_phy(nid_files(iff),o_uq%name,itau_w,uq)
[907]487        ENDIF
488
[1083]489        IF (o_vq%flag(iff)<=lev_files(iff)) THEN
490      CALL histwrite_phy(nid_files(iff),o_vq%name,itau_w,vq)
[907]491        ENDIF
492
493      IF(iflag_con.GE.3) THEN ! sb
[1083]494        IF (o_cape%flag(iff)<=lev_files(iff)) THEN
495      CALL histwrite_phy(nid_files(iff),o_cape%name,itau_w,cape)
[907]496        ENDIF
497
[1083]498        IF (o_pbase%flag(iff)<=lev_files(iff)) THEN
499      CALL histwrite_phy(nid_files(iff),o_pbase%name,itau_w,pbase)
[907]500        ENDIF
501
[1083]502        IF (o_ptop%flag(iff)<=lev_files(iff)) THEN
503      CALL histwrite_phy(nid_files(iff),o_ptop%name,itau_w,ema_pct)
[907]504        ENDIF
505
[1083]506        IF (o_fbase%flag(iff)<=lev_files(iff)) THEN
507      CALL histwrite_phy(nid_files(iff),o_fbase%name,itau_w,ema_cbmf)
[907]508        ENDIF
509
[1083]510        IF (o_prw%flag(iff)<=lev_files(iff)) THEN
511      CALL histwrite_phy(nid_files(iff),o_prw%name,itau_w,prw)
[907]512        ENDIF
[1123]513
[1119]514      IF (o_cape_max%flag(iff)<=lev_files(iff)) THEN
[1123]515      CALL histwrite_phy(nid_files(iff),o_cape_max%name,itau_w,cape)
[1119]516      ENDIF
517
[1123]518       IF (o_upwd%flag(iff)<=lev_files(iff)) THEN
519      CALL histwrite_phy(nid_files(iff),o_upwd%name,itau_w,upwd)
520       ENDIF
[1119]521
[1123]522       IF (o_Ma%flag(iff)<=lev_files(iff)) THEN
523      CALL histwrite_phy(nid_files(iff),o_Ma%name,itau_w,Ma)
524       ENDIF
525
526       IF (o_dnwd%flag(iff)<=lev_files(iff)) THEN
527      CALL histwrite_phy(nid_files(iff),o_dnwd%name,itau_w,dnwd)
528       ENDIF
529
530       IF (o_dnwd0%flag(iff)<=lev_files(iff)) THEN
531      CALL histwrite_phy(nid_files(iff),o_dnwd0%name,itau_w,dnwd0)
532       ENDIF
533
[907]534      ENDIF !iflag_con .GE. 3
535
[1083]536        IF (o_s_pblh%flag(iff)<=lev_files(iff)) THEN
537      CALL histwrite_phy(nid_files(iff),o_s_pblh%name,itau_w,s_pblh)
[907]538        ENDIF
539
[1083]540        IF (o_s_pblt%flag(iff)<=lev_files(iff)) THEN
541      CALL histwrite_phy(nid_files(iff),o_s_pblt%name,itau_w,s_pblt)
[907]542        ENDIF
543
[1083]544        IF (o_s_lcl%flag(iff)<=lev_files(iff)) THEN
545      CALL histwrite_phy(nid_files(iff),o_s_lcl%name,itau_w,s_lcl)
[907]546        ENDIF
547
[1083]548        IF (o_s_capCL%flag(iff)<=lev_files(iff)) THEN
549      CALL histwrite_phy(nid_files(iff),o_s_capCL%name,itau_w,s_capCL)
[907]550        ENDIF
551
[1083]552        IF (o_s_oliqCL%flag(iff)<=lev_files(iff)) THEN
553      CALL histwrite_phy(nid_files(iff),o_s_oliqCL%name,itau_w,s_oliqCL)
[907]554        ENDIF
555
[1083]556        IF (o_s_cteiCL%flag(iff)<=lev_files(iff)) THEN
557      CALL histwrite_phy(nid_files(iff),o_s_cteiCL%name,itau_w,s_cteiCL)
[907]558        ENDIF
559
[1083]560        IF (o_s_therm%flag(iff)<=lev_files(iff)) THEN
561      CALL histwrite_phy(nid_files(iff),o_s_therm%name,itau_w,s_therm)
[907]562        ENDIF
563
[1083]564        IF (o_s_trmb1%flag(iff)<=lev_files(iff)) THEN
565      CALL histwrite_phy(nid_files(iff),o_s_trmb1%name,itau_w,s_trmb1)
[907]566        ENDIF
567
[1083]568        IF (o_s_trmb2%flag(iff)<=lev_files(iff)) THEN
569      CALL histwrite_phy(nid_files(iff),o_s_trmb2%name,itau_w,s_trmb2)
[907]570        ENDIF
571
[1083]572        IF (o_s_trmb3%flag(iff)<=lev_files(iff)) THEN
573      CALL histwrite_phy(nid_files(iff),o_s_trmb3%name,itau_w,s_trmb3)
[907]574        ENDIF
575
576! Champs interpolles sur des niveaux de pression
577
[1083]578        ll=0
[907]579        DO k=1, nlevSTD
[1213]580!         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
581!         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
582         bb2=clevSTD(k) 
[907]583         IF(bb2.EQ."850".OR.bb2.EQ."700".OR.
[1213]584     $      bb2.EQ."500".OR.bb2.EQ."200".OR.
585     $      bb2.EQ."50".OR.bb2.EQ."10") THEN
[907]586
587! a refaire correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[1083]588          ll=ll+1
589       IF (o_uSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
590       CALL histwrite_phy(nid_files(iff),o_uSTDlevs(ll)%name,
591     &                    itau_w,uwriteSTD(:,k,iff))
[907]592       ENDIF
593
[1083]594       IF (o_vSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
595      CALL histwrite_phy(nid_files(iff),o_vSTDlevs(ll)%name, 
596     &                   itau_w,vwriteSTD(:,k,iff))
[907]597       ENDIF
598
[1083]599       IF (o_wSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
600      CALL histwrite_phy(nid_files(iff),o_wSTDlevs(ll)%name,
601     &                    itau_w,wwriteSTD(:,k,iff))
[907]602       ENDIF
603
[1083]604       IF (o_phiSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
605      CALL histwrite_phy(nid_files(iff),o_phiSTDlevs(ll)%name,
[1055]606     &               itau_w,phiwriteSTD(:,k,iff))
[907]607       ENDIF
608
[1083]609       IF (o_qSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
610      CALL histwrite_phy(nid_files(iff),o_qSTDlevs(ll)%name,
611     &                   itau_w, qwriteSTD(:,k,iff))
[907]612       ENDIF
613
[1083]614       IF (o_tSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
615      CALL histwrite_phy(nid_files(iff),o_tSTDlevs(ll)%name,
616     &                   itau_w, twriteSTD(:,k,iff))
[907]617       ENDIF
618
619       ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
620       ENDDO
621
[1083]622      IF (o_t_oce_sic%flag(iff)<=lev_files(iff)) THEN
[907]623      DO i=1, klon
624       IF (pctsrf(i,is_oce).GT.epsfra.OR.
625     $     pctsrf(i,is_sic).GT.epsfra) THEN
626        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
627     $                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
628     $                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
629       ELSE
630        zx_tmp_fi2d(i) = 273.15
631       ENDIF
632      ENDDO
[1083]633      CALL histwrite_phy(nid_files(iff),
634     s                   o_t_oce_sic%name,itau_w,zx_tmp_fi2d)
[907]635      ENDIF
636
[1123]637! Couplage convection-couche limite
638      IF (iflag_con.GE.3) THEN
[951]639      IF (iflag_coupl.EQ.1) THEN
[1083]640       IF (o_ale_bl%flag(iff)<=lev_files(iff)) THEN
641       CALL histwrite_phy(nid_files(iff),o_ale_bl%name,itau_w,ale_bl)
[951]642       ENDIF
[1083]643       IF (o_alp_bl%flag(iff)<=lev_files(iff)) THEN
644       CALL histwrite_phy(nid_files(iff),o_alp_bl%name,itau_w,alp_bl)
[951]645       ENDIF
646      ENDIF !iflag_coupl.EQ.1
[1123]647      ENDIF !(iflag_con.GE.3)
[1119]648
[1123]649! Wakes
650      IF (iflag_con.EQ.3) THEN
[951]651      IF (iflag_wake.EQ.1) THEN
[1083]652       IF (o_ale_wk%flag(iff)<=lev_files(iff)) THEN
653       CALL histwrite_phy(nid_files(iff),o_ale_wk%name,itau_w,ale_wake)
[951]654       ENDIF
[1083]655       IF (o_alp_wk%flag(iff)<=lev_files(iff)) THEN
656       CALL histwrite_phy(nid_files(iff),o_alp_wk%name,itau_w,alp_wake)
[951]657       ENDIF
[973]658
[1123]659       IF (o_ale%flag(iff)<=lev_files(iff)) THEN
660       CALL histwrite_phy(nid_files(iff),o_ale%name,itau_w,ale)
661       ENDIF
662       IF (o_alp%flag(iff)<=lev_files(iff)) THEN
663       CALL histwrite_phy(nid_files(iff),o_alp%name,itau_w,alp)
664       ENDIF
665       IF (o_cin%flag(iff)<=lev_files(iff)) THEN
666       CALL histwrite_phy(nid_files(iff),o_cin%name,itau_w,cin)
667       ENDIF
[1083]668       IF (o_wape%flag(iff)<=lev_files(iff)) THEN
669       CALL histwrite_phy(nid_files(iff),o_WAPE%name,itau_w,wake_pe)
[973]670       ENDIF
[1083]671       IF (o_wake_h%flag(iff)<=lev_files(iff)) THEN
672      CALL histwrite_phy(nid_files(iff),o_wake_h%name,itau_w,wake_h)
[1063]673       ENDIF
674
[1083]675       IF (o_wake_s%flag(iff)<=lev_files(iff)) THEN
676      CALL histwrite_phy(nid_files(iff),o_wake_s%name,itau_w,wake_s)
[1063]677       ENDIF
678
[1083]679        IF (o_wake_deltat%flag(iff)<=lev_files(iff)) THEN
680       CALL histwrite_phy(nid_files(iff),o_wake_deltat%name,
[1063]681     $                     itau_w,wake_deltat)
682        ENDIF
683
[1083]684        IF (o_wake_deltaq%flag(iff)<=lev_files(iff)) THEN
685       CALL histwrite_phy(nid_files(iff),o_wake_deltaq%name,
[1063]686     $                    itau_w,wake_deltaq)
687        ENDIF
688
[1083]689        IF (o_wake_omg%flag(iff)<=lev_files(iff)) THEN
[1123]690       CALL histwrite_phy(nid_files(iff),
691     s                    o_wake_omg%name,itau_w,wake_omg)
[1063]692        ENDIF
[1123]693
694         IF (o_dtwak%flag(iff)<=lev_files(iff)) THEN
695           zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev)
[1119]696     &                                        /pdtphys
[1123]697           CALL histwrite_phy(nid_files(iff),
698     &                       o_dtwak%name,itau_w,zx_tmp_fi3d)
699         ENDIF
[1063]700
[1119]701        IF (o_dqwak%flag(iff)<=lev_files(iff)) THEN
[1123]702        zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
703        CALL histwrite_phy(nid_files(iff),
704     &                     o_dqwak%name,itau_w,zx_tmp_fi3d)
[1063]705        ENDIF
[1123]706      ENDIF ! iflag_wake.EQ.1
[1063]707
[1123]708        IF (o_Vprecip%flag(iff)<=lev_files(iff)) THEN
709       CALL histwrite_phy(nid_files(iff),o_Vprecip%name,itau_w,Vprecip)
710        ENDIF
711
[1083]712        IF (o_ftd%flag(iff)<=lev_files(iff)) THEN
713       CALL histwrite_phy(nid_files(iff),o_ftd%name,itau_w,ftd)
[1063]714        ENDIF
715
[1083]716        IF (o_fqd%flag(iff)<=lev_files(iff)) THEN
717       CALL histwrite_phy(nid_files(iff),o_fqd%name,itau_w,fqd)
[1063]718        ENDIF
[1083]719      ENDIF !(iflag_con.EQ.3) 
[996]720 
[1123]721      IF (type_ocean=='slab ') THEN
722      IF ( o_slab_bils%flag(iff)<=lev_files(iff)) 
[996]723     $     CALL histwrite_phy(
[1083]724     $     nid_files(iff),o_slab_bils%name,itau_w,slab_wfbils)
[1123]725
[996]726      ENDIF !type_ocean == force/slab
[907]727
[1083]728      IF (o_weakinv%flag(iff)<=lev_files(iff)) THEN
729      CALL histwrite_phy(nid_files(iff),
730     s                  o_weakinv%name,itau_w,weak_inversion)
[907]731      ENDIF
732
[1083]733      IF (o_dthmin%flag(iff)<=lev_files(iff)) THEN
734      CALL histwrite_phy(nid_files(iff),o_dthmin%name,itau_w,dthmin)
[907]735      ENDIF
736
[1083]737       IF (o_cldtau%flag(iff)<=lev_files(iff)) THEN
738       CALL histwrite_phy(nid_files(iff),o_cldtau%name,itau_w,cldtau)
[907]739       ENDIF
740
[1083]741       IF (o_cldemi%flag(iff)<=lev_files(iff)) THEN
742       CALL histwrite_phy(nid_files(iff),o_cldemi%name,itau_w,cldemi)
[907]743       ENDIF
744
[1258]745      IF (o_pr_con_l%flag(iff)<=lev_files(iff)) THEN
746      CALL histwrite_phy(nid_files(iff),
747     s         o_pr_con_l%name,itau_w,pmflxr(:,1:klev))
748      ENDIF
[929]749
[1258]750      IF (o_pr_con_i%flag(iff)<=lev_files(iff)) THEN
751      CALL histwrite_phy(nid_files(iff),
752     s         o_pr_con_i%name,itau_w,pmflxs(:,1:klev))
753      ENDIF
[929]754
[1258]755      IF (o_pr_lsc_l%flag(iff)<=lev_files(iff)) THEN
756      CALL histwrite_phy(nid_files(iff),
757     s        o_pr_lsc_l%name,itau_w,prfl(:,1:klev))
758      ENDIF
[929]759
[1258]760      IF (o_pr_lsc_i%flag(iff)<=lev_files(iff)) THEN
761      CALL histwrite_phy(nid_files(iff),
762     s        o_pr_lsc_i%name,itau_w,psfl(:,1:klev))
763      ENDIF
[929]764
[1258]765
[1083]766      IF (o_rh2m%flag(iff)<=lev_files(iff)) THEN
[907]767      DO i=1, klon
768       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
769      ENDDO
[1083]770      CALL histwrite_phy(nid_files(iff),o_rh2m%name,itau_w,zx_tmp_fi2d)
[907]771      ENDIF
772
[1083]773      IF (o_qsat2m%flag(iff)<=lev_files(iff)) THEN
774      CALL histwrite_phy(nid_files(iff),o_qsat2m%name,itau_w,qsat2m)
[907]775      ENDIF
776
[1083]777      IF (o_tpot%flag(iff)<=lev_files(iff)) THEN
778      CALL histwrite_phy(nid_files(iff),o_tpot%name,itau_w,tpot)
[907]779      ENDIF
780
[1083]781       IF (o_tpote%flag(iff)<=lev_files(iff)) THEN
782      CALL histwrite_phy(nid_files(iff),o_tpote%name,itau_w,tpote)
[907]783       ENDIF
784
[1083]785      IF (o_SWnetOR%flag(iff)<=lev_files(iff)) THEN
[907]786      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
[1083]787      CALL histwrite_phy(nid_files(iff),
788     s                   o_SWnetOR%name,itau_w, zx_tmp_fi2d)
[907]789      ENDIF
790
[1083]791      IF (o_SWdownOR%flag(iff)<=lev_files(iff)) THEN
[907]792      zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol1(1:klon))
[1083]793      CALL histwrite_phy(nid_files(iff),
794     s                   o_SWdownOR%name,itau_w, zx_tmp_fi2d)
[907]795      ENDIF
796
[1083]797      IF (o_LWdownOR%flag(iff)<=lev_files(iff)) THEN
798      CALL histwrite_phy(nid_files(iff),
799     s                  o_LWdownOR%name,itau_w,sollwdown)
[907]800      ENDIF
801
[1083]802      IF (o_snowl%flag(iff)<=lev_files(iff)) THEN
803      CALL histwrite_phy(nid_files(iff),o_snowl%name,itau_w,snow_lsc)
[907]804      ENDIF
805
[1083]806      IF (o_solldown%flag(iff)<=lev_files(iff)) THEN
807      CALL histwrite_phy(nid_files(iff),
808     s                   o_solldown%name,itau_w,sollwdown)
[907]809      ENDIF
810
[1083]811      IF (o_dtsvdfo%flag(iff)<=lev_files(iff)) THEN
812      CALL histwrite_phy(nid_files(iff),
813     s                 o_dtsvdfo%name,itau_w,d_ts(:,is_oce))
[907]814      ENDIF
815
[1083]816      IF (o_dtsvdft%flag(iff)<=lev_files(iff)) THEN
817      CALL histwrite_phy(nid_files(iff),
818     s                   o_dtsvdft%name,itau_w,d_ts(:,is_ter))
[907]819      ENDIF
820
[1083]821       IF (o_dtsvdfg%flag(iff)<=lev_files(iff)) THEN
[907]822        CALL histwrite_phy(nid_files(iff),
[1083]823     $                   o_dtsvdfg%name,itau_w, d_ts(:,is_lic))
[907]824       ENDIF
825
[1083]826       IF (o_dtsvdfi%flag(iff)<=lev_files(iff)) THEN
827      CALL histwrite_phy(nid_files(iff),
828     s                   o_dtsvdfi%name,itau_w,d_ts(:,is_sic))
[907]829       ENDIF
830
[1083]831       IF (o_rugs%flag(iff)<=lev_files(iff)) THEN
832      CALL histwrite_phy(nid_files(iff),o_rugs%name,itau_w,zxrugs)
[907]833       ENDIF
834
[1246]835! OD550 per species
836      IF (new_aod) THEN
837      DO naero = 1, naero_spc
838          IF (o_tausumaero(naero)%flag(iff)<=lev_files(iff)) THEN
839             CALL histwrite_phy(nid_files(iff),
840     $            o_tausumaero(naero)%name,itau_w,
841     $            tausum_aero(:,2,naero) )
842          ENDIF
843      END DO
844      ENDIF
845
[1095]846       IF (ok_ade) THEN
[1150]847          IF (o_topswad%flag(iff)<=lev_files(iff)) THEN
848             CALL histwrite_phy(nid_files(iff),o_topswad%name,itau_w,
849     $            topswad_aero)
850          ENDIF
851          IF (o_solswad%flag(iff)<=lev_files(iff)) THEN
852             CALL histwrite_phy(nid_files(iff),o_solswad%name,itau_w,
853     $            solswad_aero)
854          ENDIF
[1246]855
856!====MS forcing diagnostics
857        if (new_aod) then             
858        IF (o_swtoaas_nat%flag(iff)<=lev_files(iff)) THEN
859        CALL histwrite_phy(nid_files(iff),o_swtoaas_nat%name,itau_w,
860     $      topsw_aero(:,1))
861        ENDIF
862
863        IF (o_swsrfas_nat%flag(iff)<=lev_files(iff)) THEN
864        CALL histwrite_phy(nid_files(iff),o_swsrfas_nat%name,itau_w,
865     $      solsw_aero(:,1))
866        ENDIF
867
868        IF (o_swtoacs_nat%flag(iff)<=lev_files(iff)) THEN
869        CALL histwrite_phy(nid_files(iff),o_swtoacs_nat%name,itau_w,
870     $      topsw0_aero(:,1))
871        ENDIF
872
873        IF (o_swsrfcs_nat%flag(iff)<=lev_files(iff)) THEN
874        CALL histwrite_phy(nid_files(iff),o_swsrfcs_nat%name,itau_w,
875     $      solsw0_aero(:,1))
876        ENDIF
877 
878!ant
879        IF (o_swtoaas_ant%flag(iff)<=lev_files(iff)) THEN
880        CALL histwrite_phy(nid_files(iff),o_swtoaas_ant%name,itau_w,
881     $      topsw_aero(:,2))
882        ENDIF
883
884        IF (o_swsrfas_ant%flag(iff)<=lev_files(iff)) THEN
885        CALL histwrite_phy(nid_files(iff),o_swsrfas_ant%name,itau_w,
886     $      solsw_aero(:,2))
887        ENDIF
888
889        IF (o_swtoacs_ant%flag(iff)<=lev_files(iff)) THEN
890        CALL histwrite_phy(nid_files(iff),o_swtoacs_ant%name,itau_w,
891     $      topsw0_aero(:,2))
892        ENDIF
893
894        IF (o_swsrfcs_ant%flag(iff)<=lev_files(iff)) THEN
895        CALL histwrite_phy(nid_files(iff),o_swsrfcs_ant%name,itau_w,
896     $      solsw0_aero(:,2))
897        ENDIF
898
899!cf
900        IF (o_swtoacf_nat%flag(iff)<=lev_files(iff)) THEN
901        CALL histwrite_phy(nid_files(iff),o_swtoacf_nat%name,itau_w,
902     $      topswcf_aero(:,1))
903        ENDIF
904
905        IF (o_swsrfcf_nat%flag(iff)<=lev_files(iff)) THEN
906        CALL histwrite_phy(nid_files(iff),o_swsrfcf_nat%name,itau_w,
907     $      solswcf_aero(:,1))
908        ENDIF
909
910        IF (o_swtoacf_ant%flag(iff)<=lev_files(iff)) THEN
911        CALL histwrite_phy(nid_files(iff),o_swtoacf_ant%name,itau_w,
912     $      topswcf_aero(:,2))
913        ENDIF
914
915        IF (o_swsrfcf_ant%flag(iff)<=lev_files(iff)) THEN
916        CALL histwrite_phy(nid_files(iff),o_swsrfcf_ant%name,itau_w,
917     $      solswcf_aero(:,2))
918        ENDIF
919
920        IF (o_swtoacf_zero%flag(iff)<=lev_files(iff)) THEN
921        CALL histwrite_phy(nid_files(iff),o_swtoacf_zero%name,itau_w,
922     $      topswcf_aero(:,3))
923        ENDIF
924
925        IF (o_swsrfcf_zero%flag(iff)<=lev_files(iff)) THEN
926        CALL histwrite_phy(nid_files(iff),o_swsrfcf_zero%name,itau_w,
927     $      solswcf_aero(:,3))
928        ENDIF
929
930        endif ! new_aod
931!====MS forcing diagnostics
932
[1095]933       ENDIF
934
935       IF (ok_aie) THEN
[1150]936          IF (o_topswai%flag(iff)<=lev_files(iff)) THEN
937             CALL histwrite_phy(nid_files(iff),o_topswai%name,itau_w,
938     $            topswai_aero)
939          ENDIF
940          IF (o_solswai%flag(iff)<=lev_files(iff)) THEN
941             CALL histwrite_phy(nid_files(iff),o_solswai%name,itau_w,
942     $            solswai_aero)
943          ENDIF
[1095]944       ENDIF
945
[907]946! Champs 3D:
[1083]947       IF (o_lwcon%flag(iff)<=lev_files(iff)) THEN
948      CALL histwrite_phy(nid_files(iff),o_lwcon%name,itau_w,flwc)
[907]949       ENDIF
950
[1083]951       IF (o_iwcon%flag(iff)<=lev_files(iff)) THEN
952      CALL histwrite_phy(nid_files(iff),o_iwcon%name,itau_w,fiwc)
[907]953       ENDIF
954
[1083]955       IF (o_temp%flag(iff)<=lev_files(iff)) THEN
956      CALL histwrite_phy(nid_files(iff),o_temp%name,itau_w,t_seri)
[907]957       ENDIF
958
[1083]959       IF (o_theta%flag(iff)<=lev_files(iff)) THEN
960      CALL histwrite_phy(nid_files(iff),o_theta%name,itau_w,theta)
[945]961       ENDIF
962
[1083]963       IF (o_ovap%flag(iff)<=lev_files(iff)) THEN
964      CALL histwrite_phy(nid_files(iff),o_ovap%name,itau_w,qx(:,:,ivap))
[907]965       ENDIF
966
[1123]967       IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN
968      CALL histwrite_phy(nid_files(iff),
969     $                   o_ovapinit%name,itau_w,q_seri)
970       ENDIF
971
[1083]972       IF (o_geop%flag(iff)<=lev_files(iff)) THEN
973      CALL histwrite_phy(nid_files(iff),o_geop%name,itau_w,zphi)
[907]974       ENDIF
975
[1083]976       IF (o_vitu%flag(iff)<=lev_files(iff)) THEN
977      CALL histwrite_phy(nid_files(iff),o_vitu%name,itau_w,u_seri)
[907]978       ENDIF
979
[1083]980       IF (o_vitv%flag(iff)<=lev_files(iff)) THEN
981      CALL histwrite_phy(nid_files(iff),o_vitv%name,itau_w,v_seri)
[907]982       ENDIF
983
[1083]984       IF (o_vitw%flag(iff)<=lev_files(iff)) THEN
985      CALL histwrite_phy(nid_files(iff),o_vitw%name,itau_w,omega)
[907]986       ENDIF
987
[1083]988        IF (o_pres%flag(iff)<=lev_files(iff)) THEN
989      CALL histwrite_phy(nid_files(iff),o_pres%name,itau_w,pplay)
[907]990        ENDIF
991
[1083]992       IF (o_rneb%flag(iff)<=lev_files(iff)) THEN
993      CALL histwrite_phy(nid_files(iff),o_rneb%name,itau_w,cldfra)
[907]994       ENDIF
995
[1083]996       IF (o_rnebcon%flag(iff)<=lev_files(iff)) THEN
997      CALL histwrite_phy(nid_files(iff),o_rnebcon%name,itau_w,rnebcon)
[907]998       ENDIF
999
[1083]1000       IF (o_rhum%flag(iff)<=lev_files(iff)) THEN
1001      CALL histwrite_phy(nid_files(iff),o_rhum%name,itau_w,zx_rh)
[907]1002       ENDIF
1003
[1083]1004      IF (o_ozone%flag(iff)<=lev_files(iff)) THEN
[1215]1005         CALL histwrite_phy(nid_files(iff), o_ozone%name, itau_w,
[1263]1006     $        wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
[907]1007      ENDIF
1008
[1263]1009      IF (o_ozone_light%flag(iff)<=lev_files(iff) .and.
1010     $     read_climoz == 2) THEN
1011         CALL histwrite_phy(nid_files(iff), o_ozone_light%name, itau_w,
1012     $        wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1013      ENDIF
1014
[1083]1015       IF (o_dtphy%flag(iff)<=lev_files(iff)) THEN
1016      CALL histwrite_phy(nid_files(iff),o_dtphy%name,itau_w,d_t)
[907]1017       ENDIF
1018
[1083]1019       IF (o_dqphy%flag(iff)<=lev_files(iff)) THEN
1020      CALL histwrite_phy(nid_files(iff),
1021     s                  o_dqphy%name,itau_w, d_qx(:,:,ivap))
[907]1022       ENDIF
1023
1024        DO nsrf=1, nbsrf
[1083]1025        IF (o_albe_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]1026        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
[1083]1027        CALL histwrite_phy(nid_files(iff),
1028     s                    o_albe_srf(nsrf)%name,itau_w,
1029     $                     zx_tmp_fi2d)
[907]1030        ENDIF
1031
[1083]1032        IF (o_rugs_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN 
[907]1033        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
[1083]1034        CALL histwrite_phy(nid_files(iff),
1035     s                     o_rugs_srf(nsrf)%name,itau_w,
[907]1036     $      zx_tmp_fi2d)
1037        ENDIF
1038
[1083]1039        IF (o_ages_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
[907]1040        zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
[1083]1041        CALL histwrite_phy(nid_files(iff),
1042     s                     o_ages_srf(nsrf)%name,itau_w
[907]1043     $    ,zx_tmp_fi2d)
1044        ENDIF
1045        ENDDO !nsrf=1, nbsrf
1046
[1083]1047       IF (o_albs%flag(iff)<=lev_files(iff)) THEN
1048      CALL histwrite_phy(nid_files(iff),o_albs%name,itau_w,albsol1)
[907]1049       ENDIF
1050
[1083]1051       IF (o_albslw%flag(iff)<=lev_files(iff)) THEN
1052      CALL histwrite_phy(nid_files(iff),o_albslw%name,itau_w,albsol2)
[907]1053       ENDIF
1054
1055!FH Sorties pour la couche limite
1056      if (iflag_pbl>1) then
1057      zx_tmp_fi3d=0.
1058      do nsrf=1,nbsrf
1059         do k=1,klev
1060          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k)
1061     $    +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
1062         enddo
1063      enddo
[1083]1064       IF (o_tke%flag(iff)<=lev_files(iff)) THEN
1065      CALL histwrite_phy(nid_files(iff),o_tke%name,itau_w,zx_tmp_fi3d)
[907]1066       ENDIF
1067
[1083]1068       IF (o_tke_max%flag(iff)<=lev_files(iff)) THEN
1069      CALL histwrite_phy(nid_files(iff),
1070     s                   o_tke_max%name,itau_w,zx_tmp_fi3d)
[907]1071       ENDIF
1072      endif
1073
[1083]1074       IF (o_kz%flag(iff)<=lev_files(iff)) THEN
1075      CALL histwrite_phy(nid_files(iff),o_kz%name,itau_w,coefh)
[907]1076       ENDIF
1077
[1083]1078       IF (o_kz_max%flag(iff)<=lev_files(iff)) THEN
1079      CALL histwrite_phy(nid_files(iff),o_kz_max%name,itau_w,coefh)
[907]1080       ENDIF
1081
[1083]1082       IF (o_clwcon%flag(iff)<=lev_files(iff)) THEN
1083      CALL histwrite_phy(nid_files(iff),o_clwcon%name,itau_w,clwcon0)
[907]1084       ENDIF
1085
[1083]1086       IF (o_dtdyn%flag(iff)<=lev_files(iff)) THEN
1087      CALL histwrite_phy(nid_files(iff),o_dtdyn%name,itau_w,d_t_dyn)
[907]1088       ENDIF
1089
[1083]1090       IF (o_dqdyn%flag(iff)<=lev_files(iff)) THEN
1091      CALL histwrite_phy(nid_files(iff),o_dqdyn%name,itau_w,d_q_dyn)
[907]1092       ENDIF
1093
[1083]1094       IF (o_dudyn%flag(iff)<=lev_files(iff)) THEN
1095      CALL histwrite_phy(nid_files(iff),o_dudyn%name,itau_w,d_u_dyn)
[1054]1096       ENDIF                                                   
1097
[1083]1098       IF (o_dvdyn%flag(iff)<=lev_files(iff)) THEN                 
1099      CALL histwrite_phy(nid_files(iff),o_dvdyn%name,itau_w,d_v_dyn) 
[1054]1100       ENDIF                                                     
1101
[1083]1102       IF (o_dtcon%flag(iff)<=lev_files(iff)) THEN
[907]1103      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
[1083]1104      CALL histwrite_phy(nid_files(iff),o_dtcon%name,itau_w,zx_tmp_fi3d)
[907]1105       ENDIF
1106
[1083]1107       IF (o_ducon%flag(iff)<=lev_files(iff)) THEN
[907]1108      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
[1083]1109      CALL histwrite_phy(nid_files(iff),o_ducon%name,itau_w,zx_tmp_fi3d)
[907]1110       ENDIF
1111
[1083]1112       IF (o_dqcon%flag(iff)<=lev_files(iff)) THEN
[907]1113      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
[1083]1114      CALL histwrite_phy(nid_files(iff),o_dqcon%name,itau_w,zx_tmp_fi3d)
[907]1115       ENDIF
1116
[1083]1117       IF (o_dtlsc%flag(iff)<=lev_files(iff)) THEN
[907]1118      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
[1083]1119      CALL histwrite_phy(nid_files(iff),o_dtlsc%name,itau_w,zx_tmp_fi3d)
[907]1120       ENDIF
1121
[1083]1122       IF (o_dtlschr%flag(iff)<=lev_files(iff)) THEN
[907]1123      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1124     $                           d_t_eva(1:klon,1:klev))/pdtphys
[1083]1125      CALL histwrite_phy(nid_files(iff),
1126     s                   o_dtlschr%name,itau_w,zx_tmp_fi3d)
[907]1127       ENDIF
1128
[1083]1129       IF (o_dqlsc%flag(iff)<=lev_files(iff)) THEN
[907]1130      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
[1083]1131      CALL histwrite_phy(nid_files(iff),o_dqlsc%name,itau_w,zx_tmp_fi3d)
[907]1132       ENDIF
1133
[1083]1134       IF (o_dtvdf%flag(iff)<=lev_files(iff)) THEN
[907]1135      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
[1083]1136      CALL histwrite_phy(nid_files(iff),o_dtvdf%name,itau_w,zx_tmp_fi3d)
[907]1137       ENDIF
1138
[1083]1139       IF (o_dqvdf%flag(iff)<=lev_files(iff)) THEN
[907]1140      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
[1083]1141      CALL histwrite_phy(nid_files(iff),o_dqvdf%name,itau_w,zx_tmp_fi3d)
[907]1142       ENDIF
1143
[1083]1144       IF (o_dteva%flag(iff)<=lev_files(iff)) THEN
[907]1145      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
[1083]1146      CALL histwrite_phy(nid_files(iff),o_dteva%name,itau_w,zx_tmp_fi3d)
[907]1147       ENDIF
1148
[1083]1149       IF (o_dqeva%flag(iff)<=lev_files(iff)) THEN
[907]1150      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
[1083]1151      CALL histwrite_phy(nid_files(iff),o_dqeva%name,itau_w,zx_tmp_fi3d)
[907]1152       ENDIF
1153
[1083]1154       IF (o_ptconv%flag(iff)<=lev_files(iff)) THEN
[907]1155      zpt_conv = 0.
1156      where (ptconv) zpt_conv = 1.
[1083]1157      CALL histwrite_phy(nid_files(iff),o_ptconv%name,itau_w,zpt_conv)
[907]1158       ENDIF
1159
[1083]1160       IF (o_ratqs%flag(iff)<=lev_files(iff)) THEN
1161      CALL histwrite_phy(nid_files(iff),o_ratqs%name,itau_w,ratqs)
[907]1162       ENDIF
1163
[1083]1164       IF (o_dtthe%flag(iff)<=lev_files(iff)) THEN
[907]1165      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
[1083]1166      CALL histwrite_phy(nid_files(iff),o_dtthe%name,itau_w,zx_tmp_fi3d)
[907]1167       ENDIF
1168
[1036]1169       IF (iflag_thermals.gt.1) THEN
[1083]1170        IF (o_f_th%flag(iff)<=lev_files(iff)) THEN
1171        CALL histwrite_phy(nid_files(iff),o_f_th%name,itau_w,fm_therm)
[951]1172        ENDIF
[945]1173
[1083]1174        IF (o_e_th%flag(iff)<=lev_files(iff)) THEN
1175        CALL histwrite_phy(nid_files(iff),o_e_th%name,itau_w,entr_therm)
[951]1176        ENDIF
[945]1177
[1083]1178        IF (o_w_th%flag(iff)<=lev_files(iff)) THEN
1179        CALL histwrite_phy(nid_files(iff),o_w_th%name,itau_w,zw2)
[1028]1180        ENDIF
1181
[1083]1182        IF (o_q_th%flag(iff)<=lev_files(iff)) THEN
1183        CALL histwrite_phy(nid_files(iff),o_q_th%name,itau_w,zqasc)
[1028]1184        ENDIF
1185
[1083]1186        IF (o_lambda_th%flag(iff)<=lev_files(iff)) THEN
1187        CALL histwrite_phy(nid_files(iff),
1188     s                     o_lambda_th%name,itau_w,lambda_th)
[1028]1189        ENDIF
1190
[1083]1191        IF (o_a_th%flag(iff)<=lev_files(iff)) THEN
1192        CALL histwrite_phy(nid_files(iff),o_a_th%name,itau_w,fraca)
[1028]1193        ENDIF
1194
[1083]1195       IF (o_d_th%flag(iff)<=lev_files(iff)) THEN
1196       CALL histwrite_phy(nid_files(iff),o_d_th%name,itau_w,detr_therm)
[1028]1197       ENDIF
1198
[951]1199       ENDIF !iflag_thermals
[945]1200
[1083]1201       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1202      CALL histwrite_phy(nid_files(iff),o_f0_th%name,itau_w,f0)
[945]1203       ENDIF
1204
[1083]1205       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1206      CALL histwrite_phy(nid_files(iff),o_zmax_th%name,itau_w,zmax0)
[945]1207       ENDIF
1208
[1083]1209       IF (o_dqthe%flag(iff)<=lev_files(iff)) THEN
[907]1210      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
[1083]1211      CALL histwrite_phy(nid_files(iff),o_dqthe%name,itau_w,zx_tmp_fi3d)
[907]1212       ENDIF
1213
[1083]1214       IF (o_dtajs%flag(iff)<=lev_files(iff)) THEN
[907]1215      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
[1083]1216      CALL histwrite_phy(nid_files(iff),o_dtajs%name,itau_w,zx_tmp_fi3d)
[907]1217       ENDIF
1218
[1083]1219       IF (o_dqajs%flag(iff)<=lev_files(iff)) THEN
[907]1220      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
[1083]1221      CALL histwrite_phy(nid_files(iff),o_dqajs%name,itau_w,zx_tmp_fi3d)
[907]1222       ENDIF
1223
[1083]1224       IF (o_dtswr%flag(iff)<=lev_files(iff)) THEN
[907]1225      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
[1083]1226      CALL histwrite_phy(nid_files(iff),o_dtswr%name,itau_w,zx_tmp_fi3d)
[907]1227       ENDIF
1228
[1083]1229       IF (o_dtsw0%flag(iff)<=lev_files(iff)) THEN
[907]1230      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
[1083]1231      CALL histwrite_phy(nid_files(iff),o_dtsw0%name,itau_w,zx_tmp_fi3d)
[907]1232       ENDIF
1233
[1083]1234       IF (o_dtlwr%flag(iff)<=lev_files(iff)) THEN
[907]1235      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
[1083]1236      CALL histwrite_phy(nid_files(iff),o_dtlwr%name,itau_w,zx_tmp_fi3d)
[907]1237       ENDIF
1238
[1083]1239       IF (o_dtlw0%flag(iff)<=lev_files(iff)) THEN
[907]1240      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
[1083]1241      CALL histwrite_phy(nid_files(iff),o_dtlw0%name,itau_w,zx_tmp_fi3d)
[907]1242       ENDIF
1243
[1083]1244       IF (o_dtec%flag(iff)<=lev_files(iff)) THEN
[907]1245      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
[1083]1246      CALL histwrite_phy(nid_files(iff),o_dtec%name,itau_w,zx_tmp_fi3d)
[907]1247       ENDIF
1248
[1083]1249       IF (o_duvdf%flag(iff)<=lev_files(iff)) THEN
[907]1250      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
[1083]1251      CALL histwrite_phy(nid_files(iff),o_duvdf%name,itau_w,zx_tmp_fi3d)
[907]1252       ENDIF
1253
[1083]1254       IF (o_dvvdf%flag(iff)<=lev_files(iff)) THEN
[907]1255      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
[1083]1256      CALL histwrite_phy(nid_files(iff),o_dvvdf%name,itau_w,zx_tmp_fi3d)
[907]1257       ENDIF
1258
1259       IF (ok_orodr) THEN
[1083]1260      IF (o_duoro%flag(iff)<=lev_files(iff)) THEN
[907]1261      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
[1083]1262      CALL histwrite_phy(nid_files(iff),o_duoro%name,itau_w,zx_tmp_fi3d)
[907]1263       ENDIF
1264
[1083]1265      IF (o_dvoro%flag(iff)<=lev_files(iff)) THEN
[907]1266      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
[1083]1267      CALL histwrite_phy(nid_files(iff),o_dvoro%name,itau_w,zx_tmp_fi3d)
[907]1268      ENDIF
1269       ENDIF
1270
1271        IF (ok_orolf) THEN
[1083]1272       IF (o_dulif%flag(iff)<=lev_files(iff)) THEN
[907]1273      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
[1083]1274      CALL histwrite_phy(nid_files(iff),o_dulif%name,itau_w,zx_tmp_fi3d)
[907]1275       ENDIF
1276
[1083]1277        IF (o_dvlif%flag(iff)<=lev_files(iff)) THEN
[907]1278      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
[1083]1279      CALL histwrite_phy(nid_files(iff),o_dvlif%name,itau_w,zx_tmp_fi3d)
[907]1280       ENDIF
1281        ENDIF
1282
[1083]1283!       IF (o_trac%flag(iff)<=lev_files(iff)) THEN
[1114]1284         if (nqtot.GE.3) THEN
1285!           DO iq=3,nqtot
[1083]1286           DO iq=3,4
1287       IF (o_trac(iq-2)%flag(iff)<=lev_files(iff)) THEN
1288         CALL histwrite_phy(nid_files(iff),
1289     s                  o_trac(iq-2)%name,itau_w,qx(:,:,iq))
1290       ENDIF
[907]1291           ENDDO
[1083]1292         endif
[907]1293
1294      if (ok_sync) then
1295c$OMP MASTER
1296        call histsync(nid_files(iff))
1297c$OMP END MASTER
1298      endif
1299
1300       ENDIF ! clef_files
1301
1302      ENDDO ! iff=1,nfiles
Note: See TracBrowser for help on using the repository browser.