Ignore:
Timestamp:
Jan 30, 2017, 5:54:45 PM (8 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r2727:2785 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/Dust/phys_output_write_spl_mod.F90

    r2641 r2787  
    66!JE20150620<<
    77!JE20150620>>
    8 
    98!JE20150620<<
    109
    11     USE time_phylmdz_mod, only: day_step_phy, start_time, itau_phy
     10  USE time_phylmdz_mod, ONLY: day_step_phy, start_time, itau_phy
    1211
    1312  USE phytracr_spl_mod, ONLY : ok_chimeredust, id_prec, id_fine, id_coss, &
     
    9392    ! defined and initialised in phys_output_mod.F90
    9493
    95     USE dimphy, only: klon, klev, klevp1, nslay
    96     USE control_mod, only: day_step, iphysiq
    97     USE phys_output_ctrlout_mod, only: o_phis, o_aire, is_ter, is_lic, is_oce, &
     94    USE dimphy, ONLY: klon, klev, klevp1
     95    USE ocean_slab_mod, ONLY: nslay
     96    USE control_mod, ONLY: day_step, iphysiq
     97    USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, &
    9898         is_ave, is_sic, o_contfracATM, o_contfracOR, &
    9999         o_aireTER, o_flat, o_slp, o_tsol, &
     
    287287!JE20150620>>
    288288
    289     USE phys_state_var_mod, only: pctsrf, paire_ter, rain_fall, snow_fall, &
     289    USE phys_state_var_mod, ONLY: pctsrf, paire_ter, rain_fall, snow_fall, &
    290290         qsol, z0m, z0h, fevap, agesno, &
    291291         nday_rain, rain_con, snow_con, &
     
    314314         vphiSTD, wTSTD, u2STD, v2STD, T2STD, missing_val_nf90
    315315
    316     USE phys_local_var_mod, only: zxfluxlat, slp, zxtsol, zt2m, &
     316    USE phys_local_var_mod, ONLY: zxfluxlat, slp, zxtsol, zt2m, &
    317317         t2m_min_mon, t2m_max_mon, evap, &
    318318         zu10m, zv10m, zq2m, zustar, zxqsurf, &
     
    369369         d_q_ch4, pmfd, pmfu, ref_liq, ref_ice, rhwriteSTD
    370370
    371     USE phys_output_var_mod, only: vars_defined, snow_o, zfra_o, bils_diss, &
     371    USE phys_output_var_mod, ONLY: vars_defined, snow_o, zfra_o, bils_diss, &
    372372         bils_ec,bils_ech, bils_tke, bils_kinetic, bils_latent, bils_enthalp, &
    373373         itau_con, nfiles, clef_files, nid_files, zvstr_gwd_rando
    374     USE ocean_slab_mod, only: tslab, slab_bils, slab_bilg, tice, seaice
    375     USE pbl_surface_mod, only: snow
    376     USE indice_sol_mod, only: nbsrf
    377     USE infotrac, only: nqtot, nqo, nbtr, type_trac
    378     USE geometry_mod, only: cell_area
    379     USE surface_data, only: type_ocean, version_ocean, ok_veget, ok_snow
    380 !    USE aero_mod, only: naero_spc
    381     USE aero_mod, only: naero_tot, id_STRAT_phy
    382     USE ioipsl, only: histend, histsync
    383     USE iophy, only: set_itau_iophy, histwrite_phy
    384     USE netcdf, only: nf90_fill_real
     374    USE ocean_slab_mod, ONLY: tslab, slab_bils, slab_bilg, tice, seaice
     375    USE pbl_surface_mod, ONLY: snow
     376    USE indice_sol_mod, ONLY: nbsrf
     377    USE infotrac, ONLY: nqtot, nqo, nbtr, type_trac
     378    USE geometry_mod, ONLY: cell_area
     379    USE surface_data, ONLY: type_ocean, version_ocean, ok_veget, ok_snow
     380!    USE aero_mod, ONLY: naero_spc
     381    USE aero_mod, ONLY: naero_tot, id_STRAT_phy
     382    USE ioipsl, ONLY: histend, histsync
     383    USE iophy, ONLY: set_itau_iophy, histwrite_phy
     384    USE netcdf, ONLY: nf90_fill_real
    385385
    386386#ifdef CPP_XIOS
    387387    ! ug Pour les sorties XIOS
    388388    USE xios, ONLY: xios_update_calendar
    389     USE wxios, only: wxios_closedef, missing_val
     389    USE wxios, ONLY: wxios_closedef, missing_val
    390390#endif
    391     USE phys_cal_mod, only : mth_len
    392 
     391    USE phys_cal_mod, ONLY : mth_len
    393392
    394393    IMPLICIT NONE
    395 
    396394
    397395!   INCLUDE "temps.h"
     
    445443    CALL set_itau_iophy(itau_w)
    446444
    447     IF(.NOT.vars_defined) THEN
     445    IF (.NOT.vars_defined) THEN
    448446       iinitend = 2
    449447    ELSE
     
    456454       !$OMP MASTER
    457455       IF (vars_defined) THEN
    458           if (prt_level >= 10) then
     456          IF (prt_level >= 10) THEN
    459457             write(lunout,*)"phys_output_write: call xios_update_calendar, itau_w=",itau_w
    460           endif
     458          ENDIF
    461459!          CALL xios_update_calendar(itau_w)
    462460          CALL xios_update_calendar(itap)
    463        END IF
     461       ENDIF
    464462       !$OMP END MASTER
    465463       !$OMP BARRIER
     
    751749       CALL histwrite_phy(o_uq, uq)
    752750       CALL histwrite_phy(o_vq, vq)
    753        IF(iflag_con.GE.3) THEN ! sb
     751       IF (iflag_con.GE.3) THEN ! sb
    754752          CALL histwrite_phy(o_cape, cape)
    755753          CALL histwrite_phy(o_pbase, ema_pcb)
    756754          CALL histwrite_phy(o_ptop, ema_pct)
    757755          CALL histwrite_phy(o_fbase, ema_cbmf)
    758           if (iflag_con /= 30) then
     756          IF (iflag_con /= 30) THEN
    759757             CALL histwrite_phy(o_plcl, plcl)
    760758             CALL histwrite_phy(o_plfc, plfc)
    761759             CALL histwrite_phy(o_wbeff, wbeff)
    762           end if
     760          ENDIF
    763761
    764762          CALL histwrite_phy(o_cape_max, cape)
     
    771769          CALL histwrite_phy(o_ftime_con, zx_tmp_fi2d)
    772770          IF (vars_defined) THEN
    773              IF(iflag_thermals>=1)THEN
     771             IF (iflag_thermals>=1)THEN
    774772                zx_tmp_fi3d=dnwd+dnwd0+upwd+fm_therm(:,1:klev)
    775773             ELSE
     
    820818          DO k=1, nlevSTD
    821819             bb2=clevSTD(k)
    822              IF(bb2.EQ."850".OR.bb2.EQ."700".OR. &
     820             IF (bb2.EQ."850".OR.bb2.EQ."700".OR. &
    823821                  bb2.EQ."500".OR.bb2.EQ."200".OR. &
    824822                  bb2.EQ."100".OR. &
     
    840838#endif
    841839#endif
     840
    842841#ifdef CPP_XIOS
    843   IF(ok_all_xml) THEN
     842  IF (ok_all_xml) THEN
    844843!XIOS  CALL xios_get_field_attr("u850",default_value=missing_val)
    845844!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    847846          DO k=1, nlevSTD
    848847             bb2=clevSTD(k)
    849              IF(bb2.EQ."850".OR.bb2.EQ."700".OR. &
     848             IF (bb2.EQ."850".OR.bb2.EQ."700".OR. &
    850849                bb2.EQ."500".OR.bb2.EQ."200".OR. &
    851850                bb2.EQ."100".OR. &
     
    940939          ELSE
    941940              CALL histwrite_phy(o_tslab, tslab)
    942           END IF
     941          ENDIF
    943942          IF (version_ocean=='sicINT') THEN
    944943              CALL histwrite_phy(o_slab_bilg, slab_bilg)
    945944              CALL histwrite_phy(o_slab_tice, tice)
    946945              CALL histwrite_phy(o_slab_sic, seaice)
    947           END IF
     946          ENDIF
    948947       ENDIF !type_ocean == force/slab
    949948       CALL histwrite_phy(o_weakinv, weak_inversion)
     
    10291028                CALL histwrite_phy(o_tausumaero(naero), &
    10301029                     tausum_aero(:,2,naero) )
    1031              END DO
     1030             ENDDO
    10321031          ENDIF
    10331032          IF (flag_aerosol_strat>=1) THEN
     
    10461045          CALL histwrite_phy(o_sollwad0, sollwad0_aero)
    10471046          !====MS forcing diagnostics
    1048           if (new_aod) then
     1047          IF (new_aod) THEN
    10491048             CALL histwrite_phy(o_swtoaas_nat, topsw_aero(:,1))
    10501049             CALL histwrite_phy(o_swsrfas_nat, solsw_aero(:,1))
     
    10571056             CALL histwrite_phy(o_swsrfcs_ant, solsw0_aero(:,2))
    10581057             !cf
    1059              if (.not. aerosol_couple) then
     1058             IF (.not. aerosol_couple) THEN
    10601059                CALL histwrite_phy(o_swtoacf_nat, topswcf_aero(:,1))
    10611060                CALL histwrite_phy(o_swsrfcf_nat, solswcf_aero(:,1))
     
    10641063                CALL histwrite_phy(o_swtoacf_zero,topswcf_aero(:,3))
    10651064                CALL histwrite_phy(o_swsrfcf_zero,solswcf_aero(:,3))
    1066              endif
    1067           endif ! new_aod
     1065             ENDIF
     1066          ENDIF ! new_aod
    10681067          !====MS forcing diagnostics
    10691068       ENDIF
     
    10851084       ENDIF
    10861085       ! Champs 3D:
    1087        IF (ok_ade .OR. ok_aie) then
     1086       IF (ok_ade .OR. ok_aie) THEN
    10881087          CALL histwrite_phy(o_ec550aer, ec550aer)
    10891088       ENDIF
     
    11701169       CALL histwrite_phy(o_alb2, albsol2)
    11711170       !FH Sorties pour la couche limite
    1172        if (iflag_pbl>1) then
     1171       IF (iflag_pbl>1) THEN
    11731172          zx_tmp_fi3d=0.
    11741173          IF (vars_defined) THEN
    1175              do nsrf=1,nbsrf
    1176                 do k=1,klev
     1174             DO nsrf=1,nbsrf
     1175                DO k=1,klev
    11771176                   zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k) &
    11781177                        +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
     
    11991198       ENDIF
    12001199       CALL histwrite_phy(o_dtcon, zx_tmp_fi3d)
    1201        if(iflag_thermals.eq.0)then
     1200       IF (iflag_thermals.eq.0)THEN
    12021201          IF (vars_defined) THEN
    12031202             zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
     
    12051204          ENDIF
    12061205          CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
    1207        else if(iflag_thermals.ge.1.and.iflag_wake.EQ.1)then
     1206       ELSEIF (iflag_thermals.ge.1.and.iflag_wake.EQ.1)THEN
    12081207          IF (vars_defined) THEN
    12091208             zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
     
    12121211          ENDIF
    12131212          CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
    1214        endif
     1213       ENDIF
    12151214       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
    12161215       CALL histwrite_phy(o_ducon, zx_tmp_fi3d)
     
    12201219       CALL histwrite_phy(o_dqcon, zx_tmp_fi3d)
    12211220
    1222        IF(iflag_thermals.EQ.0) THEN
     1221       IF (iflag_thermals.EQ.0) THEN
    12231222          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
    12241223          CALL histwrite_phy(o_tnhusc, zx_tmp_fi3d)
    1225        ELSE IF(iflag_thermals.GE.1.AND.iflag_wake.EQ.1) THEN
     1224       ELSEIF (iflag_thermals.GE.1.AND.iflag_wake.EQ.1) THEN
    12261225          IF (vars_defined) THEN
    12271226             zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys + &
     
    12431242!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    12441243       ! Sorties specifiques a la separation thermiques/non thermiques
    1245        if (iflag_thermals>=1) then
    1246           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lscth(1:klon,1:klev)/pdtphys
     1244       IF (iflag_thermals>=1) THEN
     1245          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lscth(1:klon,1:klev)/pdtphys
    12471246          CALL histwrite_phy(o_dtlscth, zx_tmp_fi3d)
    1248           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lscst(1:klon,1:klev)/pdtphys
     1247          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lscst(1:klon,1:klev)/pdtphys
    12491248          CALL histwrite_phy(o_dtlscst, zx_tmp_fi3d)
    1250           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscth(1:klon,1:klev)/pdtphys
     1249          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscth(1:klon,1:klev)/pdtphys
    12511250          CALL histwrite_phy(o_dqlscth, zx_tmp_fi3d)
    1252           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscst(1:klon,1:klev)/pdtphys
     1251          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscst(1:klon,1:klev)/pdtphys
    12531252          CALL histwrite_phy(o_dqlscst, zx_tmp_fi3d)
    12541253          CALL histwrite_phy(o_plulth, plul_th)
    12551254          CALL histwrite_phy(o_plulst, plul_st)
    12561255          IF (vars_defined) THEN
    1257              do k=1,klev
    1258                 do i=1,klon
    1259                    if (ptconvth(i,k)) then
     1256             DO k=1,klev
     1257                DO i=1,klon
     1258                   IF (ptconvth(i,k)) THEN
    12601259                      zx_tmp_fi3d(i,k)=1.
    1261                    else
     1260                   ELSE
    12621261                      zx_tmp_fi3d(i,k)=0.
    1263                    endif
     1262                   ENDIF
    12641263                enddo
    12651264             enddo
     
    12671266          CALL histwrite_phy(o_ptconvth, zx_tmp_fi3d)
    12681267          IF (vars_defined) THEN
    1269              do i=1,klon
     1268             DO i=1,klon
    12701269                zx_tmp_fi2d(1:klon)=lmax_th(:)
    12711270             enddo
    12721271          ENDIF
    12731272          CALL histwrite_phy(o_lmaxth, zx_tmp_fi2d)
    1274        endif ! iflag_thermals>=1
     1273       ENDIF ! iflag_thermals>=1
    12751274!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    12761275       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
    12771276       CALL histwrite_phy(o_dtvdf, zx_tmp_fi3d)
    1278        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_diss(1:klon,1:klev)/pdtphys
     1277       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_diss(1:klon,1:klev)/pdtphys
    12791278       CALL histwrite_phy(o_dtdis, zx_tmp_fi3d)
    12801279       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
     
    13201319          CALL histwrite_phy(o_dqthe, zx_tmp_fi3d)
    13211320       ENDIF !iflag_thermals
    1322        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
     1321       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
    13231322       CALL histwrite_phy(o_dtajs, zx_tmp_fi3d)
    1324        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
     1323       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
    13251324       CALL histwrite_phy(o_dqajs, zx_tmp_fi3d)
    1326        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys
     1325       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys
    13271326       CALL histwrite_phy(o_dtswr, zx_tmp_fi3d)
    1328        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_sw0(1:klon,1:klev)/pdtphys
     1327       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_sw0(1:klon,1:klev)/pdtphys
    13291328       CALL histwrite_phy(o_dtsw0, zx_tmp_fi3d)
    1330        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lwr(1:klon,1:klev)/pdtphys
     1329       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lwr(1:klon,1:klev)/pdtphys
    13311330       CALL histwrite_phy(o_dtlwr, zx_tmp_fi3d)
    1332        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lw0(1:klon,1:klev)/pdtphys
     1331       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lw0(1:klon,1:klev)/pdtphys
    13331332       CALL histwrite_phy(o_dtlw0, zx_tmp_fi3d)
    1334        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)/pdtphys
     1333       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)/pdtphys
    13351334       CALL histwrite_phy(o_dtec, zx_tmp_fi3d)
    1336        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
     1335       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
    13371336       CALL histwrite_phy(o_duvdf, zx_tmp_fi3d)
    1338        IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
     1337       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
    13391338       CALL histwrite_phy(o_dvvdf, zx_tmp_fi3d)
    13401339       IF (ok_orodr) THEN
    1341           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
     1340          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
    13421341          CALL histwrite_phy(o_duoro, zx_tmp_fi3d)
    1343           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
     1342          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
    13441343          CALL histwrite_phy(o_dvoro, zx_tmp_fi3d)
    1345           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_oro(1:klon,1:klev)/pdtphys
     1344          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_oro(1:klon,1:klev)/pdtphys
    13461345          CALL histwrite_phy(o_dtoro, zx_tmp_fi3d)
    13471346       ENDIF
    13481347       IF (ok_orolf) THEN
    1349           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
     1348          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_lIF (1:klon,1:klev)/pdtphys
    13501349          CALL histwrite_phy(o_dulif, zx_tmp_fi3d)
    13511350
    1352           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
     1351          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_lIF (1:klon,1:klev)/pdtphys
    13531352          CALL histwrite_phy(o_dvlif, zx_tmp_fi3d)
    13541353
    1355           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lif(1:klon,1:klev)/pdtphys
     1354          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lIF (1:klon,1:klev)/pdtphys
    13561355          CALL histwrite_phy(o_dtlif, zx_tmp_fi3d)
    13571356       ENDIF
    13581357
    13591358!      IF (ok_hines) THEN
    1360 !         IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_hin(1:klon,1:klev)/pdtphys
     1359!         IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_hin(1:klon,1:klev)/pdtphys
    13611360!         CALL histwrite_phy(o_duhin, zx_tmp_fi3d)
    1362 !         IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_hin(1:klon,1:klev)/pdtphys
     1361!         IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_hin(1:klon,1:klev)/pdtphys
    13631362!         CALL histwrite_phy(o_dvhin, zx_tmp_fi3d)
    1364 !         IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_hin(1:klon,1:klev)/pdtphys
     1363!         IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_hin(1:klon,1:klev)/pdtphys
    13651364!         CALL histwrite_phy(o_dthin, zx_tmp_fi3d)
    13661365!      ENDIF
    13671366
    1368 !      IF (ok_gwd_rando) then
    1369 !         CALL histwrite_phy(o_du_gwd_rando, du_gwd_rando / pdtphys)
    1370 !         CALL histwrite_phy(o_dv_gwd_rando, dv_gwd_rando / pdtphys)
     1367!      IF (ok_gwd_rando) THEN
     1368!         CALL histwrite_phy(o_du_gwd_rando, du_gwd_ranDO / pdtphys)
     1369!         CALL histwrite_phy(o_dv_gwd_rando, dv_gwd_ranDO / pdtphys)
    13711370!         CALL histwrite_phy(o_vstr_gwd_rando, zvstr_gwd_rando)
    1372 !      end IF
    1373 
    1374        IF (ok_qch4) then
     1371!      ENDIF
     1372
     1373       IF (ok_qch4) THEN
    13751374          CALL histwrite_phy(o_dqch4, d_q_ch4 / pdtphys)
    13761375       ENDIF
     
    13841383       CALL histwrite_phy(o_rlucs, lwup0)
    13851384       CALL histwrite_phy(o_rldcs, lwdn0)
    1386        IF(vars_defined) THEN
     1385       IF (vars_defined) THEN
    13871386          zx_tmp_fi3d(1:klon,1:klev)=d_t(1:klon,1:klev)+ &
    13881387               d_t_dyn(1:klon,1:klev)
    13891388       ENDIF
    13901389       CALL histwrite_phy(o_tnt, zx_tmp_fi3d)
    1391        IF(vars_defined) THEN
     1390       IF (vars_defined) THEN
    13921391          zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys + &
    13931392               d_t_lwr(1:klon,1:klev)/pdtphys
    13941393       ENDIF
    13951394       CALL histwrite_phy(o_tntr, zx_tmp_fi3d)
    1396        IF(vars_defined) THEN
     1395       IF (vars_defined) THEN
    13971396          zx_tmp_fi3d(1:klon,1:klev)= (d_t_lsc(1:klon,1:klev)+ &
    13981397               d_t_eva(1:klon,1:klev)+ &
     
    14001399       ENDIF
    14011400       CALL histwrite_phy(o_tntscpbl, zx_tmp_fi3d)
    1402        IF(vars_defined) THEN
     1401       IF (vars_defined) THEN
    14031402          zx_tmp_fi3d(1:klon,1:klev)=d_qx(1:klon,1:klev,ivap)+ &
    14041403               d_q_dyn(1:klon,1:klev)
    14051404       ENDIF
    14061405       CALL histwrite_phy(o_tnhus, zx_tmp_fi3d)
    1407        IF(vars_defined) THEN
     1406       IF (vars_defined) THEN
    14081407          zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys+ &
    14091408               d_q_eva(1:klon,1:klev)/pdtphys
     
    14111410       CALL histwrite_phy(o_tnhusscpbl, zx_tmp_fi3d)
    14121411       CALL histwrite_phy(o_evu, coefm(:,:,is_ave))
    1413        IF(vars_defined) THEN
     1412       IF (vars_defined) THEN
    14141413          zx_tmp_fi3d(1:klon,1:klev)=q_seri(1:klon,1:klev)+ &
    14151414               ql_seri(1:klon,1:klev)
    14161415       ENDIF
    14171416       CALL histwrite_phy(o_h2o, zx_tmp_fi3d)
    1418        if (iflag_con >= 3) then
    1419           IF(vars_defined) THEN
     1417       IF (iflag_con >= 3) THEN
     1418          IF (vars_defined) THEN
    14201419             zx_tmp_fi3d(1:klon,1:klev)=-1 * (dnwd(1:klon,1:klev)+ &
    14211420                  dnwd0(1:klon,1:klev))
    14221421          ENDIF
    14231422          CALL histwrite_phy(o_mcd, zx_tmp_fi3d)
    1424           IF(vars_defined) THEN
     1423          IF (vars_defined) THEN
    14251424             zx_tmp_fi3d(1:klon,1:klev)=upwd(1:klon,1:klev) + &
    14261425                  dnwd(1:klon,1:klev)+ dnwd0(1:klon,1:klev)
    14271426          ENDIF
    14281427          CALL histwrite_phy(o_dmc, zx_tmp_fi3d)
    1429        else if (iflag_con == 2) then
     1428       ELSEIF (iflag_con == 2) THEN
    14301429          CALL histwrite_phy(o_mcd,  pmfd)
    14311430          CALL histwrite_phy(o_dmc,  pmfu + pmfd)
    1432        end if
     1431       ENDIF
    14331432       CALL histwrite_phy(o_ref_liq, ref_liq)
    14341433       CALL histwrite_phy(o_ref_ice, ref_ice)
    1435        if (RCO2_per.NE.RCO2_act.OR.RCH4_per.NE.RCH4_act.OR. &
     1434       IF (RCO2_per.NE.RCO2_act.OR.RCH4_per.NE.RCH4_act.OR. &
    14361435            RN2O_per.NE.RN2O_act.OR.RCFC11_per.NE.RCFC11_act.OR. &
    14371436            RCFC12_per.NE.RCFC12_act) THEN
    1438           IF(vars_defined) zx_tmp_fi2d(1 : klon) = swupp ( 1 : klon, klevp1 )
     1437          IF (vars_defined) zx_tmp_fi2d(1 : klon) = swupp ( 1 : klon, klevp1 )
    14391438          CALL histwrite_phy(o_rsut4co2, zx_tmp_fi2d)
    1440           IF(vars_defined) zx_tmp_fi2d(1 : klon) = lwupp ( 1 : klon, klevp1 )
     1439          IF (vars_defined) zx_tmp_fi2d(1 : klon) = lwupp ( 1 : klon, klevp1 )
    14411440          CALL histwrite_phy(o_rlut4co2, zx_tmp_fi2d)
    1442           IF(vars_defined) zx_tmp_fi2d(1 : klon) = swup0p ( 1 : klon, klevp1 )
     1441          IF (vars_defined) zx_tmp_fi2d(1 : klon) = swup0p ( 1 : klon, klevp1 )
    14431442          CALL histwrite_phy(o_rsutcs4co2, zx_tmp_fi2d)
    1444           IF(vars_defined) zx_tmp_fi2d(1 : klon) = lwup0p ( 1 : klon, klevp1 )
     1443          IF (vars_defined) zx_tmp_fi2d(1 : klon) = lwup0p ( 1 : klon, klevp1 )
    14451444          CALL histwrite_phy(o_rlutcs4co2, zx_tmp_fi2d)
    14461445          CALL histwrite_phy(o_rsu4co2, swupp)
     
    14601459       ! Champs interpolles sur des niveaux de pression
    14611460       missing_val=missing_val_nf90
    1462        DO iff=7, nfiles
     1461       DO iff=7, nfiles-1 !--here we deal with files 7,8 and 9
    14631462
    14641463          CALL histwrite_phy(o_tnondef,tnondef(:,:,iff-6),iff)
     
    14701469          CALL histwrite_phy(o_va,vwriteSTD(:,:,iff-6),iff)
    14711470          CALL histwrite_phy(o_wap,wwriteSTD(:,:,iff-6),iff)
    1472           IF(vars_defined) THEN
     1471          IF (vars_defined) THEN
    14731472             DO k=1, nlevSTD
    14741473                DO i=1, klon
    1475                    IF(tnondef(i,k,iff-6).NE.missing_val) THEN
    1476                       IF(freq_outNMC(iff-6).LT.0) THEN
     1474                   IF (tnondef(i,k,iff-6).NE.missing_val) THEN
     1475                      IF (freq_outNMC(iff-6).LT.0) THEN
    14771476                         freq_moyNMC(iff-6)=(mth_len*un_jour)/freq_calNMC(iff-6)
    14781477                      ELSE
     
    14871486          ENDIF
    14881487          CALL histwrite_phy(o_psbg,zx_tmp_fi3d_STD,iff)
    1489           IF(vars_defined) THEN
     1488          IF (vars_defined) THEN
    14901489             DO k=1, nlevSTD
    14911490                DO i=1, klon
    1492                    IF(O3sumSTD(i,k,iff-6).NE.missing_val) THEN
     1491                   IF (O3sumSTD(i,k,iff-6).NE.missing_val) THEN
    14931492                      zx_tmp_fi3d_STD(i,k) = O3sumSTD(i,k,iff-6) * 1.e+9
    14941493                   ELSE
     
    14991498          ENDIF
    15001499          CALL histwrite_phy(o_tro3,zx_tmp_fi3d_STD,iff)
    1501           if (read_climoz == 2) THEN
    1502              IF(vars_defined) THEN
     1500          IF (read_climoz == 2) THEN
     1501             IF (vars_defined) THEN
    15031502                DO k=1, nlevSTD
    15041503                   DO i=1, klon
    1505                       IF(O3daysumSTD(i,k,iff-6).NE.missing_val) THEN
     1504                      IF (O3daysumSTD(i,k,iff-6).NE.missing_val) THEN
    15061505                         zx_tmp_fi3d_STD(i,k) = O3daysumSTD(i,k,iff-6) * 1.e+9
    15071506                      ELSE
     
    15121511             ENDIF
    15131512             CALL histwrite_phy(o_tro3_daylight,zx_tmp_fi3d_STD,iff)
    1514           endif
     1513          ENDIF
    15151514          CALL histwrite_phy(o_uxv,uvsumSTD(:,:,iff-6),iff)
    15161515          CALL histwrite_phy(o_vxq,vqsumSTD(:,:,iff-6),iff)
     
    15271526#endif
    15281527#ifdef CPP_XIOS
    1529   IF(ok_all_xml) THEN
     1528  IF (ok_all_xml) THEN
    15301529!      DO iff=7, nfiles
    15311530
     
    15381537          CALL histwrite_phy(o_va,vlevSTD(:,:))
    15391538          CALL histwrite_phy(o_wap,wlevSTD(:,:))
    1540 !         IF(vars_defined) THEN
     1539!         IF (vars_defined) THEN
    15411540!            DO k=1, nlevSTD
    15421541!               DO i=1, klon
    1543 !                  IF(tnondef(i,k,3).NE.missing_val) THEN
    1544 !                     IF(freq_outNMC(iff-6).LT.0) THEN
     1542!                  IF (tnondef(i,k,3).NE.missing_val) THEN
     1543!                     IF (freq_outNMC(iff-6).LT.0) THEN
    15451544!                        freq_moyNMC(iff-6)=(mth_len*un_jour)/freq_calNMC(iff-6)
    15461545!                     ELSE
     
    15551554!         ENDIF
    15561555!         CALL histwrite_phy(o_psbg,zx_tmp_fi3d_STD)
    1557           IF(vars_defined) THEN
     1556          IF (vars_defined) THEN
    15581557             DO k=1, nlevSTD
    15591558                DO i=1, klon
    1560                    IF(O3STD(i,k).NE.missing_val) THEN
     1559                   IF (O3STD(i,k).NE.missing_val) THEN
    15611560                      zx_tmp_fi3d_STD(i,k) = O3STD(i,k) * 1.e+9
    15621561                   ELSE
     
    15671566          ENDIF
    15681567          CALL histwrite_phy(o_tro3,zx_tmp_fi3d_STD)
    1569           if (read_climoz == 2) THEN
    1570              IF(vars_defined) THEN
     1568          IF (read_climoz == 2) THEN
     1569             IF (vars_defined) THEN
    15711570                DO k=1, nlevSTD
    15721571                   DO i=1, klon
    1573                       IF(O3daySTD(i,k).NE.missing_val) THEN
     1572                      IF (O3daySTD(i,k).NE.missing_val) THEN
    15741573                         zx_tmp_fi3d_STD(i,k) = O3daySTD(i,k) * 1.e+9
    15751574                      ELSE
     
    15801579             ENDIF
    15811580             CALL histwrite_phy(o_tro3_daylight,zx_tmp_fi3d_STD)
    1582           endif
     1581          ENDIF
    15831582          CALL histwrite_phy(o_uxv,uvSTD(:,:))
    15841583          CALL histwrite_phy(o_vxq,vqSTD(:,:))
     
    15981597              IF (type_trac == 'lmdz' .OR. type_trac == 'repr') THEN
    15991598
    1600 !jyg<
    1601 !!             CALL histwrite_phy(o_trac(iq-nqo), qx(:,:,iq))
    16021599             CALL histwrite_phy(o_trac(iq-nqo), tr_seri(:,:,iq-nqo))
    1603 !>jyg
    16041600             CALL histwrite_phy(o_dtr_vdf(iq-nqo),d_tr_cl(:,:,iq-nqo))
    16051601             CALL histwrite_phy(o_dtr_the(iq-nqo),d_tr_th(:,:,iq-nqo))
     
    16121608             CALL histwrite_phy(o_dtr_ls(iq-nqo),d_tr_ls(:,:,iq-nqo))
    16131609!            CALL histwrite_phy(o_dtr_dyn(iq-nqo),d_tr_dyn(:,:,iq-nqo))
    1614          !!  CALL histwrite_phy(o_dtr_cl(iq-nqo),d_tr_cl(:,:,iq-nqo))
     1610!            CALL histwrite_phy(o_dtr_cl(iq-nqo),d_tr_cl(:,:,iq-nqo))
    16151611             CALL histwrite_phy(o_dtr_trsp(iq-nqo),d_tr_trsp(:,:,iq-nqo))
    16161612             CALL histwrite_phy(o_dtr_sscav(iq-nqo),d_tr_sscav(:,:,iq-nqo))
     
    16181614             CALL histwrite_phy(o_dtr_uscav(iq-nqo),d_tr_uscav(:,:,iq-nqo))
    16191615             zx_tmp_fi2d=0.
    1620              IF(vars_defined) THEN
     1616             IF (vars_defined) THEN
    16211617                DO k=1,klev
    1622 !jyg<
    1623 !!                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*qx(:,k,iq)
    16241618                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*tr_seri(:,k,iq-nqo)
    1625 !>jyg
    16261619                ENDDO
    16271620             ENDIF
    16281621             CALL histwrite_phy(o_trac_cum(iq-nqo), zx_tmp_fi2d)
    1629              endif
    1630           ENDDO
    1631        ENDIF
    1632 
    1633        IF(.NOT.vars_defined) THEN
     1622             ENDIF
     1623          ENDDO
     1624       ENDIF
     1625
     1626       IF (.NOT.vars_defined) THEN
    16341627          !$OMP MASTER
    16351628#ifndef CPP_IOIPSL_NO_OUTPUT
     
    16521645          vars_defined = .TRUE.
    16531646
    1654        END IF
    1655 
    1656     END DO
    1657 
    1658     IF(vars_defined) THEN
     1647       ENDIF
     1648
     1649    ENDDO
     1650
     1651    IF (vars_defined) THEN
    16591652       ! On synchronise les fichiers pour IOIPSL
    16601653#ifndef CPP_IOIPSL_NO_OUTPUT
     
    16641657             CALL histsync(nid_files(iff))
    16651658          ENDIF
    1666        END DO
     1659       ENDDO
    16671660       !$OMP END MASTER
    16681661#endif
Note: See TracChangeset for help on using the changeset viewer.