Changeset 2754 for LMDZ5


Ignore:
Timestamp:
Jan 8, 2017, 7:53:57 PM (8 years ago)
Author:
oboucher
Message:

Small addition to revision 2751

Location:
LMDZ5/trunk/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/Dust/phys_output_write_spl_mod.F90

    r2747 r2754  
    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
     94    USE dimphy, ONLY: klon, klev, klevp1
    9695    USE ocean_slab_mod, ONLY: nslay
    97     USE control_mod, only: day_step, iphysiq
    98     USE phys_output_ctrlout_mod, only: o_phis, o_aire, is_ter, is_lic, is_oce, &
     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, &
    9998         is_ave, is_sic, o_contfracATM, o_contfracOR, &
    10099         o_aireTER, o_flat, o_slp, o_tsol, &
     
    288287!JE20150620>>
    289288
    290     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, &
    291290         qsol, z0m, z0h, fevap, agesno, &
    292291         nday_rain, rain_con, snow_con, &
     
    315314         vphiSTD, wTSTD, u2STD, v2STD, T2STD, missing_val_nf90
    316315
    317     USE phys_local_var_mod, only: zxfluxlat, slp, zxtsol, zt2m, &
     316    USE phys_local_var_mod, ONLY: zxfluxlat, slp, zxtsol, zt2m, &
    318317         t2m_min_mon, t2m_max_mon, evap, &
    319318         zu10m, zv10m, zq2m, zustar, zxqsurf, &
     
    370369         d_q_ch4, pmfd, pmfu, ref_liq, ref_ice, rhwriteSTD
    371370
    372     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, &
    373372         bils_ec,bils_ech, bils_tke, bils_kinetic, bils_latent, bils_enthalp, &
    374373         itau_con, nfiles, clef_files, nid_files, zvstr_gwd_rando
    375     USE ocean_slab_mod, only: tslab, slab_bils, slab_bilg, tice, seaice
    376     USE pbl_surface_mod, only: snow
    377     USE indice_sol_mod, only: nbsrf
    378     USE infotrac, only: nqtot, nqo, nbtr, type_trac
    379     USE geometry_mod, only: cell_area
    380     USE surface_data, only: type_ocean, version_ocean, ok_veget, ok_snow
    381 !    USE aero_mod, only: naero_spc
    382     USE aero_mod, only: naero_tot, id_STRAT_phy
    383     USE ioipsl, only: histend, histsync
    384     USE iophy, only: set_itau_iophy, histwrite_phy
    385     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
    386385
    387386#ifdef CPP_XIOS
    388387    ! ug Pour les sorties XIOS
    389388    USE xios, ONLY: xios_update_calendar
    390     USE wxios, only: wxios_closedef, missing_val
     389    USE wxios, ONLY: wxios_closedef, missing_val
    391390#endif
    392     USE phys_cal_mod, only : mth_len
    393 
     391    USE phys_cal_mod, ONLY : mth_len
    394392
    395393    IMPLICIT NONE
    396 
    397394
    398395!   INCLUDE "temps.h"
     
    446443    CALL set_itau_iophy(itau_w)
    447444
    448     IF(.NOT.vars_defined) THEN
     445    IF (.NOT.vars_defined) THEN
    449446       iinitend = 2
    450447    ELSE
     
    457454       !$OMP MASTER
    458455       IF (vars_defined) THEN
    459           if (prt_level >= 10) then
     456          IF (prt_level >= 10) THEN
    460457             write(lunout,*)"phys_output_write: call xios_update_calendar, itau_w=",itau_w
    461           endif
     458          ENDIF
    462459!          CALL xios_update_calendar(itau_w)
    463460          CALL xios_update_calendar(itap)
    464        END IF
     461       ENDIF
    465462       !$OMP END MASTER
    466463       !$OMP BARRIER
     
    752749       CALL histwrite_phy(o_uq, uq)
    753750       CALL histwrite_phy(o_vq, vq)
    754        IF(iflag_con.GE.3) THEN ! sb
     751       IF (iflag_con.GE.3) THEN ! sb
    755752          CALL histwrite_phy(o_cape, cape)
    756753          CALL histwrite_phy(o_pbase, ema_pcb)
    757754          CALL histwrite_phy(o_ptop, ema_pct)
    758755          CALL histwrite_phy(o_fbase, ema_cbmf)
    759           if (iflag_con /= 30) then
     756          IF (iflag_con /= 30) THEN
    760757             CALL histwrite_phy(o_plcl, plcl)
    761758             CALL histwrite_phy(o_plfc, plfc)
    762759             CALL histwrite_phy(o_wbeff, wbeff)
    763           end if
     760          ENDIF
    764761
    765762          CALL histwrite_phy(o_cape_max, cape)
     
    772769          CALL histwrite_phy(o_ftime_con, zx_tmp_fi2d)
    773770          IF (vars_defined) THEN
    774              IF(iflag_thermals>=1)THEN
     771             IF (iflag_thermals>=1)THEN
    775772                zx_tmp_fi3d=dnwd+dnwd0+upwd+fm_therm(:,1:klev)
    776773             ELSE
     
    821818          DO k=1, nlevSTD
    822819             bb2=clevSTD(k)
    823              IF(bb2.EQ."850".OR.bb2.EQ."700".OR. &
     820             IF (bb2.EQ."850".OR.bb2.EQ."700".OR. &
    824821                  bb2.EQ."500".OR.bb2.EQ."200".OR. &
    825822                  bb2.EQ."100".OR. &
     
    841838#endif
    842839#endif
     840
    843841#ifdef CPP_XIOS
    844   IF(ok_all_xml) THEN
     842  IF (ok_all_xml) THEN
    845843!XIOS  CALL xios_get_field_attr("u850",default_value=missing_val)
    846844!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    848846          DO k=1, nlevSTD
    849847             bb2=clevSTD(k)
    850              IF(bb2.EQ."850".OR.bb2.EQ."700".OR. &
     848             IF (bb2.EQ."850".OR.bb2.EQ."700".OR. &
    851849                bb2.EQ."500".OR.bb2.EQ."200".OR. &
    852850                bb2.EQ."100".OR. &
     
    941939          ELSE
    942940              CALL histwrite_phy(o_tslab, tslab)
    943           END IF
     941          ENDIF
    944942          IF (version_ocean=='sicINT') THEN
    945943              CALL histwrite_phy(o_slab_bilg, slab_bilg)
    946944              CALL histwrite_phy(o_slab_tice, tice)
    947945              CALL histwrite_phy(o_slab_sic, seaice)
    948           END IF
     946          ENDIF
    949947       ENDIF !type_ocean == force/slab
    950948       CALL histwrite_phy(o_weakinv, weak_inversion)
     
    10301028                CALL histwrite_phy(o_tausumaero(naero), &
    10311029                     tausum_aero(:,2,naero) )
    1032              END DO
     1030             ENDDO
    10331031          ENDIF
    10341032          IF (flag_aerosol_strat>=1) THEN
     
    10471045          CALL histwrite_phy(o_sollwad0, sollwad0_aero)
    10481046          !====MS forcing diagnostics
    1049           if (new_aod) then
     1047          IF (new_aod) THEN
    10501048             CALL histwrite_phy(o_swtoaas_nat, topsw_aero(:,1))
    10511049             CALL histwrite_phy(o_swsrfas_nat, solsw_aero(:,1))
     
    10581056             CALL histwrite_phy(o_swsrfcs_ant, solsw0_aero(:,2))
    10591057             !cf
    1060              if (.not. aerosol_couple) then
     1058             IF (.not. aerosol_couple) THEN
    10611059                CALL histwrite_phy(o_swtoacf_nat, topswcf_aero(:,1))
    10621060                CALL histwrite_phy(o_swsrfcf_nat, solswcf_aero(:,1))
     
    10651063                CALL histwrite_phy(o_swtoacf_zero,topswcf_aero(:,3))
    10661064                CALL histwrite_phy(o_swsrfcf_zero,solswcf_aero(:,3))
    1067              endif
    1068           endif ! new_aod
     1065             ENDIF
     1066          ENDIF ! new_aod
    10691067          !====MS forcing diagnostics
    10701068       ENDIF
     
    10861084       ENDIF
    10871085       ! Champs 3D:
    1088        IF (ok_ade .OR. ok_aie) then
     1086       IF (ok_ade .OR. ok_aie) THEN
    10891087          CALL histwrite_phy(o_ec550aer, ec550aer)
    10901088       ENDIF
     
    11711169       CALL histwrite_phy(o_alb2, albsol2)
    11721170       !FH Sorties pour la couche limite
    1173        if (iflag_pbl>1) then
     1171       IF (iflag_pbl>1) THEN
    11741172          zx_tmp_fi3d=0.
    11751173          IF (vars_defined) THEN
    1176              do nsrf=1,nbsrf
    1177                 do k=1,klev
     1174             DO nsrf=1,nbsrf
     1175                DO k=1,klev
    11781176                   zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k) &
    11791177                        +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
     
    12001198       ENDIF
    12011199       CALL histwrite_phy(o_dtcon, zx_tmp_fi3d)
    1202        if(iflag_thermals.eq.0)then
     1200       IF (iflag_thermals.eq.0)THEN
    12031201          IF (vars_defined) THEN
    12041202             zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
     
    12061204          ENDIF
    12071205          CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
    1208        else if(iflag_thermals.ge.1.and.iflag_wake.EQ.1)then
     1206       ELSEIF (iflag_thermals.ge.1.and.iflag_wake.EQ.1)THEN
    12091207          IF (vars_defined) THEN
    12101208             zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
     
    12131211          ENDIF
    12141212          CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
    1215        endif
     1213       ENDIF
    12161214       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
    12171215       CALL histwrite_phy(o_ducon, zx_tmp_fi3d)
     
    12211219       CALL histwrite_phy(o_dqcon, zx_tmp_fi3d)
    12221220
    1223        IF(iflag_thermals.EQ.0) THEN
     1221       IF (iflag_thermals.EQ.0) THEN
    12241222          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
    12251223          CALL histwrite_phy(o_tnhusc, zx_tmp_fi3d)
    1226        ELSE IF(iflag_thermals.GE.1.AND.iflag_wake.EQ.1) THEN
     1224       ELSEIF (iflag_thermals.GE.1.AND.iflag_wake.EQ.1) THEN
    12271225          IF (vars_defined) THEN
    12281226             zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys + &
     
    12441242!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    12451243       ! Sorties specifiques a la separation thermiques/non thermiques
    1246        if (iflag_thermals>=1) then
    1247           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
    12481246          CALL histwrite_phy(o_dtlscth, zx_tmp_fi3d)
    1249           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
    12501248          CALL histwrite_phy(o_dtlscst, zx_tmp_fi3d)
    1251           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
    12521250          CALL histwrite_phy(o_dqlscth, zx_tmp_fi3d)
    1253           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
    12541252          CALL histwrite_phy(o_dqlscst, zx_tmp_fi3d)
    12551253          CALL histwrite_phy(o_plulth, plul_th)
    12561254          CALL histwrite_phy(o_plulst, plul_st)
    12571255          IF (vars_defined) THEN
    1258              do k=1,klev
    1259                 do i=1,klon
    1260                    if (ptconvth(i,k)) then
     1256             DO k=1,klev
     1257                DO i=1,klon
     1258                   IF (ptconvth(i,k)) THEN
    12611259                      zx_tmp_fi3d(i,k)=1.
    1262                    else
     1260                   ELSE
    12631261                      zx_tmp_fi3d(i,k)=0.
    1264                    endif
     1262                   ENDIF
    12651263                enddo
    12661264             enddo
     
    12681266          CALL histwrite_phy(o_ptconvth, zx_tmp_fi3d)
    12691267          IF (vars_defined) THEN
    1270              do i=1,klon
     1268             DO i=1,klon
    12711269                zx_tmp_fi2d(1:klon)=lmax_th(:)
    12721270             enddo
    12731271          ENDIF
    12741272          CALL histwrite_phy(o_lmaxth, zx_tmp_fi2d)
    1275        endif ! iflag_thermals>=1
     1273       ENDIF ! iflag_thermals>=1
    12761274!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    12771275       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
    12781276       CALL histwrite_phy(o_dtvdf, zx_tmp_fi3d)
    1279        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
    12801278       CALL histwrite_phy(o_dtdis, zx_tmp_fi3d)
    12811279       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
     
    13211319          CALL histwrite_phy(o_dqthe, zx_tmp_fi3d)
    13221320       ENDIF !iflag_thermals
    1323        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
    13241322       CALL histwrite_phy(o_dtajs, zx_tmp_fi3d)
    1325        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
    13261324       CALL histwrite_phy(o_dqajs, zx_tmp_fi3d)
    1327        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
    13281326       CALL histwrite_phy(o_dtswr, zx_tmp_fi3d)
    1329        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
    13301328       CALL histwrite_phy(o_dtsw0, zx_tmp_fi3d)
    1331        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
    13321330       CALL histwrite_phy(o_dtlwr, zx_tmp_fi3d)
    1333        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
    13341332       CALL histwrite_phy(o_dtlw0, zx_tmp_fi3d)
    1335        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
    13361334       CALL histwrite_phy(o_dtec, zx_tmp_fi3d)
    1337        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
    13381336       CALL histwrite_phy(o_duvdf, zx_tmp_fi3d)
    1339        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
    13401338       CALL histwrite_phy(o_dvvdf, zx_tmp_fi3d)
    13411339       IF (ok_orodr) THEN
    1342           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
    13431341          CALL histwrite_phy(o_duoro, zx_tmp_fi3d)
    1344           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
    13451343          CALL histwrite_phy(o_dvoro, zx_tmp_fi3d)
    1346           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
    13471345          CALL histwrite_phy(o_dtoro, zx_tmp_fi3d)
    13481346       ENDIF
    13491347       IF (ok_orolf) THEN
    1350           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
    13511349          CALL histwrite_phy(o_dulif, zx_tmp_fi3d)
    13521350
    1353           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
    13541352          CALL histwrite_phy(o_dvlif, zx_tmp_fi3d)
    13551353
    1356           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
    13571355          CALL histwrite_phy(o_dtlif, zx_tmp_fi3d)
    13581356       ENDIF
    13591357
    13601358!      IF (ok_hines) THEN
    1361 !         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
    13621360!         CALL histwrite_phy(o_duhin, zx_tmp_fi3d)
    1363 !         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
    13641362!         CALL histwrite_phy(o_dvhin, zx_tmp_fi3d)
    1365 !         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
    13661364!         CALL histwrite_phy(o_dthin, zx_tmp_fi3d)
    13671365!      ENDIF
    13681366
    1369 !      IF (ok_gwd_rando) then
    1370 !         CALL histwrite_phy(o_du_gwd_rando, du_gwd_rando / pdtphys)
    1371 !         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)
    13721370!         CALL histwrite_phy(o_vstr_gwd_rando, zvstr_gwd_rando)
    1373 !      end IF
    1374 
    1375        IF (ok_qch4) then
     1371!      ENDIF
     1372
     1373       IF (ok_qch4) THEN
    13761374          CALL histwrite_phy(o_dqch4, d_q_ch4 / pdtphys)
    13771375       ENDIF
     
    13851383       CALL histwrite_phy(o_rlucs, lwup0)
    13861384       CALL histwrite_phy(o_rldcs, lwdn0)
    1387        IF(vars_defined) THEN
     1385       IF (vars_defined) THEN
    13881386          zx_tmp_fi3d(1:klon,1:klev)=d_t(1:klon,1:klev)+ &
    13891387               d_t_dyn(1:klon,1:klev)
    13901388       ENDIF
    13911389       CALL histwrite_phy(o_tnt, zx_tmp_fi3d)
    1392        IF(vars_defined) THEN
     1390       IF (vars_defined) THEN
    13931391          zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys + &
    13941392               d_t_lwr(1:klon,1:klev)/pdtphys
    13951393       ENDIF
    13961394       CALL histwrite_phy(o_tntr, zx_tmp_fi3d)
    1397        IF(vars_defined) THEN
     1395       IF (vars_defined) THEN
    13981396          zx_tmp_fi3d(1:klon,1:klev)= (d_t_lsc(1:klon,1:klev)+ &
    13991397               d_t_eva(1:klon,1:klev)+ &
     
    14011399       ENDIF
    14021400       CALL histwrite_phy(o_tntscpbl, zx_tmp_fi3d)
    1403        IF(vars_defined) THEN
     1401       IF (vars_defined) THEN
    14041402          zx_tmp_fi3d(1:klon,1:klev)=d_qx(1:klon,1:klev,ivap)+ &
    14051403               d_q_dyn(1:klon,1:klev)
    14061404       ENDIF
    14071405       CALL histwrite_phy(o_tnhus, zx_tmp_fi3d)
    1408        IF(vars_defined) THEN
     1406       IF (vars_defined) THEN
    14091407          zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys+ &
    14101408               d_q_eva(1:klon,1:klev)/pdtphys
     
    14121410       CALL histwrite_phy(o_tnhusscpbl, zx_tmp_fi3d)
    14131411       CALL histwrite_phy(o_evu, coefm(:,:,is_ave))
    1414        IF(vars_defined) THEN
     1412       IF (vars_defined) THEN
    14151413          zx_tmp_fi3d(1:klon,1:klev)=q_seri(1:klon,1:klev)+ &
    14161414               ql_seri(1:klon,1:klev)
    14171415       ENDIF
    14181416       CALL histwrite_phy(o_h2o, zx_tmp_fi3d)
    1419        if (iflag_con >= 3) then
    1420           IF(vars_defined) THEN
     1417       IF (iflag_con >= 3) THEN
     1418          IF (vars_defined) THEN
    14211419             zx_tmp_fi3d(1:klon,1:klev)=-1 * (dnwd(1:klon,1:klev)+ &
    14221420                  dnwd0(1:klon,1:klev))
    14231421          ENDIF
    14241422          CALL histwrite_phy(o_mcd, zx_tmp_fi3d)
    1425           IF(vars_defined) THEN
     1423          IF (vars_defined) THEN
    14261424             zx_tmp_fi3d(1:klon,1:klev)=upwd(1:klon,1:klev) + &
    14271425                  dnwd(1:klon,1:klev)+ dnwd0(1:klon,1:klev)
    14281426          ENDIF
    14291427          CALL histwrite_phy(o_dmc, zx_tmp_fi3d)
    1430        else if (iflag_con == 2) then
     1428       ELSEIF (iflag_con == 2) THEN
    14311429          CALL histwrite_phy(o_mcd,  pmfd)
    14321430          CALL histwrite_phy(o_dmc,  pmfu + pmfd)
    1433        end if
     1431       ENDIF
    14341432       CALL histwrite_phy(o_ref_liq, ref_liq)
    14351433       CALL histwrite_phy(o_ref_ice, ref_ice)
    1436        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. &
    14371435            RN2O_per.NE.RN2O_act.OR.RCFC11_per.NE.RCFC11_act.OR. &
    14381436            RCFC12_per.NE.RCFC12_act) THEN
    1439           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 )
    14401438          CALL histwrite_phy(o_rsut4co2, zx_tmp_fi2d)
    1441           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 )
    14421440          CALL histwrite_phy(o_rlut4co2, zx_tmp_fi2d)
    1443           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 )
    14441442          CALL histwrite_phy(o_rsutcs4co2, zx_tmp_fi2d)
    1445           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 )
    14461444          CALL histwrite_phy(o_rlutcs4co2, zx_tmp_fi2d)
    14471445          CALL histwrite_phy(o_rsu4co2, swupp)
     
    14611459       ! Champs interpolles sur des niveaux de pression
    14621460       missing_val=missing_val_nf90
    1463        DO iff=7, nfiles
     1461       DO iff=7, nfiles-1 !--here we deal with files 7,8 and 9
    14641462
    14651463          CALL histwrite_phy(o_tnondef,tnondef(:,:,iff-6),iff)
     
    14711469          CALL histwrite_phy(o_va,vwriteSTD(:,:,iff-6),iff)
    14721470          CALL histwrite_phy(o_wap,wwriteSTD(:,:,iff-6),iff)
    1473           IF(vars_defined) THEN
     1471          IF (vars_defined) THEN
    14741472             DO k=1, nlevSTD
    14751473                DO i=1, klon
    1476                    IF(tnondef(i,k,iff-6).NE.missing_val) THEN
    1477                       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
    14781476                         freq_moyNMC(iff-6)=(mth_len*un_jour)/freq_calNMC(iff-6)
    14791477                      ELSE
     
    14881486          ENDIF
    14891487          CALL histwrite_phy(o_psbg,zx_tmp_fi3d_STD,iff)
    1490           IF(vars_defined) THEN
     1488          IF (vars_defined) THEN
    14911489             DO k=1, nlevSTD
    14921490                DO i=1, klon
    1493                    IF(O3sumSTD(i,k,iff-6).NE.missing_val) THEN
     1491                   IF (O3sumSTD(i,k,iff-6).NE.missing_val) THEN
    14941492                      zx_tmp_fi3d_STD(i,k) = O3sumSTD(i,k,iff-6) * 1.e+9
    14951493                   ELSE
     
    15001498          ENDIF
    15011499          CALL histwrite_phy(o_tro3,zx_tmp_fi3d_STD,iff)
    1502           if (read_climoz == 2) THEN
    1503              IF(vars_defined) THEN
     1500          IF (read_climoz == 2) THEN
     1501             IF (vars_defined) THEN
    15041502                DO k=1, nlevSTD
    15051503                   DO i=1, klon
    1506                       IF(O3daysumSTD(i,k,iff-6).NE.missing_val) THEN
     1504                      IF (O3daysumSTD(i,k,iff-6).NE.missing_val) THEN
    15071505                         zx_tmp_fi3d_STD(i,k) = O3daysumSTD(i,k,iff-6) * 1.e+9
    15081506                      ELSE
     
    15131511             ENDIF
    15141512             CALL histwrite_phy(o_tro3_daylight,zx_tmp_fi3d_STD,iff)
    1515           endif
     1513          ENDIF
    15161514          CALL histwrite_phy(o_uxv,uvsumSTD(:,:,iff-6),iff)
    15171515          CALL histwrite_phy(o_vxq,vqsumSTD(:,:,iff-6),iff)
     
    15281526#endif
    15291527#ifdef CPP_XIOS
    1530   IF(ok_all_xml) THEN
     1528  IF (ok_all_xml) THEN
    15311529!      DO iff=7, nfiles
    15321530
     
    15391537          CALL histwrite_phy(o_va,vlevSTD(:,:))
    15401538          CALL histwrite_phy(o_wap,wlevSTD(:,:))
    1541 !         IF(vars_defined) THEN
     1539!         IF (vars_defined) THEN
    15421540!            DO k=1, nlevSTD
    15431541!               DO i=1, klon
    1544 !                  IF(tnondef(i,k,3).NE.missing_val) THEN
    1545 !                     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
    15461544!                        freq_moyNMC(iff-6)=(mth_len*un_jour)/freq_calNMC(iff-6)
    15471545!                     ELSE
     
    15561554!         ENDIF
    15571555!         CALL histwrite_phy(o_psbg,zx_tmp_fi3d_STD)
    1558           IF(vars_defined) THEN
     1556          IF (vars_defined) THEN
    15591557             DO k=1, nlevSTD
    15601558                DO i=1, klon
    1561                    IF(O3STD(i,k).NE.missing_val) THEN
     1559                   IF (O3STD(i,k).NE.missing_val) THEN
    15621560                      zx_tmp_fi3d_STD(i,k) = O3STD(i,k) * 1.e+9
    15631561                   ELSE
     
    15681566          ENDIF
    15691567          CALL histwrite_phy(o_tro3,zx_tmp_fi3d_STD)
    1570           if (read_climoz == 2) THEN
    1571              IF(vars_defined) THEN
     1568          IF (read_climoz == 2) THEN
     1569             IF (vars_defined) THEN
    15721570                DO k=1, nlevSTD
    15731571                   DO i=1, klon
    1574                       IF(O3daySTD(i,k).NE.missing_val) THEN
     1572                      IF (O3daySTD(i,k).NE.missing_val) THEN
    15751573                         zx_tmp_fi3d_STD(i,k) = O3daySTD(i,k) * 1.e+9
    15761574                      ELSE
     
    15811579             ENDIF
    15821580             CALL histwrite_phy(o_tro3_daylight,zx_tmp_fi3d_STD)
    1583           endif
     1581          ENDIF
    15841582          CALL histwrite_phy(o_uxv,uvSTD(:,:))
    15851583          CALL histwrite_phy(o_vxq,vqSTD(:,:))
     
    15991597              IF (type_trac == 'lmdz' .OR. type_trac == 'repr') THEN
    16001598
    1601 !jyg<
    1602 !!             CALL histwrite_phy(o_trac(iq-nqo), qx(:,:,iq))
    16031599             CALL histwrite_phy(o_trac(iq-nqo), tr_seri(:,:,iq-nqo))
    1604 !>jyg
    16051600             CALL histwrite_phy(o_dtr_vdf(iq-nqo),d_tr_cl(:,:,iq-nqo))
    16061601             CALL histwrite_phy(o_dtr_the(iq-nqo),d_tr_th(:,:,iq-nqo))
     
    16131608             CALL histwrite_phy(o_dtr_ls(iq-nqo),d_tr_ls(:,:,iq-nqo))
    16141609!            CALL histwrite_phy(o_dtr_dyn(iq-nqo),d_tr_dyn(:,:,iq-nqo))
    1615          !!  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))
    16161611             CALL histwrite_phy(o_dtr_trsp(iq-nqo),d_tr_trsp(:,:,iq-nqo))
    16171612             CALL histwrite_phy(o_dtr_sscav(iq-nqo),d_tr_sscav(:,:,iq-nqo))
     
    16191614             CALL histwrite_phy(o_dtr_uscav(iq-nqo),d_tr_uscav(:,:,iq-nqo))
    16201615             zx_tmp_fi2d=0.
    1621              IF(vars_defined) THEN
     1616             IF (vars_defined) THEN
    16221617                DO k=1,klev
    1623 !jyg<
    1624 !!                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*qx(:,k,iq)
    16251618                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*tr_seri(:,k,iq-nqo)
    1626 !>jyg
    16271619                ENDDO
    16281620             ENDIF
    16291621             CALL histwrite_phy(o_trac_cum(iq-nqo), zx_tmp_fi2d)
    1630              endif
    1631           ENDDO
    1632        ENDIF
    1633 
    1634        IF(.NOT.vars_defined) THEN
     1622             ENDIF
     1623          ENDDO
     1624       ENDIF
     1625
     1626       IF (.NOT.vars_defined) THEN
    16351627          !$OMP MASTER
    16361628#ifndef CPP_IOIPSL_NO_OUTPUT
     
    16531645          vars_defined = .TRUE.
    16541646
    1655        END IF
    1656 
    1657     END DO
    1658 
    1659     IF(vars_defined) THEN
     1647       ENDIF
     1648
     1649    ENDDO
     1650
     1651    IF (vars_defined) THEN
    16601652       ! On synchronise les fichiers pour IOIPSL
    16611653#ifndef CPP_IOIPSL_NO_OUTPUT
     
    16651657             CALL histsync(nid_files(iff))
    16661658          ENDIF
    1667        END DO
     1659       ENDDO
    16681660       !$OMP END MASTER
    16691661#endif
  • LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90

    r2752 r2754  
    17461746       ! Champs interpolles sur des niveaux de pression
    17471747       missing_val=missing_val_nf90
    1748        DO iff=7, nfiles
     1748       DO iff=7, nfiles-1 !--OB: here we deal with files 7,8,9
    17491749
    17501750          CALL histwrite_phy(o_tnondef,tnondef(:,:,iff-6),iff)
Note: See TracChangeset for help on using the changeset viewer.