Ignore:
Timestamp:
Nov 21, 2019, 4:43:45 PM (4 years ago)
Author:
lguez
Message:

Merge revisions 3427:3600 of trunk into branch Ocean_skin

Location:
LMDZ6/branches/Ocean_skin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin

  • LMDZ6/branches/Ocean_skin/libf/phylmd/phys_output_write_mod.F90

    r3601 r3605  
    1717  SUBROUTINE phys_output_write(itap, pdtphys, paprs, pphis, &
    1818       pplay, lmax_th, aerosol_couple,         &
    19        ok_ade, ok_aie, ivap, iliq, isol, new_aod, ok_sync, &
     19       ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, new_aod, ok_sync, &
    2020       ptconv, read_climoz, clevSTD, ptconvth, &
    2121       d_u, d_t, qx, d_qx, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc)
     
    3232    USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, &
    3333         o_longitude, o_latitude, &
    34          o_Ahyb, o_Bhyb,o_Ahyb_inter, o_Bhyb_inter, &
     34         o_Ahyb, o_Bhyb,o_Ahyb_bounds, o_Bhyb_bounds, &
     35         o_Ahyb_mid, o_Bhyb_mid,o_Ahyb_mid_bounds, o_Bhyb_mid_bounds, &
    3536         is_ave, is_sic, o_contfracATM, o_contfracOR, &
    3637         o_aireTER, o_flat, o_slp, o_ptstar, o_pt0, o_tsol, &
     
    7273         o_uwat, o_vwat, &
    7374         o_ptop, o_fbase, o_plcl, o_plfc, &
    74          o_wbeff, o_convoccur, o_cape_max, o_upwd, o_ep,o_epmax_diag, o_Ma, &
     75         o_wbeff, o_convoccur, o_cape_max, o_upwd, o_ep,o_epmax_diag, &
     76         o_Mipsh, o_Ma, &
    7577         o_dnwd, o_dnwd0, o_ftime_deepcv, o_ftime_con, o_mc, &
    7678         o_prw, o_prlw, o_prsw, o_s_pblh, o_s_pblt, o_s_lcl, &
     
    8789         o_wake_s, o_wake_deltat, o_wake_deltaq, &
    8890         o_wake_omg, o_dtwak, o_dqwak, o_dqwak2d, o_Vprecip, &
    89          o_ftd, o_fqd, o_wdtrainA, o_wdtrainM, &
     91         o_qtaa, o_Clwaa, &
     92         o_ftd, o_fqd, o_wdtrainA, o_wdtrainS, o_wdtrainM, &
    9093         o_n2, o_s2, o_proba_notrig, &
    9194         o_random_notrig, o_ale_bl_stat, &
     
    196199! Tropopause
    197200         o_p_tropopause, o_z_tropopause, o_t_tropopause,  &
    198          o_col_O3_strato, o_col_O3_tropo, &               ! Added ThL
     201         o_col_O3_strato, o_col_O3_tropo,                 &
     202!--interactive CO2
     203         o_flx_co2_ocean, o_flx_co2_land, o_flx_co2_ff, o_flx_co2_bb, &
    199204         o_t_int, o_s_int, o_ds_ns, o_dt_ns, o_dter, o_dser, o_tkt, o_tks, &
    200205         o_rf, o_taur
     
    214219         o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet
    215220#endif
     221   
     222    USE phys_output_ctrlout_mod, ONLY: o_heat_volc, o_cool_volc !NL
     223    USE phys_state_var_mod, ONLY: heat_volc, cool_volc !NL
    216224
    217225    USE phys_state_var_mod, ONLY: pctsrf, rain_fall, snow_fall, &
     
    227235         delta_tsurf, &
    228236         wstar, cape, ema_pcb, ema_pct, &
    229          ema_cbmf, Ma, fm_therm, ale_bl, alp_bl, ale, &
     237         ema_cbmf, Mipsh, Ma, fm_therm, ale_bl, alp_bl, ale, &
    230238         alp, cin, wake_pe, wake_dens, wake_s, wake_deltat, &
    231239         wake_deltaq, ftd, fqd, ale_bl_trig, albsol1, &
     
    244252
    245253    USE phys_local_var_mod, ONLY: zxfluxlat, slp, ptstar, pt0, zxtsol, zt2m, &
     254         zt2m_cor,zq2m_cor,zu10m_cor,zv10m_cor, zrh2m_cor, zqsat2m_cor, &
    246255         t2m_min_mon, t2m_max_mon, evap, &
    247256         l_mixmin,l_mix, &
     
    267276         kh         ,kh_x       ,kh_w       , &
    268277         cv_gen, wake_h, &
    269          wake_omg, d_t_wake, d_q_wake, Vprecip, &
    270          wdtrainA, wdtrainM, n2, s2, proba_notrig, &
     278         wake_omg, d_t_wake, d_q_wake, Vprecip, qtaa, Clw, &
     279         wdtrainA, wdtrainS, wdtrainM, n2, s2, proba_notrig, &
    271280         random_notrig, &
    272281         alp_bl_det, alp_bl_fluct_m, alp_bl_conv, &
     
    329338#endif
    330339
     340    USE carbon_cycle_mod, ONLY: fco2_ff, fco2_bb, fco2_land, fco2_ocean
     341
    331342    USE phys_output_var_mod, ONLY: vars_defined, snow_o, zfra_o, bils_diss, &
    332343         bils_ec,bils_ech, bils_tke, bils_kinetic, bils_latent, bils_enthalp, &
     
    368379    ! ug Pour les sorties XIOS
    369380    USE xios
    370     USE wxios, ONLY: wxios_closedef, missing_val
     381    USE wxios, ONLY: wxios_closedef, missing_val, wxios_set_context
    371382#endif
    372383    USE phys_cal_mod, ONLY : mth_len
     
    390401    INTEGER, DIMENSION(klon) :: lmax_th
    391402    LOGICAL :: aerosol_couple, ok_sync
    392     LOGICAL :: ok_ade, ok_aie, new_aod
     403    LOGICAL :: ok_ade, ok_aie, ok_volcan, new_aod
    393404    LOGICAL, DIMENSION(klon, klev) :: ptconv, ptconvth
    394405    REAL :: pdtphys
     
    417428    REAL, PARAMETER :: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2
    418429!   REAL, PARAMETER :: missing_val=nf90_fill_real
    419     REAL, DIMENSION(klev,2) :: Ahyb_bounds, Bhyb_bounds
     430    REAL, DIMENSION(klev+1,2) :: Ahyb_bounds, Bhyb_bounds
     431    REAL, DIMENSION(klev,2) :: Ahyb_mid_bounds, Bhyb_mid_bounds
    420432    INTEGER :: ilev
    421433#ifndef CPP_XIOS
     
    440452    CALL set_itau_iophy(itau_w)
    441453
    442     IF (.NOT.vars_defined) THEN
    443        iinitend = 2
    444     ELSE
     454 !   IF (.NOT.vars_defined) THEN
    445455       iinitend = 1
    446     ENDIF
    447 
    448     DO ilev=1,klev
    449       Ahyb_bounds(ilev,1) = ap(ilev)
    450       Ahyb_bounds(ilev,2) = ap(ilev+1)
    451       Bhyb_bounds(ilev,1) = bp(ilev)
    452       Bhyb_bounds(ilev,2) = bp(ilev+1)
     456 !   ELSE
     457 !      iinitend = 1
     458 !   ENDIF
     459
     460#ifdef CPP_XIOS
     461    CALL wxios_set_context
     462#endif
     463
     464    Ahyb_bounds(1,1) = 0.
     465    Ahyb_bounds(1,2) = aps(1)
     466    Bhyb_bounds(1,1) = 1.
     467    Bhyb_bounds(1,2) = bps(1)   
     468    DO ilev=2,klev
     469      Ahyb_bounds(ilev,1) = aps(ilev-1)
     470      Ahyb_bounds(ilev,2) = aps(ilev)
     471      Bhyb_bounds(ilev,1) = bps(ilev-1)
     472      Bhyb_bounds(ilev,2) = bps(ilev)
     473    ENDDO
     474     Ahyb_bounds(klev+1,1) = aps(klev)
     475     Ahyb_bounds(klev+1,2) = 0.
     476     Bhyb_bounds(klev+1,1) = bps(klev)
     477     Bhyb_bounds(klev+1,2) = 0.
     478
     479    DO ilev=1, klev
     480      Ahyb_mid_bounds(ilev,1) = ap(ilev)
     481      Ahyb_mid_bounds(ilev,2) = ap(ilev+1)
     482      Bhyb_mid_bounds(ilev,1) = bp(ilev)
     483      Bhyb_mid_bounds(ilev,2) = bp(ilev+1)
    453484    END DO
    454485
     
    565596       CALL histwrite_phy("R_incl",R_incl)
    566597       CALL histwrite_phy("solaire",solaire)
    567        CALL histwrite_phy(o_Ahyb, aps)
    568        CALL histwrite_phy(o_Bhyb, bps)
    569        CALL histwrite_phy(o_Ahyb_inter, Ahyb_bounds)
    570        CALL histwrite_phy(o_Bhyb_inter, Bhyb_bounds)
     598       CALL histwrite_phy(o_Ahyb, ap)
     599       CALL histwrite_phy(o_Bhyb, bp)
     600       CALL histwrite_phy(o_Ahyb_bounds, Ahyb_bounds)
     601       CALL histwrite_phy(o_Bhyb_bounds, Bhyb_bounds)
     602       CALL histwrite_phy(o_Ahyb_mid, aps)
     603       CALL histwrite_phy(o_Bhyb_mid, bps)
     604       CALL histwrite_phy(o_Ahyb_mid_bounds, Ahyb_mid_bounds)
     605       CALL histwrite_phy(o_Bhyb_mid_bounds, Bhyb_mid_bounds)
    571606       CALL histwrite_phy(o_longitude, longitude_deg)
    572607       CALL histwrite_phy(o_latitude, latitude_deg)
     
    636671       CALL histwrite_phy(o_slp, slp)
    637672       CALL histwrite_phy(o_tsol, zxtsol)
    638        CALL histwrite_phy(o_t2m, zt2m)
    639        CALL histwrite_phy(o_t2m_min, zt2m)
    640        CALL histwrite_phy(o_t2m_max, zt2m)
     673       CALL histwrite_phy(o_t2m, zt2m_cor)
     674       CALL histwrite_phy(o_t2m_min, zt2m_cor)
     675       CALL histwrite_phy(o_t2m_max, zt2m_cor)
    641676       CALL histwrite_phy(o_t2m_max_mon, t2m_max_mon)
    642677       CALL histwrite_phy(o_t2m_min_mon, t2m_min_mon)
     
    644679       IF (vars_defined) THEN
    645680          DO i=1, klon
    646              zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
     681             zx_tmp_fi2d(i)=SQRT(zu10m_cor(i)*zu10m_cor(i)+zv10m_cor(i)*zv10m_cor(i))
    647682          ENDDO
    648683       ENDIF
     
    651686       IF (vars_defined) THEN
    652687          DO i=1, klon
    653              zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
     688             zx_tmp_fi2d(i)=SQRT(zu10m_cor(i)*zu10m_cor(i)+zv10m_cor(i)*zv10m_cor(i))
    654689          ENDDO
    655690       ENDIF
     
    664699       ENDIF
    665700       CALL histwrite_phy(o_sicf, zx_tmp_fi2d)
    666        CALL histwrite_phy(o_q2m, zq2m)
     701       CALL histwrite_phy(o_q2m, zq2m_cor)
    667702       CALL histwrite_phy(o_ustar, zustar)
    668        CALL histwrite_phy(o_u10m, zu10m)
    669        CALL histwrite_phy(o_v10m, zv10m)
     703       CALL histwrite_phy(o_u10m, zu10m_cor)
     704       CALL histwrite_phy(o_v10m, zv10m_cor)
    670705
    671706       IF (vars_defined) THEN
     
    716751       CALL histwrite_phy(o_fsnow, zfra_o)
    717752       CALL histwrite_phy(o_evap, evap)
    718        CALL histwrite_phy(o_tops, topsw*swradcorr)
    719        CALL histwrite_phy(o_tops0, topsw0*swradcorr)
     753
     754       IF (vars_defined) THEN
     755         zx_tmp_fi2d = topsw*swradcorr
     756       ENDIF
     757       CALL histwrite_phy(o_tops, zx_tmp_fi2d)
     758
     759       IF (vars_defined) THEN
     760         zx_tmp_fi2d = topsw0*swradcorr
     761       ENDIF
     762       CALL histwrite_phy(o_tops0, zx_tmp_fi2d)
     763
    720764       CALL histwrite_phy(o_topl, toplw)
    721765       CALL histwrite_phy(o_topl0, toplw0)
     
    750794       ENDIF
    751795       CALL histwrite_phy(o_nettop, zx_tmp_fi2d)
    752        CALL histwrite_phy(o_SWup200, SWup200*swradcorr)
    753        CALL histwrite_phy(o_SWup200clr, SWup200clr*swradcorr)
    754        CALL histwrite_phy(o_SWdn200, SWdn200*swradcorr)
    755        CALL histwrite_phy(o_SWdn200clr, SWdn200clr*swradcorr)
     796       
     797       IF (vars_defined) THEN
     798          zx_tmp_fi2d = SWup200*swradcorr
     799       ENDIF
     800       CALL histwrite_phy(o_SWup200, zx_tmp_fi2d)
     801       
     802       IF (vars_defined) THEN
     803          zx_tmp_fi2d = SWup200clr*swradcorr
     804       ENDIF
     805       CALL histwrite_phy(o_SWup200clr, zx_tmp_fi2d)
     806       
     807       IF (vars_defined) THEN
     808          zx_tmp_fi2d = SWdn200*swradcorr
     809       ENDIF
     810       CALL histwrite_phy(o_SWdn200, zx_tmp_fi2d)
     811       
     812       
     813       IF (vars_defined) THEN
     814          zx_tmp_fi2d = SWdn200clr*swradcorr
     815       ENDIF
     816       CALL histwrite_phy(o_SWdn200clr, zx_tmp_fi2d)
     817       
    756818       CALL histwrite_phy(o_LWup200, LWup200)
    757819       CALL histwrite_phy(o_LWup200clr, LWup200clr)
    758820       CALL histwrite_phy(o_LWdn200, LWdn200)
    759821       CALL histwrite_phy(o_LWdn200clr, LWdn200clr)
    760        CALL histwrite_phy(o_sols, solsw*swradcorr)
    761        CALL histwrite_phy(o_sols0, solsw0*swradcorr)
     822       
     823       IF (vars_defined) THEN
     824          zx_tmp_fi2d = solsw*swradcorr
     825       ENDIF
     826       CALL histwrite_phy(o_sols, zx_tmp_fi2d)
     827       
     828       
     829       IF (vars_defined) THEN
     830          zx_tmp_fi2d = solsw0*swradcorr
     831       ENDIF
     832       CALL histwrite_phy(o_sols0, zx_tmp_fi2d)
    762833       CALL histwrite_phy(o_soll, sollw)
    763834       CALL histwrite_phy(o_soll0, sollw0)
     
    909980          IF (iflag_pbl > 1) THEN
    910981             CALL histwrite_phy(o_tke_srf(nsrf),  pbl_tke(:,1:klev,nsrf))
    911              CALL histwrite_phy(o_l_mix(nsrf),  l_mix(:,1:klev,nsrf))
     982             !CALL histwrite_phy(o_l_mix(nsrf),  l_mix(:,1:klev,nsrf))
    912983             CALL histwrite_phy(o_l_mixmin(nsrf),  l_mixmin(:,1:klev,nsrf))
    913984             CALL histwrite_phy(o_tke_max_srf(nsrf),  pbl_tke(:,1:klev,nsrf))
     
    9541025       CALL histwrite_phy(o_cldt, cldt)
    9551026       CALL histwrite_phy(o_JrNt, JrNt)
    956        CALL histwrite_phy(o_cldljn, cldl*JrNt)
    957        CALL histwrite_phy(o_cldmjn, cldm*JrNt)
    958        CALL histwrite_phy(o_cldhjn, cldh*JrNt)
    959        CALL histwrite_phy(o_cldtjn, cldt*JrNt)
     1027       
     1028       IF (vars_defined)  zx_tmp_fi2d=cldl*JrNt     
     1029       CALL histwrite_phy(o_cldljn, zx_tmp_fi2d)
     1030       
     1031       IF (vars_defined)  zx_tmp_fi2d=cldm*JrNt     
     1032       CALL histwrite_phy(o_cldmjn, zx_tmp_fi2d)
     1033       
     1034       IF (vars_defined)  zx_tmp_fi2d=cldh*JrNt
     1035       CALL histwrite_phy(o_cldhjn, zx_tmp_fi2d)
     1036       
     1037       IF (vars_defined)  zx_tmp_fi2d=cldt*JrNt
     1038       CALL histwrite_phy(o_cldtjn, zx_tmp_fi2d)
     1039       
    9601040       CALL histwrite_phy(o_cldq, cldq)
    9611041       IF (vars_defined)       zx_tmp_fi2d(1:klon) = flwp(1:klon)
     
    11081188       ! Wakes
    11091189       IF (iflag_con.EQ.3) THEN
     1190          CALL histwrite_phy(o_Mipsh, Mipsh)
    11101191          IF (iflag_wake>=1) THEN
    11111192             CALL histwrite_phy(o_ale_wk, ale_wake)
     
    11581239             IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
    11591240             CALL histwrite_phy(o_dqwak, zx_tmp_fi3d)
    1160              CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1241             IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    11611242             CALL histwrite_phy(o_dqwak2d, zx_tmp_fi2d)
    11621243          ENDIF ! iflag_wake>=1
     
    11681249          ! etendue a iflag_con=3 (jyg)
    11691250          CALL histwrite_phy(o_Vprecip, Vprecip)
     1251          CALL histwrite_phy(o_qtaa, qtaa)
     1252          CALL histwrite_phy(o_clwaa, clw)
    11701253          CALL histwrite_phy(o_wdtrainA, wdtrainA)
     1254          CALL histwrite_phy(o_wdtrainS, wdtrainS)
    11711255          CALL histwrite_phy(o_wdtrainM, wdtrainM)
    11721256       ENDIF !(iflag_con.EQ.3.or.iflag_con.EQ.30)
     
    12081292          IF (slab_gm) THEN
    12091293             CALL histwrite_phy(o_slab_gm, dt_gm(:,1:nslay))
    1210           END IF
     1294          ENDIF
    12111295          IF (slab_hdiff) THEN
    12121296            IF (nslay.EQ.1) THEN
     
    12571341!       CALL histwrite_phy(o_rh2m_max, zx_tmp_fi2d)
    12581342
    1259        CALL histwrite_phy(o_qsat2m, qsat2m)
     1343       CALL histwrite_phy(o_qsat2m, zqsat2m_cor)
    12601344       CALL histwrite_phy(o_tpot, tpot)
    12611345       CALL histwrite_phy(o_tpote, tpote)
     
    13221406
    13231407! ThL -- In the following, we assume read_climoz == 1
    1324        zx_tmp_fi2d = 0.0    ! Computation for strato, added ThL
    1325        DO k=1, klev
    1326           zx_tmp_fi2d(:) = zx_tmp_fi2d(:) + wo(:,k,1) * stratomask(:,k) * 1.e3
    1327        END DO
     1408       IF (vars_defined) THEN
     1409         zx_tmp_fi2d = 0.0    ! Computation for strato, added ThL
     1410         DO k=1, klev
     1411            zx_tmp_fi2d(:) = zx_tmp_fi2d(:) + wo(:,k,1) * stratomask(:,k) * 1.e3
     1412         END DO
     1413       ENDIF
    13281414       CALL histwrite_phy(o_col_O3_strato, zx_tmp_fi2d) ! Added ThL
    1329        zx_tmp_fi2d = 0.0    ! Computation for tropo, added ThL
    1330        DO k=1, klev
    1331           zx_tmp_fi2d(:) = zx_tmp_fi2d(:) + wo(:,k,1) * (1.0-stratomask(:,k)) * 1.e3
    1332        END DO
     1415
     1416       IF (vars_defined) THEN
     1417         zx_tmp_fi2d = 0.0    ! Computation for tropo, added ThL
     1418         DO k=1, klev
     1419            zx_tmp_fi2d(:) = zx_tmp_fi2d(:) + wo(:,k,1) * (1.0-stratomask(:,k)) * 1.e3
     1420         END DO
     1421       ENDIF
    13331422       CALL histwrite_phy(o_col_O3_tropo, zx_tmp_fi2d)   ! Added ThL
    13341423! end add ThL
     
    13701459       ENDIF
    13711460#endif
     1461       !NL
     1462       IF (ok_volcan .AND. ok_ade) THEN
     1463          DO k=1, klev
     1464             IF (vars_defined) zx_tmp_fi3d(:,k)=heat_volc(:,k)*swradcorr(:)
     1465          ENDDO
     1466          CALL histwrite_phy(o_heat_volc, zx_tmp_fi3d)
     1467          DO k=1, klev
     1468             IF (vars_defined) zx_tmp_fi3d(:,k)=cool_volc(:,k)
     1469          ENDDO
     1470          CALL histwrite_phy(o_cool_volc, zx_tmp_fi3d)
     1471       ENDIF
    13721472       IF (ok_ade) THEN
    1373           CALL histwrite_phy(o_topswad, topswad_aero*swradcorr)
    1374           CALL histwrite_phy(o_topswad0, topswad0_aero*swradcorr)
    1375           CALL histwrite_phy(o_solswad, solswad_aero*swradcorr)
    1376           CALL histwrite_phy(o_solswad0, solswad0_aero*swradcorr)
     1473          IF (vars_defined) zx_tmp_fi2d(:)=topswad_aero*swradcorr
     1474          CALL histwrite_phy(o_topswad, zx_tmp_fi2d)
     1475         
     1476          IF (vars_defined) zx_tmp_fi2d(:)=topswad0_aero*swradcorr
     1477          CALL histwrite_phy(o_topswad0, zx_tmp_fi2d)
     1478                   
     1479          IF (vars_defined) zx_tmp_fi2d(:)=solswad_aero*swradcorr
     1480          CALL histwrite_phy(o_solswad, zx_tmp_fi2d)
     1481                   
     1482          IF (vars_defined) zx_tmp_fi2d(:)=solswad0_aero*swradcorr
     1483          CALL histwrite_phy(o_solswad0, zx_tmp_fi2d)
     1484         
    13771485          CALL histwrite_phy(o_toplwad, toplwad_aero)
    13781486          CALL histwrite_phy(o_toplwad0, toplwad0_aero)
     
    13811489          !====MS forcing diagnostics
    13821490          IF (new_aod) THEN
    1383              zx_tmp_fi2d(:)=topsw_aero(:,1)*swradcorr(:)
     1491          !ym warning : topsw_aero, solsw_aero, topsw0_aero, solsw0_aero are not defined by model
     1492          !ym => init to 0 in radlwsw_m.F90 ztopsw_aero, zsolsw_aero, ztopsw0_aero, zsolsw0_aero
     1493
     1494             IF (vars_defined) zx_tmp_fi2d(:)=topsw_aero(:,1)*swradcorr(:)
    13841495             CALL histwrite_phy(o_swtoaas_nat,zx_tmp_fi2d)
    1385              zx_tmp_fi2d(:)=solsw_aero(:,1)*swradcorr(:)
     1496             IF (vars_defined) zx_tmp_fi2d(:)=solsw_aero(:,1)*swradcorr(:)
    13861497             CALL histwrite_phy(o_swsrfas_nat,zx_tmp_fi2d)
    1387              zx_tmp_fi2d(:)=topsw0_aero(:,1)*swradcorr(:)
     1498             IF (vars_defined) zx_tmp_fi2d(:)=topsw0_aero(:,1)*swradcorr(:)
    13881499             CALL histwrite_phy(o_swtoacs_nat,zx_tmp_fi2d)
    1389              zx_tmp_fi2d(:)=solsw0_aero(:,1)*swradcorr(:)
     1500             IF (vars_defined) zx_tmp_fi2d(:)=solsw0_aero(:,1)*swradcorr(:)
    13901501             CALL histwrite_phy(o_swsrfcs_nat,zx_tmp_fi2d)
    13911502             !ant
    1392              zx_tmp_fi2d(:)=topsw_aero(:,2)*swradcorr(:)
     1503             IF (vars_defined) zx_tmp_fi2d(:)=topsw_aero(:,2)*swradcorr(:)
    13931504             CALL histwrite_phy(o_swtoaas_ant,zx_tmp_fi2d)
    1394              zx_tmp_fi2d(:)=solsw_aero(:,2)*swradcorr(:)
     1505             IF (vars_defined) zx_tmp_fi2d(:)=solsw_aero(:,2)*swradcorr(:)
    13951506             CALL histwrite_phy(o_swsrfas_ant,zx_tmp_fi2d)
    1396              zx_tmp_fi2d(:)=topsw0_aero(:,2)*swradcorr(:)
     1507             IF (vars_defined) zx_tmp_fi2d(:)=topsw0_aero(:,2)*swradcorr(:)
    13971508             CALL histwrite_phy(o_swtoacs_ant,zx_tmp_fi2d)
    1398              zx_tmp_fi2d(:)=solsw0_aero(:,2)*swradcorr(:)
     1509             IF (vars_defined) zx_tmp_fi2d(:)=solsw0_aero(:,2)*swradcorr(:)
    13991510             CALL histwrite_phy(o_swsrfcs_ant,zx_tmp_fi2d)
    14001511             !cf
    14011512             IF (.not. aerosol_couple) THEN
    1402                 zx_tmp_fi2d(:)=topswcf_aero(:,1)*swradcorr(:)
     1513                IF (vars_defined) zx_tmp_fi2d(:)=topswcf_aero(:,1)*swradcorr(:)
    14031514                CALL histwrite_phy(o_swtoacf_nat,zx_tmp_fi2d)
    1404                 zx_tmp_fi2d(:)=solswcf_aero(:,1)*swradcorr(:)
     1515                IF (vars_defined) zx_tmp_fi2d(:)=solswcf_aero(:,1)*swradcorr(:)
    14051516                CALL histwrite_phy(o_swsrfcf_nat,zx_tmp_fi2d)
    1406                 zx_tmp_fi2d(:)=topswcf_aero(:,2)*swradcorr(:)
     1517                IF (vars_defined) zx_tmp_fi2d(:)=topswcf_aero(:,2)*swradcorr(:)
    14071518                CALL histwrite_phy(o_swtoacf_ant,zx_tmp_fi2d)
    1408                 zx_tmp_fi2d(:)=solswcf_aero(:,2)*swradcorr(:)
     1519                IF (vars_defined) zx_tmp_fi2d(:)=solswcf_aero(:,2)*swradcorr(:)
    14091520                CALL histwrite_phy(o_swsrfcf_ant,zx_tmp_fi2d)
    1410                 zx_tmp_fi2d(:)=topswcf_aero(:,3)*swradcorr(:)
     1521                IF (vars_defined) zx_tmp_fi2d(:)=topswcf_aero(:,3)*swradcorr(:)
    14111522                CALL histwrite_phy(o_swtoacf_zero,zx_tmp_fi2d)
    1412                 zx_tmp_fi2d(:)=solswcf_aero(:,3)*swradcorr(:)
     1523                IF (vars_defined) zx_tmp_fi2d(:)=solswcf_aero(:,3)*swradcorr(:)
    14131524                CALL histwrite_phy(o_swsrfcf_zero,zx_tmp_fi2d)
    14141525             ENDIF
     
    14171528       ENDIF
    14181529       IF (ok_aie) THEN
    1419           CALL histwrite_phy(o_topswai, topswai_aero*swradcorr)
    1420           CALL histwrite_phy(o_toplwai, toplwai_aero*swradcorr)
    1421           CALL histwrite_phy(o_solswai, solswai_aero*swradcorr)
    1422           CALL histwrite_phy(o_sollwai, sollwai_aero*swradcorr)
     1530          IF (vars_defined) zx_tmp_fi2d(:)= topswai_aero*swradcorr
     1531          CALL histwrite_phy(o_topswai, zx_tmp_fi2d)
     1532         
     1533          IF (vars_defined) zx_tmp_fi2d(:)=toplwai_aero*swradcorr
     1534          CALL histwrite_phy(o_toplwai, zx_tmp_fi2d)
     1535         
     1536          IF (vars_defined) zx_tmp_fi2d(:)=solswai_aero*swradcorr
     1537          CALL histwrite_phy(o_solswai, zx_tmp_fi2d)
     1538         
     1539          IF (vars_defined) zx_tmp_fi2d(:)=sollwai_aero*swradcorr
     1540          CALL histwrite_phy(o_sollwai, zx_tmp_fi2d)
    14231541       ENDIF
    14241542       IF (flag_aerosol.GT.0.AND.ok_cdnc) THEN
     
    14351553          CALL histwrite_phy(o_icc3dstra, icc3dstra)
    14361554          CALL histwrite_phy(o_cldicemxrat, zfice)
    1437           zx_tmp_fi3d(:,:)=1-zfice(:,:)
     1555          IF (vars_defined) zx_tmp_fi3d(:,:)=1-zfice(:,:)
    14381556          CALL histwrite_phy(o_cldwatmxrat, zx_tmp_fi3d)
    14391557          CALL histwrite_phy(o_reffclwtop, reffclwtop)
     
    14501568       CALL histwrite_phy(o_ovap, q_seri)
    14511569       CALL histwrite_phy(o_oliq, ql_seri)
    1452        CALL histwrite_phy(o_ocond, ql_seri+qs_seri)
     1570
     1571       IF (vars_defined) zx_tmp_fi3d = ql_seri+qs_seri
     1572       CALL histwrite_phy(o_ocond, zx_tmp_fi3d)
     1573
    14531574       CALL histwrite_phy(o_geop, zphi)
    14541575       CALL histwrite_phy(o_vitu, u_seri)
     
    14571578       CALL histwrite_phy(o_pres, pplay)
    14581579       CALL histwrite_phy(o_paprs, paprs(:,1:klev))
    1459        CALL histwrite_phy(o_zfull,zphi/RG)
     1580       
     1581       IF (vars_defined) zx_tmp_fi3d = zphi/RG
     1582       CALL histwrite_phy(o_zfull,zx_tmp_fi3d)
    14601583
    14611584#ifdef CPP_XIOS
     
    15021625       CALL histwrite_phy(o_rnebjn, zx_tmp_fi3d)
    15031626       CALL histwrite_phy(o_rhum, zx_rh)
    1504        CALL histwrite_phy(o_ozone, &
    1505             wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
     1627       
     1628       IF (vars_defined) zx_tmp_fi3d = wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd
     1629       CALL histwrite_phy(o_ozone, zx_tmp_fi3d)
    15061630
    15071631       IF (read_climoz == 2) THEN
    1508           CALL histwrite_phy(o_ozone_light, &
    1509                wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
     1632         IF (vars_defined) zx_tmp_fi3d = wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd
     1633         CALL histwrite_phy(o_ozone_light, zx_tmp_fi3d)
    15101634       ENDIF
    15111635
     
    15151639
    15161640       CALL histwrite_phy(o_dqphy,  d_qx(:,:,ivap))
    1517        CALL water_int(klon,klev,d_qx(:,:,ivap),zmasse,zx_tmp_fi2d)
     1641       IF (vars_defined) CALL water_int(klon,klev,d_qx(:,:,ivap),zmasse,zx_tmp_fi2d)
    15181642       CALL histwrite_phy(o_dqphy2d,  zx_tmp_fi2d)
    15191643
    15201644       CALL histwrite_phy(o_dqlphy,  d_qx(:,:,iliq))
    1521        CALL water_int(klon,klev,d_qx(:,:,iliq),zmasse,zx_tmp_fi2d)
     1645       IF (vars_defined) CALL water_int(klon,klev,d_qx(:,:,iliq),zmasse,zx_tmp_fi2d)
    15221646       CALL histwrite_phy(o_dqlphy2d,  zx_tmp_fi2d)
    15231647
    15241648       IF (nqo.EQ.3) THEN
    15251649       CALL histwrite_phy(o_dqsphy,  d_qx(:,:,isol))
    1526        CALL water_int(klon,klev,d_qx(:,:,isol),zmasse,zx_tmp_fi2d)
     1650       IF (vars_defined) CALL water_int(klon,klev,d_qx(:,:,isol),zmasse,zx_tmp_fi2d)
    15271651       CALL histwrite_phy(o_dqsphy2d,  zx_tmp_fi2d)
    15281652       ELSE
     
    15891713       ENDIF
    15901714       CALL histwrite_phy(o_dtcon, zx_tmp_fi3d)
    1591        if(iflag_thermals.eq.0)then
     1715       IF (iflag_thermals.EQ.0) THEN
    15921716          IF (vars_defined) THEN
    15931717             zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
     
    15951719          ENDIF
    15961720          CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
    1597        else if(iflag_thermals.ge.1.and.iflag_wake.EQ.1)then
     1721       ELSE IF(iflag_thermals.GE.1.AND.iflag_wake.EQ.1) THEN
    15981722          IF (vars_defined) THEN
    15991723             zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
     
    16021726          ENDIF
    16031727          CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
    1604        endif
     1728       ENDIF
    16051729       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
    16061730       CALL histwrite_phy(o_ducon, zx_tmp_fi3d)
     
    16091733       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
    16101734       CALL histwrite_phy(o_dqcon, zx_tmp_fi3d)
    1611        CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1735       IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    16121736       CALL histwrite_phy(o_dqcon2d, zx_tmp_fi2d)
    16131737
     
    16311755       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
    16321756       CALL histwrite_phy(o_dqlsc, zx_tmp_fi3d)
    1633        CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1757       IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    16341758       CALL histwrite_phy(o_dqlsc2d, zx_tmp_fi2d)
    16351759       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=beta_prec(1:klon,1:klev)
     
    16441768          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscth(1:klon,1:klev)/pdtphys
    16451769          CALL histwrite_phy(o_dqlscth, zx_tmp_fi3d)
    1646           CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1770          IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    16471771          CALL histwrite_phy(o_dqlscth2d, zx_tmp_fi2d)
    16481772          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscst(1:klon,1:klev)/pdtphys
    16491773          CALL histwrite_phy(o_dqlscst, zx_tmp_fi3d)
    1650           CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1774          IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    16511775          CALL histwrite_phy(o_dqlscst2d, zx_tmp_fi2d)
    16521776          CALL histwrite_phy(o_plulth, plul_th)
    16531777          CALL histwrite_phy(o_plulst, plul_st)
    16541778          IF (vars_defined) THEN
    1655              do i=1,klon
     1779             DO i=1,klon
    16561780                zx_tmp_fi2d(1:klon)=lmax_th(:)
    1657              enddo
     1781             ENDDO
    16581782          ENDIF
    16591783          CALL histwrite_phy(o_lmaxth, zx_tmp_fi2d)
     
    17021826       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
    17031827       CALL histwrite_phy(o_dqvdf, zx_tmp_fi3d)
    1704        CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1828       IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    17051829       CALL histwrite_phy(o_dqvdf2d, zx_tmp_fi2d)
    17061830       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
     
    17081832       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
    17091833       CALL histwrite_phy(o_dqeva, zx_tmp_fi3d)
    1710        CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1834       IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    17111835       CALL histwrite_phy(o_dqeva2d, zx_tmp_fi2d)
    17121836       CALL histwrite_phy(o_ratqs, ratqs)
     
    17471871          ENDIF
    17481872          CALL histwrite_phy(o_dqthe, zx_tmp_fi3d)
    1749           CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1873          IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    17501874          CALL histwrite_phy(o_dqthe2d, zx_tmp_fi2d)
    17511875       ENDIF !iflag_thermals
     
    17541878       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
    17551879       CALL histwrite_phy(o_dqajs, zx_tmp_fi3d)
    1756        CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
     1880       IF (vars_defined) CALL water_int(klon,klev,zx_tmp_fi3d,zmasse,zx_tmp_fi2d)
    17571881       CALL histwrite_phy(o_dqajs2d, zx_tmp_fi2d)
    17581882       IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_swr(1:klon,1:klev)/pdtphys
     
    17901914
    17911915       IF (ok_hines) THEN
    1792           CALL histwrite_phy(o_du_gwd_hines, du_gwd_hines/pdtphys)
    1793           CALL histwrite_phy(o_dv_gwd_hines, dv_gwd_hines/pdtphys)
     1916          IF (vars_defined) zx_tmp_fi3d=du_gwd_hines/pdtphys
     1917          CALL histwrite_phy(o_du_gwd_hines, zx_tmp_fi3d)
     1918
     1919          IF (vars_defined) zx_tmp_fi3d= dv_gwd_hines/pdtphys         
     1920          CALL histwrite_phy(o_dv_gwd_hines, zx_tmp_fi3d)
     1921         
    17941922          IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_hin(1:klon,1:klev)/pdtphys
    17951923          CALL histwrite_phy(o_dthin, zx_tmp_fi3d)
     
    17991927
    18001928       IF (.not. ok_hines .and. ok_gwd_rando) THEN
    1801           CALL histwrite_phy(o_du_gwd_front, du_gwd_front / pdtphys)
    1802           CALL histwrite_phy(o_dv_gwd_front, dv_gwd_front / pdtphys)
     1929          IF (vars_defined)  zx_tmp_fi3d=du_gwd_front / pdtphys
     1930          CALL histwrite_phy(o_du_gwd_front, zx_tmp_fi3d)
     1931         
     1932          IF (vars_defined)  zx_tmp_fi3d=dv_gwd_front / pdtphys
     1933          CALL histwrite_phy(o_dv_gwd_front, zx_tmp_fi3d)
     1934         
    18031935          CALL histwrite_phy(o_ustr_gwd_front, zustr_gwd_front)
    18041936          CALL histwrite_phy(o_vstr_gwd_front, zvstr_gwd_front)
     
    18061938
    18071939       IF (ok_gwd_rando) THEN
    1808           CALL histwrite_phy(o_du_gwd_rando, du_gwd_rando / pdtphys)
    1809           CALL histwrite_phy(o_dv_gwd_rando, dv_gwd_rando / pdtphys)
     1940          IF (vars_defined)  zx_tmp_fi3d=du_gwd_rando / pdtphys
     1941          CALL histwrite_phy(o_du_gwd_rando, zx_tmp_fi3d)
     1942         
     1943          IF (vars_defined)  zx_tmp_fi3d=dv_gwd_rando / pdtphys
     1944          CALL histwrite_phy(o_dv_gwd_rando, zx_tmp_fi3d)
    18101945          CALL histwrite_phy(o_ustr_gwd_rando, zustr_gwd_rando)
    18111946          CALL histwrite_phy(o_vstr_gwd_rando, zvstr_gwd_rando)
     
    18151950
    18161951       IF (ok_qch4) THEN
    1817           CALL histwrite_phy(o_dqch4, d_q_ch4 / pdtphys)
    1818        ENDIF
    1819 
    1820        DO k=1, klevp1
    1821          zx_tmp_fi3d1(:,k)=swup(:,k)*swradcorr(:)
    1822        ENDDO
     1952          IF (vars_defined) zx_tmp_fi3d=d_q_ch4 / pdtphys
     1953          CALL histwrite_phy(o_dqch4, zx_tmp_fi3d)
     1954       ENDIF
     1955       
     1956       IF (vars_defined) THEN
     1957         DO k=1, klevp1
     1958           zx_tmp_fi3d1(:,k)=swup(:,k)*swradcorr(:)
     1959         ENDDO
     1960       ENDIF
     1961       
    18231962       CALL histwrite_phy(o_rsu, zx_tmp_fi3d1)
    1824        DO k=1, klevp1
    1825          zx_tmp_fi3d1(:,k)=swdn(:,k)*swradcorr(:)
    1826        ENDDO
     1963
     1964
     1965       IF (vars_defined) THEN
     1966         DO k=1, klevp1
     1967           zx_tmp_fi3d1(:,k)=swdn(:,k)*swradcorr(:)
     1968         ENDDO
     1969       ENDIF
     1970       
    18271971       CALL histwrite_phy(o_rsd, zx_tmp_fi3d1)
    1828        DO k=1, klevp1
    1829          zx_tmp_fi3d1(:,k)=swup0(:,k)*swradcorr(:)
    1830        ENDDO
     1972
     1973       IF (vars_defined) THEN
     1974         DO k=1, klevp1
     1975           zx_tmp_fi3d1(:,k)=swup0(:,k)*swradcorr(:)
     1976         ENDDO
     1977       ENDIF
     1978       
    18311979       CALL histwrite_phy(o_rsucs, zx_tmp_fi3d1)
    1832        DO k=1, klevp1
    1833          zx_tmp_fi3d1(:,k)=swupc0(:,k)*swradcorr(:)
    1834        ENDDO
     1980
     1981       IF (vars_defined) THEN
     1982         DO k=1, klevp1
     1983           zx_tmp_fi3d1(:,k)=swupc0(:,k)*swradcorr(:)
     1984         ENDDO
     1985       ENDIF
    18351986       CALL histwrite_phy(o_rsucsaf, zx_tmp_fi3d1)
    1836        DO k=1, klevp1
    1837          zx_tmp_fi3d1(:,k)=swdn0(:,k)*swradcorr(:)
    1838        ENDDO
     1987
     1988       IF (vars_defined) THEN
     1989         DO k=1, klevp1
     1990           zx_tmp_fi3d1(:,k)=swdn0(:,k)*swradcorr(:)
     1991         ENDDO
     1992       ENDIF
    18391993       CALL histwrite_phy(o_rsdcs, zx_tmp_fi3d1)
    1840        DO k=1, klevp1
    1841          zx_tmp_fi3d1(:,k)=swdnc0(:,k)*swradcorr(:)
    1842        ENDDO
     1994
     1995
     1996       IF (vars_defined) THEN
     1997         DO k=1, klevp1
     1998           zx_tmp_fi3d1(:,k)=swdnc0(:,k)*swradcorr(:)
     1999         ENDDO
     2000       ENDIF
    18432001       CALL histwrite_phy(o_rsdcsaf, zx_tmp_fi3d1)
    18442002
     
    18942052       ELSE IF (iflag_con == 2) THEN
    18952053          CALL histwrite_phy(o_mcd,  pmfd)
    1896           CALL histwrite_phy(o_dmc,  pmfu + pmfd)
     2054          IF (vars_defined) zx_tmp_fi3d = pmfu + pmfd
     2055          CALL histwrite_phy(o_dmc,  zx_tmp_fi3d)
    18972056       ENDIF
    18982057       CALL histwrite_phy(o_ref_liq, ref_liq)
     
    19082067          IF (vars_defined) zx_tmp_fi2d(:) = lwup0p(:,klevp1)
    19092068          CALL histwrite_phy(o_rlutcs4co2, zx_tmp_fi2d)
    1910           DO k=1, klevp1
    1911             zx_tmp_fi3d1(:,k)=swupp(:,k)*swradcorr(:)
    1912           ENDDO
     2069          IF (vars_defined) THEN
     2070            DO k=1, klevp1
     2071              zx_tmp_fi3d1(:,k)=swupp(:,k)*swradcorr(:)
     2072            ENDDO
     2073          ENDIF
    19132074          CALL histwrite_phy(o_rsu4co2, zx_tmp_fi3d1)
    1914           DO k=1, klevp1
    1915             zx_tmp_fi3d1(:,k)=swup0p(:,k)*swradcorr(:)
    1916           ENDDO
     2075          IF (vars_defined) THEN
     2076            DO k=1, klevp1
     2077              zx_tmp_fi3d1(:,k)=swup0p(:,k)*swradcorr(:)
     2078            ENDDO
     2079          ENDIF
    19172080          CALL histwrite_phy(o_rsucs4co2, zx_tmp_fi3d1)
    1918           DO k=1, klevp1
    1919             zx_tmp_fi3d1(:,k)=swdnp(:,k)*swradcorr(:)
    1920           ENDDO
     2081          IF (vars_defined) THEN
     2082            DO k=1, klevp1
     2083              zx_tmp_fi3d1(:,k)=swdnp(:,k)*swradcorr(:)
     2084            ENDDO
     2085          ENDIF
    19212086          CALL histwrite_phy(o_rsd4co2, zx_tmp_fi3d1)
    1922           DO k=1, klevp1
    1923             zx_tmp_fi3d1(:,k)=swdn0p(:,k)*swradcorr(:)
    1924           ENDDO
     2087          IF (vars_defined) THEN
     2088            DO k=1, klevp1
     2089              zx_tmp_fi3d1(:,k)=swdn0p(:,k)*swradcorr(:)
     2090            ENDDO
     2091          ENDIF
    19252092          CALL histwrite_phy(o_rsdcs4co2, zx_tmp_fi3d1)
    19262093          CALL histwrite_phy(o_rlu4co2, lwupp)
     
    20712238!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    20722239       IF (iflag_phytrac == 1 ) then
    2073        IF (nqtot.GE.nqo+1) THEN
    2074           DO iq=nqo+1, nqtot
    2075             IF (type_trac == 'lmdz' .OR. type_trac == 'repr' .OR. type_trac == 'coag') THEN
     2240         IF (type_trac == 'lmdz' .OR. type_trac == 'repr' .OR. type_trac == 'coag') THEN
     2241           DO iq=nqo+1, nqtot
    20762242             !--3D fields
    20772243             CALL histwrite_phy(o_trac(iq-nqo), tr_seri(:,:,iq-nqo))
     
    20892255             CALL histwrite_phy(o_dtr_sat(iq-nqo),d_tr_sat(:,:,iq-nqo))
    20902256             CALL histwrite_phy(o_dtr_uscav(iq-nqo),d_tr_uscav(:,:,iq-nqo))
    2091              !--2D fields
     2257            !--2D fields
    20922258             CALL histwrite_phy(o_dtr_dry(iq-nqo), flux_tr_dry(:,iq-nqo))
    20932259             zx_tmp_fi2d=0.
     
    21002266             CALL histwrite_phy(o_trac_cum(iq-nqo), zx_tmp_fi2d)
    21012267#endif
    2102             ENDIF
    2103           ENDDO
    2104        ENDIF
    2105 
    2106        IF (type_trac == 'repr') THEN
     2268           ENDDO !--iq
     2269         ENDIF   !--type_trac
     2270!
     2271         IF (type_trac == 'co2i') THEN
     2272           DO iq=nqo+1, nqtot
     2273             !--3D fields
     2274             CALL histwrite_phy(o_trac(iq-nqo), tr_seri(:,:,iq-nqo))
     2275             CALL histwrite_phy(o_dtr_vdf(iq-nqo),d_tr_cl(:,:,iq-nqo))
     2276             CALL histwrite_phy(o_dtr_the(iq-nqo),d_tr_th(:,:,iq-nqo))
     2277             CALL histwrite_phy(o_dtr_con(iq-nqo),d_tr_cv(:,:,iq-nqo))
     2278             !--2D fields
     2279             !--CO2 burden
     2280             zx_tmp_fi2d=0.
     2281             IF (vars_defined) THEN
     2282                DO k=1,klev
     2283                   zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*tr_seri(:,k,iq-nqo)
     2284                ENDDO
     2285             ENDIF
     2286             CALL histwrite_phy(o_trac_cum(iq-nqo), zx_tmp_fi2d)
     2287           ENDDO !--iq
     2288           !--CO2 net fluxes
     2289           CALL histwrite_phy(o_flx_co2_land,  fco2_land)
     2290           CALL histwrite_phy(o_flx_co2_ocean, fco2_ocean)
     2291           CALL histwrite_phy(o_flx_co2_ff,    fco2_ff)
     2292           CALL histwrite_phy(o_flx_co2_bb,    fco2_bb)
     2293         ENDIF !--type_trac co2i
     2294
     2295         IF (type_trac == 'repr') THEN
    21072296#ifdef REPROBUS
    21082297           DO iq=1,nbnas
     
    21102299           ENDDO
    21112300#endif
    2112        ENDIF
     2301         ENDIF
    21132302
    21142303       ENDIF   !(iflag_phytrac==1)
Note: See TracChangeset for help on using the changeset viewer.