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

Merged trunk changes r2727:2785 into testing branch

Location:
LMDZ5/branches/testing
Files:
44 edited
6 copied

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
  • LMDZ5/branches/testing/libf/phylmd/Dust/spla_output_dat.h

    r2641 r2787  
    33
    44!Dust emission module
    5   type(ctrl_out),save :: o_m1dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    6   'm1dflux','m1dflux','', (/ ('', i=1, 9) /))
    7   type(ctrl_out),save :: o_m2dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    8   'm2dflux','m2dflux','', (/ ('', i=1, 9) /))
    9   type(ctrl_out),save :: o_m3dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    10   'm3dflux','m3dflux','', (/ ('', i=1, 9) /))
     5  type(ctrl_out),save :: o_m1dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     6  'm1dflux','m1dflux','', (/ ('', i=1, 10) /))
     7  type(ctrl_out),save :: o_m2dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     8  'm2dflux','m2dflux','', (/ ('', i=1, 10) /))
     9  type(ctrl_out),save :: o_m3dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     10  'm3dflux','m3dflux','', (/ ('', i=1, 10) /))
    1111
    1212! traceur_spl
    13   type(ctrl_out),save :: o_taue550    = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    14   'taue550','Tau ext 550','', (/ ('', i=1, 9) /))
    15   type(ctrl_out),save :: o_taue670     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    16   'taue670','Tau ext 670','', (/ ('', i=1, 9) /))
    17   type(ctrl_out),save :: o_taue865     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    18   'taue865','Tau ext 865','', (/ ('', i=1, 9) /))
    19   type(ctrl_out),save :: o_taue550_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    20   'taue550_tr2','Tau ext 550tr2','', (/ ('', i=1, 9) /))
    21   type(ctrl_out),save :: o_taue670_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    22   'taue670_tr2','Tau ext 670tr2','', (/ ('', i=1, 9) /))
    23   type(ctrl_out),save :: o_taue865_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    24   'taue865_tr2','Tau ext 865tr2','', (/ ('', i=1, 9) /))
    25   type(ctrl_out),save :: o_taue550_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    26   'taue550_ss','Tau ext 550ss','', (/ ('', i=1, 9) /))
    27   type(ctrl_out),save :: o_taue670_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    28   'taue670_ss','Tau ext 670ss','', (/ ('', i=1, 9) /))
    29   type(ctrl_out),save :: o_taue865_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    30   'taue865_ss','Tau ext 865ss','', (/ ('', i=1, 9) /))
    31   type(ctrl_out),save :: o_taue550_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    32   'taue550_dust','Tau ext 550dust','', (/ ('', i=1, 9) /))
    33   type(ctrl_out),save :: o_taue670_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    34   'taue670_dust','Tau ext 670dust','', (/ ('', i=1, 9) /))
    35   type(ctrl_out),save :: o_taue865_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    36   'taue865_dust','Tau ext 865dust','', (/ ('', i=1, 9) /))
    37   type(ctrl_out),save :: o_taue550_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    38   'taue550_dustsco','Tau ext 550dustsco','', (/ ('', i=1, 9) /))
    39   type(ctrl_out),save :: o_taue670_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    40   'taue670_dustsco','Tau ext 670dustsco','', (/ ('', i=1, 9) /))
    41   type(ctrl_out),save :: o_taue865_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    42   'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 9) /))
    43 
    44 
    45   type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     13  type(ctrl_out),save :: o_taue550    = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     14  'taue550','Tau ext 550','', (/ ('', i=1, 10) /))
     15  type(ctrl_out),save :: o_taue670     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     16  'taue670','Tau ext 670','', (/ ('', i=1, 10) /))
     17  type(ctrl_out),save :: o_taue865     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     18  'taue865','Tau ext 865','', (/ ('', i=1, 10) /))
     19  type(ctrl_out),save :: o_taue550_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     20  'taue550_tr2','Tau ext 550tr2','', (/ ('', i=1, 10) /))
     21  type(ctrl_out),save :: o_taue670_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     22  'taue670_tr2','Tau ext 670tr2','', (/ ('', i=1, 10) /))
     23  type(ctrl_out),save :: o_taue865_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     24  'taue865_tr2','Tau ext 865tr2','', (/ ('', i=1, 10) /))
     25  type(ctrl_out),save :: o_taue550_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     26  'taue550_ss','Tau ext 550ss','', (/ ('', i=1, 10) /))
     27  type(ctrl_out),save :: o_taue670_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     28  'taue670_ss','Tau ext 670ss','', (/ ('', i=1, 10) /))
     29  type(ctrl_out),save :: o_taue865_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     30  'taue865_ss','Tau ext 865ss','', (/ ('', i=1, 10) /))
     31  type(ctrl_out),save :: o_taue550_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     32  'taue550_dust','Tau ext 550dust','', (/ ('', i=1, 10) /))
     33  type(ctrl_out),save :: o_taue670_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     34  'taue670_dust','Tau ext 670dust','', (/ ('', i=1, 10) /))
     35  type(ctrl_out),save :: o_taue865_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     36  'taue865_dust','Tau ext 865dust','', (/ ('', i=1, 10) /))
     37  type(ctrl_out),save :: o_taue550_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     38  'taue550_dustsco','Tau ext 550dustsco','', (/ ('', i=1, 10) /))
     39  type(ctrl_out),save :: o_taue670_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     40  'taue670_dustsco','Tau ext 670dustsco','', (/ ('', i=1, 10) /))
     41  type(ctrl_out),save :: o_taue865_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     42  'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 10) /))
     43
     44  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    4645  'taue550_terra','Tau ext 550 terra','', &
    47       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    48          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    49   type(ctrl_out),save :: o_taue550_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     46      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     47         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     48  type(ctrl_out),save :: o_taue550_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    5049  'taue550_fine_terra','Tau ext fine 550 terra','', &
    51       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    52          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    53   type(ctrl_out),save :: o_taue550_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     50      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     51         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     52  type(ctrl_out),save :: o_taue550_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    5453  'taue550_coss_terra','Tau ext coss 550 terra','', &
    55       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    56          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    57   type(ctrl_out),save :: o_taue550_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     54      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     55         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     56  type(ctrl_out),save :: o_taue550_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    5857  'taue550_codu_terra','Tau ext codu 550 terra','', &
    59       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    60          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    61   type(ctrl_out),save :: o_taue550_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     58      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     59         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     60  type(ctrl_out),save :: o_taue550_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    6261  'taue550_scdu_terra','Tau ext scdu 550 terra','', &
    63       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    64          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    65 
    66   type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     62      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     63         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     64
     65  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    6766  'taue670_terra','Tau ext 670 terra','', &
    68       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    69          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    70   type(ctrl_out),save :: o_taue670_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     67      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     68         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     69  type(ctrl_out),save :: o_taue670_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    7170  'taue670_fine_terra','Tau ext fine 670 terra','', &
    72       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    73          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    74   type(ctrl_out),save :: o_taue670_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     71      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     72         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     73  type(ctrl_out),save :: o_taue670_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    7574  'taue670_coss_terra','Tau ext coss 670 terra','', &
    76       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    77          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    78   type(ctrl_out),save :: o_taue670_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     75      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     76         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     77  type(ctrl_out),save :: o_taue670_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    7978  'taue670_codu_terra','Tau ext codu 670 terra','', &
    80       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    81          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    82   type(ctrl_out),save :: o_taue670_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     79      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     80         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     81  type(ctrl_out),save :: o_taue670_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    8382  'taue670_scdu_terra','Tau ext scdu 670 terra','', &
    84       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    85          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    86 
    87   type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     83      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     84         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     85
     86  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    8887  'taue865_terra','Tau ext 865 terra','', &
    89       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    90          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    91   type(ctrl_out),save :: o_taue865_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     88      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     89         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     90  type(ctrl_out),save :: o_taue865_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    9291  'taue865_fine_terra','Tau ext fine 865 terra','', &
    93       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    94          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    95   type(ctrl_out),save :: o_taue865_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     92      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     93         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     94  type(ctrl_out),save :: o_taue865_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    9695  'taue865_coss_terra','Tau ext coss 865 terra','', &
    97       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    98          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    99   type(ctrl_out),save :: o_taue865_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     96      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     97         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     98  type(ctrl_out),save :: o_taue865_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    10099  'taue865_codu_terra','Tau ext codu 865 terra','', &
    101       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    102          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    103   type(ctrl_out),save :: o_taue865_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     100      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     101         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     102  type(ctrl_out),save :: o_taue865_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    104103  'taue865_scdu_terra','Tau ext scdu 865 terra','', &
    105       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    106          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    107 
    108   type(ctrl_out),save :: o_taue550_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     104      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     105         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     106
     107  type(ctrl_out),save :: o_taue550_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    109108  'taue550_aqua','Tau ext 550 aqua','', &
    110       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    111          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    112   type(ctrl_out),save :: o_taue550_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     109      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     110         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     111  type(ctrl_out),save :: o_taue550_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    113112  'taue550_fine_aqua','Tau ext fine 550 aqua','', &
    114       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    115          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    116   type(ctrl_out),save :: o_taue550_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     113      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     114         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     115  type(ctrl_out),save :: o_taue550_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    117116  'taue550_coss_aqua','Tau ext coss 550 aqua','', &
    118       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    119          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    120   type(ctrl_out),save :: o_taue550_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     117      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     118         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     119  type(ctrl_out),save :: o_taue550_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    121120  'taue550_codu_aqua','Tau ext codu 550 aqua','', &
    122       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    123          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    124   type(ctrl_out),save :: o_taue550_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     121      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     122         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     123  type(ctrl_out),save :: o_taue550_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    125124  'taue550_scdu_aqua','Tau ext scdu 550 aqua','', &
    126       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    127          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    128 
    129   type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     125      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     126         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     127
     128  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    130129  'taue670_aqua','Tau ext 670 aqua','', &
    131       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    132          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    133   type(ctrl_out),save :: o_taue670_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     130      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     131         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     132  type(ctrl_out),save :: o_taue670_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    134133  'taue670_fine_aqua','Tau ext fine 670 aqua','', &
    135       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    136          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    137   type(ctrl_out),save :: o_taue670_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     134      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     135         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     136  type(ctrl_out),save :: o_taue670_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    138137  'taue670_coss_aqua','Tau ext coss 670 aqua','', &
    139       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    140          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    141   type(ctrl_out),save :: o_taue670_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     138      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     139         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     140  type(ctrl_out),save :: o_taue670_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    142141  'taue670_codu_aqua','Tau ext codu 670 aqua','', &
    143       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    144          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    145   type(ctrl_out),save :: o_taue670_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     142      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     143         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     144  type(ctrl_out),save :: o_taue670_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    146145  'taue670_scdu_aqua','Tau ext scdu 670 aqua','', &
    147       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    148          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    149 
    150   type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     146      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     147         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     148
     149  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    151150  'taue865_aqua','Tau ext 865 aqua','', &
    152       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    153          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    154   type(ctrl_out),save :: o_taue865_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     151      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     152         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     153  type(ctrl_out),save :: o_taue865_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    155154  'taue865_fine_aqua','Tau ext fine 865 aqua','', &
    156       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    157          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    158   type(ctrl_out),save :: o_taue865_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     155      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     156         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     157  type(ctrl_out),save :: o_taue865_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    159158  'taue865_coss_aqua','Tau ext coss 865 aqua','', &
    160       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    161          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    162   type(ctrl_out),save :: o_taue865_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     159      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     160         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     161  type(ctrl_out),save :: o_taue865_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    163162  'taue865_codu_aqua','Tau ext codu 865 aqua','', &
    164       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    165          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    166   type(ctrl_out),save :: o_taue865_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     163      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     164         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     165  type(ctrl_out),save :: o_taue865_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    167166  'taue865_scdu_aqua','Tau ext scdu 865 aqua','', &
    168       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    169          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    170 
    171 
    172 
    173 !  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     167      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
     168         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     169
     170!  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    174171!  'taue550_terra','Tau ext 550 terra','', &
    175 !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     172!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
    176173!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    177174!
    178 !  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     175!  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    179176!  'taue670_aqua','Tau ext 670 aqua','', &
    180 !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     177!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
    181178!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    182179!
    183 !  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     180!  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    184181!  'taue670_terra','Tau ext 670 terra','', &
    185 !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     182!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
    186183!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    187184!
    188 !  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     185!  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    189186!  'taue865_aqua','Tau ext 865 aqua','', &
    190 !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     187!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
    191188!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    192189!
    193 !  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
     190!  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
    194191!  'taue865_terra','Tau ext 865 terra','', &
    195 !      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     192!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)',  &
    196193!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    197 
    198194       
    199   type(ctrl_out),save :: o_trm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    200   'trm01','Burden PREC','', (/ ('', i=1, 9) /))
    201   type(ctrl_out),save :: o_trm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    202   'trm02','Burden FINE','', (/ ('', i=1, 9) /))
    203   type(ctrl_out),save :: o_trm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    204   'trm03','Burden COSS','', (/ ('', i=1, 9) /))
    205   type(ctrl_out),save :: o_trm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    206   'trm04','Burden CODU','', (/ ('', i=1, 9) /))
    207   type(ctrl_out),save :: o_trm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    208   'trm05','Burden SCDU','', (/ ('', i=1, 9) /))
    209 
    210   type(ctrl_out),save :: o_sconc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    211   'sconc01','Surf. Conc. PREC','', (/ ('', i=1, 9) /))
    212   type(ctrl_out),save :: o_sconc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    213   'sconc02','Surf. Conc. FINE','', (/ ('', i=1, 9) /))
    214   type(ctrl_out),save :: o_sconc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    215   'sconc03','Surf. Conc. COSS','', (/ ('', i=1, 9) /))
    216   type(ctrl_out),save :: o_sconc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    217   'sconc04','Surf. Conc. CODU','', (/ ('', i=1, 9) /))
    218   type(ctrl_out),save :: o_sconc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    219   'sconc05','Surf. Conc. SCDU','', (/ ('', i=1, 9) /))
    220 
    221 
    222 
     195  type(ctrl_out),save :: o_trm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     196  'trm01','Burden PREC','', (/ ('', i=1, 10) /))
     197  type(ctrl_out),save :: o_trm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     198  'trm02','Burden FINE','', (/ ('', i=1, 10) /))
     199  type(ctrl_out),save :: o_trm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     200  'trm03','Burden COSS','', (/ ('', i=1, 10) /))
     201  type(ctrl_out),save :: o_trm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     202  'trm04','Burden CODU','', (/ ('', i=1, 10) /))
     203  type(ctrl_out),save :: o_trm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     204  'trm05','Burden SCDU','', (/ ('', i=1, 10) /))
     205
     206  type(ctrl_out),save :: o_sconc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     207  'sconc01','Surf. Conc. PREC','', (/ ('', i=1, 10) /))
     208  type(ctrl_out),save :: o_sconc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     209  'sconc02','Surf. Conc. FINE','', (/ ('', i=1, 10) /))
     210  type(ctrl_out),save :: o_sconc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     211  'sconc03','Surf. Conc. COSS','', (/ ('', i=1, 10) /))
     212  type(ctrl_out),save :: o_sconc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     213  'sconc04','Surf. Conc. CODU','', (/ ('', i=1, 10) /))
     214  type(ctrl_out),save :: o_sconc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     215  'sconc05','Surf. Conc. SCDU','', (/ ('', i=1, 10) /))
    223216
    224217!lessivage
    225218
    226   type(ctrl_out),save :: o_flux01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    227   'flux01','emission PREC','', (/ ('', i=1, 9) /))
    228   type(ctrl_out),save :: o_flux02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    229   'flux02','emission FINE','', (/ ('', i=1, 9) /))
    230   type(ctrl_out),save :: o_flux03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    231   'flux03','emission COSS','', (/ ('', i=1, 9) /))
    232   type(ctrl_out),save :: o_flux04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    233   'flux04','emission CODU','', (/ ('', i=1, 9) /))
    234   type(ctrl_out),save :: o_flux05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    235   'flux05','emission SCDU','', (/ ('', i=1, 9) /))
    236 
    237 
    238   type(ctrl_out),save :: o_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    239   'ds01','Depot sec PREC','', (/ ('', i=1, 9) /))
    240   type(ctrl_out),save :: o_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    241   'ds02','Depot sec FINE','', (/ ('', i=1, 9) /))
    242   type(ctrl_out),save :: o_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    243   'ds03','Depot sec COSS','', (/ ('', i=1, 9) /))
    244   type(ctrl_out),save :: o_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    245   'ds04','Depot sec CODU','', (/ ('', i=1, 9) /))
    246   type(ctrl_out),save :: o_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    247   'ds05','Depot sec SCDU','', (/ ('', i=1, 9) /))
    248 
    249   type(ctrl_out),save :: o_dh01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    250   'dh01','Depot hum PREC','', (/ ('', i=1, 9) /))
    251   type(ctrl_out),save :: o_dh02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    252   'dh02','Depot hum FINE','', (/ ('', i=1, 9) /))
    253   type(ctrl_out),save :: o_dh03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    254   'dh03','Depot hum COSS','', (/ ('', i=1, 9) /))
    255   type(ctrl_out),save :: o_dh04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    256   'dh04','Depot hum CODU','', (/ ('', i=1, 9) /))
    257   type(ctrl_out),save :: o_dh05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    258   'dh05','Depot hum SCDU','', (/ ('', i=1, 9) /))
    259 
    260   type(ctrl_out),save :: o_dtrconv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    261   'dtrconv01','Tiedke convective PREC','', (/ ('', i=1, 9) /))
    262   type(ctrl_out),save :: o_dtrconv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    263   'dtrconv02','Tiedke convective FINE','', (/ ('', i=1, 9) /))
    264   type(ctrl_out),save :: o_dtrconv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    265   'dtrconv03','Tiedke convective COSS','', (/ ('', i=1, 9) /))
    266   type(ctrl_out),save :: o_dtrconv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    267   'dtrconv04','Tiedke convective CODU','', (/ ('', i=1, 9) /))
    268   type(ctrl_out),save :: o_dtrconv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    269   'dtrconv05','Tiedke convective SCDU','', (/ ('', i=1, 9) /))
    270 
    271   type(ctrl_out),save :: o_dtherm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    272   'dtherm01','Thermals dtracer PREC','', (/ ('', i=1, 9) /))
    273   type(ctrl_out),save :: o_dtherm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    274   'dtherm02','Thermals dtracer FINE','', (/ ('', i=1, 9) /))
    275   type(ctrl_out),save :: o_dtherm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    276   'dtherm03','Thermals dtracer COSS','', (/ ('', i=1, 9) /))
    277   type(ctrl_out),save :: o_dtherm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    278   'dtherm04','Thermals dtracer CODU','', (/ ('', i=1, 9) /))
    279   type(ctrl_out),save :: o_dtherm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    280   'dtherm05','Thermals dtracer SCDU','', (/ ('', i=1, 9) /))
    281 
    282   type(ctrl_out),save :: o_dhkecv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    283   'dhkecv01','KE dep hum convective PREC','', (/ ('', i=1, 9) /))
    284   type(ctrl_out),save :: o_dhkecv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    285   'dhkecv02','KE dep hum convective FINE','', (/ ('', i=1, 9) /))
    286   type(ctrl_out),save :: o_dhkecv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    287   'dhkecv03','KE dep hum convective COSS','', (/ ('', i=1, 9) /))
    288   type(ctrl_out),save :: o_dhkecv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    289   'dhkecv04','KE dep hum convective CODU','', (/ ('', i=1, 9) /))
    290   type(ctrl_out),save :: o_dhkecv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    291   'dhkecv05','KE dep hum convective SCDU','', (/ ('', i=1, 9) /))
     219  type(ctrl_out),save :: o_flux01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     220  'flux01','emission PREC','', (/ ('', i=1, 10) /))
     221  type(ctrl_out),save :: o_flux02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     222  'flux02','emission FINE','', (/ ('', i=1, 10) /))
     223  type(ctrl_out),save :: o_flux03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     224  'flux03','emission COSS','', (/ ('', i=1, 10) /))
     225  type(ctrl_out),save :: o_flux04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     226  'flux04','emission CODU','', (/ ('', i=1, 10) /))
     227  type(ctrl_out),save :: o_flux05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     228  'flux05','emission SCDU','', (/ ('', i=1, 10) /))
     229
     230  type(ctrl_out),save :: o_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     231  'ds01','Depot sec PREC','', (/ ('', i=1, 10) /))
     232  type(ctrl_out),save :: o_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     233  'ds02','Depot sec FINE','', (/ ('', i=1, 10) /))
     234  type(ctrl_out),save :: o_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     235  'ds03','Depot sec COSS','', (/ ('', i=1, 10) /))
     236  type(ctrl_out),save :: o_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     237  'ds04','Depot sec CODU','', (/ ('', i=1, 10) /))
     238  type(ctrl_out),save :: o_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     239  'ds05','Depot sec SCDU','', (/ ('', i=1, 10) /))
     240
     241  type(ctrl_out),save :: o_dh01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     242  'dh01','Depot hum PREC','', (/ ('', i=1, 10) /))
     243  type(ctrl_out),save :: o_dh02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     244  'dh02','Depot hum FINE','', (/ ('', i=1, 10) /))
     245  type(ctrl_out),save :: o_dh03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     246  'dh03','Depot hum COSS','', (/ ('', i=1, 10) /))
     247  type(ctrl_out),save :: o_dh04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     248  'dh04','Depot hum CODU','', (/ ('', i=1, 10) /))
     249  type(ctrl_out),save :: o_dh05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     250  'dh05','Depot hum SCDU','', (/ ('', i=1, 10) /))
     251
     252  type(ctrl_out),save :: o_dtrconv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     253  'dtrconv01','Tiedke convective PREC','', (/ ('', i=1, 10) /))
     254  type(ctrl_out),save :: o_dtrconv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     255  'dtrconv02','Tiedke convective FINE','', (/ ('', i=1, 10) /))
     256  type(ctrl_out),save :: o_dtrconv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     257  'dtrconv03','Tiedke convective COSS','', (/ ('', i=1, 10) /))
     258  type(ctrl_out),save :: o_dtrconv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     259  'dtrconv04','Tiedke convective CODU','', (/ ('', i=1, 10) /))
     260  type(ctrl_out),save :: o_dtrconv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     261  'dtrconv05','Tiedke convective SCDU','', (/ ('', i=1, 10) /))
     262
     263  type(ctrl_out),save :: o_dtherm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     264  'dtherm01','Thermals dtracer PREC','', (/ ('', i=1, 10) /))
     265  type(ctrl_out),save :: o_dtherm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     266  'dtherm02','Thermals dtracer FINE','', (/ ('', i=1, 10) /))
     267  type(ctrl_out),save :: o_dtherm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     268  'dtherm03','Thermals dtracer COSS','', (/ ('', i=1, 10) /))
     269  type(ctrl_out),save :: o_dtherm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     270  'dtherm04','Thermals dtracer CODU','', (/ ('', i=1, 10) /))
     271  type(ctrl_out),save :: o_dtherm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     272  'dtherm05','Thermals dtracer SCDU','', (/ ('', i=1, 10) /))
     273
     274  type(ctrl_out),save :: o_dhkecv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     275  'dhkecv01','KE dep hum convective PREC','', (/ ('', i=1, 10) /))
     276  type(ctrl_out),save :: o_dhkecv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     277  'dhkecv02','KE dep hum convective FINE','', (/ ('', i=1, 10) /))
     278  type(ctrl_out),save :: o_dhkecv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     279  'dhkecv03','KE dep hum convective COSS','', (/ ('', i=1, 10) /))
     280  type(ctrl_out),save :: o_dhkecv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     281  'dhkecv04','KE dep hum convective CODU','', (/ ('', i=1, 10) /))
     282  type(ctrl_out),save :: o_dhkecv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     283  'dhkecv05','KE dep hum convective SCDU','', (/ ('', i=1, 10) /))
    292284
    293285!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    294   type(ctrl_out),save :: o_d_tr_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    295   'd_tr_ds01','Tendance dep sec  PREC','', (/ ('', i=1, 9) /))
    296   type(ctrl_out),save :: o_d_tr_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    297   'd_tr_ds02','Tendance dep sec FINE','', (/ ('', i=1, 9) /))
    298   type(ctrl_out),save :: o_d_tr_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    299   'd_tr_ds03','Tendance dep sec COSS','', (/ ('', i=1, 9) /))
    300   type(ctrl_out),save :: o_d_tr_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    301   'd_tr_ds04','Tendance depot sec CODU','', (/ ('', i=1, 9) /))
    302   type(ctrl_out),save :: o_d_tr_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    303   'd_tr_ds05','Tendance dep sec SCDU','', (/ ('', i=1, 9) /))
     286  type(ctrl_out),save :: o_d_tr_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     287  'd_tr_ds01','Tendance dep sec  PREC','', (/ ('', i=1, 10) /))
     288  type(ctrl_out),save :: o_d_tr_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     289  'd_tr_ds02','Tendance dep sec FINE','', (/ ('', i=1, 10) /))
     290  type(ctrl_out),save :: o_d_tr_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     291  'd_tr_ds03','Tendance dep sec COSS','', (/ ('', i=1, 10) /))
     292  type(ctrl_out),save :: o_d_tr_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     293  'd_tr_ds04','Tendance depot sec CODU','', (/ ('', i=1, 10) /))
     294  type(ctrl_out),save :: o_d_tr_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     295  'd_tr_ds05','Tendance dep sec SCDU','', (/ ('', i=1, 10) /))
    304296!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    305297
    306   type(ctrl_out),save :: o_dhkelsc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    307   'dhkelsc01','KE dep hum large scale PREC','', (/ ('', i=1, 9) /))
    308   type(ctrl_out),save :: o_dhkelsc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    309   'dhkelsc02','KE dep hum large scale FINE','', (/ ('', i=1, 9) /))
    310   type(ctrl_out),save :: o_dhkelsc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    311   'dhkelsc03','KE dep hum large scale COSS','', (/ ('', i=1, 9) /))
    312   type(ctrl_out),save :: o_dhkelsc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    313   'dhkelsc04','KE dep hum large scale CODU','', (/ ('', i=1, 9) /))
    314   type(ctrl_out),save :: o_dhkelsc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    315   'dhkelsc05','KE dep hum large scale SCDU','', (/ ('', i=1, 9) /))
    316 
    317 
    318   type(ctrl_out),save :: o_d_tr_cv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    319   'd_tr_cv01','cvltr d_tr_cv PREC','', (/ ('', i=1, 9) /))
    320   type(ctrl_out),save :: o_d_tr_cv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    321   'd_tr_cv02','cvltr d_tr_cv FINE','', (/ ('', i=1, 9) /))
    322   type(ctrl_out),save :: o_d_tr_cv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    323   'd_tr_cv03','cvltr d_tr_cv COSS','', (/ ('', i=1, 9) /))
    324   type(ctrl_out),save :: o_d_tr_cv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    325   'd_tr_cv04','cvltr d_tr_cv CODU','', (/ ('', i=1, 9) /))
    326   type(ctrl_out),save :: o_d_tr_cv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    327   'd_tr_cv05','cvltr d_tr_cv SCDU','', (/ ('', i=1, 9) /))
    328 
    329 
    330   type(ctrl_out),save :: o_d_tr_trsp01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    331   'd_tr_trsp01','cvltr d_tr_trsp PREC','', (/ ('', i=1, 9) /))
    332   type(ctrl_out),save :: o_d_tr_trsp02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    333   'd_tr_trsp02','cvltr d_tr_trsp FINE','', (/ ('', i=1, 9) /))
    334   type(ctrl_out),save :: o_d_tr_trsp03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    335   'd_tr_trsp03','cvltr d_tr_trsp COSS','', (/ ('', i=1, 9) /))
    336   type(ctrl_out),save :: o_d_tr_trsp04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    337   'd_tr_trsp04','cvltr d_tr_trsp CODU','', (/ ('', i=1, 9) /))
    338   type(ctrl_out),save :: o_d_tr_trsp05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    339   'd_tr_trsp05','cvltr d_tr_trsp SCDU','', (/ ('', i=1, 9) /))
    340 
    341 
    342   type(ctrl_out),save :: o_d_tr_sscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    343   'd_tr_sscav01','cvltr d_tr_sscav PREC','', (/ ('', i=1, 9) /))
    344   type(ctrl_out),save :: o_d_tr_sscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    345   'd_tr_sscav02','cvltr d_tr_sscav FINE','', (/ ('', i=1, 9) /))
    346   type(ctrl_out),save :: o_d_tr_sscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    347   'd_tr_sscav03','cvltr d_tr_sscav COSS','', (/ ('', i=1, 9) /))
    348   type(ctrl_out),save :: o_d_tr_sscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    349   'd_tr_sscav04','cvltr d_tr_sscav CODU','', (/ ('', i=1, 9) /))
    350   type(ctrl_out),save :: o_d_tr_sscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    351   'd_tr_sscav05','cvltr d_tr_sscav SCDU','', (/ ('', i=1, 9) /))
    352 
    353   type(ctrl_out),save :: o_d_tr_sat01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    354   'd_tr_sat01','cvltr d_tr_sat PREC','', (/ ('', i=1, 9) /))
    355   type(ctrl_out),save :: o_d_tr_sat02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    356   'd_tr_sat02','cvltr d_tr_sat FINE','', (/ ('', i=1, 9) /))
    357   type(ctrl_out),save :: o_d_tr_sat03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    358   'd_tr_sat03','cvltr d_tr_sat COSS','', (/ ('', i=1, 9) /))
    359   type(ctrl_out),save :: o_d_tr_sat04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    360   'd_tr_sat04','cvltr d_tr_sat CODU','', (/ ('', i=1, 9) /))
    361   type(ctrl_out),save :: o_d_tr_sat05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    362   'd_tr_sat05','cvltr d_tr_sat SCDU','', (/ ('', i=1, 9) /))
    363 
    364   type(ctrl_out),save :: o_d_tr_uscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    365   'd_tr_uscav01','cvltr d_tr_uscav PREC','', (/ ('', i=1, 9) /))
    366   type(ctrl_out),save :: o_d_tr_uscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    367   'd_tr_uscav02','cvltr d_tr_uscav FINE','', (/ ('', i=1, 9) /))
    368   type(ctrl_out),save :: o_d_tr_uscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    369   'd_tr_uscav03','cvltr d_tr_uscav COSS','', (/ ('', i=1, 9) /))
    370   type(ctrl_out),save :: o_d_tr_uscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    371   'd_tr_uscav04','cvltr d_tr_uscav CODU','', (/ ('', i=1, 9) /))
    372   type(ctrl_out),save :: o_d_tr_uscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    373   'd_tr_uscav05','cvltr d_tr_uscav SCDU','', (/ ('', i=1, 9) /))
     298  type(ctrl_out),save :: o_dhkelsc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     299  'dhkelsc01','KE dep hum large scale PREC','', (/ ('', i=1, 10) /))
     300  type(ctrl_out),save :: o_dhkelsc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     301  'dhkelsc02','KE dep hum large scale FINE','', (/ ('', i=1, 10) /))
     302  type(ctrl_out),save :: o_dhkelsc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     303  'dhkelsc03','KE dep hum large scale COSS','', (/ ('', i=1, 10) /))
     304  type(ctrl_out),save :: o_dhkelsc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     305  'dhkelsc04','KE dep hum large scale CODU','', (/ ('', i=1, 10) /))
     306  type(ctrl_out),save :: o_dhkelsc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     307  'dhkelsc05','KE dep hum large scale SCDU','', (/ ('', i=1, 10) /))
     308
     309  type(ctrl_out),save :: o_d_tr_cv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     310  'd_tr_cv01','cvltr d_tr_cv PREC','', (/ ('', i=1, 10) /))
     311  type(ctrl_out),save :: o_d_tr_cv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     312  'd_tr_cv02','cvltr d_tr_cv FINE','', (/ ('', i=1, 10) /))
     313  type(ctrl_out),save :: o_d_tr_cv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     314  'd_tr_cv03','cvltr d_tr_cv COSS','', (/ ('', i=1, 10) /))
     315  type(ctrl_out),save :: o_d_tr_cv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     316  'd_tr_cv04','cvltr d_tr_cv CODU','', (/ ('', i=1, 10) /))
     317  type(ctrl_out),save :: o_d_tr_cv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     318  'd_tr_cv05','cvltr d_tr_cv SCDU','', (/ ('', i=1, 10) /))
     319
     320  type(ctrl_out),save :: o_d_tr_trsp01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     321  'd_tr_trsp01','cvltr d_tr_trsp PREC','', (/ ('', i=1, 10) /))
     322  type(ctrl_out),save :: o_d_tr_trsp02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     323  'd_tr_trsp02','cvltr d_tr_trsp FINE','', (/ ('', i=1, 10) /))
     324  type(ctrl_out),save :: o_d_tr_trsp03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     325  'd_tr_trsp03','cvltr d_tr_trsp COSS','', (/ ('', i=1, 10) /))
     326  type(ctrl_out),save :: o_d_tr_trsp04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     327  'd_tr_trsp04','cvltr d_tr_trsp CODU','', (/ ('', i=1, 10) /))
     328  type(ctrl_out),save :: o_d_tr_trsp05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     329  'd_tr_trsp05','cvltr d_tr_trsp SCDU','', (/ ('', i=1, 10) /))
     330
     331  type(ctrl_out),save :: o_d_tr_sscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     332  'd_tr_sscav01','cvltr d_tr_sscav PREC','', (/ ('', i=1, 10) /))
     333  type(ctrl_out),save :: o_d_tr_sscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     334  'd_tr_sscav02','cvltr d_tr_sscav FINE','', (/ ('', i=1, 10) /))
     335  type(ctrl_out),save :: o_d_tr_sscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     336  'd_tr_sscav03','cvltr d_tr_sscav COSS','', (/ ('', i=1, 10) /))
     337  type(ctrl_out),save :: o_d_tr_sscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     338  'd_tr_sscav04','cvltr d_tr_sscav CODU','', (/ ('', i=1, 10) /))
     339  type(ctrl_out),save :: o_d_tr_sscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     340  'd_tr_sscav05','cvltr d_tr_sscav SCDU','', (/ ('', i=1, 10) /))
     341
     342  type(ctrl_out),save :: o_d_tr_sat01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     343  'd_tr_sat01','cvltr d_tr_sat PREC','', (/ ('', i=1, 10) /))
     344  type(ctrl_out),save :: o_d_tr_sat02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     345  'd_tr_sat02','cvltr d_tr_sat FINE','', (/ ('', i=1, 10) /))
     346  type(ctrl_out),save :: o_d_tr_sat03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     347  'd_tr_sat03','cvltr d_tr_sat COSS','', (/ ('', i=1, 10) /))
     348  type(ctrl_out),save :: o_d_tr_sat04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     349  'd_tr_sat04','cvltr d_tr_sat CODU','', (/ ('', i=1, 10) /))
     350  type(ctrl_out),save :: o_d_tr_sat05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     351  'd_tr_sat05','cvltr d_tr_sat SCDU','', (/ ('', i=1, 10) /))
     352
     353  type(ctrl_out),save :: o_d_tr_uscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     354  'd_tr_uscav01','cvltr d_tr_uscav PREC','', (/ ('', i=1, 10) /))
     355  type(ctrl_out),save :: o_d_tr_uscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     356  'd_tr_uscav02','cvltr d_tr_uscav FINE','', (/ ('', i=1, 10) /))
     357  type(ctrl_out),save :: o_d_tr_uscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     358  'd_tr_uscav03','cvltr d_tr_uscav COSS','', (/ ('', i=1, 10) /))
     359  type(ctrl_out),save :: o_d_tr_uscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     360  'd_tr_uscav04','cvltr d_tr_uscav CODU','', (/ ('', i=1, 10) /))
     361  type(ctrl_out),save :: o_d_tr_uscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     362  'd_tr_uscav05','cvltr d_tr_uscav SCDU','', (/ ('', i=1, 10) /))
    374363
    375364!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     365  type(ctrl_out),save :: o_d_tr_insc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     366  'd_tr_insc01','large-scale d_tr_insc PREC','', (/ ('', i=1, 10) /))
     367  type(ctrl_out),save :: o_d_tr_insc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     368  'd_tr_insc02','large-scale d_tr_insc FINE','', (/ ('', i=1, 10) /))
     369  type(ctrl_out),save :: o_d_tr_insc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     370  'd_tr_insc03','large-scale d_tr_insc COSS','', (/ ('', i=1, 10) /))
     371  type(ctrl_out),save :: o_d_tr_insc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     372  'd_tr_insc04','large-scale d_tr_insc CODU','', (/ ('', i=1, 10) /))
     373  type(ctrl_out),save :: o_d_tr_insc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     374  'd_tr_insc05','large-scale d_tr_insc SCDU','', (/ ('', i=1, 10) /))
    376375                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    377   type(ctrl_out),save :: o_d_tr_insc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    378   'd_tr_insc01','large-scale d_tr_insc PREC','', (/ ('', i=1, 9) /))
    379   type(ctrl_out),save :: o_d_tr_insc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    380   'd_tr_insc02','large-scale d_tr_insc FINE','', (/ ('', i=1, 9) /))
    381   type(ctrl_out),save :: o_d_tr_insc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    382   'd_tr_insc03','large-scale d_tr_insc COSS','', (/ ('', i=1, 9) /))
    383   type(ctrl_out),save :: o_d_tr_insc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    384   'd_tr_insc04','large-scale d_tr_insc CODU','', (/ ('', i=1, 9) /))
    385   type(ctrl_out),save :: o_d_tr_insc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    386   'd_tr_insc05','large-scale d_tr_insc SCDU','', (/ ('', i=1, 9) /))
     376  type(ctrl_out),save :: o_d_tr_bcscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     377  'd_tr_bcscav01','large-scale d_tr_bcscav PREC','', (/ ('', i=1, 10) /))
     378  type(ctrl_out),save :: o_d_tr_bcscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     379  'd_tr_bcscav02','large-scale d_tr_bcscav FINE','', (/ ('', i=1, 10) /))
     380  type(ctrl_out),save :: o_d_tr_bcscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     381  'd_tr_bcscav03','large-scale d_tr_bcscav COSS','', (/ ('', i=1, 10) /))
     382  type(ctrl_out),save :: o_d_tr_bcscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     383  'd_tr_bcscav04','large-scale d_tr_bcscav CODU','', (/ ('', i=1, 10) /))
     384  type(ctrl_out),save :: o_d_tr_bcscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     385  'd_tr_bcscav05','large-scale d_tr_bcscav SCDU','', (/ ('', i=1, 10) /))
    387386                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    388   type(ctrl_out),save :: o_d_tr_bcscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    389   'd_tr_bcscav01','large-scale d_tr_bcscav PREC','', (/ ('', i=1, 9) /))
    390   type(ctrl_out),save :: o_d_tr_bcscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    391   'd_tr_bcscav02','large-scale d_tr_bcscav FINE','', (/ ('', i=1, 9) /))
    392   type(ctrl_out),save :: o_d_tr_bcscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    393   'd_tr_bcscav03','large-scale d_tr_bcscav COSS','', (/ ('', i=1, 9) /))
    394   type(ctrl_out),save :: o_d_tr_bcscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    395   'd_tr_bcscav04','large-scale d_tr_bcscav CODU','', (/ ('', i=1, 9) /))
    396   type(ctrl_out),save :: o_d_tr_bcscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    397   'd_tr_bcscav05','large-scale d_tr_bcscav SCDU','', (/ ('', i=1, 9) /))
     387  type(ctrl_out),save :: o_d_tr_evapls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     388  'd_tr_evapls01','large-scale d_tr_evapls PREC','', (/ ('', i=1, 10) /))
     389  type(ctrl_out),save :: o_d_tr_evapls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     390  'd_tr_evapls02','large-scale d_tr_evapls FINE','', (/ ('', i=1, 10) /))
     391  type(ctrl_out),save :: o_d_tr_evapls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     392  'd_tr_evapls03','large-scale d_tr_evapls COSS','', (/ ('', i=1, 10) /))
     393  type(ctrl_out),save :: o_d_tr_evapls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     394  'd_tr_evapls04','large-scale d_tr_evapls CODU','', (/ ('', i=1, 10) /))
     395  type(ctrl_out),save :: o_d_tr_evapls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     396  'd_tr_evapls05','large-scale d_tr_evapls SCDU','', (/ ('', i=1, 10) /))
    398397                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    399   type(ctrl_out),save :: o_d_tr_evapls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    400   'd_tr_evapls01','large-scale d_tr_evapls PREC','', (/ ('', i=1, 9) /))
    401   type(ctrl_out),save :: o_d_tr_evapls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    402   'd_tr_evapls02','large-scale d_tr_evapls FINE','', (/ ('', i=1, 9) /))
    403   type(ctrl_out),save :: o_d_tr_evapls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    404   'd_tr_evapls03','large-scale d_tr_evapls COSS','', (/ ('', i=1, 9) /))
    405   type(ctrl_out),save :: o_d_tr_evapls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    406   'd_tr_evapls04','large-scale d_tr_evapls CODU','', (/ ('', i=1, 9) /))
    407   type(ctrl_out),save :: o_d_tr_evapls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    408   'd_tr_evapls05','large-scale d_tr_evapls SCDU','', (/ ('', i=1, 9) /))
     398  type(ctrl_out),save :: o_d_tr_ls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     399  'd_tr_ls01','large-scale d_tr_ls PREC','', (/ ('', i=1, 10) /))
     400  type(ctrl_out),save :: o_d_tr_ls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     401  'd_tr_ls02','large-scale d_tr_ls FINE','', (/ ('', i=1, 10) /))
     402  type(ctrl_out),save :: o_d_tr_ls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     403  'd_tr_ls03','large-scale d_tr_ls COSS','', (/ ('', i=1, 10) /))
     404  type(ctrl_out),save :: o_d_tr_ls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     405  'd_tr_ls04','large-scale d_tr_ls CODU','', (/ ('', i=1, 10) /))
     406  type(ctrl_out),save :: o_d_tr_ls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     407  'd_tr_ls05','large-scale d_tr_ls SCDU','', (/ ('', i=1, 10) /))
    409408                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    410   type(ctrl_out),save :: o_d_tr_ls01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    411   'd_tr_ls01','large-scale d_tr_ls PREC','', (/ ('', i=1, 9) /))
    412   type(ctrl_out),save :: o_d_tr_ls02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    413   'd_tr_ls02','large-scale d_tr_ls FINE','', (/ ('', i=1, 9) /))
    414   type(ctrl_out),save :: o_d_tr_ls03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    415   'd_tr_ls03','large-scale d_tr_ls COSS','', (/ ('', i=1, 9) /))
    416   type(ctrl_out),save :: o_d_tr_ls04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    417   'd_tr_ls04','large-scale d_tr_ls CODU','', (/ ('', i=1, 9) /))
    418   type(ctrl_out),save :: o_d_tr_ls05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    419   'd_tr_ls05','large-scale d_tr_ls SCDU','', (/ ('', i=1, 9) /))
     409  type(ctrl_out),save :: o_d_tr_dyn01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     410  'd_tr_dyn01','cvltr d_tr_dyn PREC','', (/ ('', i=1, 10) /))
     411  type(ctrl_out),save :: o_d_tr_dyn02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     412  'd_tr_dyn02','cvltr d_tr_dyn FINE','', (/ ('', i=1, 10) /))
     413  type(ctrl_out),save :: o_d_tr_dyn03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     414  'd_tr_dyn03','cvltr d_tr_dyn COSS','', (/ ('', i=1, 10) /))
     415  type(ctrl_out),save :: o_d_tr_dyn04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     416  'd_tr_dyn04','cvltr d_tr_dyn CODU','', (/ ('', i=1, 10) /))
     417  type(ctrl_out),save :: o_d_tr_dyn05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     418  'd_tr_dyn05','cvltr d_tr_dyn SCDU','', (/ ('', i=1, 10) /))
    420419                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    421 
    422 
     420  type(ctrl_out),save :: o_d_tr_cl01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     421  'd_tr_cl01','cvltr d_tr_cl PREC','', (/ ('', i=1, 10) /))
     422  type(ctrl_out),save :: o_d_tr_cl02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     423  'd_tr_cl02','cvltr d_tr_cl FINE','', (/ ('', i=1, 10) /))
     424  type(ctrl_out),save :: o_d_tr_cl03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     425  'd_tr_cl03','cvltr d_tr_cl COSS','', (/ ('', i=1, 10) /))
     426  type(ctrl_out),save :: o_d_tr_cl04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     427  'd_tr_cl04','cvltr d_tr_cl CODU','', (/ ('', i=1, 10) /))
     428  type(ctrl_out),save :: o_d_tr_cl05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     429  'd_tr_cl05','cvltr d_tr_cl SCDU','', (/ ('', i=1, 10) /))
    423430                !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    424   type(ctrl_out),save :: o_d_tr_dyn01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    425   'd_tr_dyn01','cvltr d_tr_dyn PREC','', (/ ('', i=1, 9) /))
    426   type(ctrl_out),save :: o_d_tr_dyn02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    427   'd_tr_dyn02','cvltr d_tr_dyn FINE','', (/ ('', i=1, 9) /))
    428   type(ctrl_out),save :: o_d_tr_dyn03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    429   'd_tr_dyn03','cvltr d_tr_dyn COSS','', (/ ('', i=1, 9) /))
    430   type(ctrl_out),save :: o_d_tr_dyn04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    431   'd_tr_dyn04','cvltr d_tr_dyn CODU','', (/ ('', i=1, 9) /))
    432   type(ctrl_out),save :: o_d_tr_dyn05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    433   'd_tr_dyn05','cvltr d_tr_dyn SCDU','', (/ ('', i=1, 9) /))
    434                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    435                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    436   type(ctrl_out),save :: o_d_tr_cl01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    437   'd_tr_cl01','cvltr d_tr_cl PREC','', (/ ('', i=1, 9) /))
    438   type(ctrl_out),save :: o_d_tr_cl02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    439   'd_tr_cl02','cvltr d_tr_cl FINE','', (/ ('', i=1, 9) /))
    440   type(ctrl_out),save :: o_d_tr_cl03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    441   'd_tr_cl03','cvltr d_tr_cl COSS','', (/ ('', i=1, 9) /))
    442   type(ctrl_out),save :: o_d_tr_cl04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    443   'd_tr_cl04','cvltr d_tr_cl CODU','', (/ ('', i=1, 9) /))
    444   type(ctrl_out),save :: o_d_tr_cl05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    445   'd_tr_cl05','cvltr d_tr_cl SCDU','', (/ ('', i=1, 9) /))
    446                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    447   type(ctrl_out),save :: o_d_tr_th01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    448   'd_tr_th01','cvltr d_tr_th PREC','', (/ ('', i=1, 9) /))
    449   type(ctrl_out),save :: o_d_tr_th02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    450   'd_tr_th02','cvltr d_tr_th FINE','', (/ ('', i=1, 9) /))
    451   type(ctrl_out),save :: o_d_tr_th03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    452   'd_tr_th03','cvltr d_tr_th COSS','', (/ ('', i=1, 9) /))
    453   type(ctrl_out),save :: o_d_tr_th04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    454   'd_tr_th04','cvltr d_tr_th CODU','', (/ ('', i=1, 9) /))
    455   type(ctrl_out),save :: o_d_tr_th05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    456   'd_tr_th05','cvltr d_tr_th SCDU','', (/ ('', i=1, 9) /))
    457                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    458 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     431  type(ctrl_out),save :: o_d_tr_th01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     432  'd_tr_th01','cvltr d_tr_th PREC','', (/ ('', i=1, 10) /))
     433  type(ctrl_out),save :: o_d_tr_th02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     434  'd_tr_th02','cvltr d_tr_th FINE','', (/ ('', i=1, 10) /))
     435  type(ctrl_out),save :: o_d_tr_th03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     436  'd_tr_th03','cvltr d_tr_th COSS','', (/ ('', i=1, 10) /))
     437  type(ctrl_out),save :: o_d_tr_th04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     438  'd_tr_th04','cvltr d_tr_th CODU','', (/ ('', i=1, 10) /))
     439  type(ctrl_out),save :: o_d_tr_th05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     440  'd_tr_th05','cvltr d_tr_th SCDU','', (/ ('', i=1, 10) /))
    459441!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    460   type(ctrl_out),save :: o_sed_ss3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    461   'sed_ss3D','Tendance Sedmet. COSS','', (/ ('', i=1, 9) /))
    462   type(ctrl_out),save :: o_sed_dust3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    463   'sed_dust3D','Tendance Sedmet. CODU','', (/ ('', i=1, 9) /))
    464   type(ctrl_out),save :: o_sed_dustsco3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    465   'sed_dustsco3D','Tendance Sedmet. SCDU','', (/ ('', i=1, 9) /))
     442  type(ctrl_out),save :: o_sed_ss3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     443  'sed_ss3D','Tendance Sedmet. COSS','', (/ ('', i=1, 10) /))
     444  type(ctrl_out),save :: o_sed_dust3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     445  'sed_dust3D','Tendance Sedmet. CODU','', (/ ('', i=1, 10) /))
     446  type(ctrl_out),save :: o_sed_dustsco3D     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     447  'sed_dustsco3D','Tendance Sedmet. SCDU','', (/ ('', i=1, 10) /))
    466448!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    467 
    468   type(ctrl_out),save :: o_sed_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    469   'sed_ss','Sedmet. COSS','', (/ ('', i=1, 9) /))
    470   type(ctrl_out),save :: o_sed_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    471   'sed_dust','Sedmet. CODU','', (/ ('', i=1, 9) /))
    472   type(ctrl_out),save :: o_sed_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    473   'sed_dustsco','Sedmet. SCDU','', (/ ('', i=1, 9) /))
    474   type(ctrl_out),save :: o_g2p_gas     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    475   'g2p_gas','Gas2particle gas sink','', (/ ('', i=1, 9) /))
    476   type(ctrl_out),save :: o_g2p_aer     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    477   'g2p_aer','Gas2particle tr2 src','', (/ ('', i=1, 9) /))
    478 
     449  type(ctrl_out),save :: o_sed_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     450  'sed_ss','Sedmet. COSS','', (/ ('', i=1, 10) /))
     451  type(ctrl_out),save :: o_sed_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     452  'sed_dust','Sedmet. CODU','', (/ ('', i=1, 10) /))
     453  type(ctrl_out),save :: o_sed_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     454  'sed_dustsco','Sedmet. SCDU','', (/ ('', i=1, 10) /))
     455  type(ctrl_out),save :: o_g2p_gas     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     456  'g2p_gas','Gas2particle gas sink','', (/ ('', i=1, 10) /))
     457  type(ctrl_out),save :: o_g2p_aer     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     458  'g2p_aer','Gas2particle tr2 src','', (/ ('', i=1, 10) /))
    479459!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    480460! histrac
    481461
    482   type(ctrl_out),save :: o_fluxbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    483   'fluxbb','Flux BB','mg/m2/s', (/ ('', i=1, 9) /))
    484 
    485   type(ctrl_out),save :: o_fluxff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    486   'fluxff','Flux FF','mg/m2/s', (/ ('', i=1, 9) /))
    487 
    488   type(ctrl_out),save :: o_fluxbcbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    489   'fluxbcbb','Flux BC-BB','mg/m2/s', (/ ('', i=1, 9) /))
    490 
    491   type(ctrl_out),save :: o_fluxbcff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    492   'fluxbcff','Flux BC-FF','mg/m2/s', (/ ('', i=1, 9) /))
    493 
    494   type(ctrl_out),save :: o_fluxbcnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    495   'fluxbcnff','Flux BC-NFF','mg/m2/s', (/ ('', i=1, 9) /))
    496 
    497   type(ctrl_out),save :: o_fluxbcba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    498   'fluxbcba','Flux BC-BA','mg/m2/s', (/ ('', i=1, 9) /))
    499 
    500   type(ctrl_out),save :: o_fluxbc     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    501   'fluxbc','Flux BC','mg/m2/s', (/ ('', i=1, 9) /))
    502 
    503   type(ctrl_out),save :: o_fluxombb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    504   'fluxombb','Flux OM-BB','mg/m2/s', (/ ('', i=1, 9) /))
    505 
    506   type(ctrl_out),save :: o_fluxomff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    507   'fluxomff','Flux OM-FF','mg/m2/s', (/ ('', i=1, 9) /))
    508 
    509   type(ctrl_out),save :: o_fluxomnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    510   'fluxomnff','Flux OM-NFF','mg/m2/s', (/ ('', i=1, 9) /))
    511 
    512   type(ctrl_out),save :: o_fluxomba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    513   'fluxomba','Flux OM-BA','mg/m2/s', (/ ('', i=1, 9) /))
    514 
    515   type(ctrl_out),save :: o_fluxomnat     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    516   'fluxomnat','Flux OM-NT','mg/m2/s', (/ ('', i=1, 9) /))
    517 
    518   type(ctrl_out),save :: o_fluxom     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    519   'fluxom','Flux OM','mg/m2/s', (/ ('', i=1, 9) /))
    520 
    521   type(ctrl_out),save :: o_fluxh2sff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    522   'fluxh2sff','Flux H2S FF','mgS/m2/s', (/ ('', i=1, 9) /))
    523 
    524   type(ctrl_out),save :: o_fluxh2snff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    525   'fluxh2snff','Flux H2S non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
    526 
    527   type(ctrl_out),save :: o_fluxso2ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    528   'fluxso2ff','Flux SO2 FF','mgS/m2/s', (/ ('', i=1, 9) /))
    529 
    530   type(ctrl_out),save :: o_fluxso2nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    531   'fluxso2nff','Flux SO2 non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
    532 
    533   type(ctrl_out),save :: o_fluxso2bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    534   'fluxso2bb','Flux SO2 BB','mgS/m2/s', (/ ('', i=1, 9) /))
    535 
    536   type(ctrl_out),save :: o_fluxso2vol     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    537   'fluxso2vol','Flux SO2 Vol','mgS/m2/s', (/ ('', i=1, 9) /))
    538 
    539   type(ctrl_out),save :: o_fluxso2ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    540   'fluxso2ba','Flux SO2 Ba','mgS/m2/s', (/ ('', i=1, 9) /))
    541 
    542   type(ctrl_out),save :: o_fluxso2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    543   'fluxso2','Flux SO2','mgS/m2/s', (/ ('', i=1, 9) /))
    544 
    545   type(ctrl_out),save :: o_fluxso4ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    546   'fluxso4ff','Flux SO4 FF','mgS/m2/s', (/ ('', i=1, 9) /))
    547 
    548   type(ctrl_out),save :: o_fluxso4nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    549   'fluxso4nff','Flux SO4 non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
    550 
    551   type(ctrl_out),save :: o_fluxso4bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    552   'fluxso4bb','Flux SO4 BB','mgS/m2/s', (/ ('', i=1, 9) /))
    553 
    554   type(ctrl_out),save :: o_fluxso4ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    555   'fluxso4ba','Flux SO4 Ba','mgS/m2/s', (/ ('', i=1, 9) /))
    556 
    557   type(ctrl_out),save :: o_fluxso4     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    558   'fluxso4','Flux SO4','mgS/m2/s', (/ ('', i=1, 9) /))
    559 
    560   type(ctrl_out),save :: o_fluxdms     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    561   'fluxdms','Flux DMS','mgS/m2/s', (/ ('', i=1, 9) /))
    562 
    563   type(ctrl_out),save :: o_fluxh2sbio     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    564   'fluxh2sbio','Flux H2S Bio','mgS/m2/s', (/ ('', i=1, 9) /))
    565 
    566   type(ctrl_out),save :: o_fluxdustec     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    567   'fluxdustec','Flux Dust EC','mg/m2/s', (/ ('', i=1, 9) /))
    568 
    569   type(ctrl_out),save :: o_fluxddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    570   'fluxddfine','DD Fine Mode','mg/m2/s', (/ ('', i=1, 9) /))
    571 
    572   type(ctrl_out),save :: o_fluxddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    573   'fluxddcoa','DD Coarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
    574 
    575   type(ctrl_out),save :: o_fluxddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    576   'fluxddsco','DD SCoarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
    577 
    578   type(ctrl_out),save :: o_fluxdd     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    579   'fluxdd','Flux DD','mg/m2/s', (/ ('', i=1, 9) /))
    580 
    581   type(ctrl_out),save :: o_fluxssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    582   'fluxssfine','SS Fine Mode','mg/m2/s', (/ ('', i=1, 9) /))
    583 
    584   type(ctrl_out),save :: o_fluxsscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    585   'fluxsscoa','SS Coarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
    586 
    587   type(ctrl_out),save :: o_fluxss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    588   'fluxss','Flux SS','mg/m2/s', (/ ('', i=1, 9) /))
    589 
    590   type(ctrl_out),save :: o_flux_sparam_ind     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    591   'flux_sparam_ind','Ind emiss','mg/m2/s', (/ ('', i=1, 9) /))
    592 
    593   type(ctrl_out),save :: o_flux_sparam_bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    594   'flux_sparam_bb','BB emiss','mg/m2/s', (/ ('', i=1, 9) /))
    595 
    596   type(ctrl_out),save :: o_flux_sparam_ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    597   'flux_sparam_ff','FF emiss','mg/m2/s', (/ ('', i=1, 9) /))
    598 
    599   type(ctrl_out),save :: o_flux_sparam_ddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    600   'flux_sparam_ddfine','DD fine emiss','mg/m2/s', (/ ('', i=1, 9) /))
    601 
    602   type(ctrl_out),save :: o_flux_sparam_ddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    603   'flux_sparam_ddcoa','DD coarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
    604 
    605   type(ctrl_out),save :: o_flux_sparam_ddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    606   'flux_sparam_ddsco','DD Scoarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
    607 
    608   type(ctrl_out),save :: o_flux_sparam_ssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    609   'flux_sparam_ssfine','SS fine emiss','mg/m2/s', (/ ('', i=1, 9) /))
    610 
    611 
    612   type(ctrl_out),save :: o_flux_sparam_sscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    613   'flux_sparam_sscoa','SS coarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
    614 
    615   type(ctrl_out),save :: o_u10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    616   'u10m_ss','Zonal wind at 10 m SS','m/s', (/ ('', i=1, 9) /))
    617 
    618   type(ctrl_out),save :: o_v10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    619   'v10m_ss','Meridional wind at 10 m SS','m/s', (/ ('', i=1, 9) /))
    620 
    621 
    622 !  type(ctrl_out),save :: o_     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
    623 !  '','','', (/ ('', i=1, 9) /))
    624 
    625 
    626 
    627 !example  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     462  type(ctrl_out),save :: o_fluxbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     463  'fluxbb','Flux BB','mg/m2/s', (/ ('', i=1, 10) /))
     464
     465  type(ctrl_out),save :: o_fluxff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     466  'fluxff','Flux FF','mg/m2/s', (/ ('', i=1, 10) /))
     467
     468  type(ctrl_out),save :: o_fluxbcbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     469  'fluxbcbb','Flux BC-BB','mg/m2/s', (/ ('', i=1, 10) /))
     470
     471  type(ctrl_out),save :: o_fluxbcff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     472  'fluxbcff','Flux BC-FF','mg/m2/s', (/ ('', i=1, 10) /))
     473
     474  type(ctrl_out),save :: o_fluxbcnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     475  'fluxbcnff','Flux BC-NFF','mg/m2/s', (/ ('', i=1, 10) /))
     476
     477  type(ctrl_out),save :: o_fluxbcba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     478  'fluxbcba','Flux BC-BA','mg/m2/s', (/ ('', i=1, 10) /))
     479
     480  type(ctrl_out),save :: o_fluxbc     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     481  'fluxbc','Flux BC','mg/m2/s', (/ ('', i=1, 10) /))
     482
     483  type(ctrl_out),save :: o_fluxombb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     484  'fluxombb','Flux OM-BB','mg/m2/s', (/ ('', i=1, 10) /))
     485
     486  type(ctrl_out),save :: o_fluxomff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     487  'fluxomff','Flux OM-FF','mg/m2/s', (/ ('', i=1, 10) /))
     488
     489  type(ctrl_out),save :: o_fluxomnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     490  'fluxomnff','Flux OM-NFF','mg/m2/s', (/ ('', i=1, 10) /))
     491
     492  type(ctrl_out),save :: o_fluxomba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     493  'fluxomba','Flux OM-BA','mg/m2/s', (/ ('', i=1, 10) /))
     494
     495  type(ctrl_out),save :: o_fluxomnat     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     496  'fluxomnat','Flux OM-NT','mg/m2/s', (/ ('', i=1, 10) /))
     497
     498  type(ctrl_out),save :: o_fluxom     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     499  'fluxom','Flux OM','mg/m2/s', (/ ('', i=1, 10) /))
     500
     501  type(ctrl_out),save :: o_fluxh2sff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     502  'fluxh2sff','Flux H2S FF','mgS/m2/s', (/ ('', i=1, 10) /))
     503
     504  type(ctrl_out),save :: o_fluxh2snff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     505  'fluxh2snff','Flux H2S non-FF','mgS/m2/s', (/ ('', i=1, 10) /))
     506
     507  type(ctrl_out),save :: o_fluxso2ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     508  'fluxso2ff','Flux SO2 FF','mgS/m2/s', (/ ('', i=1, 10) /))
     509
     510  type(ctrl_out),save :: o_fluxso2nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     511  'fluxso2nff','Flux SO2 non-FF','mgS/m2/s', (/ ('', i=1, 10) /))
     512
     513  type(ctrl_out),save :: o_fluxso2bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     514  'fluxso2bb','Flux SO2 BB','mgS/m2/s', (/ ('', i=1, 10) /))
     515
     516  type(ctrl_out),save :: o_fluxso2vol     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     517  'fluxso2vol','Flux SO2 Vol','mgS/m2/s', (/ ('', i=1, 10) /))
     518
     519  type(ctrl_out),save :: o_fluxso2ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     520  'fluxso2ba','Flux SO2 Ba','mgS/m2/s', (/ ('', i=1, 10) /))
     521
     522  type(ctrl_out),save :: o_fluxso2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     523  'fluxso2','Flux SO2','mgS/m2/s', (/ ('', i=1, 10) /))
     524
     525  type(ctrl_out),save :: o_fluxso4ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     526  'fluxso4ff','Flux SO4 FF','mgS/m2/s', (/ ('', i=1, 10) /))
     527
     528  type(ctrl_out),save :: o_fluxso4nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     529  'fluxso4nff','Flux SO4 non-FF','mgS/m2/s', (/ ('', i=1, 10) /))
     530
     531  type(ctrl_out),save :: o_fluxso4bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     532  'fluxso4bb','Flux SO4 BB','mgS/m2/s', (/ ('', i=1, 10) /))
     533
     534  type(ctrl_out),save :: o_fluxso4ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     535  'fluxso4ba','Flux SO4 Ba','mgS/m2/s', (/ ('', i=1, 10) /))
     536
     537  type(ctrl_out),save :: o_fluxso4     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     538  'fluxso4','Flux SO4','mgS/m2/s', (/ ('', i=1, 10) /))
     539
     540  type(ctrl_out),save :: o_fluxdms     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     541  'fluxdms','Flux DMS','mgS/m2/s', (/ ('', i=1, 10) /))
     542
     543  type(ctrl_out),save :: o_fluxh2sbio     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     544  'fluxh2sbio','Flux H2S Bio','mgS/m2/s', (/ ('', i=1, 10) /))
     545
     546  type(ctrl_out),save :: o_fluxdustec     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     547  'fluxdustec','Flux Dust EC','mg/m2/s', (/ ('', i=1, 10) /))
     548
     549  type(ctrl_out),save :: o_fluxddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     550  'fluxddfine','DD Fine Mode','mg/m2/s', (/ ('', i=1, 10) /))
     551
     552  type(ctrl_out),save :: o_fluxddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     553  'fluxddcoa','DD Coarse Mode','mg/m2/s', (/ ('', i=1, 10) /))
     554
     555  type(ctrl_out),save :: o_fluxddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     556  'fluxddsco','DD SCoarse Mode','mg/m2/s', (/ ('', i=1, 10) /))
     557
     558  type(ctrl_out),save :: o_fluxdd     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     559  'fluxdd','Flux DD','mg/m2/s', (/ ('', i=1, 10) /))
     560
     561  type(ctrl_out),save :: o_fluxssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     562  'fluxssfine','SS Fine Mode','mg/m2/s', (/ ('', i=1, 10) /))
     563
     564  type(ctrl_out),save :: o_fluxsscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     565  'fluxsscoa','SS Coarse Mode','mg/m2/s', (/ ('', i=1, 10) /))
     566
     567  type(ctrl_out),save :: o_fluxss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     568  'fluxss','Flux SS','mg/m2/s', (/ ('', i=1, 10) /))
     569
     570  type(ctrl_out),save :: o_flux_sparam_ind     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     571  'flux_sparam_ind','Ind emiss','mg/m2/s', (/ ('', i=1, 10) /))
     572
     573  type(ctrl_out),save :: o_flux_sparam_bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     574  'flux_sparam_bb','BB emiss','mg/m2/s', (/ ('', i=1, 10) /))
     575
     576  type(ctrl_out),save :: o_flux_sparam_ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     577  'flux_sparam_ff','FF emiss','mg/m2/s', (/ ('', i=1, 10) /))
     578
     579  type(ctrl_out),save :: o_flux_sparam_ddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     580  'flux_sparam_ddfine','DD fine emiss','mg/m2/s', (/ ('', i=1, 10) /))
     581
     582  type(ctrl_out),save :: o_flux_sparam_ddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     583  'flux_sparam_ddcoa','DD coarse emiss','mg/m2/s', (/ ('', i=1, 10) /))
     584
     585  type(ctrl_out),save :: o_flux_sparam_ddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     586  'flux_sparam_ddsco','DD Scoarse emiss','mg/m2/s', (/ ('', i=1, 10) /))
     587
     588  type(ctrl_out),save :: o_flux_sparam_ssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     589  'flux_sparam_ssfine','SS fine emiss','mg/m2/s', (/ ('', i=1, 10) /))
     590
     591  type(ctrl_out),save :: o_flux_sparam_sscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     592  'flux_sparam_sscoa','SS coarse emiss','mg/m2/s', (/ ('', i=1, 10) /))
     593
     594  type(ctrl_out),save :: o_u10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     595  'u10m_ss','Zonal wind at 10 m SS','m/s', (/ ('', i=1, 10) /))
     596
     597  type(ctrl_out),save :: o_v10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     598  'v10m_ss','Meridional wind at 10 m SS','m/s', (/ ('', i=1, 10) /))
     599
     600!  type(ctrl_out),save :: o_     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10, 10 /), &
     601!  '','','', (/ ('', i=1, 10) /))
     602
     603!example  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11 /), &
    628604!       'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
    629 !       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    630 
    631 
    632 
     605!       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
  • LMDZ5/branches/testing/libf/phylmd/Dust/spla_output_write.h

    r2641 r2787  
    66! traceur
    77
    8       CALL histwrite_phy( o_taue550          , diff_aod550_tot          )
    9       CALL histwrite_phy( o_taue670          , diag_aod670_tot   )
     8      CALL histwrite_phy( o_taue550          , diff_aod550_tot  )
     9      CALL histwrite_phy( o_taue670          , diag_aod670_tot  )
    1010      CALL histwrite_phy( o_taue865          , diag_aod865_tot  )
    1111      IF(id_fine>0) CALL histwrite_phy( o_taue550_tr2      , diff_aod550_tr2  )
    12       IF(id_fine>0) CALL histwrite_phy( o_taue670_tr2      , diag_aod670_tr2   )
     12      IF(id_fine>0) CALL histwrite_phy( o_taue670_tr2      , diag_aod670_tr2  )
    1313      IF(id_fine>0) CALL histwrite_phy( o_taue865_tr2      , diag_aod865_tr2  )
    14       IF(id_coss>0) CALL histwrite_phy( o_taue550_ss       , diag_aod550_ss       )
     14      IF(id_coss>0) CALL histwrite_phy( o_taue550_ss       , diag_aod550_ss   )
    1515      IF(id_coss>0) CALL histwrite_phy( o_taue670_ss       , diag_aod670_ss   )
    16       IF(id_coss>0) CALL histwrite_phy( o_taue865_ss       , diag_aod865_ss    )
    17       IF(id_codu>0) CALL histwrite_phy( o_taue550_dust     , diag_aod550_dust   )
     16      IF(id_coss>0) CALL histwrite_phy( o_taue865_ss       , diag_aod865_ss   )
     17      IF(id_codu>0) CALL histwrite_phy( o_taue550_dust     , diag_aod550_dust )
    1818      IF(id_codu>0) CALL histwrite_phy( o_taue670_dust     , diag_aod670_dust )
    1919      IF(id_codu>0) CALL histwrite_phy( o_taue865_dust     , diag_aod865_dust )
     
    2222      IF(id_scdu>0) CALL histwrite_phy( o_taue865_dustsco  , diag_aod865_dustsco )
    2323      CALL histwrite_phy( o_taue550_aqua     , aod550_aqua  )
    24       CALL histwrite_phy( o_taue550_terra    , aod550_terra    )
    25       CALL histwrite_phy( o_taue670_aqua     , aod670_aqua     )
    26       CALL histwrite_phy( o_taue670_terra    , aod670_terra    )
    27       CALL histwrite_phy( o_taue865_aqua     , aod865_aqua    )
    28       CALL histwrite_phy( o_taue865_terra    , aod865_terra    )
     24      CALL histwrite_phy( o_taue550_terra    , aod550_terra )
     25      CALL histwrite_phy( o_taue670_aqua     , aod670_aqua  )
     26      CALL histwrite_phy( o_taue670_terra    , aod670_terra )
     27      CALL histwrite_phy( o_taue865_aqua     , aod865_aqua  )
     28      CALL histwrite_phy( o_taue865_terra    , aod865_terra )
    2929
    3030      IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_aqua     ,aod550_tr2_aqua   )
    3131      IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_aqua     ,aod670_tr2_aqua   )
    3232      IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_aqua     ,aod865_tr2_aqua   )
    33       IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_aqua      ,aod550_ss_aqua    )
    34       IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_aqua      ,aod670_ss_aqua    )
    35       IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_aqua      ,aod865_ss_aqua    )
    36       IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_aqua    ,aod550_dust_aqua    )
    37       IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_aqua    ,aod670_dust_aqua    )
    38       IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_aqua    ,aod865_dust_aqua    )
    39       IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_aqua ,aod670_dustsco_aqua    )
    40       IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_aqua ,aod550_dustsco_aqua    )
    41       IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_aqua ,aod865_dustsco_aqua    )
     33      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_aqua      ,aod550_ss_aqua   )
     34      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_aqua      ,aod670_ss_aqua   )
     35      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_aqua      ,aod865_ss_aqua   )
     36      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_aqua    ,aod550_dust_aqua   )
     37      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_aqua    ,aod670_dust_aqua   )
     38      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_aqua    ,aod865_dust_aqua   )
     39      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_aqua ,aod670_dustsco_aqua   )
     40      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_aqua ,aod550_dustsco_aqua   )
     41      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_aqua ,aod865_dustsco_aqua   )
    4242     
    4343      IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_terra     ,aod550_tr2_terra   )
    4444      IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_terra     ,aod670_tr2_terra   )
    4545      IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_terra     ,aod865_tr2_terra   )
    46       IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_terra      ,aod550_ss_terra    )
    47       IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_terra      ,aod670_ss_terra    )
    48       IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_terra      ,aod865_ss_terra    )
    49       IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_terra    ,aod550_dust_terra    )
    50       IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_terra    ,aod670_dust_terra    )
    51       IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_terra    ,aod865_dust_terra    )
    52       IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_terra ,aod670_dustsco_terra    )
    53       IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_terra ,aod550_dustsco_terra    )
    54       IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_terra ,aod865_dustsco_terra    )
     46      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_terra      ,aod550_ss_terra   )
     47      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_terra      ,aod670_ss_terra   )
     48      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_terra      ,aod865_ss_terra   )
     49      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_terra    ,aod550_dust_terra   )
     50      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_terra    ,aod670_dust_terra   )
     51      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_terra    ,aod865_dust_terra   )
     52      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_terra ,aod670_dustsco_terra   )
     53      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_terra ,aod550_dustsco_terra   )
     54      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_terra ,aod865_dustsco_terra   )
    5555
    5656
     
    133133      IF(id_codu>0) CALL histwrite_phy( o_d_tr_uscav04 , d_tr_uscav04 )
    134134      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_uscav05 , d_tr_uscav05 )
    135       IF(id_prec>0) CALL histwrite_phy( o_d_tr_insc01 , d_tr_insc01 ) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     135      IF(id_prec>0) CALL histwrite_phy( o_d_tr_insc01 , d_tr_insc01 )
    136136      IF(id_fine>0) CALL histwrite_phy( o_d_tr_insc02 , d_tr_insc02 )
    137137      IF(id_coss>0) CALL histwrite_phy( o_d_tr_insc03 , d_tr_insc03 )
     
    152152      IF(id_coss>0) CALL histwrite_phy( o_d_tr_ls03 , d_tr_ls03 )
    153153      IF(id_codu>0) CALL histwrite_phy( o_d_tr_ls04 , d_tr_ls04 )
    154       IF(id_scdu>0) CALL histwrite_phy( o_d_tr_ls05 , d_tr_ls05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    155      
     154      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_ls05 , d_tr_ls05 )
    156155
    157156      IF(id_prec>0) CALL histwrite_phy( o_d_tr_dyn01 , d_tr_dyn01 )
     
    159158      IF(id_coss>0) CALL histwrite_phy( o_d_tr_dyn03 , d_tr_dyn03 )
    160159      IF(id_codu>0) CALL histwrite_phy( o_d_tr_dyn04 , d_tr_dyn04 )
    161       IF(id_scdu>0) CALL histwrite_phy( o_d_tr_dyn05 , d_tr_dyn05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     160      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_dyn05 , d_tr_dyn05 )
    162161     
    163162      IF(id_prec>0) CALL histwrite_phy( o_d_tr_cl01 , d_tr_cl01 )
     
    165164      IF(id_coss>0) CALL histwrite_phy( o_d_tr_cl03 , d_tr_cl03 )
    166165      IF(id_codu>0) CALL histwrite_phy( o_d_tr_cl04 , d_tr_cl04 )
    167       IF(id_scdu>0) CALL histwrite_phy( o_d_tr_cl05 , d_tr_cl05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     166      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_cl05 , d_tr_cl05 )
    168167      IF(id_prec>0) CALL histwrite_phy( o_d_tr_th01 , d_tr_th01 )
    169168      IF(id_fine>0) CALL histwrite_phy( o_d_tr_th02 , d_tr_th02 )
    170169      IF(id_coss>0) CALL histwrite_phy( o_d_tr_th03 , d_tr_th03 )
    171170      IF(id_codu>0) CALL histwrite_phy( o_d_tr_th04 , d_tr_th04 )
    172       IF(id_scdu>0) CALL histwrite_phy( o_d_tr_th05 , d_tr_th05 )  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    173 
     171      IF(id_scdu>0) CALL histwrite_phy( o_d_tr_th05 , d_tr_th05 )
    174172
    175173      IF(id_coss>0) CALL histwrite_phy( o_sed_ss , sed_ss)
     
    232230      CALL histwrite_phy( o_u10m_ss             , u10m_ss              )
    233231      CALL histwrite_phy( o_v10m_ss             , v10m_ss              )
    234 
    235 !      CALL histwrite_phy(  ,)
    236 !
    237 
    238 
    239 
    240 
  • LMDZ5/branches/testing/libf/phylmd/StratAer/aer_sedimnt.F90

    r2720 r2787  
    1414!-----------------------------------------------------------------------
    1515
    16   USE phys_local_var_mod, ONLY: mdw, sfluxaer, DENSO4, f_r_wet, vsed_aer
     16  USE phys_local_var_mod, ONLY: mdw, budg_sed_part, DENSO4, f_r_wet, vsed_aer
    1717  USE dimphy, ONLY : klon,klev
    1818  USE infotrac
     
    106106!---ZAERONWM1 now contains the surface concentration at the new timestep
    107107!---PFLUXAER in unit of xx m-2 s-1
    108 sfluxaer(:)=0.0
     108budg_sed_part(:)=0.0
    109109DO JL=1,klon
    110110  ZRHO=pplay(JL,1)/(RD*t_seri(JL,1))
    111111  DO nb=1,nbtr_bin
    112     !compute sfluxaer as sum over bins in kg(S)/m2/s
    113     sfluxaer(JL)=sfluxaer(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
     112    !compute budg_sed_part as sum over bins in kg(S)/m2/s
     113    budg_sed_part(JL)=budg_sed_part(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
    114114                & *dens_aer_dry*4./3.*RPI*(mdw(nb)/2.)**3
    115115  ENDDO
  • LMDZ5/branches/testing/libf/phylmd/StratAer/aerophys.F90

    r2720 r2787  
    66  REAL,PARAMETER                         :: dens_aer_dry=1848.682308 ! dry aerosol particle mass density at T_0=293K[kg/m3]
    77  REAL,PARAMETER                         :: dens_aer_ref=1483.905336 ! aerosol particle mass density with 75% H2SO4 at T_0=293K[kg/m3]
    8   REAL,PARAMETER                         :: mdwmin=0.002e-6          ! dry diameter of smallest aerosol particles [m]
     8!  REAL,PARAMETER                         :: mdwmin=0.002e-6          ! dry diameter of smallest aerosol particles [m]
     9  REAL,PARAMETER                         :: mdwmin=0.2e-6          ! dry diameter of smallest aerosol particles [m]  !--testing
    910  REAL,PARAMETER                         :: V_rat=2.0                ! volume ratio of neighboring size bins
    1011  REAL,PARAMETER                         :: mfrac_H2SO4=0.75         ! default mass fraction of H2SO4 in the aerosol
  • LMDZ5/branches/testing/libf/phylmd/StratAer/interp_sulf_input.F90

    r2720 r2787  
    88  USE mod_phys_lmdz_mpi_data, ONLY :  is_mpi_root
    99  USE mod_phys_lmdz_omp_data, ONLY :  is_omp_root
    10   USE phys_local_var_mod, ONLY : OCS_backgr_tend, SO2_backgr_tend
     10  USE phys_local_var_mod, ONLY : budg_3D_backgr_ocs, budg_3D_backgr_so2
    1111  USE phys_local_var_mod, ONLY : OCS_lifetime, SO2_lifetime
    1212  USE mod_phys_lmdz_para
     
    3434  REAL OCS_tmp, SO2_tmp
    3535  INTEGER, SAVE :: mth_pre
     36!$OMP THREADPRIVATE(mth_pre)
    3637
    3738! Champs reconstitues
     
    244245        tr_seri(i,k,id_SO2_strat)=SO2_clim(i,k)
    245246      ENDIF
    246       OCS_backgr_tend(i,k)=tr_seri(i,k,id_OCS_strat)-OCS_tmp
    247       SO2_backgr_tend(i,k)=tr_seri(i,k,id_SO2_strat)-SO2_tmp
     247      budg_3D_backgr_ocs(i,k)=tr_seri(i,k,id_OCS_strat)-OCS_tmp
     248      budg_3D_backgr_so2(i,k)=tr_seri(i,k,id_SO2_strat)-SO2_tmp
    248249    ENDDO
    249250  ENDDO
     
    252253  DO i=1, klon
    253254    DO k=1, klev
    254       SO2_backgr_tend(i,k)=SO2_backgr_tend(i,k)*mSatom/mSO2mol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    255       OCS_backgr_tend(i,k)=OCS_backgr_tend(i,k)*mSatom/mOCSmol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     255      budg_3D_backgr_ocs(i,k)=budg_3D_backgr_ocs(i,k)*mSatom/mOCSmol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     256      budg_3D_backgr_so2(i,k)=budg_3D_backgr_so2(i,k)*mSatom/mSO2mol*(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    256257    ENDDO
    257258  ENDDO
  • LMDZ5/branches/testing/libf/phylmd/StratAer/micphy_tstep.F90

    r2720 r2787  
    44  USE aerophys
    55  USE infotrac
    6   USE phys_local_var_mod, ONLY: mdw, sulf_nucl, sulf_cond_evap, R2SO4, DENSO4, f_r_wet
     6  USE phys_local_var_mod, ONLY: mdw, budg_3D_nucl, budg_3D_cond_evap, R2SO4, DENSO4, f_r_wet
    77  USE nucleation_tstep_mod
    88  USE cond_evap_tstep_mod
     
    6868  IF (is_strato(ilon,ilev)) THEN
    6969    ! initialize sulfur fluxes
    70     sulf_nucl(ilon,ilev)=0.0
    71     sulf_cond_evap(ilon,ilev)=0.0
     70    budg_3D_nucl(ilon,ilev)=0.0
     71    budg_3D_cond_evap(ilon,ilev)=0.0
    7272    H2SO4_init=tr_seri(ilon,ilev,id_H2SO4_strat)
    7373    ! adaptive timestep for nucleation and condensation
     
    109109      CALL nucleation_part(nucl_rate,ntot,x,dt,Vbin,tr_seri(ilon,ilev,:))
    110110      ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
    111       sulf_cond_evap(ilon,ilev)=sulf_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
     111      budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
    112112               & *cond_evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
    113       sulf_nucl(ilon,ilev)=sulf_nucl(ilon,ilev)+mSatom/mH2SO4mol &
     113      budg_3D_nucl(ilon,ilev)=budg_3D_nucl(ilon,ilev)+mSatom/mH2SO4mol &
    114114               & *nucl_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
    115115      ! update time step
     
    139139    CALL cond_evap_part(pdtphys,FL,ASO4,f_r_wet(ilon,ilev),RRSI,Vbin,tr_seri(ilon,ilev,:))
    140140    ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
    141     sulf_cond_evap(ilon,ilev)=sulf_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
     141    budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
    142142             & *evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG
    143143  ENDIF
  • LMDZ5/branches/testing/libf/phylmd/StratAer/ocs_to_so2.F90

    r2720 r2787  
    1 SUBROUTINE ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     1SUBROUTINE ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    22
    33  USE dimphy, ONLY : klon,klev
     
    55  USE infotrac
    66  USE YOMCST, ONLY : RG
    7   USE phys_local_var_mod, ONLY : OCS_lifetime, ocs_convert
     7  USE phys_local_var_mod, ONLY : OCS_lifetime, budg_3D_ocs_to_so2, budg_ocs_to_so2
    88
    99  IMPLICIT NONE
     
    1616  REAL,DIMENSION(klon,klev),INTENT(IN)          :: pplay   ! pression pour le mileu de chaque couche (en Pa)
    1717  REAL,DIMENSION(klon,klev+1),INTENT(IN)        :: paprs   ! pression pour chaque inter-couche (en Pa)
    18   REAL,DIMENSION(klon,klev),INTENT(IN)          :: sh      ! humidite specifique   
    1918  LOGICAL,DIMENSION(klon,klev),INTENT(IN)       :: is_strato
    2019
     
    2322
    2423!--convert OCS to SO2
    25   ocs_convert(:,:)=0.0
     24  budg_3D_ocs_to_so2(:,:)=0.0
     25  budg_ocs_to_so2(:)=0.0
     26
    2627  DO ilon=1, klon
    2728  DO ilev=1, klev
     
    2930  IF (is_strato(ilon,ilev)) THEN
    3031    IF (OCS_lifetime(ilon,ilev).GT.0.0) THEN
    31       ocs_convert(ilon,ilev)=tr_seri(ilon,ilev,id_OCS_strat)*(1.0-exp(-pdtphys/OCS_lifetime(ilon,ilev)))
     32      budg_3D_ocs_to_so2(ilon,ilev)=tr_seri(ilon,ilev,id_OCS_strat)*(1.0-exp(-pdtphys/OCS_lifetime(ilon,ilev)))
    3233    ENDIF
    33     tr_seri(ilon,ilev,id_OCS_strat)=tr_seri(ilon,ilev,id_OCS_strat) - ocs_convert(ilon,ilev)
    34     tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) + mSO2mol/mOCSmol*ocs_convert(ilon,ilev)
    35     !convert ocs_convert from kg(OCS)/kgA to kg(S)/m2/layer/s for saving as diagnostic
    36     ocs_convert(ilon,ilev)=ocs_convert(ilon,ilev)*mSatom/mOCSmol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     34    tr_seri(ilon,ilev,id_OCS_strat)=tr_seri(ilon,ilev,id_OCS_strat) - budg_3D_ocs_to_so2(ilon,ilev)
     35    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) + mSO2mol/mOCSmol*budg_3D_ocs_to_so2(ilon,ilev)
     36    !convert budget from kg(OCS)/kgA to kg(S)/m2/layer/s for saving as diagnostic
     37    budg_3D_ocs_to_so2(ilon,ilev)=budg_3D_ocs_to_so2(ilon,ilev)*mSatom/mOCSmol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     38    budg_ocs_to_so2(ilon)=budg_ocs_to_so2(ilon)+budg_3D_ocs_to_so2(ilon,ilev)
    3739  ENDIF
    3840  ENDDO
  • LMDZ5/branches/testing/libf/phylmd/StratAer/so2_to_h2so4.F90

    r2720 r2787  
    1 SUBROUTINE SO2_TO_H2SO4(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     1SUBROUTINE SO2_TO_H2SO4(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    22
    33  USE dimphy, ONLY : klon,klev
     
    55  USE infotrac
    66  USE YOMCST, ONLY : RG
    7   USE phys_local_var_mod, ONLY : SO2_lifetime, sulf_convert
     7  USE phys_local_var_mod, ONLY : SO2_lifetime, budg_3D_so2_to_h2so4, budg_so2_to_h2so4
    88
    99  IMPLICIT NONE
     
    1717  REAL,DIMENSION(klon,klev),INTENT(IN)          :: pplay   ! pression pour le mileu de chaque couche (en Pa)
    1818  REAL,DIMENSION(klon,klev+1),INTENT(IN)        :: paprs   ! pression pour chaque inter-couche (en Pa)
    19   REAL,DIMENSION(klon,klev),INTENT(IN)          :: sh      ! humidite specifique   
    2019  LOGICAL,DIMENSION(klon,klev),INTENT(IN)       :: is_strato ! stratospheric flag
    2120
     
    2423
    2524!--convert SO2 to H2SO4
    26   sulf_convert(:,:)=0.0
     25  budg_3D_so2_to_h2so4(:,:)=0.0
     26  budg_so2_to_h2so4(:)=0.0
     27
    2728  DO ilon=1, klon
    2829  DO ilev=1, klev
     
    3031  IF (is_strato(ilon,ilev)) THEN
    3132    IF (SO2_lifetime(ilon,ilev).GT.0.0) THEN
    32       sulf_convert(ilon,ilev)=tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/SO2_lifetime(ilon,ilev)))
     33      budg_3D_so2_to_h2so4(ilon,ilev)=tr_seri(ilon,ilev,id_SO2_strat)*(1.0-exp(-pdtphys/SO2_lifetime(ilon,ilev)))
    3334    ENDIF
    34     tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - sulf_convert(ilon,ilev)
    35     tr_seri(ilon,ilev,id_H2SO4_strat)=tr_seri(ilon,ilev,id_H2SO4_strat) + mH2SO4mol/mSO2mol*sulf_convert(ilon,ilev)
    36     !convert sulf_convert from kg(SO2)/kgA to kg(S)/m2/layer/s for saving as diagnostic
    37     sulf_convert(ilon,ilev)=sulf_convert(ilon,ilev)*mSatom/mSO2mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     35    tr_seri(ilon,ilev,id_SO2_strat)=tr_seri(ilon,ilev,id_SO2_strat) - budg_3D_so2_to_h2so4(ilon,ilev)
     36    tr_seri(ilon,ilev,id_H2SO4_strat)=tr_seri(ilon,ilev,id_H2SO4_strat) + mH2SO4mol/mSO2mol*budg_3D_so2_to_h2so4(ilon,ilev)
     37    !convert budget from kg(SO2)/kgA to kg(S)/m2/layer/s for saving as diagnostic
     38    budg_3D_so2_to_h2so4(ilon,ilev)=budg_3D_so2_to_h2so4(ilon,ilev)*mSatom/mSO2mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     39    budg_so2_to_h2so4(ilon)=budg_so2_to_h2so4(ilon)+budg_3D_so2_to_h2so4(ilon,ilev)
    3840  ENDIF
    3941  ENDDO
  • LMDZ5/branches/testing/libf/phylmd/StratAer/traccoag_mod.F90

    r2720 r2787  
    88  SUBROUTINE traccoag(pdtphys, gmtime, debutphy, julien, &
    99       presnivs, xlat, xlon, pphis, pphi, &
    10        t_seri, pplay, paprs, sh, rh , &
    11        tr_seri)
    12 
    13     USE phys_local_var_mod, ONLY: mdw, sulf_convert, sulf_nucl, sulf_cond_evap, &
    14         & sfluxaer, ocs_convert, R2SO4, DENSO4, f_r_wet, SO2_backgr_tend, OCS_backgr_tend, &
    15         & OCS_lifetime, SO2_lifetime, surf_PM25_sulf
     10       t_seri, pplay, paprs, sh, rh, tr_seri)
     11
     12    USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, &
     13        & budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part
    1614
    1715    USE dimphy
     
    7169    REAL,PARAMETER    :: altemiss_sai=17.e3     ! emission altitude in m
    7270    REAL,PARAMETER    :: sigma_alt_sai=1.e3     ! standard deviation of emission altitude in m
    73     REAL,PARAMETER    :: xlat_sai=0.0           ! latitude of SAI in degree
     71    REAL,PARAMETER    :: xlat_sai=0.01          ! latitude of SAI in degree
    7472    REAL,PARAMETER    :: xlon_sai=120.35        ! longitude of SAI in degree
    7573
     
    9088    REAL                                   :: zrho                ! Density of air [kg/m3]
    9189    REAL                                   :: zdz                 ! thickness of atm. model layer in m
     90    REAL,DIMENSION(klev)                   :: zdm                 ! mass of atm. model layer in kg
    9291    REAL,DIMENSION(klon,klev)              :: dens_aer            ! density of aerosol particles [kg/m3 aerosol] with default H2SO4 mass fraction
    9392    REAL                                   :: dlat, dlon          ! d latitude and d longitude of grid in degree
     93    REAL                                   :: emission            ! emission
    9494
    9595    IF (is_mpi_root) THEN
     
    141141    DO ilon=1, klon
    142142    DO ilev=1, klev
    143       m_air_gridbox(ilon,ilev)=(paprs(ilon,ilev)-paprs(ilon,ilev+1)) / RG * cell_area(ilon)
    144     ENDDO
    145     ENDDO
    146 
    147     IF (debutphy) THEN
    148       CALL gather(tr_seri, tr_seri_glo)
    149       IF (MAXVAL(tr_seri_glo).LT.1.e-30) THEN
     143      m_air_gridbox(ilon,ilev)=(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*cell_area(ilon)
     144    ENDDO
     145    ENDDO
     146
     147!    IF (debutphy) THEN
     148!      CALL gather(tr_seri, tr_seri_glo)
     149!      IF (MAXVAL(tr_seri_glo).LT.1.e-30) THEN
    150150!--initialising tracer concentrations to zero
    151         DO it=1, nbtr
    152         tr_seri(:,:,it)=0.0
    153         ENDDO
    154       ENDIF
    155     ENDIF
     151!        DO it=1, nbtr
     152!        tr_seri(:,:,it)=0.0
     153!        ENDDO
     154!      ENDIF
     155!    ENDIF
     156
     157!--initialise emission diagnostics
     158    budg_emi_ocs(:)=0.0
     159    budg_emi_so2(:)=0.0
     160    budg_emi_h2so4(:)=0.0
     161    budg_emi_part(:)=0.0
    156162
    157163!--sulfur emission, depending on chosen scenario (flag_sulf_emit)
     
    170176          IF  ( xlat(i).GE.xlat_vol-dlat .AND. xlat(i).LT.xlat_vol+dlat .AND. &
    171177                xlon(i).GE.xlon_vol-dlon .AND. xlon(i).LT.xlon_vol+dlon ) THEN
     178!
     179          PRINT *,'coordinates of volcanic injection point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur
    172180!         compute altLMDz
    173181            altLMDz(:)=0.0
    174182            DO k=1, klev
    175               zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
    176               zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
    177               altLMDz(k+1)=altLMDz(k)+zdz
     183              zrho=pplay(i,k)/t_seri(i,k)/RD       !air density in kg/m3
     184              zdm(k)=(paprs(i,k)-paprs(i,k+1))/RG  !mass of layer in kg
     185              zdz=zdm(k)/zrho                      !thickness of layer in m
     186              altLMDz(k+1)=altLMDz(k)+zdz          !altitude of interface
    178187            ENDDO
    179188            !compute distribution of emission to vertical model layers (based on Gaussian peak in altitude)
     
    194203            !vertically distributed emission
    195204            DO k=1, klev
    196               tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+ &
    197               & m_aer_emiss_vol*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k) &
    198               & /(1.*86400./pdtphys) ! stretch emission over one day of Pinatubo eruption
     205              ! stretch emission over one day of Pinatubo eruption
     206              emission=m_aer_emiss_vol*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k)/1./86400.
     207              tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+emission*pdtphys
     208              budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol
    199209            ENDDO
    200210          ENDIF ! emission grid cell
     
    211221        IF  ( xlat(i).GE.xlat_sai-dlat .AND. xlat(i).LT.xlat_sai+dlat .AND. &
    212222          &   xlon(i).GE.xlon_sai-dlon .AND. xlon(i).LT.xlon_sai+dlon ) THEN
     223!
     224          PRINT *,'coordinates of SAI point=',xlat(i), xlon(i), day_cur, mth_cur, year_cur
    213225!         compute altLMDz
    214226          altLMDz(:)=0.0
    215227          DO k=1, klev
    216             zrho=pplay(i,k)/t_seri(i,k)/RD            !air density in kg/m3
    217             zdz=(paprs(i,k)-paprs(i,k+1))/zrho/RG     !thickness of layer in m
    218             altLMDz(k+1)=altLMDz(k)+zdz
     228            zrho=pplay(i,k)/t_seri(i,k)/RD       !air density in kg/m3
     229            zdm(k)=(paprs(i,k)-paprs(i,k+1))/RG  !mass of layer in kg
     230            zdz=zdm(k)/zrho                      !thickness of layer in m
     231            altLMDz(k+1)=altLMDz(k)+zdz          !altitude of interface
    219232          ENDDO
    220233          !compute distribution of emission to vertical model layers (based on Gaussian peak in altitude)
     
    235248          !vertically distributed emission
    236249          DO k=1, klev
    237             tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+ &
    238             & m_aer_emiss_sai*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k) &
    239             & /(360.*86400./pdtphys) ! stretch emission over whole year (360d)
    240 !            & /(60.*86400./pdtphys) ! stretch emission over 2 months (seasonal emission)
    241 !            & /7. ! distribute equally over 7 emission grid points
     250            ! stretch emission over whole year (360d)
     251            emission=m_aer_emiss_sai*(mSO2mol/mSatom)/m_air_gridbox(i,k)*f_lay_emiss(k)/360./86400. 
     252            tr_seri(i,k,id_SO2_strat)=tr_seri(i,k,id_SO2_strat)+emission*pdtphys
     253            budg_emi_so2(i)=budg_emi_so2(i)+emission*zdm(k)*mSatom/mSO2mol
    242254          ENDDO
    243255!          !emission as monodisperse particles with 0.1um dry radius (BIN21)
    244256!          !vertically distributed emission
    245257!          DO k=1, klev
    246 !            tr_seri(i,k,id_BIN01_strat+20)=tr_seri(i,k,id_BIN01_strat+20)+ &
    247 !            & m_aer_emiss*(mH2SO4mol/mSatom)/m_part_dry(21)/m_air_gridbox(i,k)*f_lay_emiss(k) &
    248 !            & /(360.*86400./pdtphys) & ! stretch emission over whole year (360d)
    249 !            & /7. ! distribute equally over 7 emission grid points
     258!            ! stretch emission over whole year (360d)
     259!            emission=m_aer_emiss*(mH2SO4mol/mSatom)/m_part_dry(21)/m_air_gridbox(i,k)*f_lay_emiss(k)/360./86400
     260!            tr_seri(i,k,id_BIN01_strat+20)=tr_seri(i,k,id_BIN01_strat+20)+emission*pdtphys
     261!            budg_emi_part(i)=budg_emi_part(i)+emission*zdm(k)*mSatom/mH2SO4mol
    250262!          ENDDO
    251263        ENDIF ! emission grid cell
     
    259271
    260272!--convert OCS to SO2 in the stratosphere
    261     CALL ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     273    CALL ocs_to_so2(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    262274
    263275!--convert SO2 to H2SO4
    264     CALL so2_to_h2so4(pdtphys,tr_seri,t_seri,pplay,paprs,sh,is_strato)
     276    CALL so2_to_h2so4(pdtphys,tr_seri,t_seri,pplay,paprs,is_strato)
    265277
    266278!--common routine for nucleation and condensation/evaporation with adaptive timestep
     
    282294          surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas) &
    283295                           & *132./98.*dens_aer_dry*4./3.*RPI*(mdw(it)/2.)**3 &
    284                            & *pplay(i,1)/t_seri(i,1)/RD*1e9
     296                           & *pplay(i,1)/t_seri(i,1)/RD*1.e9
    285297        ENDIF
    286298      ENDDO
  • LMDZ5/branches/testing/libf/phylmd/alpale_th.F90

    r2594 r2787  
    3838  REAL, DIMENSION(klon), INTENT(INOUT)                       :: alp_bl
    3939  REAL, DIMENSION(klon), INTENT(INOUT)                       :: alp_bl_stat
    40 
    41   REAL, DIMENSION(klon), INTENT(OUT)                         :: proba_notrig, random_notrig
     40  REAL, DIMENSION(klon), INTENT(INOUT)                       :: proba_notrig
     41
     42  REAL, DIMENSION(klon), INTENT(OUT)                         :: random_notrig
    4243
    4344  include "thermcell.h"
     
    7374!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    7475!
     76!!
     77!!  The following 3 lines should be commented if one wants to activate the
     78!! multiplication of no-trigger probabilities between calls to the convection
     79!! scheme.
     80!!
     81             do i=1,klon
     82                proba_notrig(i)=1.
     83             enddo
     84!!
     85!!
    7586!---------------------------------------
    7687  IF (iflag_clos_bl .LT. 3) THEN
     
    97108             !----Initialisations
    98109             do i=1,klon
    99                 proba_notrig(i)=1.
     110!!jyg                proba_notrig(i)=1.
    100111                random_notrig(i)=1e6*ale_bl_stat(i)-int(1e6*ale_bl_stat(i))
    101112                if ( random_notrig(i) > random_notrig_max ) random_notrig(i)=0.
     
    120131                do i=1,klon
    121132                   if ( (ale_bl_stat(i) .gt. abs(cin(i))+1.e-10) )  then
    122                       proba_notrig(i)=(1.-exp(-s_trig/s2(i)))** &
    123                            (n2(i)*dtime/tau_trig(i))
     133                      proba_notrig(i)=proba_notrig(i)* &
     134                         (1.-exp(-s_trig/s2(i)))**(n2(i)*dtime/tau_trig(i))
    124135                      !        print *, 'proba_notrig(i) ',proba_notrig(i)
    125136                      if (random_notrig(i) .ge. proba_notrig(i)) then
     
    129140                      endif
    130141                   else
    131                       proba_notrig(i)=1.
     142!!jyg                      proba_notrig(i)=1.
    132143                      random_notrig(i)=0.
    133144                      ale_bl_trig(i)=0.
     
    139150                do i=1,klon
    140151                   if ( (Ale_bl(i) .gt. abs(cin(i))+1.e-10) )  then
    141                       proba_notrig(i)=(1.-exp(-s_trig/s2(i)))** &
    142                            (n2(i)*dtime/tau_trig(i))
     152                      proba_notrig(i)=proba_notrig(i)* &
     153                         (1.-exp(-s_trig/s2(i)))**(n2(i)*dtime/tau_trig(i))
    143154                      !        print *, 'proba_notrig(i) ',proba_notrig(i)
    144155                      if (random_notrig(i) .ge. proba_notrig(i)) then
     
    148159                      endif
    149160                   else
    150                       proba_notrig(i)=1.
     161!!jyg                      proba_notrig(i)=1.
    151162                      random_notrig(i)=0.
    152163                      ale_bl_trig(i)=0.
     
    223234        !----Initializations and random number generation
    224235        do i=1,klon
    225            proba_notrig(i)=1.
     236!!jyg           proba_notrig(i)=1.
    226237           random_notrig(i)=1e6*ale_bl_stat(i)-int(1e6*ale_bl_stat(i))
    227238           if ( ale_bl_trig(i) .lt. abs(cin(i))+1.e-10 ) then
     
    244255              birth_number = n2(i)*exp(-s_trig/s2(i))
    245256              birth_rate(i) = birth_number/(tau_trig(i)*cell_area(i))
    246               proba_notrig(i)=exp(-birth_number*dtime/tau_trig(i))
     257              proba_notrig(i)=proba_notrig(i)*exp(-birth_number*dtime/tau_trig(i))
    247258              Alp_bl(i) = Alp_bl(i)* &
    248259                          umexp(-birth_number*cv_feed_area/cell_area(i))/ &
     
    250261                          tau_trig(i)*cv_feed_area/(dtime*cell_area(i))
    251262          else
    252               proba_notrig(i)=1.
     263!!jyg              proba_notrig(i)=1.
    253264              random_notrig(i)=0.
    254265              alp_bl(i)=0.
  • LMDZ5/branches/testing/libf/phylmd/calwake.F90

    r2720 r2787  
    2626
    2727  USE dimphy
     28  USE phys_state_var_mod, ONLY: pctsrf
     29  USE indice_sol_mod, ONLY: is_oce
     30  USE print_control_mod, ONLY: mydebug=>debug , lunout, prt_level
    2831  IMPLICIT NONE
    2932  ! ======================================================================
     
    5154  ! ------
    5255  REAL, DIMENSION(klon, klev),   INTENT (OUT)        :: dt_wake, dq_wake
    53   INTEGER, DIMENSION(klon),      INTENT (OUT)        :: wake_k
     56  REAL, DIMENSION(klon),         INTENT (OUT)        :: wake_k
    5457  REAL, DIMENSION(klon, klev),   INTENT (OUT)        :: wake_d_deltat_gw
    5558  REAL, DIMENSION(klon),         INTENT (OUT)        :: wake_h
     
    6972  ! -----------------
    7073  INTEGER                                            :: i, l
     74  INTEGER, DIMENSION(klon)                           :: znatsurf    ! 0 if pctsrf(is_oce)>0.1; 1 else.
    7175  REAL                                               :: aire
    7276  REAL, DIMENSION(klon, klev)                        :: p,  pi
     
    97101
    98102
    99   ! print *, '-> calwake, wake_s ', wake_s(1)
     103  IF (prt_level >= 10) THEN
     104    print *, '-> calwake, wake_s input ', wake_s(1)
     105  ENDIF
    100106
    101107  rdcp = 1./3.5
     108
     109  znatsurf(:) = 0
     110  DO i = 1,klon
     111    IF (pctsrf(i,is_oce) < 0.1) znatsurf(i) = 1
     112  ENDDO
    102113
    103114
     
    124135  END DO
    125136
     137!----------------------------------------------------------------
     138!         Initialize tendencies to zero
     139!----------------------------------------------------------------
     140dtls(:,:) = 0.
     141dqls(:,:) = 0.
     142d_deltat_gw(:,:) = 0.
     143d_deltatw(:,:) = 0.
     144d_deltaqw(:,:) = 0.
     145d_sigmaw(:) = 0.
     146d_wdens(:) = 0.
     147!
     148
    126149  DO i = 1, klon
    127150    sigd0(i) = sigd(i)
     
    132155  END DO
    133156
    134   DO i = 1, klon
    135     ktopw(i) = wake_k(i)
    136   END DO
     157!!jyg!  DO i = 1, klon                 
     158!!jyg!    ktopw(i) = NINT(wake_k(i))   
     159!!jyg!  END DO                         
    137160
    138161  DO i = 1, klon
     
    178201  END DO
    179202
    180   CALL wake(p, ph, pi, dtime, &
     203  CALL wake(znatsurf, p, ph, pi, dtime, &
    181204    te, qe, omgbe, &
    182205    dtdwn, dqdwn, amdwn, amup, dta, dqa, &
     
    254277    END IF
    255278  END DO
     279!
    256280
    257281!jyg< 
  • LMDZ5/branches/testing/libf/phylmd/cdrag.F90

    • Property svn:keywords set to Id
    r2488 r2787  
    11!
    2 !$Id: cdrag.F90 ???? 2015-??-?? ??:??:??Z ? $
     2!$Id$
    33!
    44 SUBROUTINE cdrag( knon,  nsrf,   &
     
    99  USE dimphy
    1010  USE indice_sol_mod
    11   USE print_control_mod, ONLY: lunout
     11  USE print_control_mod, ONLY: lunout, prt_level
    1212  IMPLICIT NONE
    1313! ================================================================= c
     
    139139     IF (qsurf(i).LT.0.0)  ng_qsurf = ng_qsurf + 1
    140140  ENDDO
    141   IF (ng_q1.GT.0) THEN
     141  IF (ng_q1.GT.0 .and. prt_level > 5) THEN
    142142      WRITE(lunout,*)" *** Warning: Negative q1(humidity at 1st level) values in cdrag.F90 !"
    143143      WRITE(lunout,*)" The total number of the grids is: ", ng_q1
     
    146146!      CALL abort_physic(modname,abort_message,1)
    147147  ENDIF
    148   IF (ng_qsurf.GT.0) THEN
     148  IF (ng_qsurf.GT.0 .and. prt_level > 5) THEN
    149149      WRITE(lunout,*)" *** Warning: Negative qsurf(humidity at surface) values in cdrag.F90 !"
    150150      WRITE(lunout,*)" The total number of the grids is: ", ng_qsurf
     
    172172! the negative qsurf and q1 are set to zero (as in coefcdrag)
    173173     ztsolv = tsurf(i) * (1.0+RETV*max(qsurf(i),0.0)) ! negative qsurf set to zero
    174      ztvd = (t1(i)+zgeop1(i)/RCPD/(1.+RVTMP2*q1(i))) &
     174     ztvd = (t1(i)+zgeop1(i)/RCPD/(1.+RVTMP2*max(q1(i),0.0))) &
    175175          *(1.+RETV*max(q1(i),0.0)) ! negative q1 set to zero
    176176     zri(i) = zgeop1(i)*(ztvd-ztsolv)/(zdu2*ztvd)
  • LMDZ5/branches/testing/libf/phylmd/clesphys.h

    r2720 r2787  
    1313       LOGICAL ok_limitvrai
    1414       LOGICAL ok_all_xml
    15        INTEGER nbapp_rad, iflag_con, nbapp_cv, iflag_ener_conserv
     15       INTEGER nbapp_rad, iflag_con, nbapp_cv, nbapp_wk, iflag_ener_conserv
    1616       REAL co2_ppm, co2_ppm0, solaire
    1717       LOGICAL ok_suntime_rrtm
     
    114114     &     , cycle_diurne, soil_model, new_oliq                         &
    115115     &     , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad                &
    116      &     , iflag_con, nbapp_cv                                        &
     116     &     , iflag_con, nbapp_cv, nbapp_wk                              &
    117117     &     , iflag_ener_conserv                                         &
    118118     &     , ok_4xCO2atm                                                &
  • LMDZ5/branches/testing/libf/phylmd/conf_phys_m.F90

    r2720 r2787  
    1717       iflag_cld_th, &
    1818       iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
    19        ok_ade, ok_aie, ok_cdnc, aerosol_couple, &
     19       ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple, &
    2020       flag_aerosol, flag_aerosol_strat, new_aod, &
    2121       flag_bc_internal_mixture, bl95_b0, bl95_b1,&
     
    6161    ! ok_instan:  sorties instantanees
    6262    ! ok_ade, ok_aie: apply or not aerosol direct and indirect effects
     63    ! ok_alw: activate aerosol LW effect
    6364    ! ok_cdnc, ok cloud droplet number concentration
    6465    ! flag_aerosol_strat : flag pour les aerosols stratos
     
    7475    LOGICAL              :: ok_LES
    7576    LOGICAL              :: callstats
    76     LOGICAL              :: ok_ade, ok_aie, ok_cdnc, aerosol_couple
     77    LOGICAL              :: ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple
    7778    INTEGER              :: flag_aerosol
    7879    INTEGER              :: flag_aerosol_strat
     
    9394    LOGICAL, SAVE       :: ok_LES_omp   
    9495    LOGICAL, SAVE       :: callstats_omp
    95     LOGICAL, SAVE       :: ok_ade_omp, ok_aie_omp, ok_cdnc_omp, aerosol_couple_omp
     96    LOGICAL, SAVE       :: ok_ade_omp, ok_aie_omp, ok_alw_omp, ok_cdnc_omp, aerosol_couple_omp
    9697    INTEGER, SAVE       :: flag_aerosol_omp
    9798    INTEGER, SAVE       :: flag_aerosol_strat_omp
     
    207208    LOGICAL,SAVE  :: ok_orodr_omp, ok_orolf_omp, ok_limitvrai_omp
    208209    INTEGER, SAVE :: nbapp_rad_omp, iflag_con_omp
    209     INTEGER, SAVE :: nbapp_cv_omp
     210    INTEGER, SAVE :: nbapp_cv_omp, nbapp_wk_omp
    210211    INTEGER, SAVE :: iflag_ener_conserv_omp
    211212    LOGICAL, SAVE :: ok_conserv_q_omp
     
    348349    CALL getin('ok_ade', ok_ade_omp)
    349350
     351    !Config Key  = ok_alw
     352    !Config Desc = Aerosol longwave effect or not?
     353    !Config Def  = .FALSE.
     354    !Config Help = Used in radlwsw.F
     355    !
     356    ok_alw_omp = .FALSE.
     357    CALL getin('ok_alw', ok_alw_omp)
     358
    350359    !
    351360    !Config Key  = ok_aie
     
    389398    flag_aerosol_omp = 0
    390399    CALL getin('flag_aerosol',flag_aerosol_omp)
    391     !
    392     !Config Key  = flag_aerosol_strat
    393     !Config Desc = use stratospheric aerosols 0, 1, 2
    394     ! - 0 = no stratospheric aerosols
    395     ! - 1 = stratospheric aerosols scaled from 550 nm AOD
    396     ! - 2 = stratospheric aerosol properties from CMIP6
    397     !Config Def  = 0
    398     !Config Help = Used in physiq.F
    399     !
    400     !
    401     flag_aerosol_strat_omp = 0
    402     CALL getin('flag_aerosol_strat',flag_aerosol_strat_omp)
    403400
    404401    !
     
    547544    solaire_omp = 1365.
    548545    CALL getin('solaire', solaire_omp)
    549     !
    550     !Config Key  = ok_sun_time
    551     !Config Desc = oui ou non variabilite solaire
    552     !Config Def  = .FALSE.
    553     !Config Help =
    554     !
    555     !
    556     !valeur AMIP II
    557     ok_suntime_rrtm_omp = .FALSE.
    558     CALL getin('ok_suntime_rrtm',ok_suntime_rrtm_omp)
    559546    !
    560547    !Config Key  = co2_ppm
     
    790777    CALL getin('nbapp_cv',nbapp_cv_omp)
    791778
     779    !Config  Key  = nbapp_wk
     780    !Config  Desc = Frequence d'appel aux wakes
     781    !Config  Def  = 0
     782    !Config  Help = Nombre  d'appels des routines de wakes
     783    !Config         par jour. Si =0, appel a chaque pas de temps physique.
     784    nbapp_wk_omp = 0
     785    CALL getin('nbapp_wk',nbapp_wk_omp)
     786
    792787    !Config  Key  = iflag_ener_conserv
    793788    !Config  Desc = Flag de convection
     
    989984    CALL getin('ok_chlorophyll',ok_chlorophyll_omp)
    990985    !albedo SB <<<
     986    !
     987    !Config Key  = ok_sun_time
     988    !Config Desc = oui ou non variabilite solaire
     989    !Config Def  = .FALSE.
     990    !Config Help =
     991    !
     992    !
     993    !valeur AMIP II
     994    ok_suntime_rrtm_omp = .FALSE.
     995    IF (iflag_rrtm_omp==1) THEN
     996      CALL getin('ok_suntime_rrtm',ok_suntime_rrtm_omp)
     997    ENDIF
     998    !
     999    !Config Key  = flag_aerosol_strat
     1000    !Config Desc = use stratospheric aerosols 0, 1, 2
     1001    ! - 0 = no stratospheric aerosols
     1002    ! - 1 = stratospheric aerosols scaled from 550 nm AOD
     1003    ! - 2 = stratospheric aerosol properties from CMIP6
     1004    !Config Def  = 0
     1005    !Config Help = Used in physiq.F
     1006    !
     1007    !
     1008    flag_aerosol_strat_omp = 0
     1009    IF (iflag_rrtm_omp==1) THEN
     1010      CALL getin('flag_aerosol_strat',flag_aerosol_strat_omp)
     1011    ENDIF
    9911012
    9921013    !
     
    20662087    iflag_con = iflag_con_omp
    20672088    nbapp_cv = nbapp_cv_omp
     2089    nbapp_wk = nbapp_wk_omp
    20682090    iflag_ener_conserv = iflag_ener_conserv_omp
    20692091    ok_conserv_q = ok_conserv_q_omp
     
    21522174    ok_ade = ok_ade_omp
    21532175    ok_aie = ok_aie_omp
     2176    ok_alw = ok_alw_omp
    21542177    ok_cdnc = ok_cdnc_omp
    21552178    aerosol_couple = aerosol_couple_omp
     
    24002423    write(lunout,*)'iflag_con=',iflag_con
    24012424    write(lunout,*)'nbapp_cv=',nbapp_cv
     2425    write(lunout,*)'nbapp_wk=',nbapp_wk
    24022426    write(lunout,*)'iflag_ener_conserv=',iflag_ener_conserv
    24032427    write(lunout,*)'ok_conserv_q=',ok_conserv_q
     
    24582482    write(lunout,*)' ok_ade = ',ok_ade
    24592483    write(lunout,*)' ok_aie = ',ok_aie
     2484    write(lunout,*)' ok_alw = ',ok_alw
    24602485    write(lunout,*)' aerosol_couple = ', aerosol_couple
    24612486    write(lunout,*)' flag_aerosol = ', flag_aerosol
  • LMDZ5/branches/testing/libf/phylmd/cosp/cosp_output_write_mod.F90

    r2720 r2787  
    370370     modis%Optical_Thickness_vs_Cloud_Top_Pressure(:,icl,:),nvertisccp,icl)           
    371371   enddo
    372  endif
    373372
    374373    where(modis%Optical_Thickness_vs_ReffIce == R_UNDEF) &
     
    384383     modis%Optical_Thickness_vs_ReffLiq(:,icl,:),nvertReffLiq,icl)
    385384    enddo
     385 endif
    386386
    387387 IF(.NOT.cosp_varsdefined) THEN
  • LMDZ5/branches/testing/libf/phylmd/cv3_routines.F90

    r2720 r2787  
    8383
    8484! Var interm pour le getin
     85     cv_flag_feed=1
     86     CALL getin_p('cv_flag_feed',cv_flag_feed)
     87     T_top_max = 1000.
     88     CALL getin_p('t_top_max',T_top_max)
    8589     dpbase=-40.
    8690     CALL getin_p('dpbase',dpbase)
     
    117121     CALL getin_p('tlcrit',tlcrit)
    118122
     123    WRITE (*, *) 't_top_max=', t_top_max
    119124    WRITE (*, *) 'dpbase=', dpbase
    120125    WRITE (*, *) 'pbcrit=', pbcrit
     
    453458    END DO
    454459  END DO !  iter
     460
    455461  DO i = 1, len
    456462    p2feed(i) = pfeed(i)
     
    467473! --- are reasonable
    468474! -------------------------------------------------------------------
    469   DO i = 1, len
    470     IF (((tnk(i)<250.0) .OR. (qnk(i)<=0.0)) .AND. (iflag(i)==0)) iflag(i) = 7
    471   END DO
     475  IF (cv_flag_feed == 1) THEN
     476    DO i = 1, len
     477      IF (((tnk(i)<250.0)                       .OR.  &
     478           (qnk(i)<=0.0))                       .AND. &
     479          (iflag(i)==0)) iflag(i) = 7
     480    END DO
     481  ELSEIF (cv_flag_feed >= 2) THEN
     482! --- and demand that LCL be high enough
     483    DO i = 1, len
     484      IF (((tnk(i)<250.0)                       .OR.  &
     485           (qnk(i)<=0.0)                        .OR.  &
     486           (plcl(i)>min(0.99*ph(i,1),ph(i,3)))) .AND. &
     487          (iflag(i)==0)) iflag(i) = 7
     488    END DO
     489  ENDIF
    472490
    473491! -------------------------------------------------------------------
     
    10561074END SUBROUTINE icefrac
    10571075
    1058 SUBROUTINE cv3_undilute2(nloc, ncum, nd, icb, icbs, nk, &
     1076SUBROUTINE cv3_undilute2(nloc, ncum, nd, iflag, icb, icbs, nk, &
    10591077                         tnk, qnk, gznk, hnk, t, q, qs, gz, &
    10601078                         p, ph, h, tv, lv, lf, pbase, buoybase, plcl, &
     
    11011119  REAL, DIMENSION (nloc, nd), INTENT (INOUT)         :: tp, tvp, clw   ! Input for k = 1, icb+1 (computed in cv3_undilute1)
    11021120                                                                       ! Output above
     1121  INTEGER, DIMENSION (nloc), INTENT (INOUT)          :: iflag
    11031122
    11041123!outputs:
     
    15791598! ori          frac(i)=max(frac(i),0.0)
    15801599! ori 540  continue
     1600
     1601! --------------------------------------------------------------------
     1602!   Prevent convection when top is too hot
     1603! --------------------------------------------------------------------
     1604  DO i = 1,ncum
     1605    IF (t(i,inb(i)) > T_top_max) iflag(i) = 10
     1606  ENDDO
    15811607
    15821608! =====================================================================
     
    28202846        END IF !(amp2.gt.(0.1*amfac))
    28212847
    2822 ! ***         limit magnitude of mp(i) to meet cfl condition      ***
    2823 
    2824         ampmax = 2.0*(ph(il,i)-ph(il,i+1))*delti
    2825         amp2 = 2.0*(ph(il,i-1)-ph(il,i))*delti
    2826         ampmax = min(ampmax, amp2)
    2827         mp(il, i) = min(mp(il,i), ampmax)
     2848!jyg<    This part shifted 10 lines farther
     2849!!! ***         limit magnitude of mp(i) to meet cfl condition      ***
     2850!!
     2851!!        ampmax = 2.0*(ph(il,i)-ph(il,i+1))*delti
     2852!!        amp2 = 2.0*(ph(il,i-1)-ph(il,i))*delti
     2853!!        ampmax = min(ampmax, amp2)
     2854!!        mp(il, i) = min(mp(il,i), ampmax)
     2855!>jyg
    28282856
    28292857! ***      force mp to decrease linearly to zero                 ***
     
    28372865          mp(il, i) = mp(il, i)*(ph(il,1)-ph(il,i))/(ph(il,1)-0.9*plcl(il))
    28382866        END IF
     2867
     2868!jyg<    Shifted part
     2869! ***         limit magnitude of mp(i) to meet cfl condition      ***
     2870
     2871        ampmax = 2.0*(ph(il,i)-ph(il,i+1))*delti
     2872        amp2 = 2.0*(ph(il,i-1)-ph(il,i))*delti
     2873        ampmax = min(ampmax, amp2)
     2874        mp(il, i) = min(mp(il,i), ampmax)
     2875!>jyg
    28392876
    28402877      END IF ! (i.le.inb(il) .and. lwork(il) .and. i.ne.1)
  • LMDZ5/branches/testing/libf/phylmd/cv3param.h

    r2542 r2787  
    1111      logical ok_intermittent
    1212      integer noff, minorig, nl, nlp, nlm
     13      integer cv_flag_feed
     14      integer flag_epKEorig,flag_wb
    1315      real sigdz, spfac
    14       integer flag_epKEorig,flag_wb
    1516      real pbcrit, ptcrit
    1617      real elcrit, tlcrit
     
    1920      real dtovsh, dpbase, dttrig
    2021      real dtcrit, tau, beta, alpha, alpha1
     22      real T_top_max
    2123      real tau_stop, noconv_stop
    2224      real wbmax
     
    3133                      ,dtovsh, dpbase, dttrig &
    3234                      ,dtcrit, tau, beta, alpha, alpha1 &
     35                      ,T_top_max &
    3336                      ,tau_stop, noconv_stop &
    3437                      ,wbmax &
    3538                      ,delta, betad  &
    3639                      ,flag_epKEorig &
    37                       ,flag_wb &
     40                      ,flag_wb, cv_flag_feed &
    3841                      ,noff, minorig, nl, nlp, nlm  &
    3942                      ,ok_convstop, ok_intermittent &
  • LMDZ5/branches/testing/libf/phylmd/cva_driver.F90

    r2669 r2787  
    353353!         9     No moist convection: cloud base is higher
    354354!               then the level NL-1.
     355!        10     No moist convection: cloud top is too warm.
     356!
    355357
    356358! ft:   Array of temperature tendency (K/s) of dimension ND, defined at same
     
    907909        if (prt_level >= 9) &
    908910             PRINT *, 'cva_driver -> cv3_undilute2'
    909       CALL cv3_undilute2(nloc, ncum, nd, icb, icbs, nk, &              !na->nd
     911      CALL cv3_undilute2(nloc, ncum, nd, iflag, icb, icbs, nk, &        !na->nd
    910912                         tnk, qnk, gznk, hnk, t, q, qs, gz, &
    911913                         p, ph, h, tv, lv, lf, pbase, buoybase, plcl, &
  • LMDZ5/branches/testing/libf/phylmd/dyn1d/mod_1D_cases_read2.F90

    r2720 r2787  
    178178
    179179        print*,'Allocations OK'
    180         call read_cas(nid,nlev_cas,nt_cas                                       &
     180        call read_cas2(nid,nlev_cas,nt_cas                                       &
    181181     &     ,z_cas,plev_cas,t_cas,q_cas,rh_cas,th_cas,rv_cas,u_cas,v_cas         &
    182182     &     ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas,dv_cas,hv_cas,vv_cas    &
     
    241241        allocate(z_cas(nlev_cas,nt_cas),zh_cas(nlev_cas+1))
    242242        allocate(ap_cas(nlev_cas+1),bp_cas(nt_cas+1))
    243         allocate(t_cas(nlev_cas,nt_cas),q_cas(nlev_cas,nt_cas),qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas),qi_cas(nlev_cas,nt_cas),rh_cas(nlev_cas,nt_cas))
     243        allocate(t_cas(nlev_cas,nt_cas),q_cas(nlev_cas,nt_cas),qv_cas(nlev_cas,nt_cas),ql_cas(nlev_cas,nt_cas), &
     244             qi_cas(nlev_cas,nt_cas),rh_cas(nlev_cas,nt_cas))
    244245        allocate(th_cas(nlev_cas,nt_cas),thl_cas(nlev_cas,nt_cas),thv_cas(nlev_cas,nt_cas),rv_cas(nlev_cas,nt_cas))
    245246        allocate(u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas),vitw_cas(nlev_cas,nt_cas),omega_cas(nlev_cas,nt_cas))
     
    382383END MODULE mod_1D_cases_read2
    383384!=====================================================================
    384       subroutine read_cas(nid,nlevel,ntime                          &
     385      subroutine read_cas2(nid,nlevel,ntime                          &
    385386     &     ,zz,pp,temp,qv,rh,theta,rv,u,v,ug,vg,w,                   &
    386387     &     du,hu,vu,dv,hv,vv,dt,dtrad,ht,vt,dq,hq,vq,                     &
     
    423424
    424425       do i=1,nbvar3d
    425          print *,'Dans read_cas, on va lire ',nid,i,name_var(i)
     426         print *,'Dans read_cas2, on va lire ',nid,i,name_var(i)
    426427       enddo
    427428       do i=1,nbvar3d
     
    433434       enddo
    434435       do i=1,nbvar3d
    435          print *,'Dans read_cas, on va lire ',var3didin(i),name_var(i)
     436         print *,'Dans read_cas2, on va lire ',var3didin(i),name_var(i)
    436437         if(i.LE.35) then
    437438#ifdef NC_DOUBLE
     
    440441         ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul)
    441442#endif
    442          print *,'Dans read_cas, on a lu ',ierr,var3didin(i),name_var(i)
     443         print *,'Dans read_cas2, on a lu ',ierr,var3didin(i),name_var(i)
    443444         if(ierr/=NF_NOERR) then
    444445            print *,'Pb a la lecture de cas.nc: ',name_var(i)
     
    451452         ierr = NF_GET_VAR_REAL(nid,var3didin(i),resul1)
    452453#endif
    453          print *,'Dans read_cas, on a lu ',ierr,var3didin(i),name_var(i)
     454         print *,'Dans read_cas2, on a lu ',ierr,var3didin(i),name_var(i)
    454455         if(ierr/=NF_NOERR) then
    455456            print *,'Pb a la lecture de cas.nc: ',name_var(i)
     
    501502
    502503         return
    503          end subroutine read_cas
     504         end subroutine read_cas2
    504505!======================================================================
    505506      subroutine read2_cas(nid,nlevel,ntime,                                       &
     
    545546      data name_var/'coor_par_a','coor_par_b','height_h','pressure_h',&
    546547     &'w','omega','ug','vg','uadv','uadvh','uadvv','vadv','vadvh','vadvv','tadv','tadvh','tadvv',&
    547      &'qadv','qadvh','qadvv','thadv','thadvh','thadvv','thladvh','radv','radvh','radvv','radcool','q1','q2','ustress','vstress','rh',&
     548     &'qadv','qadvh','qadvv','thadv','thadvh','thadvv','thladvh','radv','radvh','radvv','radcool','q1','q2','ustress','vstress', &
     549     'rh',&
    548550     &'height_f','pressure_f','temp','theta','thv','thl','qv','ql','qi','rv','u','v',&
    549551     &'sfc_sens_flx','sfc_lat_flx','ts','ps','ustar','tke',&
     
    686688         end subroutine read2_cas
    687689!======================================================================
    688         SUBROUTINE interp_case_time(day,day1,annee_ref                &
     690        SUBROUTINE interp_case_time2(day,day1,annee_ref                &
    689691!    &         ,year_cas,day_cas,nt_cas,pdt_forc,nlev_cas      &
    690692     &         ,nt_cas,nlev_cas                                       &
     
    887889
    888890        return
    889         END SUBROUTINE interp_case_time
     891        END SUBROUTINE interp_case_time2
    890892
    891893!**********************************************************************************************
  • LMDZ5/branches/testing/libf/phylmd/iophys.F90

    r2669 r2787  
    11      subroutine iophys_ecrit(nom,lllm,titre,unite,px)
    2       USE dimphy
    3       USE mod_phys_lmdz_para
    4       USE mod_grid_phy_lmdz
     2
     3      USE mod_phys_lmdz_para, ONLY: klon_omp, is_mpi_root
     4      USE mod_phys_lmdz_transfert_para, ONLY: gather
     5      USE mod_grid_phy_lmdz, ONLY: klon_glo, nbp_lon, nbp_lat, grid1dto2d_glo
    56      IMPLICIT NONE
    67
     
    3940!=================================================================
    4041
    41 #include "dimensions.h"
    42 #include "paramet.h"
    43 #include "netcdf.inc"
    44 #include "iotd.h"
    45 
    4642
    4743! Arguments on input:
     
    5248      real px(klon_omp,lllm)
    5349      real xglo(klon_glo,lllm)
    54       real zx(iim,jjp1,lllm)
     50      real zx(nbp_lon,nbp_lat,lllm)
    5551
    5652
     
    6864!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    6965      SUBROUTINE iophys_ini
    70       USE mod_phys_lmdz_para
     66      USE mod_phys_lmdz_para, ONLY: is_mpi_root
    7167      USE vertical_layers_mod, ONLY: presnivs
    7268      USE regular_lonlat_mod, ONLY: lon_reg, lat_reg
  • LMDZ5/branches/testing/libf/phylmd/limit_read_mod.F90

    r2720 r2787  
    190190!****************************************************************************************
    191191    IF (first_call) THEN
     192       first_call=.FALSE.
    192193       ! calculate number of time steps for one day
    193194       lmt_pas = NINT(86400./dtime * 1.0)
     
    204205       END IF
    205206
    206        first_call=.FALSE.
    207     ENDIF
    208  
    209 !****************************************************************************************
    210 ! 1) Open the file limit.nc if it is the right moment to read, once a day.
    211 !    The file is read only by the master thread of the master mpi process(is_mpi_root)
    212 !    Check by the way if the number of records is correct.
    213 !
    214 !****************************************************************************************
    215 
    216     is_modified = .FALSE.
    217     IF (MOD(itime-1, lmt_pas) == 0 .OR. jour_lu /= jour ) THEN   ! time to read
    218        jour_lu = jour
    219        is_modified = .TRUE.
    220207!$OMP MASTER  ! Only master thread
    221208       IF (is_mpi_root) THEN ! Only master processus
    222 
    223209          ierr = NF90_OPEN ('limit.nc', NF90_NOWRITE, nid)
    224210          IF (ierr /= NF90_NOERR) CALL abort_physic(modname,&
     
    237223          ierr=NF90_INQUIRE(nid, UnlimitedDimID=ndimid)
    238224          ierr=NF90_INQUIRE_DIMENSION(nid, ndimid, len=nn)
    239           CALL num2str(nn,str)
    240           abort_message='limit.nc records number ('//TRIM(str)//') does'//&
    241             ' not match year length ('
    242           CALL num2str(year_len,str)
    243           abort_message=TRIM(abort_message)//TRIM(str)//')'
     225          WRITE(abort_message,'(a,2(i0,a))')'limit.nc records number (',nn,') does no'//&
     226            't match year length (',year_len,')'
    244227          IF(nn/=year_len) CALL abort_physic(modname,abort_message,1)
    245228
     
    247230          ierr=NF90_INQ_DIMID(nid, 'points_physiques', ndimid)
    248231          ierr=NF90_INQUIRE_DIMENSION(nid, ndimid, len=nn)
    249           CALL num2str(nn,str)
    250           abort_message='limit.nc horizontal number of cells ('//TRIM(str)//') does'//&
    251             ' not match LMDZ klon_glo ('
    252           CALL num2str(klon_glo,str)
    253           abort_message=TRIM(abort_message)//TRIM(str)//')'
     232          WRITE(abort_message,'(a,2(i0,a))')'limit.nc horizontal number of cells (',nn, &
     233            ') does not match LMDZ klon_glo (',klon_glo,')'
    254234          IF(nn/=klon_glo) CALL abort_physic(modname,abort_message,1)
     235
     236          ierr = NF90_CLOSE(nid)
     237          IF (ierr /= NF90_NOERR) CALL abort_physic(modname,'Pb when closing file', 1)
     238       END IF ! is_mpi_root
     239!$OMP END MASTER
     240!$OMP BARRIER
     241    END IF
     242
     243!****************************************************************************************
     244! 1) Open the file limit.nc if it is the right moment to read, once a day.
     245!    The file is read only by the master thread of the master mpi process(is_mpi_root)
     246!    Check by the way if the number of records is correct.
     247!
     248!****************************************************************************************
     249
     250    is_modified = .FALSE.
     251    IF (MOD(itime-1, lmt_pas) == 0 .OR. jour_lu /= jour ) THEN   ! time to read
     252       jour_lu = jour
     253       is_modified = .TRUE.
     254!$OMP MASTER  ! Only master thread
     255       IF (is_mpi_root) THEN ! Only master processus
     256
     257          ierr = NF90_OPEN ('limit.nc', NF90_NOWRITE, nid)
     258          IF (ierr /= NF90_NOERR) CALL abort_physic(modname,&
     259               'Pb d''ouverture du fichier de conditions aux limites',1)
    255260
    256261          ! La tranche de donnees a lire:
     
    370375  END SUBROUTINE limit_read_tot
    371376
    372   !--------------------------------------------------------------------------------------
    373   SUBROUTINE num2str(n,str)
    374   !--------------------------------------------------------------------------------------
    375   ! Arguments:
    376     INTEGER,           INTENT(IN)  :: n
    377     CHARACTER(LEN=99), INTENT(OUT) :: str
    378   !--------------------------------------------------------------------------------------
    379   ! Local variables:
    380     INTEGER :: nn
    381   !--------------------------------------------------------------------------------------
    382     nn=n; str=''; DO WHILE(nn>0); str=CHAR(nn-10*(nn/10)-48)//TRIM(str); nn=nn/10; END DO
    383   END SUBROUTINE num2str
    384   !--------------------------------------------------------------------------------------
    385 
    386377END MODULE limit_read_mod
  • LMDZ5/branches/testing/libf/phylmd/ocean_albedo.F90

    r2720 r2787  
    203203  ! Use Morel 91 formula to compute the diffuse
    204204  ! reflectance below the surface
    205   ZR00(1:knon)=(0.5*ZBW+ZBBP(1:knon))/(ZAW+ZAP(1:knon))*(0.6279-0.2227*ZHB(1:knon)-0.0513*ZHB(1:knon)**2 + (-0.3119+0.2465*ZHB(1:knon))*ZUE)
     205  ZR00(1:knon) = (0.5*ZBW+ZBBP(1:knon)) / (ZAW+ZAP(1:knon)) &
     206       * (0.6279-0.2227*ZHB(1:knon)-0.0513*ZHB(1:knon)**2 &
     207       + (-0.3119+0.2465*ZHB(1:knon))*ZUE)
    206208  ZRWDF(1:knon)=ZR00(1:knon)*(1.-ZR22(1:knon))*(1.-ZR11DF(1:knon))/(1.-ZR00(1:knon)*ZR22(1:knon))
    207209   
  • LMDZ5/branches/testing/libf/phylmd/phys_local_var_mod.F90

    r2720 r2787  
    255255      REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: ale_wake, alp_wake
    256256!$OMP THREADPRIVATE(ale_wake, alp_wake)           
    257       REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: wake_h
    258 !$OMP THREADPRIVATE(wake_h)                       
     257      REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: wake_h,wake_k
     258!$OMP THREADPRIVATE(wake_h,wake_k)                       
    259259    REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)            :: wake_omg
    260260!$OMP THREADPRIVATE(wake_omg)                     
     
    419419
    420420#ifdef CPP_StratAer
    421 ! variables for strat. aerosol CK
     421!
     422! variables for stratospheric aerosol
    422423      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: R2SO4
    423424!$OMP THREADPRIVATE(R2SO4)
     
    426427      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: f_r_wet
    427428!$OMP THREADPRIVATE(f_r_wet)
    428       REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sfluxaer
    429 !$OMP THREADPRIVATE(sfluxaer)
    430429      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: decfluxaer
    431430!$OMP THREADPRIVATE(decfluxaer)
    432431      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: mdw
    433432!$OMP THREADPRIVATE(mdw)
    434       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_convert
    435 !$OMP THREADPRIVATE(sulf_convert)
    436       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_nucl
    437 !$OMP THREADPRIVATE(sulf_nucl)
    438       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_cond_evap
    439 !$OMP THREADPRIVATE(sulf_cond_evap)
    440       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ocs_convert
    441 !$OMP THREADPRIVATE(ocs_convert)
    442       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_backgr_tend
    443 !$OMP THREADPRIVATE(SO2_backgr_tend)
    444       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_backgr_tend
    445 !$OMP THREADPRIVATE(OCS_backgr_tend)
    446433      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_lifetime
    447434!$OMP THREADPRIVATE(OCS_lifetime)
     
    456443      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550
    457444!$OMP THREADPRIVATE(tau_strat_550)
    458       REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550_lay
    459 !$OMP THREADPRIVATE(tau_strat_550_lay)
    460445      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_1020
    461446!$OMP THREADPRIVATE(tau_strat_1020)
    462447      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tausum_strat
    463448!$OMP THREADPRIVATE(tausum_strat)
    464       REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sulf_dep_dry
    465 !$OMP THREADPRIVATE(sulf_dep_dry)
    466       REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sulf_dep_wet
    467 !$OMP THREADPRIVATE(sulf_dep_wet)
    468449      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: surf_PM25_sulf
    469450!$OMP THREADPRIVATE(surf_PM25_sulf)
     
    472453      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vsed_aer
    473454!$OMP THREADPRIVATE(vsed_aer)
     455!
     456!---3D budget variables
     457      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_nucl
     458!$OMP THREADPRIVATE(budg_3D_nucl)
     459      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_cond_evap
     460!$OMP THREADPRIVATE(budg_3D_cond_evap)
     461      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_ocs_to_so2
     462!$OMP THREADPRIVATE(budg_3D_ocs_to_so2)
     463      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_so2_to_h2so4
     464!$OMP THREADPRIVATE(budg_3D_so2_to_h2so4)
     465      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_ocs
     466!$OMP THREADPRIVATE(budg_3D_backgr_ocs)
     467      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_so2
     468!$OMP THREADPRIVATE(budg_3D_backgr_so2)
     469!
     470!---2D budget variables
     471      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_h2so4
     472      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_part
     473!$OMP THREADPRIVATE(budg_dep_dry_h2so4,budg_dep_dry_part)
     474      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_h2so4
     475      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_part
     476!$OMP THREADPRIVATE(budg_dep_wet_h2so4,budg_dep_wet_part)
     477      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_ocs
     478      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_so2
     479      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_h2so4
     480      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_part
     481!$OMP THREADPRIVATE(budg_emi_ocs,budg_emi_so2,budg_emi_h2so4,budg_emi_part)
     482      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_ocs_to_so2
     483      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_so2_to_h2so4
     484      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_h2so4_to_part
     485!$OMP THREADPRIVATE(budg_ocs_to_so2,budg_so2_to_h2so4,budg_h2so4_to_part)
     486      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_sed_part
     487!$OMP THREADPRIVATE(budg_sed_part)
    474488#endif
    475489
     
    614628!!          Wake variables
    615629      ALLOCATE(ale_wake(klon), alp_wake(klon))
    616       ALLOCATE(wake_h(klon))
     630      ALLOCATE(wake_h(klon),wake_k(klon))
    617631      ALLOCATE(wake_omg(klon, klev))
    618632      ALLOCATE(d_deltat_wk(klon, klev), d_deltaq_wk(klon, klev))
     
    718732      ALLOCATE (DENSO4(klon,klev))
    719733      ALLOCATE (f_r_wet(klon,klev))
    720       ALLOCATE (sfluxaer(klon))
    721734      ALLOCATE (decfluxaer(klon,nbtr))
    722735      ALLOCATE (mdw(nbtr))
    723       ALLOCATE (sulf_convert(klon,klev))
    724       ALLOCATE (sulf_nucl(klon,klev))
    725       ALLOCATE (sulf_cond_evap(klon,klev))
    726       ALLOCATE (ocs_convert(klon,klev))
    727       ALLOCATE (SO2_backgr_tend(klon,klev))
    728       ALLOCATE (OCS_backgr_tend(klon,klev))
     736      ALLOCATE (budg_3D_nucl(klon,klev))
     737      ALLOCATE (budg_3D_cond_evap(klon,klev))
     738      ALLOCATE (budg_3D_ocs_to_so2(klon,klev))
     739      ALLOCATE (budg_3D_so2_to_h2so4(klon,klev))
     740      ALLOCATE (budg_3D_backgr_ocs(klon,klev))
     741      ALLOCATE (budg_3D_backgr_so2(klon,klev))
    729742      ALLOCATE (OCS_lifetime(klon,klev))
    730743      ALLOCATE (SO2_lifetime(klon,klev))
     
    733746      ALLOCATE (cg_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave+nwave_lw,nbtr))
    734747      ALLOCATE (tau_strat_550(klon,klev))
    735       ALLOCATE (tau_strat_550_lay(klon,klev))
    736748      ALLOCATE (tau_strat_1020(klon,klev))
    737749      ALLOCATE (tausum_strat(klon,3))
    738       ALLOCATE (sulf_dep_dry(klon))
    739       ALLOCATE (sulf_dep_wet(klon))
     750      ALLOCATE (budg_dep_dry_h2so4(klon))
     751      ALLOCATE (budg_dep_wet_h2so4(klon))
     752      ALLOCATE (budg_dep_dry_part(klon))
     753      ALLOCATE (budg_dep_wet_part(klon))
     754      ALLOCATE (budg_emi_ocs(klon))
     755      ALLOCATE (budg_emi_so2(klon))
     756      ALLOCATE (budg_emi_h2so4(klon))
     757      ALLOCATE (budg_emi_part(klon))
     758      ALLOCATE (budg_ocs_to_so2(klon))
     759      ALLOCATE (budg_so2_to_h2so4(klon))
     760      ALLOCATE (budg_h2so4_to_part(klon))
     761      ALLOCATE (budg_sed_part(klon))
    740762      ALLOCATE (surf_PM25_sulf(klon))
    741763      ALLOCATE (p_tropopause(klon))
     
    867889!
    868890      DEALLOCATE(ale_wake, alp_wake)
    869       DEALLOCATE(wake_h)
     891      DEALLOCATE(wake_h,wake_k)
    870892      DEALLOCATE(wake_omg)
    871893      DEALLOCATE(d_deltat_wk, d_deltaq_wk)
     
    964986      DEALLOCATE (DENSO4)
    965987      DEALLOCATE (f_r_wet)
    966       DEALLOCATE (sfluxaer)
    967988      DEALLOCATE (decfluxaer)
    968989      DEALLOCATE (mdw)
    969       DEALLOCATE (sulf_convert)
    970       DEALLOCATE (sulf_nucl)
    971       DEALLOCATE (sulf_cond_evap)
    972       DEALLOCATE (ocs_convert)
    973       DEALLOCATE (SO2_backgr_tend)
    974       DEALLOCATE (OCS_backgr_tend)
    975990      DEALLOCATE (SO2_lifetime)
    976991      DEALLOCATE (OCS_lifetime)
     
    979994      DEALLOCATE (cg_bin)
    980995      DEALLOCATE (tau_strat_550)
    981       DEALLOCATE (tau_strat_550_lay)
    982996      DEALLOCATE (tau_strat_1020)
    983997      DEALLOCATE (tausum_strat)
    984       DEALLOCATE (sulf_dep_dry)
    985       DEALLOCATE (sulf_dep_wet)
    986998      DEALLOCATE (surf_PM25_sulf)
    987999      DEALLOCATE (p_tropopause)
    9881000      DEALLOCATE (vsed_aer)
     1001      DEALLOCATE (budg_3D_ocs_to_so2)
     1002      DEALLOCATE (budg_3D_so2_to_h2so4)
     1003      DEALLOCATE (budg_3D_backgr_ocs)
     1004      DEALLOCATE (budg_3D_backgr_so2)
     1005      DEALLOCATE (budg_3D_nucl)
     1006      DEALLOCATE (budg_3D_cond_evap)
     1007      DEALLOCATE (budg_dep_dry_h2so4)
     1008      DEALLOCATE (budg_dep_wet_h2so4)
     1009      DEALLOCATE (budg_dep_dry_part)
     1010      DEALLOCATE (budg_dep_wet_part)
     1011      DEALLOCATE (budg_emi_ocs)
     1012      DEALLOCATE (budg_emi_so2)
     1013      DEALLOCATE (budg_emi_h2so4)
     1014      DEALLOCATE (budg_emi_part)
     1015      DEALLOCATE (budg_ocs_to_so2)
     1016      DEALLOCATE (budg_so2_to_h2so4)
     1017      DEALLOCATE (budg_h2so4_to_part)
     1018      DEALLOCATE (budg_sed_part)
    9891019#endif
    9901020
  • LMDZ5/branches/testing/libf/phylmd/phys_output_ctrlout_mod.F90

    r2720 r2787  
    1919!!! Comosantes de la coordonnee sigma-hybride
    2020!!! Ap et Bp
    21   TYPE(ctrl_out), SAVE :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11 /), &
    22     'Ap', '', '', (/ ('', i=1, 9) /))
    23   TYPE(ctrl_out), SAVE :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11 /), &
    24     'Bp', '', '', (/ ('', i=1, 9) /))
    25   TYPE(ctrl_out), SAVE :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11 /), &
    26     'Alt', '', '', (/ ('', i=1, 9) /))
     21  TYPE(ctrl_out), SAVE :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
     22    'Ap', '', '', (/ ('', i=1, 10) /))
     23  TYPE(ctrl_out), SAVE :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
     24    'Bp', '', '', (/ ('', i=1, 10) /))
     25  TYPE(ctrl_out), SAVE :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1, 11, 11, 11, 11/), &
     26    'Alt', '', '', (/ ('', i=1, 10) /))
    2727
    2828!!! 1D
    29   TYPE(ctrl_out), SAVE :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1, 11, 11, 11 /), &
    30     'phis', 'Surface geop.height', 'm2/s2', (/ ('', i=1, 9) /))
    31   TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10,  10, 1, 1, 11, 11, 11 /), &
     29  TYPE(ctrl_out), SAVE :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1, 11, 11, 11, 11/), &
     30    'phis', 'Surface geop.height', 'm2/s2', (/ ('', i=1, 10) /))
     31  TYPE(ctrl_out), SAVE :: o_aire = ctrl_out((/ 1, 1, 10,  10, 1, 1, 11, 11, 11, 11/), &
    3232    'aire', 'Grid area', '-', (/ 'once', 'once', 'once', 'once', 'once', 'once', &
    33                                      'once', 'once', 'once' /))
    34   TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1,  1, 10, 10, 10, 11, 11, 11 /), &
     33                                 'once', 'once', 'once', 'once' /))
     34  TYPE(ctrl_out), SAVE :: o_contfracATM = ctrl_out((/ 10, 1,  1, 10, 10, 10, 11, 11, 11, 11/), &
    3535    'contfracATM', '% sfce ter+lic', '-', &
    36        (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /))
    37   TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1,  10, 10, 10, 10, 11, 11, 11 /), &
    38     'contfracOR', '% sfce terre OR', '-', (/ ('', i=1, 9) /))
    39   TYPE(ctrl_out), SAVE :: o_aireTER = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    40     'aireTER', 'Grid area CONT', '-', (/ ('', i=1, 9) /))
     36       (/ 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once', 'once' /))
     37  TYPE(ctrl_out), SAVE :: o_contfracOR = ctrl_out((/ 10, 1,  10, 10, 10, 10, 11, 11, 11, 11/), &
     38    'contfracOR', '% sfce terre OR', '-', (/ ('', i=1, 10) /))
     39  TYPE(ctrl_out), SAVE :: o_aireTER = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     40    'aireTER', 'Grid area CONT', '-', (/ ('', i=1, 10) /))
    4141
    4242!!! 2D
     
    4444! Marine
    4545
    46   TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     46  TYPE(ctrl_out), SAVE :: o_alt_tropo = ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    4747  'alt_tropo','Tropopause pressure','hPa',&
    4848   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    49     "inst(X)", "inst(X)","inst(X)" /))
    50 
    51   TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     49      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     50
     51  TYPE(ctrl_out), SAVE :: o_map_prop_hc = ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    5252  'map_prop_hc','Proportion of high clouds',' ',&
    5353   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    54     "inst(X)", "inst(X)","inst(X)" /))
     54      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    5555
    5656  TYPE(ctrl_out), SAVE :: o_map_prop_hist = &
    57   ctrl_out((/1,1,1,1,1,1,10,10,10/),&
     57  ctrl_out((/1,1,1,1,1,1,10,10,10,10/),&
    5858  'map_prop_hist','Proportion of high ice semi-transp clouds',' ',&
    5959   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    60     "inst(X)", "inst(X)","inst(X)" /))
     60      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    6161
    6262  TYPE(ctrl_out), SAVE :: o_map_emis_hc = &
    63   ctrl_out((/1,1,1,1,1,1,10,10,10/),&
     63  ctrl_out((/1,1,1,1,1,1,10,10,10,10/),&
    6464  'map_emis_hc','Emissivity of high clouds',' ',&
    6565   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    66     "inst(X)", "inst(X)","inst(X)" /))
     66      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    6767
    6868  TYPE(ctrl_out), SAVE :: o_map_iwp_hc = &
    69   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     69  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    7070  'map_iwp_hc','Ice water path of high clouds','g/m2',&
    7171   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    72     "inst(X)", "inst(X)","inst(X)" /))
     72      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    7373
    7474  TYPE(ctrl_out), SAVE :: o_map_deltaz_hc = &
    75   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     75  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    7676  'map_deltaz_hc','geom thickness of high clouds','m',&
    7777   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    78     "inst(X)", "inst(X)","inst(X)" /))
     78      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    7979
    8080  TYPE(ctrl_out), SAVE :: o_map_pcld_hc = &
    81   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     81  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    8282  'map_pcld_hc','cloud pressure of high clouds','hPa',&
    8383   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    84     "inst(X)", "inst(X)","inst(X)" /))
     84      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    8585
    8686   TYPE(ctrl_out), SAVE :: o_map_tcld_hc = &
    87   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     87  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    8888  'map_tcld_hc','cloud temperature of high clouds','K',&
    8989   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    90     "inst(X)", "inst(X)","inst(X)" /))
    91 
     90      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    9291
    9392  TYPE(ctrl_out), SAVE :: o_map_emis_hist = &
    94   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     93  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    9594  'map_emis_hist','Emissivity of high ice st clouds',' ',&
    9695   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    97     "inst(X)", "inst(X)","inst(X)" /))
     96      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    9897
    9998  TYPE(ctrl_out), SAVE :: o_map_iwp_hist = &
    100   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     99  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    101100  'map_iwp_hist','Ice water path of high ice st clouds','g/m2',&
    102101   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    103     "inst(X)", "inst(X)","inst(X)" /))
     102      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    104103
    105104  TYPE(ctrl_out), SAVE :: o_map_deltaz_hist = &
    106   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     105  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    107106  'map_deltaz_hist','geom thickness of high ice st clouds','m',&
    108107   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    109     "inst(X)", "inst(X)","inst(X)" /))
     108      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    110109
    111110  TYPE(ctrl_out), SAVE :: o_map_rad_hist = &
    112   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     111  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    113112  'map_rad_hist','ice crystals radius in high ice st clouds','µm',&
    114113   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    115     "inst(X)", "inst(X)","inst(X)" /))
     114      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    116115
    117116
    118117 TYPE(ctrl_out), SAVE :: o_map_emis_Cb = &
    119   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     118  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    120119  'map_emis_Cb','Emissivity of high Cb clouds',' ',&
    121120   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    122     "inst(X)", "inst(X)","inst(X)" /))
     121      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    123122
    124123 TYPE(ctrl_out), SAVE :: o_map_pcld_Cb = &
    125   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     124  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    126125  'map_pcld_Cb','cloud pressure of high Cb clouds','hPa',&
    127126   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    128     "inst(X)", "inst(X)","inst(X)" /))
     127      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    129128
    130129 TYPE(ctrl_out), SAVE :: o_map_tcld_Cb = &
    131   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     130  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    132131  'map_tcld_Cb','cloud temperature of high Cb clouds','K',&
    133132   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    134     "inst(X)", "inst(X)","inst(X)" /))
     133      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    135134
    136135
    137136 TYPE(ctrl_out), SAVE :: o_map_emis_Anv = &
    138   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     137  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    139138  'map_emis_Anv','Emissivity of high Anv clouds',' ',&
    140139   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    141     "inst(X)", "inst(X)","inst(X)" /))
     140      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    142141
    143142 TYPE(ctrl_out), SAVE :: o_map_pcld_Anv = &
    144   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     143  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    145144  'map_pcld_Anv','cloud pressure of high Anv clouds','hPa',&
    146145   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    147     "inst(X)", "inst(X)","inst(X)" /))
     146      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    148147
    149148  TYPE(ctrl_out), SAVE :: o_map_tcld_Anv = &
    150   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     149  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    151150  'map_tcld_Anv','cloud temperature of high Anv clouds','K',&
    152151   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    153     "inst(X)", "inst(X)","inst(X)" /))
     152      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    154153
    155154  TYPE(ctrl_out), SAVE :: o_map_emis_ThCi = &
    156   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     155  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    157156  'map_emis_ThCi','Emissivity of high ThCi clouds',' ',&
    158157   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    159     "inst(X)", "inst(X)","inst(X)" /))
     158      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    160159
    161160  TYPE(ctrl_out), SAVE :: o_map_pcld_ThCi = &
    162   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     161  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    163162  'map_pcld_ThCi','cloud pressure of high ThCi clouds','hPa',&
    164163   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    165     "inst(X)", "inst(X)","inst(X)" /))
     164      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    166165
    167166  TYPE(ctrl_out), SAVE :: o_map_tcld_ThCi = &
    168   ctrl_out((/10,10,1,10,10,10,10,10,10/),&
     167  ctrl_out((/10,10,1,10,10,10,10,10,10,10/),&
    169168  'map_tcld_ThCi','cloud temperature of high ThCi clouds','K',&
    170169   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    171     "inst(X)", "inst(X)","inst(X)" /))
     170      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    172171
    173172   TYPE(ctrl_out), SAVE :: o_map_ntot = &
    174   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     173  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    175174  'map_ntot','total AIRS cloud fraction',' ',&
    176175   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    177     "inst(X)", "inst(X)","inst(X)" /))
     176      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    178177
    179178  TYPE(ctrl_out), SAVE :: o_map_hc = &
    180   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     179  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    181180  'map_hc','high clouds AIRS cloud fraction',' ',&
    182181   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    183     "inst(X)", "inst(X)","inst(X)" /))
     182      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    184183
    185184  TYPE(ctrl_out), SAVE :: o_map_hist = &
    186   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     185  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    187186  'map_hist','high clouds ice st AIRS cloud fraction',' ',&
    188187   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    189     "inst(X)", "inst(X)","inst(X)" /))
     188      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    190189
    191190  TYPE(ctrl_out), SAVE :: o_map_Cb = &
    192   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     191  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    193192  'map_Cb','high clouds Cb AIRS cloud fraction',' ',&
    194193   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    195     "inst(X)", "inst(X)","inst(X)" /))
     194      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    196195
    197196 TYPE(ctrl_out), SAVE :: o_map_ThCi = &
    198   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     197  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    199198  'map_ThCi','high clouds ThCi AIRS cloud fraction',' ',&
    200199   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    201     "inst(X)", "inst(X)","inst(X)" /))
     200      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    202201
    203202 TYPE(ctrl_out), SAVE :: o_map_Anv = &
    204   ctrl_out((/1,1,1,1,1,10,10,10,10/),&
     203  ctrl_out((/1,1,1,1,1,10,10,10,10,10/),&
    205204  'map_Anv','high clouds Anv AIRS cloud fraction',' ',&
    206205   (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)",&
    207     "inst(X)", "inst(X)","inst(X)" /))
    208 
     206      "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    209207
    210208! Fin Marine
    211209
    212   TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10, 11, 11, 11 /), &
    213     'flat', 'Latent heat flux', 'W/m2', (/ ('', i=1, 9) /))
    214   TYPE(ctrl_out), SAVE :: o_ptstar = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    215     'ptstar', 'Air Surface Temperature', 'K', (/ ('', i=1, 9) /))
    216   TYPE(ctrl_out), SAVE :: o_pt0 = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    217     'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i=1, 9) /))
    218   TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    219     'slp', 'Sea Level Pressure', 'Pa', (/ ('', i=1, 9) /))
    220   TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
    221     'tsol', 'Surface Temperature', 'K', (/ ('', i=1, 9) /))
    222   TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
    223     't2m', 'Temperature 2m', 'K', (/ ('', i=1, 9) /))
    224   TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11 /), &
     210  TYPE(ctrl_out), SAVE :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
     211    'flat', 'Latent heat flux', 'W/m2', (/ ('', i=1, 10) /))
     212  TYPE(ctrl_out), SAVE :: o_ptstar = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     213    'ptstar', 'Air Surface Temperature', 'K', (/ ('', i=1, 10) /))
     214  TYPE(ctrl_out), SAVE :: o_pt0 = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     215    'pt0', 'Standard Air Surface Temperature', 'K', (/ ('', i=1, 10) /))
     216  TYPE(ctrl_out), SAVE :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     217    'slp', 'Sea Level Pressure', 'Pa', (/ ('', i=1, 10) /))
     218  TYPE(ctrl_out), SAVE :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     219    'tsol', 'Surface Temperature', 'K', (/ ('', i=1, 10) /))
     220  TYPE(ctrl_out), SAVE :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     221    't2m', 'Temperature 2m', 'K', (/ ('', i=1, 10) /))
     222  TYPE(ctrl_out), SAVE :: o_t2m_min = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    225223    't2m_min', 'Temp 2m min', 'K', &
    226       (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
    227   TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11 /), &
     224      (/ "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", &
     225         "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)", "t_min(X)" /))
     226  TYPE(ctrl_out), SAVE :: o_t2m_max = ctrl_out((/ 20, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    228227    't2m_max', 'Temp 2m max', 'K', &
    229228      (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    230          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
    231 
    232   TYPE(ctrl_out), SAVE :: o_t2m_min_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20 /), &
     229         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     230
     231  TYPE(ctrl_out), SAVE :: o_t2m_min_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
    233232    't2m_min_mon', 'Monthly average min 2m temperature', 'K', &
    234       (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    235   TYPE(ctrl_out), SAVE :: o_t2m_max_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20 /), &
     233      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
     234         "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     235  TYPE(ctrl_out), SAVE :: o_t2m_max_mon = ctrl_out((/ 1, 20, 20, 20, 20, 20, 20, 20, 20, 20 /), &
    236236    't2m_max_mon', 'Monthly average max 2m temperature', 'K', &
    237237      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    238          "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     238         "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    239239
    240240  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_t2m_srf = (/ &
    241       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    242     't2m_ter', "Temp 2m "//clnsurf(1), "K", (/ ('', i=1, 9) /)), &
    243       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    244     't2m_lic', "Temp 2m "//clnsurf(2), "K", (/ ('', i=1, 9) /)), &
    245       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    246     't2m_oce', "Temp 2m "//clnsurf(3), "K", (/ ('', i=1, 9) /)), &
    247       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    248     't2m_sic', "Temp 2m "//clnsurf(4), "K", (/ ('', i=1, 9) /)) /)
    249 
    250   TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    251     'gusts', 'surface gustiness', 'm2/s2', (/ ('', i=1, 9) /))
    252 
    253   TYPE(ctrl_out), SAVE :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    254     'wind10m', '10-m wind speed', 'm/s', (/ ('', i=1, 9) /))
    255   TYPE(ctrl_out), SAVE :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
     241      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     242    't2m_ter', "Temp 2m "//clnsurf(1), "K", (/ ('', i=1, 10) /)), &
     243      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     244    't2m_lic', "Temp 2m "//clnsurf(2), "K", (/ ('', i=1, 10) /)), &
     245      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     246    't2m_oce', "Temp 2m "//clnsurf(3), "K", (/ ('', i=1, 10) /)), &
     247      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     248    't2m_sic', "Temp 2m "//clnsurf(4), "K", (/ ('', i=1, 10) /)) /)
     249
     250  TYPE(ctrl_out), SAVE :: o_gusts = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     251    'gusts', 'surface gustiness', 'm2/s2', (/ ('', i=1, 10) /))
     252
     253  TYPE(ctrl_out), SAVE :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     254    'wind10m', '10-m wind speed', 'm/s', (/ ('', i=1, 10) /))
     255  TYPE(ctrl_out), SAVE :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    256256    'wind10max', '10m wind speed max', 'm/s', &
    257257    (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    258      "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))                                                                                                                                           
    259   TYPE(ctrl_out), SAVE :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    260     'sicf', 'Sea-ice fraction', '-', (/ ('', i=1, 9) /))
    261   TYPE(ctrl_out), SAVE :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
    262     'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i=1, 9) /))
    263   TYPE(ctrl_out), SAVE :: o_ustar = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11 /), &
    264     'ustar', 'Friction velocity', 'm/s', (/ ('', i=1, 9) /))
    265   TYPE(ctrl_out), SAVE :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
    266     'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i=1, 9) /))
    267   TYPE(ctrl_out), SAVE :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
    268     'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i=1, 9) /))
    269   TYPE(ctrl_out), SAVE :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11 /), &
    270     'psol', 'Surface Pressure', 'Pa', (/ ('', i=1, 9) /))
    271   TYPE(ctrl_out), SAVE :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    272     'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i=1, 9) /))
     258       "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     259
     260  TYPE(ctrl_out), SAVE :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     261    'sicf', 'Sea-ice fraction', '-', (/ ('', i=1, 10) /))
     262  TYPE(ctrl_out), SAVE :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     263    'q2m', 'Specific humidity 2m', 'kg/kg', (/ ('', i=1, 10) /))
     264  TYPE(ctrl_out), SAVE :: o_ustar = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
     265    'ustar', 'Friction velocity', 'm/s', (/ ('', i=1, 10) /))
     266  TYPE(ctrl_out), SAVE :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     267    'u10m', 'Vent zonal 10m', 'm/s', (/ ('', i=1, 10) /))
     268  TYPE(ctrl_out), SAVE :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     269    'v10m', 'Vent meridien 10m', 'm/s', (/ ('', i=1, 10) /))
     270  TYPE(ctrl_out), SAVE :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10, 11, 11, 11, 11/), &
     271    'psol', 'Surface Pressure', 'Pa', (/ ('', i=1, 10) /))
     272  TYPE(ctrl_out), SAVE :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     273    'qsurf', 'Surface Air humidity', 'kg/kg', (/ ('', i=1, 10) /))
    273274
    274275  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ustar_srf     = (/ &
    275       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_ter', &
    276       "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
    277       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_lic', &
    278       "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
    279       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_oce', &
    280       "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
    281       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'ustar_sic', &
    282       "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
     276      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_ter', &
     277      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
     278      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_lic', &
     279      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
     280      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_oce', &
     281      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
     282      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'ustar_sic', &
     283      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
    283284
    284285  TYPE(ctrl_out), SAVE, DIMENSION(5) :: o_wstar         = (/ &
    285       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_ter', &
    286       "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
    287       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_lic', &
    288       "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
    289       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_oce', &
    290       "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
    291       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'wstar_sic', &
    292       "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)), &
    293       ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11 /),'wstar', &
    294       "w* convective velocity "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
     286      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_ter', &
     287      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
     288      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_lic', &
     289      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
     290      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_oce', &
     291      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
     292      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar_sic', &
     293      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)), &
     294      ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/),'wstar', &
     295      "w* convective velocity "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
    295296
    296297  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10m_srf     = (/ &
    297       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_ter', &
    298       "Vent Zonal 10m "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
    299       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_lic', &
    300       "Vent Zonal 10m "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
    301       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_oce', &
    302       "Vent Zonal 10m "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
    303       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'u10m_sic', &
    304       "Vent Zonal 10m "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
     298      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_ter', &
     299      "Vent Zonal 10m "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
     300      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_lic', &
     301      "Vent Zonal 10m "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
     302      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_oce', &
     303      "Vent Zonal 10m "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
     304      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'u10m_sic', &
     305      "Vent Zonal 10m "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
    305306
    306307  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10m_srf     = (/ &
    307       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_ter', &
    308       "Vent meredien 10m "//clnsurf(1),"m/s", (/ ('', i=1, 9) /)), &
    309       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_lic', &
    310       "Vent meredien 10m "//clnsurf(2),"m/s", (/ ('', i=1, 9) /)), &
    311       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_oce', &
    312       "Vent meredien 10m "//clnsurf(3),"m/s", (/ ('', i=1, 9) /)), &
    313       ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11 /),'v10m_sic', &
    314       "Vent meredien 10m "//clnsurf(4),"m/s", (/ ('', i=1, 9) /)) /)
    315 
    316   TYPE(ctrl_out), SAVE :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    317     'qsol', 'Soil watter content', 'mm', (/ ('', i=1, 9) /))
    318   TYPE(ctrl_out), SAVE :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
     308      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_ter', &
     309      "Vent meredien 10m "//clnsurf(1),"m/s", (/ ('', i=1, 10) /)), &
     310      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_lic', &
     311      "Vent meredien 10m "//clnsurf(2),"m/s", (/ ('', i=1, 10) /)), &
     312      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_oce', &
     313      "Vent meredien 10m "//clnsurf(3),"m/s", (/ ('', i=1, 10) /)), &
     314      ctrl_out((/ 10, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'v10m_sic', &
     315      "Vent meredien 10m "//clnsurf(4),"m/s", (/ ('', i=1, 10) /)) /)
     316
     317  TYPE(ctrl_out), SAVE :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     318    'qsol', 'Soil watter content', 'mm', (/ ('', i=1, 10) /))
     319  TYPE(ctrl_out), SAVE :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    319320    'ndayrain', 'Number of dayrain(liq+sol)', '-', &
    320       (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
    321   TYPE(ctrl_out), SAVE :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11 /), &
    322     'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i=1, 9) /))
    323   TYPE(ctrl_out), SAVE :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    324     'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i=1, 9) /))
    325   TYPE(ctrl_out), SAVE :: o_plun = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    326     'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i=1, 9) /))
    327   TYPE(ctrl_out), SAVE :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11 /), &
    328     'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i=1, 9) /))
    329   TYPE(ctrl_out), SAVE :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11 /), &
    330     'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i=1, 9) /))
    331   TYPE(ctrl_out), SAVE :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    332     'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i=1, 9) /))
    333 
    334   TYPE(ctrl_out), SAVE :: o_sens_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    335     'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
    336   TYPE(ctrl_out), SAVE :: o_sens_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    337     'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
    338   TYPE(ctrl_out), SAVE :: o_sens_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    339     'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
    340   TYPE(ctrl_out), SAVE :: o_sens_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    341     'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
    342   TYPE(ctrl_out), SAVE :: o_lat_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    343     'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
    344   TYPE(ctrl_out), SAVE :: o_lat_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    345     'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
    346   TYPE(ctrl_out), SAVE :: o_lat_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    347     'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 9) /))
    348   TYPE(ctrl_out), SAVE :: o_lat_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11 /), &
    349     'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 9) /))
     321      (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)" /))
     322  TYPE(ctrl_out), SAVE :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
     323    'precip', 'Precip Totale liq+sol', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     324  TYPE(ctrl_out), SAVE :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     325    'plul', 'Large-scale Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     326  TYPE(ctrl_out), SAVE :: o_plun = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     327    'plun', 'Numerical Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     328  TYPE(ctrl_out), SAVE :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10, 11, 11, 11, 11/), &
     329    'pluc', 'Convective Precip.', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     330  TYPE(ctrl_out), SAVE :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
     331    'snow', 'Snow fall', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     332  TYPE(ctrl_out), SAVE :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     333    'evap', 'Evaporat', 'kg/(s*m2)', (/ ('', i=1, 10) /))
     334
     335  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     336    'sens_rain_oce', 'Sensible heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     337  TYPE(ctrl_out), SAVE :: o_sens_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     338    'sens_rain_sic', 'Sensible heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
     339  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     340    'sens_snow_oce', 'Sensible heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     341  TYPE(ctrl_out), SAVE :: o_sens_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     342    'sens_snow_sic', 'Sensible heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
     343  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     344    'lat_rain_oce', 'Latent heat flux of liquid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     345  TYPE(ctrl_out), SAVE :: o_lat_prec_liq_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     346    'lat_rain_sic', 'Latent heat flux of liquid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
     347  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_oce = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     348    'lat_snow_oce', 'Latent heat flux of solid prec. over ocean', 'W/m2', (/ ('', i=1, 10) /))
     349  TYPE(ctrl_out), SAVE :: o_lat_prec_sol_sic = ctrl_out((/ 5, 5, 10, 10, 5, 10, 11, 11, 11, 11/), &
     350    'lat_snow_sic', 'Latent heat flux of solid prec. over seaice', 'W/m2', (/ ('', i=1, 10) /))
    350351
    351352
    352353  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evap_srf     = (/ &
    353       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_ter', &
    354       "evaporation at surface "//clnsurf(1),"kg/(s*m2)", (/ ('', i=1, 9) /)), &
    355       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_lic', &
    356       "evaporation at surface "//clnsurf(2),"kg/(s*m2)", (/ ('', i=1, 9) /)), &
    357       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_oce', &
    358       "evaporation at surface "//clnsurf(3),"kg/(s*m2)", (/ ('', i=1, 9) /)), &
    359       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evap_sic', &
    360       "evaporation at surface "//clnsurf(4),"kg/(s*m2)", (/ ('', i=1, 9) /)) /)
    361 
    362   TYPE(ctrl_out), SAVE :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    363     'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i=1, 9) /))
    364   TYPE(ctrl_out), SAVE :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    365     'fsnow', 'Surface snow area fraction', '-', (/ ('', i=1, 9) /))
    366   TYPE(ctrl_out), SAVE :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    367     'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
    368   TYPE(ctrl_out), SAVE :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    369     'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
    370   TYPE(ctrl_out), SAVE :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11 /), &
    371     'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
    372   TYPE(ctrl_out), SAVE :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    373     'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 9) /))
    374   TYPE(ctrl_out), SAVE :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
    375     'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i=1, 9) /))
    376   TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
    377     'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    378   TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
    379     'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i=1, 9) /))
    380   TYPE(ctrl_out), SAVE :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
    381     'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    382   TYPE(ctrl_out), SAVE :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
    383     'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i=1, 9) /))
    384   TYPE(ctrl_out), SAVE :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    385     'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    386   TYPE(ctrl_out), SAVE :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    387     'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    388   TYPE(ctrl_out), SAVE :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    389     'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    390   TYPE(ctrl_out), SAVE :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    391     'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
     354      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_ter', &
     355      "evaporation at surface "//clnsurf(1),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
     356      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_lic', &
     357      "evaporation at surface "//clnsurf(2),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
     358      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_oce', &
     359      "evaporation at surface "//clnsurf(3),"kg/(s*m2)", (/ ('', i=1, 10) /)), &
     360      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evap_sic', &
     361      "evaporation at surface "//clnsurf(4),"kg/(s*m2)", (/ ('', i=1, 10) /)) /)
     362
     363  TYPE(ctrl_out), SAVE :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     364    'msnow', 'Surface snow amount', 'kg/m2', (/ ('', i=1, 10) /))
     365  TYPE(ctrl_out), SAVE :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     366    'fsnow', 'Surface snow area fraction', '-', (/ ('', i=1, 10) /))
     367  TYPE(ctrl_out), SAVE :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     368    'tops', 'Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     369  TYPE(ctrl_out), SAVE :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     370    'tops0', 'CS Solar rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     371  TYPE(ctrl_out), SAVE :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10, 11, 11, 11, 11/), &
     372    'topl', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     373  TYPE(ctrl_out), SAVE :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     374    'topl0', 'IR rad. at TOA', 'W/m2', (/ ('', i=1, 10) /))
     375  TYPE(ctrl_out), SAVE :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
     376    'SWupTOA', 'SWup at TOA', 'W/m2', (/ ('', i=1, 10) /))
     377  TYPE(ctrl_out), SAVE :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
     378    'SWupTOAclr', 'SWup clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     379  TYPE(ctrl_out), SAVE :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
     380    'SWdnTOA', 'SWdn at TOA', 'W/m2', (/ ('', i=1, 10) /))
     381  TYPE(ctrl_out), SAVE :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
     382    'SWdnTOAclr', 'SWdn clear sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     383  TYPE(ctrl_out), SAVE :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/), &
     384    'nettop', 'Net dn radiatif flux at TOA', 'W/m2', (/ ('', i=1, 10) /))
     385  TYPE(ctrl_out), SAVE :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     386    'SWup200', 'SWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     387  TYPE(ctrl_out), SAVE :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     388    'SWup200clr', 'SWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     389  TYPE(ctrl_out), SAVE :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     390    'SWdn200', 'SWdn at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     391  TYPE(ctrl_out), SAVE :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     392    'SWdn200clr', 'SWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
    392393
    393394  ! arajouter
    394   !  type(ctrl_out),save :: o_LWupTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWupTOA', &
    395   !    (/ ('', i=1, 9) /))
    396   !  type(ctrl_out),save :: o_LWupTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWupTOAclr', &
    397   !    (/ ('', i=1, 9) /))
    398   !  type(ctrl_out),save :: o_LWdnTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWdnTOA', &
    399   !    (/ ('', i=1, 9) /))
    400   !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /),'LWdnTOAclr', &
    401   !    (/ ('', i=1, 9) /))
    402   TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    403     'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    404   TYPE(ctrl_out), SAVE :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    405     'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    406   TYPE(ctrl_out), SAVE :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    407     'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    408   TYPE(ctrl_out), SAVE :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    409     'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 9) /))
    410   TYPE(ctrl_out), SAVE :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    411     'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 9) /))
    412   TYPE(ctrl_out), SAVE :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    413     'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 9) /))
    414   TYPE(ctrl_out), SAVE :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    415     'soll', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    416   TYPE(ctrl_out), SAVE :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    417     'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    418   TYPE(ctrl_out), SAVE :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /), &
    419     'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i=1, 9) /))
    420   TYPE(ctrl_out), SAVE :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    421     'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i=1, 9) /))
    422   TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    423     'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 9) /))
    424   TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11 /), &
    425     'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i=1, 9) /))
    426   TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    427     'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 9) /))
    428   TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    429     'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    430   TYPE(ctrl_out), SAVE :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    431     'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    432   TYPE(ctrl_out), SAVE :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    433     'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    434   TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11 /), &
    435     'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    436   TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    437     'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
    438   TYPE(ctrl_out), SAVE :: o_bils_tke = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    439     'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
    440   TYPE(ctrl_out), SAVE :: o_bils_diss = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    441     'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
    442   TYPE(ctrl_out), SAVE :: o_bils_ec = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    443     'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 9) /))
    444   TYPE(ctrl_out), SAVE :: o_bils_ech = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    445     'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 9) /))
    446   TYPE(ctrl_out), SAVE :: o_bils_kinetic = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    447     'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
    448   TYPE(ctrl_out), SAVE :: o_bils_enthalp = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    449     'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
    450   TYPE(ctrl_out), SAVE :: o_bils_latent = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11 /), &
    451     'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 9) /))
    452   TYPE(ctrl_out), SAVE :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11 /), &
    453     'sens', 'Sensible heat flux', 'W/m2', (/ ('', i=1, 9) /))
    454   TYPE(ctrl_out), SAVE :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10, 11, 11, 11 /), &
    455     'fder', 'Heat flux derivation', 'W/m2', (/ ('', i=1, 9) /))
    456   TYPE(ctrl_out), SAVE :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    457     'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i=1, 9) /))
    458   TYPE(ctrl_out), SAVE :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    459     'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i=1, 9) /))
    460   TYPE(ctrl_out), SAVE :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    461     'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i=1, 9) /))
    462   TYPE(ctrl_out), SAVE :: o_runofflic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    463     'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i=1, 9) /))
    464   TYPE(ctrl_out), SAVE :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    465     'taux', 'Zonal wind stress', 'Pa', (/ ('', i=1, 9) /))
    466   TYPE(ctrl_out), SAVE :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    467     'tauy', 'Meridional wind stress', 'Pa', (/ ('', i=1, 9) /))
     395  !  type(ctrl_out),save :: o_LWupTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWupTOA', &
     396  !    (/ ('', i=1, 10) /))
     397  !  type(ctrl_out),save :: o_LWupTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWupTOAclr', &
     398  !    (/ ('', i=1, 10) /))
     399  !  type(ctrl_out),save :: o_LWdnTOA     = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOA', &
     400  !    (/ ('', i=1, 10) /))
     401  !  type(ctrl_out),save :: o_LWdnTOAclr  = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'LWdnTOAclr', &
     402  !    (/ ('', i=1, 10) /))
     403  TYPE(ctrl_out), SAVE :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     404    'LWup200', 'LWup at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     405  TYPE(ctrl_out), SAVE :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     406    'LWup200clr', 'LWup clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     407  TYPE(ctrl_out), SAVE :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     408    'LWdn200', 'LWdn at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     409  TYPE(ctrl_out), SAVE :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     410    'LWdn200clr', 'LWdn clear sky at 200mb', 'W/m2', (/ ('', i=1, 10) /))
     411  TYPE(ctrl_out), SAVE :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     412    'sols', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
     413  TYPE(ctrl_out), SAVE :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     414    'sols0', 'Solar rad. at surf.', 'W/m2', (/ ('', i=1, 10) /))
     415  TYPE(ctrl_out), SAVE :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     416    'soll', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     417  TYPE(ctrl_out), SAVE :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     418    'soll0', 'IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     419  TYPE(ctrl_out), SAVE :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/), &
     420    'radsol', 'Rayonnement au sol', 'W/m2', (/ ('', i=1, 10) /))
     421  TYPE(ctrl_out), SAVE :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     422    'SWupSFC', 'SWup at surface', 'W/m2', (/ ('', i=1, 10) /))
     423  TYPE(ctrl_out), SAVE :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     424    'SWupSFCclr', 'SWup clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
     425  TYPE(ctrl_out), SAVE :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
     426    'SWdnSFC', 'SWdn at surface', 'W/m2', (/ ('', i=1, 10) /))
     427  TYPE(ctrl_out), SAVE :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     428    'SWdnSFCclr', 'SWdn clear sky at surface', 'W/m2', (/ ('', i=1, 10) /))
     429  TYPE(ctrl_out), SAVE :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     430    'LWupSFC', 'Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     431  TYPE(ctrl_out), SAVE :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     432    'LWupSFCclr', 'CS Upwd. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     433  TYPE(ctrl_out), SAVE :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     434    'LWdnSFC', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     435  TYPE(ctrl_out), SAVE :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10, 11, 11, 11, 11/), &
     436    'LWdnSFCclr', 'Down. CS IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     437  TYPE(ctrl_out), SAVE :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     438    'bils', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     439  TYPE(ctrl_out), SAVE :: o_bils_tke = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     440    'bils_tke', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     441  TYPE(ctrl_out), SAVE :: o_bils_diss = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     442    'bils_diss', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     443  TYPE(ctrl_out), SAVE :: o_bils_ec = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     444    'bils_ec', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 10) /))
     445  TYPE(ctrl_out), SAVE :: o_bils_ech = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     446    'bils_ech', 'Surf. total heat flux correction', 'W/m2', (/ ('', i=1, 10) /))
     447  TYPE(ctrl_out), SAVE :: o_bils_kinetic = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     448    'bils_kinetic', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     449  TYPE(ctrl_out), SAVE :: o_bils_enthalp = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     450    'bils_enthalp', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     451  TYPE(ctrl_out), SAVE :: o_bils_latent = ctrl_out((/ 1, 2, 10, 5, 10, 10, 11, 11, 11, 11/), &
     452    'bils_latent', 'Surf. total heat flux', 'W/m2', (/ ('', i=1, 10) /))
     453  TYPE(ctrl_out), SAVE :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10, 11, 11, 11, 11/), &
     454    'sens', 'Sensible heat flux', 'W/m2', (/ ('', i=1, 10) /))
     455  TYPE(ctrl_out), SAVE :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10, 11, 11, 11, 11/), &
     456    'fder', 'Heat flux derivation', 'W/m2', (/ ('', i=1, 10) /))
     457  TYPE(ctrl_out), SAVE :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     458    'ffonte', 'Thermal flux for snow melting', 'W/m2', (/ ('', i=1, 10) /))
     459  TYPE(ctrl_out), SAVE :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     460    'fqcalving', 'Ice Calving', 'kg/m2/s', (/ ('', i=1, 10) /))
     461  TYPE(ctrl_out), SAVE :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     462    'fqfonte', 'Land ice melt', 'kg/m2/s', (/ ('', i=1, 10) /))
     463  TYPE(ctrl_out), SAVE :: o_runofflic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     464    'runofflic', 'Land ice melt to ocean', 'kg/m2/s', (/ ('', i=1, 10) /))
     465  TYPE(ctrl_out), SAVE :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     466    'taux', 'Zonal wind stress', 'Pa', (/ ('', i=1, 10) /))
     467  TYPE(ctrl_out), SAVE :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     468    'tauy', 'Meridional wind stress', 'Pa', (/ ('', i=1, 10) /))
    468469
    469470  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_taux_srf = (/           &
    470       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_ter',             &
    471       "Zonal wind stress"//clnsurf(1), "Pa", (/ ('', i=1, 9) /)), &
    472       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_lic',             &
    473       "Zonal wind stress"//clnsurf(2), "Pa", (/ ('', i=1, 9) /)), &
    474       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_oce',             &
    475       "Zonal wind stress"//clnsurf(3), "Pa", (/ ('', i=1, 9) /)), &
    476       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'taux_sic',             &
    477       "Zonal wind stress"//clnsurf(4), "Pa", (/ ('', i=1, 9) /)) /)
     471      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_ter',             &
     472      "Zonal wind stress"//clnsurf(1), "Pa", (/ ('', i=1, 10) /)), &
     473      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_lic',             &
     474      "Zonal wind stress"//clnsurf(2), "Pa", (/ ('', i=1, 10) /)), &
     475      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_oce',             &
     476      "Zonal wind stress"//clnsurf(3), "Pa", (/ ('', i=1, 10) /)), &
     477      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'taux_sic',             &
     478      "Zonal wind stress"//clnsurf(4), "Pa", (/ ('', i=1, 10) /)) /)
    478479
    479480  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tauy_srf     = (/             &
    480       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_ter',                   &
    481       "Meridional wind stress "//clnsurf(1),"Pa", (/ ('', i=1, 9) /)),  &
    482       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_lic',                   &
    483       "Meridional wind stress "//clnsurf(2),"Pa", (/ ('', i=1, 9) /)),  &
    484       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_oce',                   &
    485       "Meridional wind stress "//clnsurf(3),"Pa", (/ ('', i=1, 9) /)),  &
    486       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tauy_sic',                   &
    487       "Meridional wind stress "//clnsurf(4),"Pa", (/ ('', i=1, 9) /)) /)
     481      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_ter',                   &
     482      "Meridional wind stress "//clnsurf(1),"Pa", (/ ('', i=1, 10) /)),  &
     483      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_lic',                   &
     484      "Meridional wind stress "//clnsurf(2),"Pa", (/ ('', i=1, 10) /)),  &
     485      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_oce',                   &
     486      "Meridional wind stress "//clnsurf(3),"Pa", (/ ('', i=1, 10) /)),  &
     487      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tauy_sic',                   &
     488      "Meridional wind stress "//clnsurf(4),"Pa", (/ ('', i=1, 10) /)) /)
    488489
    489490  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_pourc_srf    = (/ &
    490       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_ter',      &
    491       "% "//clnsurf(1),"%", (/ ('', i=1, 9) /)),            &
    492       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_lic',      &
    493       "% "//clnsurf(2),"%", (/ ('', i=1, 9) /)),            &
    494       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_oce',      &
    495       "% "//clnsurf(3),"%", (/ ('', i=1, 9) /)),            &
    496       ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11 /),'pourc_sic',      &
    497       "% "//clnsurf(4),"%", (/ ('', i=1, 9) /)) /)
     491      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_ter',      &
     492      "% "//clnsurf(1),"%", (/ ('', i=1, 10) /)),            &
     493      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_lic',      &
     494      "% "//clnsurf(2),"%", (/ ('', i=1, 10) /)),            &
     495      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_oce',      &
     496      "% "//clnsurf(3),"%", (/ ('', i=1, 10) /)),            &
     497      ctrl_out((/ 1, 7, 10, 10, 10, 10, 11, 11, 11, 11/),'pourc_sic',      &
     498      "% "//clnsurf(4),"%", (/ ('', i=1, 10) /)) /)
    498499
    499500  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fract_srf    = (/ &
    500       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_ter',      &
    501       "Fraction "//clnsurf(1),"1", (/ ('', i=1, 9) /)),     &
    502       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_lic',      &
    503       "Fraction "//clnsurf(2),"1", (/ ('', i=1, 9) /)),     &
    504       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_oce',      &
    505       "Fraction "//clnsurf(3),"1", (/ ('', i=1, 9) /)),     &
    506       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'fract_sic',      &
    507       "Fraction "//clnsurf(4),"1", (/ ('', i=1, 9) /)) /)
     501      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_ter',      &
     502      "Fraction "//clnsurf(1),"1", (/ ('', i=1, 10) /)),     &
     503      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_lic',      &
     504      "Fraction "//clnsurf(2),"1", (/ ('', i=1, 10) /)),     &
     505      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_oce',      &
     506      "Fraction "//clnsurf(3),"1", (/ ('', i=1, 10) /)),     &
     507      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'fract_sic',      &
     508      "Fraction "//clnsurf(4),"1", (/ ('', i=1, 10) /)) /)
    508509
    509510  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tsol_srf     = (/ &
    510       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_ter',       &
    511       "Temperature "//clnsurf(1),"K", (/ ('', i=1, 9) /)),  &
    512       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_lic',       &
    513       "Temperature "//clnsurf(2),"K", (/ ('', i=1, 9) /)),  &
    514       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_oce',       &
    515       "Temperature "//clnsurf(3),"K", (/ ('', i=1, 9) /)),  &
    516       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'tsol_sic',       &
    517       "Temperature "//clnsurf(4),"K", (/ ('', i=1, 9) /)) /)
     511      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_ter',       &
     512      "Temperature "//clnsurf(1),"K", (/ ('', i=1, 10) /)),  &
     513      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_lic',       &
     514      "Temperature "//clnsurf(2),"K", (/ ('', i=1, 10) /)),  &
     515      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_oce',       &
     516      "Temperature "//clnsurf(3),"K", (/ ('', i=1, 10) /)),  &
     517      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'tsol_sic',       &
     518      "Temperature "//clnsurf(4),"K", (/ ('', i=1, 10) /)) /)
    518519
    519520  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_evappot_srf  = (/ &
    520       ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_ter',    &
    521       "Temperature"//clnsurf(1),"K", (/ ('', i=1, 9) /)),   &
    522       ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_lic',    &
    523       "Temperature"//clnsurf(2),"K", (/ ('', i=1, 9) /)),   &
    524       ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_oce',    &
    525       "Temperature"//clnsurf(3),"K", (/ ('', i=1, 9) /)),   &
    526       ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /),'evappot_sic',    &
    527       "Temperature"//clnsurf(4),"K", (/ ('', i=1, 9) /)) /)
     521      ctrl_out((/ 1, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_ter',    &
     522      "Temperature"//clnsurf(1),"K", (/ ('', i=1, 10) /)),   &
     523      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_lic',    &
     524      "Temperature"//clnsurf(2),"K", (/ ('', i=1, 10) /)),   &
     525      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_oce',    &
     526      "Temperature"//clnsurf(3),"K", (/ ('', i=1, 10) /)),   &
     527      ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'evappot_sic',    &
     528      "Temperature"//clnsurf(4),"K", (/ ('', i=1, 10) /)) /)
    528529
    529530  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_sens_srf     = (/          &
    530       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_ter',                 &
    531       "Sensible heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)), &
    532       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_lic',                 &
    533       "Sensible heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)), &
    534       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_oce',                 &
    535       "Sensible heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)), &
    536       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'sens_sic',                 &
    537       "Sensible heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
     531      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_ter',                 &
     532      "Sensible heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
     533      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_lic',                 &
     534      "Sensible heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
     535      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_oce',                 &
     536      "Sensible heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
     537      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'sens_sic',                 &
     538      "Sensible heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    538539
    539540  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_lat_srf      = (/        &
    540       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_ter',                &
    541       "Latent heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)), &
    542       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_lic',                &
    543       "Latent heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)), &
    544       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_oce',                &
    545       "Latent heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)), &
    546       ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11 /),'lat_sic',                &
    547       "Latent heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
     541      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_ter',                &
     542      "Latent heat flux "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
     543      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_lic',                &
     544      "Latent heat flux "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
     545      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_oce',                &
     546      "Latent heat flux "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
     547      ctrl_out((/ 1, 6, 10, 7, 10, 10, 11, 11, 11, 11/),'lat_sic',                &
     548      "Latent heat flux "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    548549
    549550  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_flw_srf      = (/ &
    550       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_ter',       &
    551       "LW "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)),        &
    552       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_lic',       &
    553       "LW "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)),        &
    554       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_oce',       &
    555       "LW "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)),        &
    556       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'flw_sic',       &
    557       "LW "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
     551      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_ter',       &
     552      "LW "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)),        &
     553      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_lic',       &
     554      "LW "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)),        &
     555      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_oce',       &
     556      "LW "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)),        &
     557      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'flw_sic',       &
     558      "LW "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    558559
    559560  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_fsw_srf      = (/ &
    560       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_ter',       &
    561       "SW "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)),        &
    562       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_lic',       &
    563       "SW "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)),        &
    564       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_oce',       &
    565       "SW "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)),        &
    566       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'fsw_sic',       &
    567       "SW "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
     561      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_ter',       &
     562      "SW "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)),        &
     563      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_lic',       &
     564      "SW "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)),        &
     565      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_oce',       &
     566      "SW "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)),        &
     567      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'fsw_sic',       &
     568      "SW "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    568569
    569570  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbils_srf    = (/ &
    570       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_ter',     &
    571       "Bilan sol "//clnsurf(1),"W/m2", (/ ('', i=1, 9) /)), &
    572       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_lic',     &
    573       "Bilan sol "//clnsurf(2),"W/m2", (/ ('', i=1, 9) /)), &
    574       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_oce',     &
    575       "Bilan sol "//clnsurf(3),"W/m2", (/ ('', i=1, 9) /)), &
    576       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbils_sic',     &
    577       "Bilan sol "//clnsurf(4),"W/m2", (/ ('', i=1, 9) /)) /)
     571      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_ter',     &
     572      "Bilan sol "//clnsurf(1),"W/m2", (/ ('', i=1, 10) /)), &
     573      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_lic',     &
     574      "Bilan sol "//clnsurf(2),"W/m2", (/ ('', i=1, 10) /)), &
     575      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_oce',     &
     576      "Bilan sol "//clnsurf(3),"W/m2", (/ ('', i=1, 10) /)), &
     577      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbils_sic',     &
     578      "Bilan sol "//clnsurf(4),"W/m2", (/ ('', i=1, 10) /)) /)
    578579
    579580  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wbilo_srf    = (/      &
    580       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_ter',          &
    581       "Bilan eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    582       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_lic',          &
    583       "Bilan eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    584       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_oce',          &
    585       "Bilan eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    586       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wbilo_sic',          &
    587       "Bilan eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
     581      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_ter',          &
     582      "Bilan eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     583      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_lic',          &
     584      "Bilan eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     585      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_oce',          &
     586      "Bilan eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     587      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wbilo_sic',          &
     588      "Bilan eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    588589
    589590  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wevap_srf    = (/      &
    590       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_ter',          &
    591       "Evap eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    592       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_lic',          &
    593       "Evap eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    594       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_oce',          &
    595       "Evap eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    596       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wevap_sic',          &
    597       "Evap eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
     591      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_ter',          &
     592      "Evap eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     593      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_lic',          &
     594      "Evap eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     595      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_oce',          &
     596      "Evap eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     597      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wevap_sic',          &
     598      "Evap eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    598599
    599600  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wrain_srf    = (/      &
    600       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_ter',          &
    601       "Pluie eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    602       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_lic',          &
    603       "Pluie eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    604       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_oce',          &
    605       "Pluie eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    606       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wrain_sic',          &
    607       "Pluie eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
     601      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_ter',          &
     602      "Pluie eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     603      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_lic',          &
     604      "Pluie eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     605      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_oce',          &
     606      "Pluie eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     607      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wrain_sic',          &
     608      "Pluie eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
    608609
    609610  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_wsnow_srf    = (/      &
    610       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_ter',          &
    611       "Neige eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    612       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_lic',          &
    613       "Neige eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    614       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_oce',          &
    615       "Neige eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 9) /)), &
    616       ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'wsnow_sic',          &
    617       "Neige eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 9) /)) /)
    618 
    619   TYPE(ctrl_out), SAVE :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    620     'cdrm', 'Momentum drag coef.', '-', (/ ('', i=1, 9) /))
    621   TYPE(ctrl_out), SAVE :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10, 11, 11, 11 /), &
    622     'cdrh', 'Heat drag coef.', '-', (/ ('', i=1, 9) /))
    623   TYPE(ctrl_out), SAVE :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    624     'cldl', 'Low-level cloudiness', '-', (/ ('', i=1, 9) /))
    625   TYPE(ctrl_out), SAVE :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    626     'cldm', 'Mid-level cloudiness', '-', (/ ('', i=1, 9) /))
    627   TYPE(ctrl_out), SAVE :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    628     'cldh', 'High-level cloudiness', '-', (/ ('', i=1, 9) /))
    629   TYPE(ctrl_out), SAVE :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10, 11, 11, 11 /), &
    630     'cldt', 'Total cloudiness', '-', (/ ('', i=1, 9) /))
    631   TYPE(ctrl_out), SAVE :: o_JrNt = ctrl_out((/ 1, 1, 10, 7, 10, 10, 11, 11, 11 /), &
    632     'JrNt', '1 if Day 0 if Night', '-', (/ ('', i=1, 9) /))                                                                                 
    633   TYPE(ctrl_out), SAVE :: o_cldhjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    634     'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i=1, 9) /))                                                                                   
    635   TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11/), &     
    636     'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i=1, 9) /))                                                           
    637   TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11/), &       
    638     'cldljn', 'Low-level cloudiness day', '-', (/ ('', i=1, 9) /))
    639   TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11/), &     
    640     'cldtjn', 'Total cloudiness day', '-', (/ ('', i=1, 9) /))
    641                                                       
    642   TYPE(ctrl_out), SAVE :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    643     'cldq', 'Cloud liquid water path', 'kg/m2', (/ ('', i=1, 9) /))
    644   TYPE(ctrl_out), SAVE :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    645     'lwp', 'Cloud water path', 'kg/m2', (/ ('', i=1, 9) /))
    646   TYPE(ctrl_out), SAVE :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    647     'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i=1, 9) /))
    648   TYPE(ctrl_out), SAVE :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    649     'ue', 'Zonal energy transport', '-', (/ ('', i=1, 9) /))
    650   TYPE(ctrl_out), SAVE :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    651     've', 'Merid energy transport', '-', (/ ('', i=1, 9) /))
    652   TYPE(ctrl_out), SAVE :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    653     'uq', 'Zonal humidity transport', '-', (/ ('', i=1, 9) /))
    654   TYPE(ctrl_out), SAVE :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    655     'vq', 'Merid humidity transport', '-', (/ ('', i=1, 9) /))
    656   TYPE(ctrl_out), SAVE :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    657     'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i=1, 9) /))
    658   TYPE(ctrl_out), SAVE :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    659     'pbase', 'Cld base pressure', 'Pa', (/ ('', i=1, 9) /))
    660   TYPE(ctrl_out), SAVE :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    661     'ptop', 'Cld top pressure', 'Pa', (/ ('', i=1, 9) /))
    662   TYPE(ctrl_out), SAVE :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    663     'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i=1, 9) /))
    664   TYPE(ctrl_out), SAVE :: o_plcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    665     'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i=1, 9) /))
    666   TYPE(ctrl_out), SAVE :: o_plfc = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    667     'plfc', 'Level of Free Convection', 'hPa', (/ ('', i=1, 9) /))
    668   TYPE(ctrl_out), SAVE :: o_wbeff = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    669     'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i=1, 9) /))
    670   TYPE(ctrl_out), SAVE :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    671     'prw', 'Precipitable water', 'kg/m2', (/ ('', i=1, 9) /))
    672   TYPE(ctrl_out), SAVE :: o_prlw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    673     'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i=1, 9) /))
    674   TYPE(ctrl_out), SAVE :: o_prsw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    675     'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i=1, 9) /))
    676   TYPE(ctrl_out), SAVE :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    677     's_pblh', 'Boundary Layer Height', 'm', (/ ('', i=1, 9) /))
    678   TYPE(ctrl_out), SAVE :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    679     's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i=1, 9) /))
    680   TYPE(ctrl_out), SAVE :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    681     's_lcl', 'Condensation level', 'm', (/ ('', i=1, 9) /))
    682   TYPE(ctrl_out), SAVE :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    683     's_therm', 'Exces du thermique', 'K', (/ ('', i=1, 9) /))
     611      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_ter',          &
     612      "Neige eau "//clnsurf(1),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     613      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_lic',          &
     614      "Neige eau "//clnsurf(2),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     615      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_oce',          &
     616      "Neige eau "//clnsurf(3),"kg/(m2*s)", (/ ('', i=1, 10) /)), &
     617      ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'wsnow_sic',          &
     618      "Neige eau "//clnsurf(4),"kg/(m2*s)", (/ ('', i=1, 10) /)) /)
     619
     620  TYPE(ctrl_out), SAVE :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     621    'cdrm', 'Momentum drag coef.', '-', (/ ('', i=1, 10) /))
     622  TYPE(ctrl_out), SAVE :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10, 11, 11, 11, 11/), &
     623    'cdrh', 'Heat drag coef.', '-', (/ ('', i=1, 10) /))
     624  TYPE(ctrl_out), SAVE :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     625    'cldl', 'Low-level cloudiness', '-', (/ ('', i=1, 10) /))
     626  TYPE(ctrl_out), SAVE :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     627    'cldm', 'Mid-level cloudiness', '-', (/ ('', i=1, 10) /))
     628  TYPE(ctrl_out), SAVE :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     629    'cldh', 'High-level cloudiness', '-', (/ ('', i=1, 10) /))
     630  TYPE(ctrl_out), SAVE :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10, 11, 11, 11, 11/), &
     631    'cldt', 'Total cloudiness', '-', (/ ('', i=1, 10) /))
     632  TYPE(ctrl_out), SAVE :: o_JrNt = ctrl_out((/ 1, 1, 10, 7, 10, 10, 11, 11, 11, 11/), &
     633    'JrNt', '1 if Day 0 if Night', '-', (/ ('', i=1, 10) /))
     634  TYPE(ctrl_out), SAVE :: o_cldhjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     635    'cldhjn', 'High-level cloudiness Day', '-', (/ ('', i=1, 10) /))
     636  TYPE(ctrl_out), SAVE :: o_cldmjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &     
     637    'cldmjn', 'Mid-level cloudiness day', '-', (/ ('', i=1, 10) /))
     638  TYPE(ctrl_out), SAVE :: o_cldljn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &       
     639    'cldljn', 'Low-level cloudiness day', '-', (/ ('', i=1, 10) /))
     640  TYPE(ctrl_out), SAVE :: o_cldtjn = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &     
     641    'cldtjn', 'Total cloudiness day', '-', (/ ('', i=1, 10) /))
     642 
     643  TYPE(ctrl_out), SAVE :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     644    'cldq', 'Cloud liquid water path', 'kg/m2', (/ ('', i=1, 10) /))
     645  TYPE(ctrl_out), SAVE :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     646    'lwp', 'Cloud water path', 'kg/m2', (/ ('', i=1, 10) /))
     647  TYPE(ctrl_out), SAVE :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     648    'iwp', 'Cloud ice water path', 'kg/m2', (/ ('', i=1, 10) /))
     649  TYPE(ctrl_out), SAVE :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     650    'ue', 'Zonal energy transport', '-', (/ ('', i=1, 10) /))
     651  TYPE(ctrl_out), SAVE :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     652    've', 'Merid energy transport', '-', (/ ('', i=1, 10) /))
     653  TYPE(ctrl_out), SAVE :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     654    'uq', 'Zonal humidity transport', '-', (/ ('', i=1, 10) /))
     655  TYPE(ctrl_out), SAVE :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     656    'vq', 'Merid humidity transport', '-', (/ ('', i=1, 10) /))
     657  TYPE(ctrl_out), SAVE :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     658    'cape', 'Conv avlbl pot ener', 'J/kg', (/ ('', i=1, 10) /))
     659  TYPE(ctrl_out), SAVE :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     660    'pbase', 'Cld base pressure', 'Pa', (/ ('', i=1, 10) /))
     661  TYPE(ctrl_out), SAVE :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     662    'ptop', 'Cld top pressure', 'Pa', (/ ('', i=1, 10) /))
     663  TYPE(ctrl_out), SAVE :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     664    'fbase', 'Cld base mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
     665  TYPE(ctrl_out), SAVE :: o_plcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     666    'plcl', 'Lifting Condensation Level', 'hPa', (/ ('', i=1, 10) /))
     667  TYPE(ctrl_out), SAVE :: o_plfc = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     668    'plfc', 'Level of Free Convection', 'hPa', (/ ('', i=1, 10) /))
     669  TYPE(ctrl_out), SAVE :: o_wbeff = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     670    'wbeff', 'Conv. updraft velocity at LFC (<100)', 'm/s', (/ ('', i=1, 10) /))
     671  TYPE(ctrl_out), SAVE :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     672    'prw', 'Precipitable water', 'kg/m2', (/ ('', i=1, 10) /))
     673  TYPE(ctrl_out), SAVE :: o_prlw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     674    'prlw', 'Precipitable liquid water', 'kg/m2', (/ ('', i=1, 10) /))
     675  TYPE(ctrl_out), SAVE :: o_prsw = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     676    'prsw', 'Precipitable solid water', 'kg/m2', (/ ('', i=1, 10) /))
     677  TYPE(ctrl_out), SAVE :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     678    's_pblh', 'Boundary Layer Height', 'm', (/ ('', i=1, 10) /))
     679  TYPE(ctrl_out), SAVE :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     680    's_pblt', 't at Boundary Layer Height', 'K', (/ ('', i=1, 10) /))
     681  TYPE(ctrl_out), SAVE :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     682    's_lcl', 'Condensation level', 'm', (/ ('', i=1, 10) /))
     683  TYPE(ctrl_out), SAVE :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     684    's_therm', 'Exces du thermique', 'K', (/ ('', i=1, 10) /))
    684685  !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F
    685   ! type(ctrl_out),save :: o_s_capCL      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_capCL', &
    686 !    (/ ('', i=1, 9) /))
    687   ! type(ctrl_out),save :: o_s_oliqCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_oliqCL', &
    688 !    (/ ('', i=1, 9) /))
    689   ! type(ctrl_out),save :: o_s_cteiCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_cteiCL', &
    690 !    (/ ('', i=1, 9) /))
    691   ! type(ctrl_out),save :: o_s_trmb1      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_trmb1', &
    692 !    (/ ('', i=1, 9) /))
    693   ! type(ctrl_out),save :: o_s_trmb2      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_trmb2', &
    694 !    (/ ('', i=1, 9) /))
    695   ! type(ctrl_out),save :: o_s_trmb3      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /),'s_trmb3', &
    696     !(/ ('', i=1, 9) /))
    697   TYPE(ctrl_out), SAVE :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    698     'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i=1, 9) /))
    699   TYPE(ctrl_out), SAVE :: o_slab_bilg = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    700     'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i=1, 9) /))
    701   TYPE(ctrl_out), SAVE :: o_slab_qflux = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    702     'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i=1, 9) /))
    703   TYPE(ctrl_out), SAVE :: o_tslab = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    704     'tslab', 'Temperature ocean slab', 'K', (/ ('', i=1, 9) /))
    705   TYPE(ctrl_out), SAVE :: o_slab_tice = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    706     'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i=1, 9) /))
    707   TYPE(ctrl_out), SAVE :: o_slab_sic = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    708     'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i=1, 9) /))
    709   TYPE(ctrl_out), SAVE :: o_slab_hdiff = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    710     'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i=1, 9) /))
    711   TYPE(ctrl_out), SAVE :: o_slab_ekman = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    712     'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i=1, 9) /))
    713   TYPE(ctrl_out), SAVE :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    714     'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i=1, 9) /))
    715   TYPE(ctrl_out), SAVE :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    716     'alp_bl', 'ALP BL', 'W/m2', (/ ('', i=1, 9) /))
    717   TYPE(ctrl_out), SAVE :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    718     'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i=1, 9) /))
    719   TYPE(ctrl_out), SAVE :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    720     'alp_wk', 'ALP WK', 'W/m2', (/ ('', i=1, 9) /))
     686  ! type(ctrl_out),save :: o_s_capCL      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_capCL', &
     687!    (/ ('', i=1, 10) /))
     688  ! type(ctrl_out),save :: o_s_oliqCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_oliqCL', &
     689!    (/ ('', i=1, 10) /))
     690  ! type(ctrl_out),save :: o_s_cteiCL     = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_cteiCL', &
     691!    (/ ('', i=1, 10) /))
     692  ! type(ctrl_out),save :: o_s_trmb1      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb1', &
     693!    (/ ('', i=1, 10) /))
     694  ! type(ctrl_out),save :: o_s_trmb2      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb2', &
     695!    (/ ('', i=1, 10) /))
     696  ! type(ctrl_out),save :: o_s_trmb3      = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'s_trmb3', &
     697    !(/ ('', i=1, 10) /))
     698  TYPE(ctrl_out), SAVE :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     699    'slab_bils', 'flux atmos - slab ponderes foce', 'W/m2', (/ ('', i=1, 10) /))
     700  TYPE(ctrl_out), SAVE :: o_slab_bilg = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     701    'slab_bilg', 'flux glace - slab ponderes fsic', 'W/m2', (/ ('', i=1, 10) /))
     702  TYPE(ctrl_out), SAVE :: o_slab_qflux = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     703    'slab_qflux', 'Correction flux slab', 'W/m2', (/ ('', i=1, 10) /))
     704  TYPE(ctrl_out), SAVE :: o_tslab = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     705    'tslab', 'Temperature ocean slab', 'K', (/ ('', i=1, 10) /))
     706  TYPE(ctrl_out), SAVE :: o_slab_tice = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     707    'slab_tice', 'Temperature banquise slab', 'K', (/ ('', i=1, 10) /))
     708  TYPE(ctrl_out), SAVE :: o_slab_sic = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     709    'seaice', 'Epaisseur banquise slab', 'kg/m2', (/ ('', i=1, 10) /))
     710  TYPE(ctrl_out), SAVE :: o_slab_hdiff = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     711    'slab_hdiff', 'Horizontal diffusion', 'W/m2', (/ ('', i=1, 10) /))
     712  TYPE(ctrl_out), SAVE :: o_slab_ekman = ctrl_out((/ 1, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     713    'slab_ekman', 'Ekman heat transport', 'W/m2', (/ ('', i=1, 10) /))
     714  TYPE(ctrl_out), SAVE :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     715    'ale_bl', 'ALE BL', 'm2/s2', (/ ('', i=1, 10) /))
     716  TYPE(ctrl_out), SAVE :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     717    'alp_bl', 'ALP BL', 'W/m2', (/ ('', i=1, 10) /))
     718  TYPE(ctrl_out), SAVE :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     719    'ale_wk', 'ALE WK', 'm2/s2', (/ ('', i=1, 10) /))
     720  TYPE(ctrl_out), SAVE :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     721    'alp_wk', 'ALP WK', 'W/m2', (/ ('', i=1, 10) /))
    721722!!!
    722723!nrlmd+jyg<
    723   type(ctrl_out),save :: o_dtvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    724     'dtvdf_x', ' dtvdf off_wake','K/s', (/ ('', i=1, 9) /))
    725   type(ctrl_out),save :: o_dtvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    726     'dtvdf_w', ' dtvdf within_wake','K/s', (/ ('', i=1, 9) /))
    727   type(ctrl_out),save :: o_dqvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    728     'dqvdf_x', ' dqvdf off_wake','kg/kg/s', (/ ('', i=1, 9) /))
    729   type(ctrl_out),save :: o_dqvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    730     'dqvdf_w', ' dqvdf within_wake','kg/kg/s', (/ ('', i=1, 9) /))
     724  type(ctrl_out),save :: o_dtvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     725    'dtvdf_x', ' dtvdf off_wake','K/s', (/ ('', i=1, 10) /))
     726  type(ctrl_out),save :: o_dtvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     727    'dtvdf_w', ' dtvdf within_wake','K/s', (/ ('', i=1, 10) /))
     728  type(ctrl_out),save :: o_dqvdf_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     729    'dqvdf_x', ' dqvdf off_wake','kg/kg/s', (/ ('', i=1, 10) /))
     730  type(ctrl_out),save :: o_dqvdf_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     731    'dqvdf_w', ' dqvdf within_wake','kg/kg/s', (/ ('', i=1, 10) /))
    731732!!
    732   type(ctrl_out),save :: o_sens_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    733 'sens_x', 'sens off_wake', 'W/m2', (/ ('', i=1, 9) /))
    734   type(ctrl_out),save :: o_sens_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    735 'sens_w', 'sens within_wake', 'W/m2', (/ ('', i=1, 9) /))                                                                                   
    736   type(ctrl_out),save :: o_flat_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    737 'flat_x', 'flat off_wake', 'W/m2', (/ ('', i=1, 9) /))                                                                                   
    738   type(ctrl_out),save :: o_flat_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    739 'flat_w', 'flat within_wake', 'W/m2', (/ ('', i=1, 9) /))
     733  type(ctrl_out),save :: o_sens_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     734'sens_x', 'sens off_wake', 'W/m2', (/ ('', i=1, 10) /))
     735  type(ctrl_out),save :: o_sens_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     736'sens_w', 'sens within_wake', 'W/m2', (/ ('', i=1, 10) /))
     737  type(ctrl_out),save :: o_flat_x        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     738'flat_x', 'flat off_wake', 'W/m2', (/ ('', i=1, 10) /))
     739  type(ctrl_out),save :: o_flat_w        = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     740'flat_w', 'flat within_wake', 'W/m2', (/ ('', i=1, 10) /))
    740741!!
    741   type(ctrl_out),save :: o_delta_tsurf    = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    742 'delta_tsurf', 'Temperature difference (w-x)', 'K', (/ ('', i=1, 9) /))                                                                               
    743   type(ctrl_out),save :: o_cdragh_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    744 'cdragh_x', 'cdragh off-wake', '', (/ ('', i=1, 9) /))
    745   type(ctrl_out),save :: o_cdragh_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    746 'cdragh_w', 'cdragh within-wake', '', (/ ('', i=1, 9) /))                                                                                 
    747   type(ctrl_out),save :: o_cdragm_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    748 'cdragm_x', 'cdragm off-wake', '', (/ ('', i=1, 9) /))
    749   type(ctrl_out),save :: o_cdragm_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    750 'cdragm_w', 'cdrgam within-wake', '', (/ ('', i=1, 9) /))                                                                                 
    751   type(ctrl_out),save :: o_kh             = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    752 'kh', 'Kh', 'kg/s/m2', (/ ('', i=1, 9) /))                                                                                       
    753   type(ctrl_out),save :: o_kh_x           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    754 'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i=1, 9) /))                                                                                     
    755   type(ctrl_out),save :: o_kh_w           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    756 'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i=1, 9) /))
     742  type(ctrl_out),save :: o_delta_tsurf    = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     743'delta_tsurf', 'Temperature difference (w-x)', 'K', (/ ('', i=1, 10) /))
     744  type(ctrl_out),save :: o_cdragh_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     745'cdragh_x', 'cdragh off-wake', '', (/ ('', i=1, 10) /))
     746  type(ctrl_out),save :: o_cdragh_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     747'cdragh_w', 'cdragh within-wake', '', (/ ('', i=1, 10) /))
     748  type(ctrl_out),save :: o_cdragm_x       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     749'cdragm_x', 'cdragm off-wake', '', (/ ('', i=1, 10) /))
     750  type(ctrl_out),save :: o_cdragm_w       = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     751'cdragm_w', 'cdrgam within-wake', '', (/ ('', i=1, 10) /))
     752  type(ctrl_out),save :: o_kh             = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     753'kh', 'Kh', 'kg/s/m2', (/ ('', i=1, 10) /))
     754  type(ctrl_out),save :: o_kh_x           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     755'kh_x', 'Kh off-wake', 'kg/s/m2', (/ ('', i=1, 10) /))
     756  type(ctrl_out),save :: o_kh_w           = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     757'kh_w', 'Kh within-wake', 'kg/s/m2', (/ ('', i=1, 10) /))
    757758!>nrlmd+jyg
    758759!!!
    759   TYPE(ctrl_out), SAVE :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    760     'ale', 'ALE', 'm2/s2', (/ ('', i=1, 9) /))
    761   TYPE(ctrl_out), SAVE :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    762     'alp', 'ALP', 'W/m2', (/ ('', i=1, 9) /))
    763   TYPE(ctrl_out), SAVE :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    764     'cin', 'Convective INhibition', 'm2/s2', (/ ('', i=1, 9) /))
    765   TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    766     'wape', '', 'm2/s2', (/ ('', i=1, 9) /))
     760  TYPE(ctrl_out), SAVE :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     761    'ale', 'ALE', 'm2/s2', (/ ('', i=1, 10) /))
     762  TYPE(ctrl_out), SAVE :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     763    'alp', 'ALP', 'W/m2', (/ ('', i=1, 10) /))
     764  TYPE(ctrl_out), SAVE :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     765    'cin', 'Convective INhibition', 'm2/s2', (/ ('', i=1, 10) /))
     766  TYPE(ctrl_out), SAVE :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     767    'wape', '', 'm2/s2', (/ ('', i=1, 10) /))
    767768
    768769!!! nrlmd le 10/04/2012
    769770
    770771!-------Spectre de thermiques de type 2 au LCL
    771   TYPE(ctrl_out), SAVE :: o_n2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
    772     'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i=1, 9) /))
    773   TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
    774     's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 9) /))
    775                                                                              
    776 !-------Déclenchement stochastique                                           
    777   TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
    778     'proba_notrig', &
    779                          'Probabilite de non-declenchement', ' ', (/ ('', i=1, 9) /))
    780   TYPE(ctrl_out), SAVE :: o_random_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
    781     'random_notrig', &
    782                          'Tirage aleatoire de non-declenchement', ' ', (/ ('', i=1, 9) /))
    783   TYPE(ctrl_out), SAVE :: o_ale_bl_stat = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
    784     'ale_bl_stat', &
    785        'ALE_BL_STAT', 'm2/s2', (/ ('', i=1, 9) /))
    786   TYPE(ctrl_out), SAVE :: o_ale_bl_trig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11 /), &
    787     'ale_bl_trig', &
    788        'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i=1, 9) /))
     772  TYPE(ctrl_out), SAVE :: o_n2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     773    'n2', 'Nombre de panaches de type 2', ' ', (/ ('', i=1, 10) /))
     774  TYPE(ctrl_out), SAVE :: o_s2 = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     775    's2', 'Surface moyenne des panaches de type 2', 'm2', (/ ('', i=1, 10) /))
     776             
     777!-------Déclenchement stochastiqu
     778  TYPE(ctrl_out), SAVE :: o_proba_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     779    'proba_notrig', 'Probabilite de non-declenchement', ' ', (/ ('', i=1, 10) /))
     780  TYPE(ctrl_out), SAVE :: o_random_notrig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     781    'random_notrig', 'Tirage aleatoire de non-declenchement', ' ', (/ ('', i=1, 10) /))
     782  TYPE(ctrl_out), SAVE :: o_ale_bl_stat = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     783    'ale_bl_stat', 'ALE_BL_STAT', 'm2/s2', (/ ('', i=1, 10) /))
     784  TYPE(ctrl_out), SAVE :: o_ale_bl_trig = ctrl_out((/ 1, 6, 6, 6, 10, 10, 11, 11, 11, 11/), &
     785    'ale_bl_trig', 'ALE_BL_STAT + Condition S>Sthreshold', 'm2/s2', (/ ('', i=1, 10) /))
    789786
    790787!-------Fermeture statistique
    791   TYPE(ctrl_out), SAVE :: o_alp_bl_det = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    792     'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i=1, 9) /))
    793   TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    794     'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i=1, 9) /))
    795   TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_tke = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    796     'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i=1, 9) /))
    797   TYPE(ctrl_out), SAVE :: o_alp_bl_conv = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    798     'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i=1, 9) /))
    799   TYPE(ctrl_out), SAVE :: o_alp_bl_stat = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11 /), &
    800     'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i=1, 9) /))
     788  TYPE(ctrl_out), SAVE :: o_alp_bl_det = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     789    'alp_bl_det', 'ALP_BL_DET', 'W/m2', (/ ('', i=1, 10) /))
     790  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_m = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     791    'alp_bl_fluct_m', 'ALP_BL_FLUCT_M', 'W/m2', (/ ('', i=1, 10) /))
     792  TYPE(ctrl_out), SAVE :: o_alp_bl_fluct_tke = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     793    'alp_bl_fluct_tke', 'ALP_BL_FLUCT_TKE', 'W/m2', (/ ('', i=1, 10) /))
     794  TYPE(ctrl_out), SAVE :: o_alp_bl_conv = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     795    'alp_bl_conv', 'ALP_BL_CONV', 'W/m2', (/ ('', i=1, 10) /))
     796  TYPE(ctrl_out), SAVE :: o_alp_bl_stat = ctrl_out((/ 1, 1, 1, 10, 10, 10, 11, 11, 11, 11/), &
     797    'alp_bl_stat', 'ALP_BL_STAT', 'W/m2', (/ ('', i=1, 10) /))
    801798
    802799!!! fin nrlmd le 10/04/2012
     
    805802
    806803  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_uSTDlevs     = (/                    &
    807       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u850', "Zonal wind 850hPa", "m/s",     &
    808       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    809       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u700', "Zonal wind 700hPa", "m/s",     &
    810       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    811       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u500', "Zonal wind 500hPa", "m/s",     &
    812       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    813       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u200', "Zonal wind 200hPa", "m/s",     &
    814       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    815       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u100', "Zonal wind 100hPa", "m/s",     &
    816       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    817       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u50', "Zonal wind 50hPa", "m/s",     &
    818       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    819       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'u10', "Zonal wind 10hPa", "m/s",     &
    820       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     804      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u850', "Zonal wind 850hPa", "m/s",     &
     805      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     806      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u700', "Zonal wind 700hPa", "m/s",     &
     807      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     808      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u500', "Zonal wind 500hPa", "m/s",     &
     809      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     810      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u200', "Zonal wind 200hPa", "m/s",     &
     811      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     812      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u100', "Zonal wind 100hPa", "m/s",     &
     813      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     814      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u50', "Zonal wind 50hPa", "m/s",     &
     815      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     816      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'u10', "Zonal wind 10hPa", "m/s",     &
     817      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    821818
    822819  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_vSTDlevs     = (/                     &
    823       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v850', "Meridional wind 850hPa", "m/s", &
    824       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
    825       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v700', "Meridional wind 700hPa", "m/s", &
    826       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
    827       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v500', "Meridional wind 500hPa", "m/s", &
    828       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
    829       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v200', "Meridional wind 200hPa", "m/s", &
    830       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
    831       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v100', "Meridional wind 100hPa", "m/s", &
    832       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
    833       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v50', "Meridional wind 50hPa", "m/s",  &
    834       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
    835       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'v10', "Meridional wind 10hPa", "m/s",  &
    836       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     820      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v850', "Meridional wind 850hPa", "m/s", &
     821      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
     822      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v700', "Meridional wind 700hPa", "m/s", &
     823      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
     824      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v500', "Meridional wind 500hPa", "m/s", &
     825      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
     826      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v200', "Meridional wind 200hPa", "m/s", &
     827      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
     828      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v100', "Meridional wind 100hPa", "m/s", &
     829      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
     830      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v50', "Meridional wind 50hPa", "m/s",  &
     831      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)),  &
     832      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'v10', "Meridional wind 10hPa", "m/s",  &
     833      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    837834
    838835  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_wSTDlevs     = (/                    &
    839       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w850', "Vertical wind 850hPa", "Pa/s", &
    840       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    841       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w700', "Vertical wind 700hPa", "Pa/s", &
    842       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    843       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w500', "Vertical wind 500hPa", "Pa/s", &
    844       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    845       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w200', "Vertical wind 200hPa", "Pa/s", &
    846       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    847       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w100', "Vertical wind 100hPa", "Pa/s", &
    848       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    849       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w50', "Vertical wind 50hPa", "Pa/s",  &
    850       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    851       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'w10', "Vertical wind 10hPa", "Pa/s",  &
    852       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     836      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w850', "Vertical wind 850hPa", "Pa/s", &
     837      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     838      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w700', "Vertical wind 700hPa", "Pa/s", &
     839      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     840      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w500', "Vertical wind 500hPa", "Pa/s", &
     841      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     842      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w200', "Vertical wind 200hPa", "Pa/s", &
     843      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     844      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w100', "Vertical wind 100hPa", "Pa/s", &
     845      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     846      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w50', "Vertical wind 50hPa", "Pa/s",  &
     847      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     848      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'w10', "Vertical wind 10hPa", "Pa/s",  &
     849      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    853850
    854851  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_tSTDlevs     = (/                    &
    855       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t850', "Temperature 850hPa", "K",      &
    856       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    857       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t700', "Temperature 700hPa", "K",      &
    858       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    859       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t500', "Temperature 500hPa", "K",      &
    860       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    861       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t200', "Temperature 200hPa", "K",      &
    862       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    863       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t100', "Temperature 100hPa", "K",      &
    864       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    865       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t50',  "Temperature 50hPa", "K",      &
    866       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    867       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'t10',  "Temperature 10hPa", "K",      &
    868       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     852      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t850', "Temperature 850hPa", "K",      &
     853      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     854      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t700', "Temperature 700hPa", "K",      &
     855      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     856      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t500', "Temperature 500hPa", "K",      &
     857      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     858      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t200', "Temperature 200hPa", "K",      &
     859      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     860      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t100', "Temperature 100hPa", "K",      &
     861      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     862      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t50',  "Temperature 50hPa", "K",      &
     863      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     864      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'t10',  "Temperature 10hPa", "K",      &
     865      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    869866
    870867  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_qSTDlevs     = (/                             &
    871       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q850', "Specific humidity 850hPa", &
    872       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    873       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q700', "Specific humidity 700hPa", &
    874       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    875       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q500', "Specific humidity 500hPa", &
    876       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    877       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q200', "Specific humidity 200hPa", &
    878       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    879       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q100', "Specific humidity 100hPa", &
    880       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    881       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q50', "Specific humidity 50hPa",  &
    882       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    883       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'q10', "Specific humidity 10hPa", &
    884       "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     868      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q850', "Specific humidity 850hPa", &
     869      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     870      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q700', "Specific humidity 700hPa", &
     871      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     872      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q500', "Specific humidity 500hPa", &
     873      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     874      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q200', "Specific humidity 200hPa", &
     875      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     876      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q100', "Specific humidity 100hPa", &
     877      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     878      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q50', "Specific humidity 50hPa",  &
     879      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     880      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'q10', "Specific humidity 10hPa", &
     881      "kg/kg", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    885882
    886883  TYPE(ctrl_out), SAVE, DIMENSION(7) :: o_zSTDlevs   = (/                           &
    887       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z850', "Geopotential height 850hPa",        &
    888       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    889       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z700', "Geopotential height 700hPa",        &
    890       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    891       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z500', "Geopotential height 500hPa",        &
    892       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    893       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z200', "Geopotential height 200hPa",        &
    894       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    895       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z100', "Geopotential height 100hPa",        &
    896       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    897       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z50', "Geopotential height 50hPa",         &
    898       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
    899       ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11 /),'z10', "Geopotential height 10hPa",         &
    900       "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
    901 
    902   TYPE(ctrl_out), SAVE :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    903     't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i=1, 9) /))
    904   TYPE(ctrl_out), SAVE :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    905     'weakinv', 'Weak inversion', '-', (/ ('', i=1, 9) /))
    906   TYPE(ctrl_out), SAVE :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    907     'dthmin', 'dTheta mini', 'K/m', (/ ('', i=1, 9) /))
     884      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z850', "Geopotential height 850hPa",        &
     885      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     886      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z700', "Geopotential height 700hPa",        &
     887      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     888      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z500', "Geopotential height 500hPa",        &
     889      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     890      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z200', "Geopotential height 200hPa",        &
     891      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     892      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z100', "Geopotential height 100hPa",        &
     893      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     894      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z50', "Geopotential height 50hPa",         &
     895      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)), &
     896      ctrl_out((/ 1, 7, 7, 10, 10, 10, 11, 11, 11, 11/),'z10', "Geopotential height 10hPa",         &
     897      "m", (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /)) /)
     898
     899  TYPE(ctrl_out), SAVE :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     900    't_oce_sic', 'Temp mixte oce-sic', 'K', (/ ('', i=1, 10) /))
     901  TYPE(ctrl_out), SAVE :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     902    'weakinv', 'Weak inversion', '-', (/ ('', i=1, 10) /))
     903  TYPE(ctrl_out), SAVE :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     904    'dthmin', 'dTheta mini', 'K/m', (/ ('', i=1, 10) /))
    908905
    909906  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10_srf      = (/ &
    910       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_ter', "", "", (/ ('', i=1, 9) /)), &
    911       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_lic', "", "", (/ ('', i=1, 9) /)), &
    912       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_oce', "", "", (/ ('', i=1, 9) /)), &
    913       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'u10_sic', "", "", (/ ('', i=1, 9) /)) /)
     907      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_ter', "", "", (/ ('', i=1, 10) /)), &
     908      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_lic', "", "", (/ ('', i=1, 10) /)), &
     909      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_oce', "", "", (/ ('', i=1, 10) /)), &
     910      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'u10_sic', "", "", (/ ('', i=1, 10) /)) /)
    914911
    915912  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_v10_srf      = (/ &
    916       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_ter', "", "", (/ ('', i=1, 9) /)), &
    917       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_lic', "", "", (/ ('', i=1, 9) /)), &
    918       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_oce', "", "", (/ ('', i=1, 9) /)), &
    919       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'v10_sic', "", "", (/ ('', i=1, 9) /)) /)
    920 
    921   TYPE(ctrl_out), SAVE :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    922     'cldtau', 'Cloud optical thickness', '1', (/ ('', i=1, 9) /))
    923   TYPE(ctrl_out), SAVE :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    924     'cldemi', 'Cloud optical emissivity', '1', (/ ('', i=1, 9) /))
    925   TYPE(ctrl_out), SAVE :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    926     'rh2m', 'Relative humidity at 2m', '%', (/ ('', i=1, 9) /))
    927   TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
     913      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_ter', "", "", (/ ('', i=1, 10) /)), &
     914      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_lic', "", "", (/ ('', i=1, 10) /)), &
     915      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_oce', "", "", (/ ('', i=1, 10) /)), &
     916      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'v10_sic', "", "", (/ ('', i=1, 10) /)) /)
     917
     918  TYPE(ctrl_out), SAVE :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     919    'cldtau', 'Cloud optical thickness', '1', (/ ('', i=1, 10) /))
     920  TYPE(ctrl_out), SAVE :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     921    'cldemi', 'Cloud optical emissivity', '1', (/ ('', i=1, 10) /))
     922  TYPE(ctrl_out), SAVE :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     923    'rh2m', 'Relative humidity at 2m', '%', (/ ('', i=1, 10) /))
     924  TYPE(ctrl_out), SAVE :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
    928925    'rh2m_min', 'Min Relative humidity at 2m', '%',                        &
    929       (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
    930   TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    931     'rh2m_max', 'Max Relative humidity at 2m', '%',                        &
    932       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
     926      (/ 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', &
     927         't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)', 't_min(X)' /))
     928  TYPE(ctrl_out), SAVE :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     929    'rh2m_max', 'Max Relative humidity at 2m', '%',                         &
     930      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    933931         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    934   TYPE(ctrl_out), SAVE :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    935     'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i=1, 9) /))
    936   TYPE(ctrl_out), SAVE :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    937     'tpot', 'Surface air potential temperature', 'K', (/ ('', i=1, 9) /))
    938   TYPE(ctrl_out), SAVE :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    939     'tpote', &
    940       'Surface air equivalent potential temperature', 'K', (/ ('', i=1, 9) /))
    941   TYPE(ctrl_out), SAVE :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    942     'tke ', 'TKE', 'm2/s2', (/ ('', i=1, 9) /))
    943   TYPE(ctrl_out), SAVE :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    944     'tke_max', 'TKE max', 'm2/s2',                                        &
     932  TYPE(ctrl_out), SAVE :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     933    'qsat2m', 'Saturant humidity at 2m', '%', (/ ('', i=1, 10) /))
     934  TYPE(ctrl_out), SAVE :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     935    'tpot', 'Surface air potential temperature', 'K', (/ ('', i=1, 10) /))
     936  TYPE(ctrl_out), SAVE :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     937    'tpote', 'Surface air equivalent potential temperature', 'K', (/ ('', i=1, 10) /))
     938  TYPE(ctrl_out), SAVE :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     939    'tke ', 'TKE', 'm2/s2', (/ ('', i=1, 10) /))
     940  TYPE(ctrl_out), SAVE :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     941    'tke_max', 'TKE max', 'm2/s2',                                  &
    945942      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    946          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
     943         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
    947944
    948945  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_srf      = (/             &
    949       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_ter',       &
    950       "Max Turb. Kinetic Energy "//clnsurf(1),"m2/s2", (/ ('', i=1, 9) /)), &
    951       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_lic',       &
    952       "Max Turb. Kinetic Energy "//clnsurf(2),"m2/s2", (/ ('', i=1, 9) /)), &
    953       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_oce',       &
    954       "Max Turb. Kinetic Energy "//clnsurf(3),"m2/s2", (/ ('', i=1, 9) /)), &
    955       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_sic',       &
    956       "Max Turb. Kinetic Energy "//clnsurf(4),"m2/s2", (/ ('', i=1, 9) /)) /)
     946      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_ter',       &
     947      "Max Turb. Kinetic Energy "//clnsurf(1),"m2/s2", (/ ('', i=1, 10) /)), &
     948      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_lic',       &
     949      "Max Turb. Kinetic Energy "//clnsurf(2),"m2/s2", (/ ('', i=1, 10) /)), &
     950      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_oce',       &
     951      "Max Turb. Kinetic Energy "//clnsurf(3),"m2/s2", (/ ('', i=1, 10) /)), &
     952      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_sic',       &
     953      "Max Turb. Kinetic Energy "//clnsurf(4),"m2/s2", (/ ('', i=1, 10) /)) /)
    957954
    958955  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mixmin      = (/             &
    959       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_ter',       &
    960       "PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
    961       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_lic',       &
    962       "PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
    963       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_oce',       &
    964       "PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
    965       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mixmin_sic',       &
    966       "PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
     956      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_ter',       &
     957      "PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
     958      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_lic',       &
     959      "PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
     960      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_oce',       &
     961      "PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
     962      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mixmin_sic',       &
     963      "PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
    967964
    968965  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_l_mix      = (/             &
    969       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_ter',       &
    970       "min PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
    971       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_lic',       &
    972       "min PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
    973       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_oce',       &
    974       "min PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
    975       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'l_mix_sic',       &
    976       "min PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
     966      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_ter',       &
     967      "min PBL mixing length "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
     968      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_lic',       &
     969      "min PBL mixing length "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
     970      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_oce',       &
     971      "min PBL mixing length "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
     972      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'l_mix_sic',       &
     973      "min PBL mixing length "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
    977974
    978975  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_tke_max_srf  = (/                          &
    979       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_ter',                &
     976      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_ter',                &
    980977      "Max Turb. Kinetic Energy "//clnsurf(1),"-",                                   &
    981978      (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    982          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
    983       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_lic',                &
     979         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
     980      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_lic',                &
    984981      "Max Turb. Kinetic Energy "//clnsurf(2),"-",                                   &
    985982      (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    986          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
    987       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_oce',                &
     983         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
     984      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_oce',                &
    988985      "Max Turb. Kinetic Energy "//clnsurf(3),"-",                                   &
    989986      (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    990          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
    991       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'tke_max_sic',                &
     987         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)), &
     988      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'tke_max_sic',                &
    992989      "Max Turb. Kinetic Energy "//clnsurf(4),"-",                                   &
    993990      (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    994          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
     991         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /)) /)
    995992
    996993  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_dltpbltke_srf      = (/             &
    997       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_ter',       &
    998       "TKE difference (w - x) "//clnsurf(1),"-", (/ ('', i=1, 9) /)), &
    999       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_lic',       &
    1000       "TKE difference (w - x) "//clnsurf(2),"-", (/ ('', i=1, 9) /)), &
    1001       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_oce',       &
    1002       "TKE difference (w - x) "//clnsurf(3),"-", (/ ('', i=1, 9) /)), &
    1003       ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11 /),'dltpbltke_sic',       &
    1004       "TKE difference (w - x) "//clnsurf(4),"-", (/ ('', i=1, 9) /)) /)
    1005 
    1006   TYPE(ctrl_out), SAVE :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1007     'kz', 'Kz melange', 'm2/s', (/ ('', i=1, 9) /))
    1008   TYPE(ctrl_out), SAVE :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
     994      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_ter',       &
     995      "TKE difference (w - x) "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
     996      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_lic',       &
     997      "TKE difference (w - x) "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
     998      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_oce',       &
     999      "TKE difference (w - x) "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
     1000      ctrl_out((/ 10, 4, 10, 10, 10, 10, 11, 11, 11, 11/),'dltpbltke_sic',       &
     1001      "TKE difference (w - x) "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
     1002
     1003  TYPE(ctrl_out), SAVE :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1004    'kz', 'Kz melange', 'm2/s', (/ ('', i=1, 10) /))
     1005  TYPE(ctrl_out), SAVE :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    10091006    'kz_max', 'Kz melange max', 'm2/s',                                  &
    10101007      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
    1011          't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)" /))
    1012   TYPE(ctrl_out), SAVE :: o_SWnetOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1013     'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i=1, 9) /))
    1014   TYPE(ctrl_out), SAVE :: o_SWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1015     'SWdownOR', 'Sfce incident SW radiation OR', 'W/m2', (/ ('', i=1, 9) /))
    1016   TYPE(ctrl_out), SAVE :: o_LWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1017     'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i=1, 9) /))
    1018   TYPE(ctrl_out), SAVE :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    1019     'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i=1, 9) /))
    1020   TYPE(ctrl_out), SAVE :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
     1008         't_max(X)', "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     1009  TYPE(ctrl_out), SAVE :: o_SWnetOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1010    'SWnetOR', 'Sfce net SW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
     1011  TYPE(ctrl_out), SAVE :: o_SWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1012    'SWdownOR', 'Sfce incident SW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
     1013  TYPE(ctrl_out), SAVE :: o_LWdownOR = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1014    'LWdownOR', 'Sfce incident LW radiation OR', 'W/m2', (/ ('', i=1, 10) /))
     1015  TYPE(ctrl_out), SAVE :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1016    'snowl', 'Solid Large-scale Precip.', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     1017  TYPE(ctrl_out), SAVE :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
    10211018    'cape_max', 'CAPE max.', 'J/kg',                                       &
    10221019      (/ "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", &
    1023          "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
    1024   TYPE(ctrl_out), SAVE :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11 /), &
    1025     'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 9) /))
    1026   TYPE(ctrl_out), SAVE :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1027     'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i=1, 9) /))
    1028   TYPE(ctrl_out), SAVE :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1029     'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i=1, 9) /))
    1030   TYPE(ctrl_out), SAVE :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1031     'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 9) /))
    1032   TYPE(ctrl_out), SAVE :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1033     'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 9) /))
    1034   TYPE(ctrl_out), SAVE :: o_z0m = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1035     'z0m', 'roughness length, momentum', '-', (/ ('', i=1, 9) /))
    1036   TYPE(ctrl_out), SAVE :: o_z0h = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1037     'z0h', 'roughness length, enthalpy', '-', (/ ('', i=1, 9) /))
    1038   TYPE(ctrl_out), SAVE :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1039     'topswad', 'ADE at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1040   TYPE(ctrl_out), SAVE :: o_topswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1041     'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1042   TYPE(ctrl_out), SAVE :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1043     'topswai', 'AIE at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1044   TYPE(ctrl_out), SAVE :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1045     'solswad', 'ADE at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1046   TYPE(ctrl_out), SAVE :: o_solswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1047     'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1048   TYPE(ctrl_out), SAVE :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1049     'solswai', 'AIE at SFR', 'W/m2', (/ ('', i=1, 9) /))
    1050   TYPE(ctrl_out), SAVE :: o_toplwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1051     'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1052   TYPE(ctrl_out), SAVE :: o_toplwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1053     'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1054   TYPE(ctrl_out), SAVE :: o_toplwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1055     'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1056   TYPE(ctrl_out), SAVE :: o_sollwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1057     'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1058   TYPE(ctrl_out), SAVE :: o_sollwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1059     'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1060   TYPE(ctrl_out), SAVE :: o_sollwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1061     'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i=1, 9) /))
     1020         "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)", "t_max(X)" /))
     1021  TYPE(ctrl_out), SAVE :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1022    'solldown', 'Down. IR rad. at surface', 'W/m2', (/ ('', i=1, 10) /))
     1023  TYPE(ctrl_out), SAVE :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1024    'dtsvdfo', 'Boundary-layer dTs(o)', 'K/s', (/ ('', i=1, 10) /))
     1025  TYPE(ctrl_out), SAVE :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1026    'dtsvdft', 'Boundary-layer dTs(t)', 'K/s', (/ ('', i=1, 10) /))
     1027  TYPE(ctrl_out), SAVE :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1028    'dtsvdfg', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 10) /))
     1029  TYPE(ctrl_out), SAVE :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1030    'dtsvdfi', 'Boundary-layer dTs(g)', 'K/s', (/ ('', i=1, 10) /))
     1031  TYPE(ctrl_out), SAVE :: o_z0m = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1032    'z0m', 'roughness length, momentum', '-', (/ ('', i=1, 10) /))
     1033  TYPE(ctrl_out), SAVE :: o_z0h = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1034    'z0h', 'roughness length, enthalpy', '-', (/ ('', i=1, 10) /))
     1035  TYPE(ctrl_out), SAVE :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1036    'topswad', 'ADE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1037  TYPE(ctrl_out), SAVE :: o_topswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1038    'topswad0', 'ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1039  TYPE(ctrl_out), SAVE :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1040    'topswai', 'AIE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1041  TYPE(ctrl_out), SAVE :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1042    'solswad', 'ADE at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1043  TYPE(ctrl_out), SAVE :: o_solswad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1044    'solswad0', 'ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1045  TYPE(ctrl_out), SAVE :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1046    'solswai', 'AIE at SFR', 'W/m2', (/ ('', i=1, 10) /))
     1047  TYPE(ctrl_out), SAVE :: o_toplwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1048    'toplwad', 'LW-ADE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1049  TYPE(ctrl_out), SAVE :: o_toplwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1050    'toplwad0', 'LW-ADE clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1051  TYPE(ctrl_out), SAVE :: o_toplwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1052    'toplwai', 'LW-AIE at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1053  TYPE(ctrl_out), SAVE :: o_sollwad = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1054    'sollwad', 'LW-ADE at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1055  TYPE(ctrl_out), SAVE :: o_sollwad0 = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1056    'sollwad0', 'LW-ADE clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1057  TYPE(ctrl_out), SAVE :: o_sollwai = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1058    'sollwai', 'LW-AIE at SFR', 'W/m2', (/ ('', i=1, 10) /))
    10621059
    10631060
    10641061  TYPE(ctrl_out),SAVE,DIMENSION(naero_tot) :: o_tausumaero =                              &
    1065        (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(1),     &
    1066        "Aerosol Optical depth at 550 nm "//name_aero_tau(1),"1", (/ ('', i=1, 9) /)),     &
    1067        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(2),        &
    1068        "Aerosol Optical depth at 550 nm "//name_aero_tau(2),"2", (/ ('', i=1, 9) /)),     &
    1069        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(3),        &
    1070        "Aerosol Optical depth at 550 nm "//name_aero_tau(3),"3", (/ ('', i=1, 9) /)),     &
    1071        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(4),        &
    1072        "Aerosol Optical depth at 550 nm "//name_aero_tau(4),"4", (/ ('', i=1, 9) /)),     &
    1073        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(5),        &
    1074        "Aerosol Optical depth at 550 nm "//name_aero_tau(5),"5", (/ ('', i=1, 9) /)),     &
    1075        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(6),        &
    1076        "Aerosol Optical depth at 550 nm "//name_aero_tau(6),"6", (/ ('', i=1, 9) /)),     &
    1077        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(7),        &
    1078        "Aerosol Optical depth at 550 nm "//name_aero_tau(7),"7", (/ ('', i=1, 9) /)),     &
    1079        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(8),        &
    1080        "Aerosol Optical depth at 550 nm "//name_aero_tau(8),"8", (/ ('', i=1, 9) /)),     &
    1081        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(9),        &
    1082        "Aerosol Optical depth at 550 nm "//name_aero_tau(9),"9", (/ ('', i=1, 9) /)),     &
    1083        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(10),       &
    1084        "Aerosol Optical depth at 550 nm "//name_aero_tau(10),"10", (/ ('', i=1, 9) /)),   &
    1085        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(11),       &
    1086        "Aerosol Optical depth at 550 nm "//name_aero_tau(11),"11", (/ ('', i=1, 9) /)),   &
    1087        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(12),       &
    1088        "Aerosol Optical depth at 550 nm "//name_aero_tau(12),"12", (/ ('', i=1, 9) /)),   &
    1089        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(13),       &
    1090        "Aerosol Optical depth at 550 nm "//name_aero_tau(13),"13", (/ ('', i=1, 9) /)),   &
    1091        ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /),'OD550_'//name_aero_tau(14),       &
    1092        "Aerosol Optical depth at 550 nm "//name_aero_tau(14),"14", (/ ('', i=1, 9) /)) /)
     1062       (/ ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(1),     &
     1063       "Aerosol Optical depth at 550 nm "//name_aero_tau(1),"1", (/ ('', i=1, 10) /)),     &
     1064       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(2),        &
     1065       "Aerosol Optical depth at 550 nm "//name_aero_tau(2),"2", (/ ('', i=1, 10) /)),     &
     1066       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(3),        &
     1067       "Aerosol Optical depth at 550 nm "//name_aero_tau(3),"3", (/ ('', i=1, 10) /)),     &
     1068       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(4),        &
     1069       "Aerosol Optical depth at 550 nm "//name_aero_tau(4),"4", (/ ('', i=1, 10) /)),     &
     1070       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(5),        &
     1071       "Aerosol Optical depth at 550 nm "//name_aero_tau(5),"5", (/ ('', i=1, 10) /)),     &
     1072       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(6),        &
     1073       "Aerosol Optical depth at 550 nm "//name_aero_tau(6),"6", (/ ('', i=1, 10) /)),     &
     1074       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(7),        &
     1075       "Aerosol Optical depth at 550 nm "//name_aero_tau(7),"7", (/ ('', i=1, 10) /)),     &
     1076       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(8),        &
     1077       "Aerosol Optical depth at 550 nm "//name_aero_tau(8),"8", (/ ('', i=1, 10) /)),     &
     1078       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(9),        &
     1079       "Aerosol Optical depth at 550 nm "//name_aero_tau(9),"9", (/ ('', i=1, 10) /)),     &
     1080       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(10),       &
     1081       "Aerosol Optical depth at 550 nm "//name_aero_tau(10),"10", (/ ('', i=1, 10) /)),   &
     1082       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(11),       &
     1083       "Aerosol Optical depth at 550 nm "//name_aero_tau(11),"11", (/ ('', i=1, 10) /)),   &
     1084       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(12),       &
     1085       "Aerosol Optical depth at 550 nm "//name_aero_tau(12),"12", (/ ('', i=1, 10) /)),   &
     1086       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(13),       &
     1087       "Aerosol Optical depth at 550 nm "//name_aero_tau(13),"13", (/ ('', i=1, 10) /)),   &
     1088       ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'OD550_'//name_aero_tau(14),       &
     1089       "Aerosol Optical depth at 550 nm "//name_aero_tau(14),"14", (/ ('', i=1, 10) /)) /)
    10931090!
    1094   TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1095     'OD_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i=1, 9) /))
     1091  TYPE(ctrl_out), SAVE :: o_tausumaero_lw = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1092    'OD_10um_STRAT', 'Stratospheric Aerosol Optical depth at 10 um ', '1', (/ ('', i=1, 10) /))
    10961093!
    1097   TYPE(ctrl_out), SAVE :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1098     'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i=1, 9) /))
    1099   TYPE(ctrl_out), SAVE :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1100     'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i=1, 9) /))
    1101   TYPE(ctrl_out), SAVE :: o_absvisaer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1102     'absvisaer', 'Absorption aerosol visible optical depth', '-', (/ ('', i=1, 9) /))
    1103   TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1104     'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i=1, 9) /))
    1105   TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1106     'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 9) /))
    1107   TYPE(ctrl_out), SAVE :: o_sconcno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1108     'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 9) /))
    1109   TYPE(ctrl_out), SAVE :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1110     'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 9) /))
    1111   TYPE(ctrl_out), SAVE :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1112     'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 9) /))
    1113   TYPE(ctrl_out), SAVE :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1114     'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 9) /))
    1115   TYPE(ctrl_out), SAVE :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1116     'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i=1, 9) /))
    1117   TYPE(ctrl_out), SAVE :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1118     'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 9) /))
    1119   TYPE(ctrl_out), SAVE :: o_concno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1120     'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 9) /))
    1121   TYPE(ctrl_out), SAVE :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1122     'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 9) /))
    1123   TYPE(ctrl_out), SAVE :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1124     'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 9) /))
    1125   TYPE(ctrl_out), SAVE :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1126     'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 9) /))
    1127   TYPE(ctrl_out), SAVE :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1128     'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i=1, 9) /))
    1129   TYPE(ctrl_out), SAVE :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1130     'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i=1, 9) /))
    1131   TYPE(ctrl_out), SAVE :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1132     'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i=1, 9) /))
    1133   TYPE(ctrl_out), SAVE :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1134     'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i=1, 9) /))
    1135   TYPE(ctrl_out), SAVE :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1136     'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i=1, 9) /))
    1137   TYPE(ctrl_out), SAVE :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1138     'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i=1, 9) /))
    1139   TYPE(ctrl_out), SAVE :: o_swtoaas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1140     'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1141   TYPE(ctrl_out), SAVE :: o_swsrfas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1142     'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1143   TYPE(ctrl_out), SAVE :: o_swtoacs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1144     'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1145   TYPE(ctrl_out), SAVE :: o_swsrfcs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1146     'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1147   TYPE(ctrl_out), SAVE :: o_swtoaas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1148     'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1149   TYPE(ctrl_out), SAVE :: o_swsrfas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1150     'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1151   TYPE(ctrl_out), SAVE :: o_swtoacs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1152     'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1153   TYPE(ctrl_out), SAVE :: o_swsrfcs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1154     'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1155   TYPE(ctrl_out), SAVE :: o_swtoacf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1156     'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1157   TYPE(ctrl_out), SAVE :: o_swsrfcf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1158     'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1159   TYPE(ctrl_out), SAVE :: o_swtoacf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1160     'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1161   TYPE(ctrl_out), SAVE :: o_swsrfcf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1162     'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1163   TYPE(ctrl_out), SAVE :: o_swtoacf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1164     'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i=1, 9) /))
    1165   TYPE(ctrl_out), SAVE :: o_swsrfcf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1166     'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i=1, 9) /))
    1167   TYPE(ctrl_out), SAVE :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1168     'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i=1, 9) /))
    1169   TYPE(ctrl_out), SAVE :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1170     'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i=1, 9) /))
    1171   TYPE(ctrl_out), SAVE :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1172     'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i=1, 9) /))
    1173   TYPE(ctrl_out), SAVE :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1174     'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i=1, 9) /))
     1094  TYPE(ctrl_out), SAVE :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1095    'od550aer', 'Total aerosol optical depth at 550nm', '-', (/ ('', i=1, 10) /))
     1096  TYPE(ctrl_out), SAVE :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1097    'od865aer', 'Total aerosol optical depth at 870nm', '-', (/ ('', i=1, 10) /))
     1098  TYPE(ctrl_out), SAVE :: o_absvisaer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1099    'absvisaer', 'Absorption aerosol visible optical depth', '-', (/ ('', i=1, 10) /))
     1100  TYPE(ctrl_out), SAVE :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1101    'od550lt1aer', 'Fine mode optical depth', '-', (/ ('', i=1, 10) /))
     1102  TYPE(ctrl_out), SAVE :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1103    'sconcso4', 'Surface Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
     1104  TYPE(ctrl_out), SAVE :: o_sconcno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1105    'sconcno3', 'Surface Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 10) /))
     1106  TYPE(ctrl_out), SAVE :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1107    'sconcoa', 'Surface Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 10) /))
     1108  TYPE(ctrl_out), SAVE :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1109    'sconcbc', 'Surface Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 10) /))
     1110  TYPE(ctrl_out), SAVE :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1111    'sconcss', 'Surface Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 10) /))
     1112  TYPE(ctrl_out), SAVE :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1113    'sconcdust', 'Surface Concentration of Dust ', 'kg/m3', (/ ('', i=1, 10) /))
     1114  TYPE(ctrl_out), SAVE :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1115    'concso4', 'Concentration of Sulfate ', 'kg/m3', (/ ('', i=1, 10) /))
     1116  TYPE(ctrl_out), SAVE :: o_concno3 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1117    'concno3', 'Concentration of Nitrate ', 'kg/m3', (/ ('', i=1, 10) /))
     1118  TYPE(ctrl_out), SAVE :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1119    'concoa', 'Concentration of Organic Aerosol ', 'kg/m3', (/ ('', i=1, 10) /))
     1120  TYPE(ctrl_out), SAVE :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1121    'concbc', 'Concentration of Black Carbon ', 'kg/m3', (/ ('', i=1, 10) /))
     1122  TYPE(ctrl_out), SAVE :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1123    'concss', 'Concentration of Sea Salt ', 'kg/m3', (/ ('', i=1, 10) /))
     1124  TYPE(ctrl_out), SAVE :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1125    'concdust', 'Concentration of Dust ', 'kg/m3', (/ ('', i=1, 10) /))
     1126  TYPE(ctrl_out), SAVE :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1127    'loadso4', 'Column Load of Sulfate ', 'kg/m2', (/ ('', i=1, 10) /))
     1128  TYPE(ctrl_out), SAVE :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1129    'loadoa', 'Column Load of Organic Aerosol ', 'kg/m2', (/ ('', i=1, 10) /))
     1130  TYPE(ctrl_out), SAVE :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1131    'loadbc', 'Column Load of Black Carbon ', 'kg/m2', (/ ('', i=1, 10) /))
     1132  TYPE(ctrl_out), SAVE :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1133    'loadss', 'Column Load of Sea Salt ', 'kg/m2', (/ ('', i=1, 10) /))
     1134  TYPE(ctrl_out), SAVE :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1135    'loaddust', 'Column Load of Dust ', 'kg/m2', (/ ('', i=1, 10) /))
     1136  TYPE(ctrl_out), SAVE :: o_swtoaas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1137    'swtoaas_nat', 'Natural aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1138  TYPE(ctrl_out), SAVE :: o_swsrfas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1139    'swsrfas_nat', 'Natural aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1140  TYPE(ctrl_out), SAVE :: o_swtoacs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1141    'swtoacs_nat', 'Natural aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1142  TYPE(ctrl_out), SAVE :: o_swsrfcs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1143    'swsrfcs_nat', 'Natural aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1144  TYPE(ctrl_out), SAVE :: o_swtoaas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1145    'swtoaas_ant', 'Anthropogenic aerosol radiative forcing all-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1146  TYPE(ctrl_out), SAVE :: o_swsrfas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1147    'swsrfas_ant', 'Anthropogenic aerosol radiative forcing all-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1148  TYPE(ctrl_out), SAVE :: o_swtoacs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1149    'swtoacs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1150  TYPE(ctrl_out), SAVE :: o_swsrfcs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1151    'swsrfcs_ant', 'Anthropogenic aerosol radiative forcing clear-sky at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1152  TYPE(ctrl_out), SAVE :: o_swtoacf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1153    'swtoacf_nat', 'Natural aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1154  TYPE(ctrl_out), SAVE :: o_swsrfcf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1155    'swsrfcf_nat', 'Natural aerosol impact on cloud radiative forcing  at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1156  TYPE(ctrl_out), SAVE :: o_swtoacf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1157    'swtoacf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1158  TYPE(ctrl_out), SAVE :: o_swsrfcf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1159    'swsrfcf_ant', 'Anthropogenic aerosol impact on cloud radiative forcing at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1160  TYPE(ctrl_out), SAVE :: o_swtoacf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1161    'swtoacf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at TOA', 'W/m2', (/ ('', i=1, 10) /))
     1162  TYPE(ctrl_out), SAVE :: o_swsrfcf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1163    'swsrfcf_zero', 'Cloud radiative forcing (allsky-clearsky fluxes) at SRF', 'W/m2', (/ ('', i=1, 10) /))
     1164  TYPE(ctrl_out), SAVE :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1165    'cldncl', 'CDNC at top of liquid water cloud', 'm-3', (/ ('', i=1, 10) /))
     1166  TYPE(ctrl_out), SAVE :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1167    'reffclwtop', 'Droplet effective radius at top of liquid water cloud', 'm', (/ ('', i=1, 10) /))
     1168  TYPE(ctrl_out), SAVE :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1169    'cldnvi', 'Column Integrated Cloud Droplet Number', 'm-2', (/ ('', i=1, 10) /))
     1170  TYPE(ctrl_out), SAVE :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1171    'lcc', 'Cloud liquid fraction at top of cloud', '1', (/ ('', i=1, 10) /))
    11751172
    11761173#ifdef CPP_StratAer
    1177   TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1178     'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i=1, 9) /))
    1179   TYPE(ctrl_out), SAVE :: o_ext_strat_1020 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1180     'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i=1, 9) /))
    1181   TYPE(ctrl_out), SAVE :: o_tau_strat_550 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1182     'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i=1, 9) /))
    1183   TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1184     'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i=1, 9) /))
    1185   TYPE(ctrl_out), SAVE :: o_sulf_convert = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1186     'sulf_convert', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
    1187   TYPE(ctrl_out), SAVE :: o_sulf_nucl = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1188     'sulf_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
    1189   TYPE(ctrl_out), SAVE :: o_sulf_cond_evap = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1190     'sulf_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
    1191   TYPE(ctrl_out), SAVE :: o_ocs_convert = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1192     'ocs_convert', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
    1193   TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1194     'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i=1, 9) /))
    1195   TYPE(ctrl_out), SAVE :: o_OCS_lifetime = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1196     'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i=1, 9) /))
    1197   TYPE(ctrl_out), SAVE :: o_SO2_lifetime = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1198     'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i=1, 9) /))
    1199   TYPE(ctrl_out), SAVE :: o_SO2_backgr_tend = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1200     'SO2_backgr_tend', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
    1201   TYPE(ctrl_out), SAVE :: o_OCS_backgr_tend = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1202     'OCS_backgr_tend', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 9) /))
    1203   TYPE(ctrl_out), SAVE :: o_vsed_aer = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1204     'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i=1, 9) /))
    1205   TYPE(ctrl_out), SAVE :: o_f_r_wet = ctrl_out((/ 1, 6, 7, 10, 10, 10, 11, 11, 11 /), &
    1206     'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i=1, 9) /))
    1207   TYPE(ctrl_out), SAVE :: o_sulf_dep_dry = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1208     'sulf_dep_dry', 'Sulfur dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 9) /))
    1209   TYPE(ctrl_out), SAVE :: o_sulf_dep_wet = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1210     'sulf_dep_wet', 'Sulfur wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 9) /))
    1211   TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1212     'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i=1, 9) /))
    1213   TYPE(ctrl_out), SAVE :: o_p_tropopause = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1214     'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i=1, 9) /))
    1215   TYPE(ctrl_out), SAVE :: o_sfluxaer = ctrl_out((/ 1, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1216     'sflux', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i=1, 9) /))
     1174!--extinction coefficient
     1175  TYPE(ctrl_out), SAVE :: o_ext_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1176    'ext_strat_550', 'Strat. aerosol extinction coefficient at 550 nm', '1/m', (/ ('', i=1, 10) /))
     1177  TYPE(ctrl_out), SAVE :: o_ext_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1178    'ext_strat_1020', 'Strat. aerosol extinction coefficient at 1020 nm', '1/m', (/ ('', i=1, 10) /))
     1179!--strat aerosol optical depth
     1180  TYPE(ctrl_out), SAVE :: o_tau_strat_550 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1181    'OD550_strat_only', 'Stratospheric Aerosol Optical depth at 550 nm ', '1', (/ ('', i=1, 10) /))
     1182  TYPE(ctrl_out), SAVE :: o_tau_strat_1020 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1183    'OD1020_strat_only', 'Stratospheric Aerosol Optical depth at 1020 nm ', '1', (/ ('', i=1, 10) /))
     1184!--chemistry
     1185  TYPE(ctrl_out), SAVE :: o_R2SO4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1186    'R2SO4', 'H2SO4 mass fraction in aerosol', '%', (/ ('', i=1, 10) /))
     1187  TYPE(ctrl_out), SAVE :: o_OCS_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1188    'OCS_lifetime', 'OCS lifetime', 's', (/ ('', i=1, 10) /))
     1189  TYPE(ctrl_out), SAVE :: o_SO2_lifetime = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1190    'SO2_lifetime', 'SO2 lifetime', 's', (/ ('', i=1, 10) /))
     1191  TYPE(ctrl_out), SAVE :: o_f_r_wet = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1192    'f_r_wet', 'Conversion factor dry to wet aerosol radius', '-', (/ ('', i=1, 10) /))
     1193!--budget  3D
     1194  TYPE(ctrl_out), SAVE :: o_budg_3D_nucl = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1195    'budg_3D_nucl', 'H2SO4 nucleation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1196  TYPE(ctrl_out), SAVE :: o_budg_3D_cond_evap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1197    'budg_3D_cond_evap', 'H2SO4 condensation/evaporation mass flux', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1198  TYPE(ctrl_out), SAVE :: o_budg_3D_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1199    'budg_3D_ocs_to_so2', 'OCS mass flux converted to SO2', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1200  TYPE(ctrl_out), SAVE :: o_budg_3D_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1201    'budg_3D_so2_to_h2so4', 'SO2 mass flux converted to H2SO4', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1202  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1203    'budg_3D_backgr_ocs', 'OCS background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1204  TYPE(ctrl_out), SAVE :: o_budg_3D_backgr_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1205    'budg_3D_backgr_so2', 'SO2 background tendency', 'kg(S)/m2/layer/s', (/ ('', i=1, 10) /))
     1206  TYPE(ctrl_out), SAVE :: o_vsed_aer = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1207    'vsed_aer', 'Strat. aerosol sedimentation velocity (mass-weighted)', 'm/s', (/ ('', i=1, 10) /))
     1208!--budget  2D
     1209  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1210    'budg_dep_dry_h2so4', 'H2SO4 dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1211  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1212    'budg_dep_wet_h2so4', 'H2SO4 wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1213  TYPE(ctrl_out), SAVE :: o_budg_dep_dry_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1214    'budg_dep_dry_part', 'particle dry deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1215  TYPE(ctrl_out), SAVE :: o_budg_dep_wet_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1216    'budg_dep_wet_part', 'particle wet deposition flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1217  TYPE(ctrl_out), SAVE :: o_budg_emi_ocs = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1218    'budg_emi_ocs', 'OCS emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1219  TYPE(ctrl_out), SAVE :: o_budg_emi_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1220    'budg_emi_so2', 'SO2 emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1221  TYPE(ctrl_out), SAVE :: o_budg_emi_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1222    'budg_emi_h2so4', 'H2SO4 emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1223  TYPE(ctrl_out), SAVE :: o_budg_emi_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1224    'budg_emi_part', 'Particle emission flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1225  TYPE(ctrl_out), SAVE :: o_budg_ocs_to_so2 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1226    'budg_ocs_to_so2', 'OCS to SO2 flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1227  TYPE(ctrl_out), SAVE :: o_budg_so2_to_h2so4 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1228    'budg_so2_to_h2so4', 'SO2 to H2SO4 flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1229  TYPE(ctrl_out), SAVE :: o_budg_h2so4_to_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1230    'budg_h2so4_to_part', 'H2SO4 to part flux', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1231  TYPE(ctrl_out), SAVE :: o_budg_sed_part = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1232    'budg_sed_part', 'Ground sedimentation flux of strat. particles', 'kg(S)/m2/s', (/ ('', i=1, 10) /))
     1233!--tropopause height
     1234  TYPE(ctrl_out), SAVE :: o_p_tropopause = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1235    'p_tropopause', 'Tropopause pressure', 'Pa', (/ ('', i=1, 10) /))
     1236!--surface PM25 due to strat aerosol
     1237  TYPE(ctrl_out), SAVE :: o_surf_PM25_sulf = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 1/), &
     1238    'surf_PM25_sulf', 'Sulfate PM2.5 concentration at the surface', 'ug/m3', (/ ('', i=1, 10) /))
    12171239#endif
    12181240
    12191241!!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1220   TYPE(ctrl_out), SAVE :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11 /), &
    1221     'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i=1, 9) /))
    1222   TYPE(ctrl_out), SAVE :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1223     'lwcon', 'Cloud liquid water content', 'kg/kg', (/ ('', i=1, 9) /))
    1224   TYPE(ctrl_out), SAVE :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1225     'iwcon', 'Cloud ice water content', 'kg/kg', (/ ('', i=1, 9) /))
    1226   TYPE(ctrl_out), SAVE :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
    1227     'temp', 'Air temperature', 'K', (/ ('', i=1, 9) /))
    1228   TYPE(ctrl_out), SAVE :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
    1229     'theta', 'Potential air temperature', 'K', (/ ('', i=1, 9) /))
    1230   TYPE(ctrl_out), SAVE :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
    1231     'ovap', 'Specific humidity', 'kg/kg', (/ ('', i=1, 9) /))
    1232   TYPE(ctrl_out), SAVE :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1233     'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i=1, 9) /))
    1234   TYPE(ctrl_out), SAVE :: o_oliq = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
    1235     'oliq', 'Liquid water', 'kg/kg', (/ ('', i=1, 9) /))
    1236   TYPE(ctrl_out), SAVE :: o_ocond = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11 /), &
    1237     'ocond', 'Condensed water', 'kg/kg', (/ ('', i=1, 9) /))
    1238   TYPE(ctrl_out), SAVE :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1239     'wvapp', '', '', (/ ('', i=1, 9) /))
    1240   TYPE(ctrl_out), SAVE :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
    1241     'geop', 'Geopotential height', 'm2/s2', (/ ('', i=1, 9) /))
    1242   TYPE(ctrl_out), SAVE :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11 /), &
    1243     'vitu', 'Zonal wind', 'm/s', (/ ('', i=1, 9) /))
    1244   TYPE(ctrl_out), SAVE :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11 /), &
    1245     'vitv', 'Meridional wind', 'm/s', (/ ('', i=1, 9) /))
    1246   TYPE(ctrl_out), SAVE :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10, 11, 11, 11 /), &
    1247     'vitw', 'Vertical wind', 'Pa/s', (/ ('', i=1, 9) /))
    1248   TYPE(ctrl_out), SAVE :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
    1249     'pres', 'Air pressure', 'Pa', (/ ('', i=1, 9) /))
    1250   TYPE(ctrl_out), SAVE :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
    1251     'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i=1, 9) /))
    1252   TYPE(ctrl_out), SAVE :: o_mass = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
    1253     'mass', 'Masse Couches', 'kg/m2', (/ ('', i=1, 9) /))
    1254   TYPE(ctrl_out), SAVE :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
    1255     'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i=1, 9) /))
    1256   TYPE(ctrl_out), SAVE :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11 /), &
    1257     'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i=1, 9) /))
    1258   TYPE(ctrl_out), SAVE :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1259     'rneb', 'Cloud fraction', '-', (/ ('', i=1, 9) /))
    1260   TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11,11 /), &     
    1261     'rnebjn', 'Cloud fraction in day', '-', (/ ('', i=1, 9) /))
    1262   TYPE(ctrl_out), SAVE :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1263     'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i=1, 9) /))
    1264   TYPE(ctrl_out), SAVE :: o_rnebls = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1265     'rnebls', 'LS Cloud fraction', '-', (/ ('', i=1, 9) /))
    1266   TYPE(ctrl_out), SAVE :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1267     'rhum', 'Relative humidity', '-', (/ ('', i=1, 9) /))
    1268   TYPE(ctrl_out), SAVE :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1269     'ozone', 'Ozone mole fraction', '-', (/ ('', i=1, 9) /))
    1270   TYPE(ctrl_out), SAVE :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1271     'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i=1, 9) /))
    1272   TYPE(ctrl_out), SAVE :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1273     'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i=1, 9) /))
    1274   TYPE(ctrl_out), SAVE :: o_epmax_diag = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1275     'epmax', 'epmax en fn cape', 'su', (/ ('', i=1, 9) /))
    1276   TYPE(ctrl_out), SAVE :: o_ep = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1277     'ep', 'ep', 'su', (/ ('', i=1, 9) /))
    1278   TYPE(ctrl_out), SAVE :: o_duphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1279     'duphy', 'Physics du', 'm/s2', (/ ('', i=1, 9) /))
    1280   TYPE(ctrl_out), SAVE :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1281     'dtphy', 'Physics dT', 'K/s', (/ ('', i=1, 9) /))
    1282   TYPE(ctrl_out), SAVE :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1283     'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1284   TYPE(ctrl_out), SAVE :: o_dqphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1285     'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1286   TYPE(ctrl_out), SAVE :: o_dqlphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1287     'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1288   TYPE(ctrl_out), SAVE :: o_dqlphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1289     'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1290   TYPE(ctrl_out), SAVE :: o_dqsphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1291     'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1292   TYPE(ctrl_out), SAVE :: o_dqsphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1293     'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1294   TYPE(ctrl_out), SAVE :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1295     'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i=1, 9) /))
    1296   TYPE(ctrl_out), SAVE :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1297     'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i=1, 9) /))
    1298   TYPE(ctrl_out), SAVE :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1299     'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i=1, 9) /))
    1300   TYPE(ctrl_out), SAVE :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1301     'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i=1, 9) /))
    1302   TYPE(ctrl_out), SAVE :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1303     're', 'Cloud droplet effective radius', 'um', (/ ('', i=1, 9) /))
    1304   TYPE(ctrl_out), SAVE :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1305     'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i=1, 9) /))
    1306   TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1307     'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i=1, 9) /))
    1308   TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1309     'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 9) /))
    1310   TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1311     'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 9) /))
    1312   TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1313     'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i=1, 9) /))
    1314   TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1315     'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i=1, 9) /))
    1316   TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1317     'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 9) /))
    1318   TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11 /), &
    1319     'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 9) /))
     1242  TYPE(ctrl_out), SAVE :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1243    'ec550aer', 'Extinction at 550nm', 'm^-1', (/ ('', i=1, 10) /))
     1244  TYPE(ctrl_out), SAVE :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1245    'lwcon', 'Cloud liquid water content', 'kg/kg', (/ ('', i=1, 10) /))
     1246  TYPE(ctrl_out), SAVE :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1247    'iwcon', 'Cloud ice water content', 'kg/kg', (/ ('', i=1, 10) /))
     1248  TYPE(ctrl_out), SAVE :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
     1249    'temp', 'Air temperature', 'K', (/ ('', i=1, 10) /))
     1250  TYPE(ctrl_out), SAVE :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
     1251    'theta', 'Potential air temperature', 'K', (/ ('', i=1, 10) /))
     1252  TYPE(ctrl_out), SAVE :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
     1253    'ovap', 'Specific humidity', 'kg/kg', (/ ('', i=1, 10) /))
     1254  TYPE(ctrl_out), SAVE :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1255    'ovapinit', 'Specific humidity (begin of timestep)', 'kg/kg', (/ ('', i=1, 10) /))
     1256  TYPE(ctrl_out), SAVE :: o_oliq = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
     1257    'oliq', 'Liquid water', 'kg/kg', (/ ('', i=1, 10) /))
     1258  TYPE(ctrl_out), SAVE :: o_ocond = ctrl_out((/ 2, 3, 4, 10, 10, 10, 11, 11, 11, 11/), &
     1259    'ocond', 'Condensed water', 'kg/kg', (/ ('', i=1, 10) /))
     1260  TYPE(ctrl_out), SAVE :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1261    'wvapp', '', '', (/ ('', i=1, 10) /))
     1262  TYPE(ctrl_out), SAVE :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1263    'geop', 'Geopotential height', 'm2/s2', (/ ('', i=1, 10) /))
     1264  TYPE(ctrl_out), SAVE :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
     1265    'vitu', 'Zonal wind', 'm/s', (/ ('', i=1, 10) /))
     1266  TYPE(ctrl_out), SAVE :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10, 11, 11, 11, 11/), &
     1267    'vitv', 'Meridional wind', 'm/s', (/ ('', i=1, 10) /))
     1268  TYPE(ctrl_out), SAVE :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10, 11, 11, 11, 11/), &
     1269    'vitw', 'Vertical wind', 'Pa/s', (/ ('', i=1, 10) /))
     1270  TYPE(ctrl_out), SAVE :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1271    'pres', 'Air pressure', 'Pa', (/ ('', i=1, 10) /))
     1272  TYPE(ctrl_out), SAVE :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1273    'paprs', 'Air pressure Inter-Couches', 'Pa', (/ ('', i=1, 10) /))
     1274  TYPE(ctrl_out), SAVE :: o_mass = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1275    'mass', 'Masse Couches', 'kg/m2', (/ ('', i=1, 10) /))
     1276  TYPE(ctrl_out), SAVE :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1277    'zfull', 'Altitude of full pressure levels', 'm', (/ ('', i=1, 10) /))
     1278  TYPE(ctrl_out), SAVE :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1279    'zhalf', 'Altitude of half pressure levels', 'm', (/ ('', i=1, 10) /))
     1280  TYPE(ctrl_out), SAVE :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1281    'rneb', 'Cloud fraction', '-', (/ ('', i=1, 10) /))
     1282  TYPE(ctrl_out), SAVE :: o_rnebjn = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11,11, 11/), &     
     1283    'rnebjn', 'Cloud fraction in day', '-', (/ ('', i=1, 10) /))
     1284  TYPE(ctrl_out), SAVE :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1285    'rnebcon', 'Convective Cloud Fraction', '-', (/ ('', i=1, 10) /))
     1286  TYPE(ctrl_out), SAVE :: o_rnebls = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1287    'rnebls', 'LS Cloud fraction', '-', (/ ('', i=1, 10) /))
     1288  TYPE(ctrl_out), SAVE :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1289    'rhum', 'Relative humidity', '-', (/ ('', i=1, 10) /))
     1290  TYPE(ctrl_out), SAVE :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1291    'ozone', 'Ozone mole fraction', '-', (/ ('', i=1, 10) /))
     1292  TYPE(ctrl_out), SAVE :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1293    'ozone_daylight', 'Daylight ozone mole fraction', '-', (/ ('', i=1, 10) /))
     1294  TYPE(ctrl_out), SAVE :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1295    'upwd', 'saturated updraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1296  TYPE(ctrl_out), SAVE :: o_epmax_diag = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1297    'epmax', 'epmax en fn cape', 'su', (/ ('', i=1, 10) /))
     1298  TYPE(ctrl_out), SAVE :: o_ep = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1299    'ep', 'ep', 'su', (/ ('', i=1, 10) /))
     1300  TYPE(ctrl_out), SAVE :: o_duphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1301    'duphy', 'Physics du', 'm/s2', (/ ('', i=1, 10) /))
     1302  TYPE(ctrl_out), SAVE :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1303    'dtphy', 'Physics dT', 'K/s', (/ ('', i=1, 10) /))
     1304  TYPE(ctrl_out), SAVE :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1305    'dqphy', 'Physics dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1306  TYPE(ctrl_out), SAVE :: o_dqphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1307    'dqphy2d', 'Physics dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1308  TYPE(ctrl_out), SAVE :: o_dqlphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1309    'dqlphy', 'Physics dQL', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1310  TYPE(ctrl_out), SAVE :: o_dqlphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1311    'dqlphy2d', 'Physics dQL', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1312  TYPE(ctrl_out), SAVE :: o_dqsphy = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1313    'dqsphy', 'Physics dQS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1314  TYPE(ctrl_out), SAVE :: o_dqsphy2d = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1315    'dqsphy2d', 'Physics dQS', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1316  TYPE(ctrl_out), SAVE :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1317    'pr_con_l', 'Convective precipitation lic', ' ', (/ ('', i=1, 10) /))
     1318  TYPE(ctrl_out), SAVE :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1319    'pr_con_i', 'Convective precipitation ice', ' ', (/ ('', i=1, 10) /))
     1320  TYPE(ctrl_out), SAVE :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1321    'pr_lsc_l', 'Large scale precipitation lic', ' ', (/ ('', i=1, 10) /))
     1322  TYPE(ctrl_out), SAVE :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1323    'pr_lsc_i', 'Large scale precipitation ice', ' ', (/ ('', i=1, 10) /))
     1324  TYPE(ctrl_out), SAVE :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1325    're', 'Cloud droplet effective radius', 'um', (/ ('', i=1, 10) /))
     1326  TYPE(ctrl_out), SAVE :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1327    'fl', 'Denominator of Cloud droplet effective radius', ' ', (/ ('', i=1, 10) /))
     1328  TYPE(ctrl_out), SAVE :: o_scdnc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1329    'scdnc', 'Cloud droplet number concentration', 'm-3', (/ ('', i=1, 10) /))
     1330  TYPE(ctrl_out), SAVE :: o_reffclws = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1331    'reffclws', 'Stratiform Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 10) /))
     1332  TYPE(ctrl_out), SAVE :: o_reffclwc = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1333    'reffclwc', 'Convective Cloud Droplet Effective Radius (aerosol diags.)', 'm', (/ ('', i=1, 10) /))
     1334  TYPE(ctrl_out), SAVE :: o_lcc3d = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1335    'lcc3d', 'Cloud liquid fraction', '1', (/ ('', i=1, 10) /))
     1336  TYPE(ctrl_out), SAVE :: o_lcc3dcon = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1337    'lcc3dcon', 'Convective cloud liquid fraction', '1', (/ ('', i=1, 10) /))
     1338  TYPE(ctrl_out), SAVE :: o_lcc3dstra = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1339    'lcc3dstra', 'Stratiform cloud liquid fraction', '1', (/ ('', i=1, 10) /))
     1340  TYPE(ctrl_out), SAVE :: o_stratomask = ctrl_out((/ 2,  6, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1341    'stratomask', 'Stratospheric fraction', '1', (/ ('', i=1, 10) /))
    13201342!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    13211343
    13221344  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_albe_srf     = (/ &
    1323       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_ter', "Albedo VIS surf. "//clnsurf(1),"-", (/ ('', i=1, 9) /)), &
    1324       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_lic', "Albedo VIS surf. "//clnsurf(2),"-", (/ ('', i=1, 9) /)), &
    1325       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_oce', "Albedo VIS surf. "//clnsurf(3),"-", (/ ('', i=1, 9) /)), &
    1326       ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11 /),'albe_sic', "Albedo VIS surf. "//clnsurf(4),"-", (/ ('', i=1, 9) /)) /)
     1345      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_ter', "Albedo VIS surf. "//clnsurf(1),"-", (/ ('', i=1, 10) /)), &
     1346      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_lic', "Albedo VIS surf. "//clnsurf(2),"-", (/ ('', i=1, 10) /)), &
     1347      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_oce', "Albedo VIS surf. "//clnsurf(3),"-", (/ ('', i=1, 10) /)), &
     1348      ctrl_out((/ 3, 7, 10, 7, 10, 10, 11, 11, 11, 11/),'albe_sic', "Albedo VIS surf. "//clnsurf(4),"-", (/ ('', i=1, 10) /)) /)
    13271349
    13281350  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_ages_srf     = (/ &
    1329       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_ter', "Snow age", "day", (/ ('', i=1, 9) /)), &
    1330       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_lic', "Snow age", "day", (/ ('', i=1, 9) /)), &
    1331       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_oce',"Snow age", "day", (/ ('', i=1, 9) /)), &
    1332       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'ages_sic',"Snow age", "day", (/ ('', i=1, 9) /)) /)
     1351      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_ter', "Snow age", "day", (/ ('', i=1, 10) /)), &
     1352      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_lic', "Snow age", "day", (/ ('', i=1, 10) /)), &
     1353      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_oce',"Snow age", "day", (/ ('', i=1, 10) /)), &
     1354      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'ages_sic',"Snow age", "day", (/ ('', i=1, 10) /)) /)
    13331355
    13341356  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_snow_srf     = (/ &
    1335       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_ter', "Snow", "kg/m2", (/ ('', i=1, 9) /)), &
    1336       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_lic', "Snow", "kg/m2", (/ ('', i=1, 9) /)), &
    1337       ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_oce',"Snow", "kg/m2", (/ ('', i=1, 9) /)), &
    1338       ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /),'snow_sic',"Snow", "kg/m2", (/ ('', i=1, 9) /)) /)
     1357      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_ter', "Snow", "kg/m2", (/ ('', i=1, 10) /)), &
     1358      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_lic', "Snow", "kg/m2", (/ ('', i=1, 10) /)), &
     1359      ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_oce',"Snow", "kg/m2", (/ ('', i=1, 10) /)), &
     1360      ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/),'snow_sic',"Snow", "kg/m2", (/ ('', i=1, 10) /)) /)
    13391361
    13401362  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0m_srf     = (/ &
    1341       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
    1342       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
    1343       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
    1344       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0m_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
     1363      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
     1364      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
     1365      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
     1366      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0m_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
    13451367
    13461368  TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_z0h_srf     = (/ &
    1347       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 9) /)), &
    1348       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 9) /)), &
    1349       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 9) /)), &
    1350       ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11 /),'z0h_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 9) /)) /)
    1351 
    1352   TYPE(ctrl_out), SAVE :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1353     'alb1', 'Surface VIS albedo', '-', (/ ('', i=1, 9) /))
    1354   TYPE(ctrl_out), SAVE :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1355     'alb2', 'Surface Near IR albedo', '-', (/ ('', i=1, 9) /))
    1356   TYPE(ctrl_out), SAVE :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1357     'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i=1, 9) /))
    1358   TYPE(ctrl_out), SAVE :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1359     'Ma', 'undilute adiab updraft', 'kg/m2/s', (/ ('', i=1, 9) /))
    1360   TYPE(ctrl_out), SAVE :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1361     'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i=1, 9) /))
    1362   TYPE(ctrl_out), SAVE :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1363     'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i=1, 9) /))
    1364   TYPE(ctrl_out), SAVE :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1365     'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i=1, 9) /))
    1366   TYPE(ctrl_out), SAVE :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
     1369      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_ter', "Surface roughness "//clnsurf(1),"m", (/ ('', i=1, 10) /)), &
     1370      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_lic', "Surface roughness "//clnsurf(2),"m", (/ ('', i=1, 10) /)), &
     1371      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_oce', "Surface roughness "//clnsurf(3),"m", (/ ('', i=1, 10) /)), &
     1372      ctrl_out((/ 3, 6, 10, 10, 10, 10, 11, 11, 11, 11/),'z0h_sic', "Surface roughness "//clnsurf(4),"m", (/ ('', i=1, 10) /)) /)
     1373
     1374  TYPE(ctrl_out), SAVE :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1375    'alb1', 'Surface VIS albedo', '-', (/ ('', i=1, 10) /))
     1376  TYPE(ctrl_out), SAVE :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1377    'alb2', 'Surface Near IR albedo', '-', (/ ('', i=1, 10) /))
     1378  TYPE(ctrl_out), SAVE :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1379    'clwcon', 'Convective Cloud Liquid water content', 'kg/kg', (/ ('', i=1, 10) /))
     1380  TYPE(ctrl_out), SAVE :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1381    'Ma', 'undilute adiab updraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1382  TYPE(ctrl_out), SAVE :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1383    'dnwd', 'saturated downdraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1384  TYPE(ctrl_out), SAVE :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1385    'dnwd0', 'unsat. downdraft', 'kg/m2/s', (/ ('', i=1, 10) /))
     1386  TYPE(ctrl_out), SAVE :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1387    'mc', 'Convective mass flux', 'kg/m2/s', (/ ('', i=1, 10) /))
     1388  TYPE(ctrl_out), SAVE :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
    13671389    'ftime_con', 'Fraction of time convection Occurs', ' ',                 &
    1368       (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
    1369   TYPE(ctrl_out), SAVE :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1370     'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i=1, 9) /))
    1371   TYPE(ctrl_out), SAVE :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1372     'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1373   TYPE(ctrl_out), SAVE :: o_dqdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1374     'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1375   TYPE(ctrl_out), SAVE :: o_dqldyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1376     'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1377   TYPE(ctrl_out), SAVE :: o_dqldyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1378     'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1379   TYPE(ctrl_out), SAVE :: o_dqsdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1380     'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1381   TYPE(ctrl_out), SAVE :: o_dqsdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1382     'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1383   TYPE(ctrl_out), SAVE :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1384     'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i=1, 9) /))
    1385   TYPE(ctrl_out), SAVE :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1386     'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i=1, 9) /))
    1387   TYPE(ctrl_out), SAVE :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1388     'dtcon', 'Convection dT', 'K/s', (/ ('', i=1, 9) /))
    1389   TYPE(ctrl_out), SAVE :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1390     'ducon', 'Convection du', 'm/s2', (/ ('', i=1, 9) /))
    1391   TYPE(ctrl_out), SAVE :: o_dvcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1392     'dvcon', 'Convection dv', 'm/s2', (/ ('', i=1, 9) /))
    1393   TYPE(ctrl_out), SAVE :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1394     'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1395   TYPE(ctrl_out), SAVE :: o_dqcon2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1396     'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1397   TYPE(ctrl_out), SAVE :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1398     'dtwak', 'Wake dT', 'K/s', (/ ('', i=1, 9) /))
    1399   TYPE(ctrl_out), SAVE :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1400     'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1401   TYPE(ctrl_out), SAVE :: o_dqwak2d = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1402     'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1403   TYPE(ctrl_out), SAVE :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1404     'wake_h', 'wake_h', '-', (/ ('', i=1, 9) /))
    1405   TYPE(ctrl_out), SAVE :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1406     'wake_s', 'wake_s', '-', (/ ('', i=1, 9) /))
    1407   TYPE(ctrl_out), SAVE :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1408     'wake_deltat', 'wake_deltat', ' ', (/ ('', i=1, 9) /))
    1409   TYPE(ctrl_out), SAVE :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1410     'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i=1, 9) /))
    1411   TYPE(ctrl_out), SAVE :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1412     'wake_omg', 'wake_omg', ' ', (/ ('', i=1, 9) /))
    1413   TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 110 /), &
    1414     'wdtrainA', 'precipitation from AA', '-', (/ ('', i=1, 9) /))
    1415   TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 110 /), &
    1416     'wdtrainM', 'precipitation from mixture', '-', (/ ('', i=1, 9) /))
    1417   TYPE(ctrl_out), SAVE :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1418     'Vprecip', 'precipitation vertical profile', '-', (/ ('', i=1, 9) /))
    1419   TYPE(ctrl_out), SAVE :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1420     'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i=1, 9) /))
    1421   TYPE(ctrl_out), SAVE :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11 /), &
    1422     'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i=1, 9) /))
    1423   TYPE(ctrl_out), SAVE :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1424     'dtlsc', 'Condensation dT', 'K/s', (/ ('', i=1, 9) /))
    1425   TYPE(ctrl_out), SAVE :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1426     'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i=1, 9) /))
    1427   TYPE(ctrl_out), SAVE :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1428     'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1429   TYPE(ctrl_out), SAVE :: o_dqlsc2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1430     'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1431   TYPE(ctrl_out), SAVE :: o_beta_prec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1432     'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1433   TYPE(ctrl_out), SAVE :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1434     'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i=1, 9) /))
    1435   TYPE(ctrl_out), SAVE :: o_dtdis = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1436     'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i=1, 9) /))
    1437   TYPE(ctrl_out), SAVE :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1438     'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1439   TYPE(ctrl_out), SAVE :: o_dqvdf2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1440     'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1441   TYPE(ctrl_out), SAVE :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1442     'dteva', 'Reevaporation dT', 'K/s', (/ ('', i=1, 9) /))
    1443   TYPE(ctrl_out), SAVE :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1444     'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1445   TYPE(ctrl_out), SAVE :: o_dqeva2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1446     'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
     1390      (/ 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', &
     1391         'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)', 'inst(X)' /))
     1392  TYPE(ctrl_out), SAVE :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1393    'dtdyn', 'Dynamics dT', 'K/s', (/ ('', i=1, 10) /))
     1394  TYPE(ctrl_out), SAVE :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1395    'dqdyn', 'Dynamics dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1396  TYPE(ctrl_out), SAVE :: o_dqdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1397    'dqdyn2d', 'Dynamics dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1398  TYPE(ctrl_out), SAVE :: o_dqldyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1399    'dqldyn', 'Dynamics dQL', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1400  TYPE(ctrl_out), SAVE :: o_dqldyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1401    'dqldyn2d', 'Dynamics dQL', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1402  TYPE(ctrl_out), SAVE :: o_dqsdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1403    'dqsdyn', 'Dynamics dQS', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1404  TYPE(ctrl_out), SAVE :: o_dqsdyn2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1405    'dqsdyn2d', 'Dynamics dQS', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1406  TYPE(ctrl_out), SAVE :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1407    'dudyn', 'Dynamics dU', 'm/s2', (/ ('', i=1, 10) /))
     1408  TYPE(ctrl_out), SAVE :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1409    'dvdyn', 'Dynamics dV', 'm/s2', (/ ('', i=1, 10) /))
     1410  TYPE(ctrl_out), SAVE :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1411    'dtcon', 'Convection dT', 'K/s', (/ ('', i=1, 10) /))
     1412  TYPE(ctrl_out), SAVE :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1413    'ducon', 'Convection du', 'm/s2', (/ ('', i=1, 10) /))
     1414  TYPE(ctrl_out), SAVE :: o_dvcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1415    'dvcon', 'Convection dv', 'm/s2', (/ ('', i=1, 10) /))
     1416  TYPE(ctrl_out), SAVE :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1417    'dqcon', 'Convection dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1418  TYPE(ctrl_out), SAVE :: o_dqcon2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1419    'dqcon2d', 'Convection dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1420  TYPE(ctrl_out), SAVE :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1421    'dtwak', 'Wake dT', 'K/s', (/ ('', i=1, 10) /))
     1422  TYPE(ctrl_out), SAVE :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1423    'dqwak', 'Wake dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1424  TYPE(ctrl_out), SAVE :: o_dqwak2d = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1425    'dqwak2d', 'Wake dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1426  TYPE(ctrl_out), SAVE :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1427    'wake_h', 'wake_h', '-', (/ ('', i=1, 10) /))
     1428  TYPE(ctrl_out), SAVE :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1429    'wake_s', 'wake_s', '-', (/ ('', i=1, 10) /))
     1430  TYPE(ctrl_out), SAVE :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1431    'wake_deltat', 'wake_deltat', ' ', (/ ('', i=1, 10) /))
     1432  TYPE(ctrl_out), SAVE :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1433    'wake_deltaq', 'wake_deltaq', ' ', (/ ('', i=1, 10) /))
     1434  TYPE(ctrl_out), SAVE :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1435    'wake_omg', 'wake_omg', ' ', (/ ('', i=1, 10) /))
     1436  TYPE(ctrl_out), SAVE :: o_wdtrainA = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
     1437    'wdtrainA', 'precipitation from AA', '-', (/ ('', i=1, 10) /))
     1438  TYPE(ctrl_out), SAVE :: o_wdtrainM = ctrl_out((/ 4, 5, 10,  4, 10, 10, 11, 11, 11, 11 /), &
     1439    'wdtrainM', 'precipitation from mixture', '-', (/ ('', i=1, 10) /))
     1440  TYPE(ctrl_out), SAVE :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1441    'Vprecip', 'precipitation vertical profile', '-', (/ ('', i=1, 10) /))
     1442  TYPE(ctrl_out), SAVE :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1443    'ftd', 'tend temp due aux descentes precip', '-', (/ ('', i=1, 10) /))
     1444  TYPE(ctrl_out), SAVE :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1445    'fqd', 'tend vap eau due aux descentes precip', '-', (/ ('', i=1, 10) /))
     1446  TYPE(ctrl_out), SAVE :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1447    'dtlsc', 'Condensation dT', 'K/s', (/ ('', i=1, 10) /))
     1448  TYPE(ctrl_out), SAVE :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1449    'dtlschr', 'Large-scale condensational heating rate', 'K/s', (/ ('', i=1, 10) /))
     1450  TYPE(ctrl_out), SAVE :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1451    'dqlsc', 'Condensation dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1452  TYPE(ctrl_out), SAVE :: o_dqlsc2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1453    'dqlsc2d', 'Condensation dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1454  TYPE(ctrl_out), SAVE :: o_beta_prec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1455    'beta_prec', 'LS Conversion rate to prec', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1456  TYPE(ctrl_out), SAVE :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1457    'dtvdf', 'Boundary-layer dT', 'K/s', (/ ('', i=1, 10) /))
     1458  TYPE(ctrl_out), SAVE :: o_dtdis = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1459    'dtdis', 'TKE dissipation dT', 'K/s', (/ ('', i=1, 10) /))
     1460  TYPE(ctrl_out), SAVE :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1461    'dqvdf', 'Boundary-layer dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1462  TYPE(ctrl_out), SAVE :: o_dqvdf2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1463    'dqvdf2d', 'Boundary-layer dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1464  TYPE(ctrl_out), SAVE :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1465    'dteva', 'Reevaporation dT', 'K/s', (/ ('', i=1, 10) /))
     1466  TYPE(ctrl_out), SAVE :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1467    'dqeva', 'Reevaporation dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1468  TYPE(ctrl_out), SAVE :: o_dqeva2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1469    'dqeva2d', 'Reevaporation dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
    14471470
    14481471!!!!!!!!!!!!!!!! Specifique thermiques
    1449   TYPE(ctrl_out), SAVE :: o_dqlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1450     'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1451   TYPE(ctrl_out), SAVE :: o_dqlscth2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1452     'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1453   TYPE(ctrl_out), SAVE :: o_dqlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1454     'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1455   TYPE(ctrl_out), SAVE :: o_dqlscst2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1456     'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1457   TYPE(ctrl_out), SAVE :: o_dtlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1458     'dtlscth', 'dQ therm.', 'K/s', (/ ('', i=1, 9) /))
    1459   TYPE(ctrl_out), SAVE :: o_dtlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1460     'dtlscst', 'dQ strat.', 'K/s', (/ ('', i=1, 9) /))
    1461   TYPE(ctrl_out), SAVE :: o_plulth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1462     'plulth', 'Rainfall therm.', 'K/s', (/ ('', i=1, 9) /))
    1463   TYPE(ctrl_out), SAVE :: o_plulst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1464     'plulst', 'Rainfall strat.', 'K/s', (/ ('', i=1, 9) /))
    1465   TYPE(ctrl_out), SAVE :: o_lmaxth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1466     'lmaxth', "Upper level thermals", "", (/ ('', i=1, 9) /))
    1467   TYPE(ctrl_out), SAVE :: o_ptconvth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1468     'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i=1, 9) /))
     1472  TYPE(ctrl_out), SAVE :: o_dqlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1473    'dqlscth', 'dQ therm.', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1474  TYPE(ctrl_out), SAVE :: o_dqlscth2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1475    'dqlscth2d', 'dQ therm.', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1476  TYPE(ctrl_out), SAVE :: o_dqlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1477    'dqlscst', 'dQ strat.', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1478  TYPE(ctrl_out), SAVE :: o_dqlscst2d = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1479    'dqlscst2d', 'dQ strat.', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1480  TYPE(ctrl_out), SAVE :: o_dtlscth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1481    'dtlscth', 'dQ therm.', 'K/s', (/ ('', i=1, 10) /))
     1482  TYPE(ctrl_out), SAVE :: o_dtlscst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1483    'dtlscst', 'dQ strat.', 'K/s', (/ ('', i=1, 10) /))
     1484  TYPE(ctrl_out), SAVE :: o_plulth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1485    'plulth', 'Rainfall therm.', 'K/s', (/ ('', i=1, 10) /))
     1486  TYPE(ctrl_out), SAVE :: o_plulst = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1487    'plulst', 'Rainfall strat.', 'K/s', (/ ('', i=1, 10) /))
     1488  TYPE(ctrl_out), SAVE :: o_lmaxth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1489    'lmaxth', "Upper level thermals", "", (/ ('', i=1, 10) /))
     1490  TYPE(ctrl_out), SAVE :: o_ptconvth = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1491    'ptconvth', 'POINTS CONVECTIFS therm.', ' ', (/ ('', i=1, 10) /))
    14691492!!!!!!!!!!!!!!!!!!!!!!!!
    1470   TYPE(ctrl_out), SAVE :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1471     'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i=1, 9) /))
    1472   TYPE(ctrl_out), SAVE :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1473     'ratqs', 'RATQS', ' ', (/ ('', i=1, 9) /))
    1474   TYPE(ctrl_out), SAVE :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1475     'dtthe', 'Thermal dT', 'K/s', (/ ('', i=1, 9) /))
    1476   TYPE(ctrl_out), SAVE :: o_duthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1477     'duthe', 'Thermal du', 'm/s2', (/ ('', i=1, 9) /))
    1478   TYPE(ctrl_out), SAVE :: o_dvthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1479     'dvthe', 'Thermal dv', 'm/s2', (/ ('', i=1, 9) /))
    1480   TYPE(ctrl_out), SAVE :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1481     'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i=1, 9) /))
    1482   TYPE(ctrl_out), SAVE :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1483     'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i=1, 9) /))
    1484   TYPE(ctrl_out), SAVE :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1485     'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 9) /))
    1486   TYPE(ctrl_out), SAVE :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1487     'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 9) /))
    1488   TYPE(ctrl_out), SAVE :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1489     'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i=1, 9) /))
    1490   TYPE(ctrl_out), SAVE :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1491     'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i=1, 9) /))
    1492   TYPE(ctrl_out), SAVE :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1493     'a_th', "Thermal plume fraction", "", (/ ('', i=1, 9) /))
    1494   TYPE(ctrl_out), SAVE :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1495     'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i=1, 9) /))
    1496   TYPE(ctrl_out), SAVE :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1497     'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i=1, 9) /))
    1498   TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4,  4,  4,  5, 10, 10, 11, 11, 11 /), &
    1499     'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i=1, 9) /))
    1500   TYPE(ctrl_out), SAVE :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1501     'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1502   TYPE(ctrl_out), SAVE :: o_dqthe2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1503     'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1504   TYPE(ctrl_out), SAVE :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1505     'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i=1, 9) /))
    1506   TYPE(ctrl_out), SAVE :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1507     'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i=1, 9) /))
    1508   TYPE(ctrl_out), SAVE :: o_dqajs2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1509     'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i=1, 9) /))
    1510   TYPE(ctrl_out), SAVE :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1511     'dtswr', 'SW radiation dT', 'K/s', (/ ('', i=1, 9) /))
    1512   TYPE(ctrl_out), SAVE :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1513     'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i=1, 9) /))
    1514   TYPE(ctrl_out), SAVE :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1515     'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i=1, 9) /))
    1516   TYPE(ctrl_out), SAVE :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1517     'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i=1, 9) /))
    1518   TYPE(ctrl_out), SAVE :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1519     'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i=1, 9) /))
    1520   TYPE(ctrl_out), SAVE :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1521     'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i=1, 9) /))
    1522   TYPE(ctrl_out), SAVE :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1523     'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i=1, 9) /))
    1524   TYPE(ctrl_out), SAVE :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1525     'duoro', 'Orography dU', 'm/s2', (/ ('', i=1, 9) /))
    1526   TYPE(ctrl_out), SAVE :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1527     'dvoro', 'Orography dV', 'm/s2', (/ ('', i=1, 9) /))
    1528   TYPE(ctrl_out), SAVE :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1529     'dulif', 'Orography dU', 'm/s2', (/ ('', i=1, 9) /))
    1530   TYPE(ctrl_out), SAVE :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1531     'dvlif', 'Orography dV', 'm/s2', (/ ('', i=1, 9) /))
    1532   TYPE(ctrl_out), SAVE :: o_du_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1533     'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i=1, 9) /))
    1534   TYPE(ctrl_out), SAVE :: o_dv_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1535     'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i=1, 9) /))
    1536   TYPE(ctrl_out), SAVE :: o_du_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1537     'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i=1, 9) /))
    1538   TYPE(ctrl_out), SAVE :: o_dv_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1539     'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i=1, 9) /))
    1540   TYPE(ctrl_out), SAVE :: o_east_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1541     'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i=1, 9) /))
    1542   TYPE(ctrl_out), SAVE :: o_west_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1543     'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i=1, 9) /))
    1544   TYPE(ctrl_out), SAVE :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1545     'dtoro', 'Orography dT', 'K/s', (/ ('', i=1, 9) /))
    1546   TYPE(ctrl_out), SAVE :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1547     'dtlif', 'Orography dT', 'K/s', (/ ('', i=1, 9) /))
    1548   TYPE(ctrl_out), SAVE :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1549     'dthin', 'Hines GWD dT', 'K/s', (/ ('', i=1, 9) /))
    1550   TYPE(ctrl_out), SAVE :: o_dqch4 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1551     'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i=1, 9) /))
     1493  TYPE(ctrl_out), SAVE :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1494    'ptconv', 'POINTS CONVECTIFS', ' ', (/ ('', i=1, 10) /))
     1495  TYPE(ctrl_out), SAVE :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1496    'ratqs', 'RATQS', ' ', (/ ('', i=1, 10) /))
     1497  TYPE(ctrl_out), SAVE :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1498    'dtthe', 'Thermal dT', 'K/s', (/ ('', i=1, 10) /))
     1499  TYPE(ctrl_out), SAVE :: o_duthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1500    'duthe', 'Thermal du', 'm/s2', (/ ('', i=1, 10) /))
     1501  TYPE(ctrl_out), SAVE :: o_dvthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1502    'dvthe', 'Thermal dv', 'm/s2', (/ ('', i=1, 10) /))
     1503  TYPE(ctrl_out), SAVE :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1504    'f_th', 'Thermal plume mass flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     1505  TYPE(ctrl_out), SAVE :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1506    'e_th', 'Thermal plume entrainment', 'K/s', (/ ('', i=1, 10) /))
     1507  TYPE(ctrl_out), SAVE :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1508    'w_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 10) /))
     1509  TYPE(ctrl_out), SAVE :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1510    'lambda_th', 'Thermal plume vertical velocity', 'm/s', (/ ('', i=1, 10) /))
     1511  TYPE(ctrl_out), SAVE :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1512    'ftime_th', 'Fraction of time Shallow convection occurs', ' ', (/ ('', i=1, 10) /))
     1513  TYPE(ctrl_out), SAVE :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1514    'q_th', 'Thermal plume total humidity', 'kg/kg', (/ ('', i=1, 10) /))
     1515  TYPE(ctrl_out), SAVE :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1516    'a_th', "Thermal plume fraction", "", (/ ('', i=1, 10) /))
     1517  TYPE(ctrl_out), SAVE :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1518    'd_th', 'Thermal plume detrainment', 'K/s', (/ ('', i=1, 10) /))
     1519  TYPE(ctrl_out), SAVE :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1520    'f0_th', 'Thermal closure mass flux', 'K/s', (/ ('', i=1, 10) /))
     1521  TYPE(ctrl_out), SAVE :: o_zmax_th = ctrl_out((/ 4,  4,  4,  5, 10, 10, 11, 11, 11, 11/), &
     1522    'zmax_th', 'Thermal plume height', 'K/s', (/ ('', i=1, 10) /))
     1523  TYPE(ctrl_out), SAVE :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1524    'dqthe', 'Thermal dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1525  TYPE(ctrl_out), SAVE :: o_dqthe2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1526    'dqthe2d', 'Thermal dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1527  TYPE(ctrl_out), SAVE :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1528    'dtajs', 'Dry adjust. dT', 'K/s', (/ ('', i=1, 10) /))
     1529  TYPE(ctrl_out), SAVE :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1530    'dqajs', 'Dry adjust. dQ', '(kg/kg)/s', (/ ('', i=1, 10) /))
     1531  TYPE(ctrl_out), SAVE :: o_dqajs2d = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1532    'dqajs2d', 'Dry adjust. dQ', '(kg/m2)/s', (/ ('', i=1, 10) /))
     1533  TYPE(ctrl_out), SAVE :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1534    'dtswr', 'SW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1535  TYPE(ctrl_out), SAVE :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1536    'dtsw0', 'CS SW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1537  TYPE(ctrl_out), SAVE :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1538    'dtlwr', 'LW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1539  TYPE(ctrl_out), SAVE :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1540    'dtlw0', 'CS LW radiation dT', 'K/s', (/ ('', i=1, 10) /))
     1541  TYPE(ctrl_out), SAVE :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1542    'dtec', 'Cinetic dissip dT', 'K/s', (/ ('', i=1, 10) /))
     1543  TYPE(ctrl_out), SAVE :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1544    'duvdf', 'Boundary-layer dU', 'm/s2', (/ ('', i=1, 10) /))
     1545  TYPE(ctrl_out), SAVE :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1546    'dvvdf', 'Boundary-layer dV', 'm/s2', (/ ('', i=1, 10) /))
     1547  TYPE(ctrl_out), SAVE :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1548    'duoro', 'Orography dU', 'm/s2', (/ ('', i=1, 10) /))
     1549  TYPE(ctrl_out), SAVE :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1550    'dvoro', 'Orography dV', 'm/s2', (/ ('', i=1, 10) /))
     1551  TYPE(ctrl_out), SAVE :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1552    'dulif', 'Orography dU', 'm/s2', (/ ('', i=1, 10) /))
     1553  TYPE(ctrl_out), SAVE :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1554    'dvlif', 'Orography dV', 'm/s2', (/ ('', i=1, 10) /))
     1555  TYPE(ctrl_out), SAVE :: o_du_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1556    'du_gwd_hines', 'Hines GWD dU', 'm/s2', (/ ('', i=1, 10) /))
     1557  TYPE(ctrl_out), SAVE :: o_dv_gwd_hines = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1558    'dv_gwd_hines', 'Hines GWD dV', 'm/s2', (/ ('', i=1, 10) /))
     1559  TYPE(ctrl_out), SAVE :: o_du_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1560    'du_gwd_front', 'Fronts GWD dU', 'm/s2', (/ ('', i=1, 10) /))
     1561  TYPE(ctrl_out), SAVE :: o_dv_gwd_front = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1562    'dv_gwd_front', 'Fronts GWD dV', 'm/s2', (/ ('', i=1, 10) /))
     1563  TYPE(ctrl_out), SAVE :: o_east_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1564    'east_gwstress', 'Eastward GW Stress', 'Pa', (/ ('', i=1, 10) /))
     1565  TYPE(ctrl_out), SAVE :: o_west_gwstress = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1566    'west_gwstress', 'Westward GW Stress', 'Pa', (/ ('', i=1, 10) /))
     1567  TYPE(ctrl_out), SAVE :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1568    'dtoro', 'Orography dT', 'K/s', (/ ('', i=1, 10) /))
     1569  TYPE(ctrl_out), SAVE :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1570    'dtlif', 'Orography dT', 'K/s', (/ ('', i=1, 10) /))
     1571  TYPE(ctrl_out), SAVE :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1572    'dthin', 'Hines GWD dT', 'K/s', (/ ('', i=1, 10) /))
     1573  TYPE(ctrl_out), SAVE :: o_dqch4 = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1574    'dqch4', 'H2O due to CH4 oxidation & photolysis', '(kg/kg)/s', (/ ('', i=1, 10) /))
    15521575
    15531576  type(ctrl_out), save:: o_du_gwd_rando &
    1554        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'du_gwd_rando', &
    1555        "Random gravity waves dU/dt", "m/s2", (/ ('', i=1, 9) /))
     1577       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'du_gwd_rando', &
     1578       "Random gravity waves dU/dt", "m/s2", (/ ('', i=1, 10) /))
    15561579  type(ctrl_out), save:: o_dv_gwd_rando &
    1557        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'dv_gwd_rando', &
    1558        "Random gravity waves dV/dt", "m/s2", (/ ('', i=1, 9) /))
     1580       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'dv_gwd_rando', &
     1581       "Random gravity waves dV/dt", "m/s2", (/ ('', i=1, 10) /))
    15591582  type(ctrl_out), save:: o_ustr_gwd_hines &
    1560        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'ustr_gwd_hines', &
    1561        "zonal wind stress Hines gravity waves", "Pa", (/ ('', i=1, 9) /))
     1583       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_hines', &
     1584       "zonal wind stress Hines gravity waves", "Pa", (/ ('', i=1, 10) /))
    15621585  type(ctrl_out), save:: o_vstr_gwd_hines &
    1563        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'vstr_gwd_hines', &
    1564        "meridional wind stress Hines gravity waves", "Pa", (/ ('', i=1, 9) /))
     1586       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_hines', &
     1587       "meridional wind stress Hines gravity waves", "Pa", (/ ('', i=1, 10) /))
    15651588  type(ctrl_out), save:: o_ustr_gwd_front &
    1566        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'ustr_gwd_front', &
    1567        "zonal wind stress fronts gravity waves", "Pa", (/ ('', i=1, 9) /))
     1589       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_front', &
     1590       "zonal wind stress fronts gravity waves", "Pa", (/ ('', i=1, 10) /))
    15681591  type(ctrl_out), save:: o_vstr_gwd_front &
    1569        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'vstr_gwd_front', &
    1570        "meridional wind stress fronts gravity waves", "Pa", (/ ('', i=1, 9) /))
     1592       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_front', &
     1593       "meridional wind stress fronts gravity waves", "Pa", (/ ('', i=1, 10) /))
    15711594  type(ctrl_out), save:: o_ustr_gwd_rando &
    1572        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'ustr_gwd_rando', &
    1573        "zonal wind stress random gravity waves", "Pa", (/ ('', i=1, 9) /))
     1595       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'ustr_gwd_rando', &
     1596       "zonal wind stress random gravity waves", "Pa", (/ ('', i=1, 10) /))
    15741597  type(ctrl_out), save:: o_vstr_gwd_rando &
    1575        = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), 'vstr_gwd_rando', &
    1576        "meridional wind stress random gravity waves", "Pa", (/ ('', i=1, 9) /))
     1598       = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), 'vstr_gwd_rando', &
     1599       "meridional wind stress random gravity waves", "Pa", (/ ('', i=1, 10) /))
    15771600
    15781601  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_trac(:)
     
    15931616  TYPE(ctrl_out), SAVE, ALLOCATABLE :: o_dtr_dry(:)
    15941617
    1595   TYPE(ctrl_out), SAVE :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1596     'rsu', 'SW upward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1597   TYPE(ctrl_out), SAVE :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1598     'rsd', 'SW downward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1599   TYPE(ctrl_out), SAVE :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1600     'rlu', 'LW upward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1601   TYPE(ctrl_out), SAVE :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1602     'rld', 'LW downward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1603   TYPE(ctrl_out), SAVE :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1604     'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1605   TYPE(ctrl_out), SAVE :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1606     'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1607   TYPE(ctrl_out), SAVE :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1608     'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1609   TYPE(ctrl_out), SAVE :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1610     'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i=1, 9) /))
    1611   TYPE(ctrl_out), SAVE :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1612     'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i=1, 9) /))
    1613   TYPE(ctrl_out), SAVE :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1614     'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i=1, 9) /))
    1615   TYPE(ctrl_out), SAVE :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1616     'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i=1, 9) /))
    1617   TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /),                  &
     1618  TYPE(ctrl_out), SAVE :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1619    'rsu', 'SW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1620  TYPE(ctrl_out), SAVE :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1621    'rsd', 'SW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1622  TYPE(ctrl_out), SAVE :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1623    'rlu', 'LW upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1624  TYPE(ctrl_out), SAVE :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1625    'rld', 'LW downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1626  TYPE(ctrl_out), SAVE :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1627    'rsucs', 'SW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1628  TYPE(ctrl_out), SAVE :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1629    'rsdcs', 'SW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1630  TYPE(ctrl_out), SAVE :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1631    'rlucs', 'LW CS upward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1632  TYPE(ctrl_out), SAVE :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1633    'rldcs', 'LW CS downward radiation', 'W m-2', (/ ('', i=1, 10) /))
     1634  TYPE(ctrl_out), SAVE :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1635    'tnt', 'Tendency of air temperature', 'K s-1', (/ ('', i=1, 10) /))
     1636  TYPE(ctrl_out), SAVE :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1637    'tntc', 'Tendency of air temperature due to Moist Convection', 'K s-1', (/ ('', i=1, 10) /))
     1638  TYPE(ctrl_out), SAVE :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1639    'tntr', 'Air temperature tendency due to Radiative heating', 'K s-1', (/ ('', i=1, 10) /))
     1640  TYPE(ctrl_out), SAVE :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/),                  &
    16181641    'tntscpbl', 'Air temperature tendency due to St cloud and precipitation and BL mixing', &
    1619       'K s-1', (/ ('', i=1, 9) /))
    1620   TYPE(ctrl_out), SAVE :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1621     'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i=1, 9) /))
    1622   TYPE(ctrl_out), SAVE :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1623     'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i=1, 9) /))
    1624   TYPE(ctrl_out), SAVE :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1625     'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i=1, 9) /))
    1626   TYPE(ctrl_out), SAVE :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1627     'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i=1, 9) /))
    1628   TYPE(ctrl_out), SAVE :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1629     'h2o', 'Mass Fraction of Water', '1', (/ ('', i=1, 9) /))
    1630   TYPE(ctrl_out), SAVE :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1631     'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 9) /))
    1632   TYPE(ctrl_out), SAVE :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1633     'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 9) /))
    1634   TYPE(ctrl_out), SAVE :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1635     'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i=1, 9) /))
    1636   TYPE(ctrl_out), SAVE :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1637     'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i=1, 9) /))
    1638   TYPE(ctrl_out), SAVE :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1639     'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1640   TYPE(ctrl_out), SAVE :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1641     'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1642   TYPE(ctrl_out), SAVE :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1643     'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1644   TYPE(ctrl_out), SAVE :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1645     'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1646   TYPE(ctrl_out), SAVE :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1647     'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1648   TYPE(ctrl_out), SAVE :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1649     'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1650   TYPE(ctrl_out), SAVE :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1651     'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1652   TYPE(ctrl_out), SAVE :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1653     'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1654   TYPE(ctrl_out), SAVE :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1655     'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1656   TYPE(ctrl_out), SAVE :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1657     'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1658   TYPE(ctrl_out), SAVE :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1659     'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1660   TYPE(ctrl_out), SAVE :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11 /), &
    1661     'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 9) /))
    1662   TYPE(ctrl_out), SAVE :: o_snowsrf = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
    1663     'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i=1, 9) /))
    1664   TYPE(ctrl_out), SAVE :: o_qsnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
    1665     'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i=1, 9) /))
    1666   TYPE(ctrl_out), SAVE :: o_snowhgt = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
    1667     'snowhgt', 'Snow height at surface', 'm', (/ ('', i=1, 9) /))
    1668   TYPE(ctrl_out), SAVE :: o_toice = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
    1669     'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i=1, 9) /))
    1670   TYPE(ctrl_out), SAVE :: o_sissnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
    1671     'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i=1, 9) /))
    1672   TYPE(ctrl_out), SAVE :: o_runoff = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11 /), &
    1673     'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i=1, 9) /))
    1674   TYPE(ctrl_out), SAVE :: o_albslw3 = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11 /), &
    1675     'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 9) /))
     1642      'K s-1', (/ ('', i=1, 10) /))
     1643  TYPE(ctrl_out), SAVE :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1644    'tnhus', 'Tendency of specific humidity', 's-1', (/ ('', i=1, 10) /))
     1645  TYPE(ctrl_out), SAVE :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1646    'tnhusc', 'Tendency of specific humidity due to convection', 's-1', (/ ('', i=1, 10) /))
     1647  TYPE(ctrl_out), SAVE :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1648    'tnhusscpbl', 'Tendency of Specific humidity due to ST cl, precip and BL mixing', 's-1', (/ ('', i=1, 10) /))
     1649  TYPE(ctrl_out), SAVE :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1650    'evu', 'Eddy viscosity coefficient for Momentum Variables', 'm2 s-1', (/ ('', i=1, 10) /))
     1651  TYPE(ctrl_out), SAVE :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1652    'h2o', 'Mass Fraction of Water', '1', (/ ('', i=1, 10) /))
     1653  TYPE(ctrl_out), SAVE :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1654    'mcd', 'Downdraft COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     1655  TYPE(ctrl_out), SAVE :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1656    'dmc', 'Deep COnvective Mass Flux', 'kg/(m2*s)', (/ ('', i=1, 10) /))
     1657  TYPE(ctrl_out), SAVE :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1658    'ref_liq', 'Effective radius of convective cloud liquid water particle', 'm', (/ ('', i=1, 10) /))
     1659  TYPE(ctrl_out), SAVE :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1660    'ref_ice', 'Effective radius of startiform cloud ice particle', 'm', (/ ('', i=1, 10) /))
     1661  TYPE(ctrl_out), SAVE :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1662    'rsut4co2', 'TOA Out SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1663  TYPE(ctrl_out), SAVE :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1664    'rlut4co2', 'TOA Out LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1665  TYPE(ctrl_out), SAVE :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1666    'rsutcs4co2', 'TOA Out CS SW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1667  TYPE(ctrl_out), SAVE :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1668    'rlutcs4co2', 'TOA Out CS LW in 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1669  TYPE(ctrl_out), SAVE :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1670    'rsu4co2', 'Upwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1671  TYPE(ctrl_out), SAVE :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1672    'rlu4co2', 'Upwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1673  TYPE(ctrl_out), SAVE :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1674    'rsucs4co2', 'Upwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1675  TYPE(ctrl_out), SAVE :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1676    'rlucs4co2', 'Upwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1677  TYPE(ctrl_out), SAVE :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1678    'rsd4co2', 'Downwelling SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1679  TYPE(ctrl_out), SAVE :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1680    'rld4co2', 'Downwelling LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1681  TYPE(ctrl_out), SAVE :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1682    'rsdcs4co2', 'Downwelling CS SW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1683  TYPE(ctrl_out), SAVE :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10, 11, 11, 11, 11/), &
     1684    'rldcs4co2', 'Downwelling CS LW 4xCO2 atmosphere', 'W/m2', (/ ('', i=1, 10) /))
     1685  TYPE(ctrl_out), SAVE :: o_snowsrf = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     1686    'snowsrf', 'Snow mass at surface', 'kg/m2', (/ ('', i=1, 10) /))
     1687  TYPE(ctrl_out), SAVE :: o_qsnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     1688    'qsnow', 'Water contained in snow', 'kg/m2', (/ ('', i=1, 10) /))
     1689  TYPE(ctrl_out), SAVE :: o_snowhgt = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     1690    'snowhgt', 'Snow height at surface', 'm', (/ ('', i=1, 10) /))
     1691  TYPE(ctrl_out), SAVE :: o_toice = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     1692    'to_ice', 'Snow passed to ice model', 'kg/m2', (/ ('', i=1, 10) /))
     1693  TYPE(ctrl_out), SAVE :: o_sissnow = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     1694    'sissnow', 'Snow in snow model', 'kg/m2', (/ ('', i=1, 10) /))
     1695  TYPE(ctrl_out), SAVE :: o_runoff = ctrl_out((/ 1, 1, 10, 1, 10, 10, 11, 11, 11, 11/), &
     1696    'runoff', 'Run-off rate land ice', 'kg/m2/s', (/ ('', i=1, 10) /))
     1697  TYPE(ctrl_out), SAVE :: o_albslw3 = ctrl_out((/ 1, 1, 1, 1, 10, 10, 11, 11, 11, 11/), &
     1698    'albslw3', 'Surface albedo LW3', '-', (/ ('', i=1, 10) /))
    16761699
    16771700!!!!!!!!!!!!! Sorties niveaux standards de pression NMC
    1678   TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1701  TYPE(ctrl_out), SAVE :: o_tnondef = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16791702       'tnondef', 'Undefined value of T', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    1680        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1681   TYPE(ctrl_out), SAVE :: o_ta = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1703       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1704  TYPE(ctrl_out), SAVE :: o_ta = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16821705       'ta', 'Air temperature', 'K', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    1683        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1684   TYPE(ctrl_out), SAVE :: o_zg  = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1706       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1707  TYPE(ctrl_out), SAVE :: o_zg  = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16851708       'zg', 'Geopotential height', 'm', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    1686        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1687   TYPE(ctrl_out), SAVE :: o_hus = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1709       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1710  TYPE(ctrl_out), SAVE :: o_hus = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16881711       'hus', 'Specific humidity', '1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    1689        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                   
    1690   TYPE(ctrl_out), SAVE :: o_hur = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1712       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1713  TYPE(ctrl_out), SAVE :: o_hur = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16911714       'hur', 'Relative humidity', '%', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    1692        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1693   TYPE(ctrl_out), SAVE :: o_ua = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1715       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1716  TYPE(ctrl_out), SAVE :: o_ua = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16941717       'ua', 'Eastward wind', 'm s-1', (/ "inst(X)", "inst(X)", "inst(X)", "inst(X)", &
    1695        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1696   TYPE(ctrl_out), SAVE :: o_va = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
    1697        'va', 'Northward wind', 'm s-1', (/ ('', i=1, 9)/))
    1698   TYPE(ctrl_out), SAVE :: o_wap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1718       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1719  TYPE(ctrl_out), SAVE :: o_va = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
     1720       'va', 'Northward wind', 'm s-1', (/ ('', i=1, 10)/))
     1721  TYPE(ctrl_out), SAVE :: o_wap = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    16991722       'wap', 'Lagrangian tendency of air pressure', 'Pa s-1', (/ "inst(X)", "inst(X)", "inst(X)", &
    1700        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1701   TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1723       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1724  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    17021725       'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
    1703        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1704   TYPE(ctrl_out), SAVE :: o_tro3 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1726       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1727  TYPE(ctrl_out), SAVE :: o_tro3 = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    17051728       'tro3', 'Ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
    1706        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1707   TYPE(ctrl_out), SAVE :: o_tro3_daylight = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
     1729       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1730  TYPE(ctrl_out), SAVE :: o_tro3_daylight = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5, 11/), &
    17081731       'tro3_daylight', 'Daylight ozone mole fraction', '1e-9', (/ "inst(X)", "inst(X)", "inst(X)", &
    1709        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1710   TYPE(ctrl_out), SAVE :: o_uxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1732       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1733  TYPE(ctrl_out), SAVE :: o_uxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17111734       'uv', 'uv', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
    1712        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    1713   TYPE(ctrl_out), SAVE :: o_vxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1735       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1736  TYPE(ctrl_out), SAVE :: o_vxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17141737       'vxq', 'vxq', 'm/s * (kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
    1715        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                                   
    1716   TYPE(ctrl_out), SAVE :: o_vxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1738       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1739  TYPE(ctrl_out), SAVE :: o_vxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17171740       'vT', 'vT', 'mK/s', (/ "inst(X)", "inst(X)", "inst(X)", &
    1718        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                     
    1719   TYPE(ctrl_out), SAVE :: o_wxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1741       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1742  TYPE(ctrl_out), SAVE :: o_wxq = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17201743       'wq', 'wq', '(Pa/s)*(kg/kg)', (/ "inst(X)", "inst(X)", "inst(X)", &
    1721        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                               
    1722   TYPE(ctrl_out), SAVE :: o_vxphi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1744       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1745  TYPE(ctrl_out), SAVE :: o_vxphi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17231746       'vphi', 'vphi', 'm2/s', (/ "inst(X)", "inst(X)", "inst(X)", &
    1724        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                 
    1725   TYPE(ctrl_out), SAVE :: o_wxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1747       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1748  TYPE(ctrl_out), SAVE :: o_wxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17261749       'wT', 'wT', '"K*Pa/s', (/ "inst(X)", "inst(X)", "inst(X)", &
    1727        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                   
    1728   TYPE(ctrl_out), SAVE :: o_uxu = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1750       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1751  TYPE(ctrl_out), SAVE :: o_uxu = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17291752       'u2', 'u2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
    1730        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                                                                         
    1731   TYPE(ctrl_out), SAVE :: o_vxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1753       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1754  TYPE(ctrl_out), SAVE :: o_vxv = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17321755       'v2', 'v2', 'm2/s2', (/ "inst(X)", "inst(X)", "inst(X)", &
    1733        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                               
    1734    TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
     1756       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
     1757   TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6, 11/), &
    17351758       'T2', 'T2', 'K2', (/ "inst(X)", "inst(X)", "inst(X)", &
    1736        "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                 
     1759       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
    17371760
    17381761#ifdef CPP_Dust
  • LMDZ5/branches/testing/libf/phylmd/phys_output_mod.F90

    r2720 r2787  
    113113    INTEGER, DIMENSION(nfiles)            :: phys_out_filelevels
    114114    CHARACTER(LEN=20), DIMENSION(nfiles)  :: chtimestep = (/ 'Default', 'Default', 'Default', 'Default', 'Default', &
    115                                                              'Default', 'Default', 'Default', 'Default' /)
     115                                                             'Default', 'Default', 'Default', 'Default', 'Default' /)
    116116    LOGICAL, DIMENSION(nfiles)            :: phys_out_filekeys
    117117    LOGICAL, DIMENSION(nfiles)            :: phys_out_filestations
     
    120120    !                 entre [phys_out_lonmin,phys_out_lonmax] et [phys_out_latmin,phys_out_latmax]
    121121
    122     LOGICAL, DIMENSION(nfiles), SAVE  :: phys_out_regfkey       = (/ .FALSE., .FALSE., .FALSE., .FALSE., &
    123                                                                     .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /)
    124     REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmin        = (/   -180.,   -180.,   -180.,    -180., &
    125                                                                      -180.,   -180., -180.,   -180.,    -180. /)
    126     REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmax        = (/    180.,    180.,    180.,     180., &
    127                                                                       180.,    180., 180.,    180.,     180. /)
    128     REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmin        = (/    -90.,    -90.,    -90.,     -90., &
    129                                                                     -90., -90., -90.,    -90.,     -90. /)
    130     REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmax        = (/  90.,     90.,     90.,     90., &
    131                                                                     90., 90., 90., 90., 90. /)                       
     122    LOGICAL, DIMENSION(nfiles), SAVE  :: phys_out_regfkey       = (/ .FALSE., .FALSE., .FALSE., .FALSE., .FALSE., &
     123                                                                     .FALSE., .FALSE., .FALSE., .FALSE., .FALSE. /)
     124    REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmin        = (/ -180., -180., -180., -180., -180., &
     125                                                                     -180., -180., -180., -180., -180. /)
     126    REAL, DIMENSION(nfiles), SAVE     :: phys_out_lonmax        = (/  180.,  180.,  180.,  180.,  180., &
     127                                                                      180.,  180.,  180.,  180.,  180. /)
     128    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmin        = (/  -90.,  -90.,  -90.,  -90.,  -90., &
     129                                                                      -90.,  -90.,  -90.,  -90.,  -90. /)
     130    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmax        = (/   90.,   90.,   90.,   90.,   90., &
     131                                                                       90.,   90.,   90.,   90.,  90. /)                       
    132132#ifdef CPP_XIOS
    133133    ! ug Variables utilis\'ees pour r\'ecup\'erer le calendrier pour xios
     
    149149    ALLOCATE(o_dtr_dry(nqtot),o_dtr_vdf(nqtot))
    150150
    151 
    152     levmax = (/ klev, klev, klev, klev, klev, klev, nlevSTD, nlevSTD, nlevSTD /)
     151    levmax = (/ klev, klev, klev, klev, klev, klev, nlevSTD, nlevSTD, nlevSTD, klev /)
    153152
    154153    phys_out_filenames(1) = 'histmth'
     
    160159    phys_out_filenames(7) = 'histmthNMC'
    161160    phys_out_filenames(8) = 'histdayNMC'
    162     phys_out_filenames(9) = 'histhfNMC.nc'
     161    phys_out_filenames(9) = 'histhfNMC'
     162    phys_out_filenames(10)= 'histstrataer'
    163163
    164164    type_ecri(1) = 'ave(X)'
     
    171171    type_ecri(8) = 'inst(X)'
    172172    type_ecri(9) = 'inst(X)'
     173    type_ecri(10)= 'ave(X)'
    173174
    174175    clef_files(1) = ok_mensuel
     
    181182    clef_files(8) = ok_histNMC(2)
    182183    clef_files(9) = ok_histNMC(3)
     184#ifdef CPP_StratAer
     185    clef_files(10)= .TRUE.
     186#else
     187    clef_files(10)= .FALSE.
     188#endif
    183189
    184190    !sortir des fichiers "stations" si clef_stations(:)=.TRUE.
     
    192198    clef_stations(8) = .FALSE.
    193199    clef_stations(9) = .FALSE.
     200    clef_stations(10)= .FALSE.
    194201
    195202    lev_files(1) = lev_histmth
     
    202209    lev_files(8) = levout_histNMC(2)
    203210    lev_files(9) = levout_histNMC(3)
     211    lev_files(10)= 5
    204212
    205213    ecrit_files(1) = ecrit_mth
     
    212220    ecrit_files(8) = freq_outNMC(2)
    213221    ecrit_files(9) = freq_outNMC(3)
     222    ecrit_files(10)= ecrit_mth
    214223
    215224    !! Lectures des parametres de sorties dans physiq.def
     
    248257    WRITE(lunout,*)'phys_out_filestations=',clef_stations
    249258    WRITE(lunout,*)'phys_out_filelevels=',lev_files
     259    WRITE(lunout,*)'phys_out_regfkey=',phys_out_regfkey
    250260
    251261! A noter pour
     
    331341      print*,'phys_output_open: Declare vertical axes for each file'
    332342    ENDIF
    333    IF (iff.le.6) THEN
     343   IF (iff.LE.6.OR.iff.EQ.10) THEN
    334344    CALL wxios_add_vaxis("presnivs", &
    335345            levmax(iff) - levmin(iff) + 1, presnivs(levmin(iff):levmax(iff)))
     
    392402                  itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff))
    393403          ELSE
     404
     405             IF (prt_level >= 10) THEN
     406             WRITE(lunout,*)'phys_output_open: iff=',iff,'  phys_out_filenames(iff)=',phys_out_filenames(iff)
     407             ENDIF
     408
    394409             CALL histbeg_phy_all(phys_out_filenames(iff),itau_phy,zjulian,&
    395410                 dtime,nhorim(iff),nid_files(iff))
     
    397412
    398413#ifndef CPP_IOIPSL_NO_OUTPUT
    399           IF (iff.le.6) THEN
     414          IF (iff.LE.6.OR.iff.EQ.10) THEN
    400415             CALL histvert(nid_files(iff), "presnivs", "Vertical levels", "Pa", & 
    401416               levmax(iff) - levmin(iff) + 1, &
     
    412427
    413428          ELSE
     429          ! NMC files
    414430             CALL histvert(nid_files(iff), "plev", "pressure", "Pa", &
    415431               levmax(iff) - levmin(iff) + 1, &
     
    424440            DO iq=nqo+1,nqtot
    425441            iiq=niadv(iq)
    426             o_trac(iq-nqo) = ctrl_out((/ 1, 5, 5, 5, 10, 10, 11, 11, 11 /), &
     442            o_trac(iq-nqo) = ctrl_out((/ 1, 5, 5, 5, 10, 10, 11, 11, 11, 11 /), &
    427443                           tname(iiq),'Tracer '//ttext(iiq), "-",  &
    428                            (/ '', '', '', '', '', '', '', '', '' /))
    429             o_dtr_vdf(iq-nqo) = ctrl_out((/ 4, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     444                           (/ '', '', '', '', '', '', '', '', '', '' /))
     445            o_dtr_vdf(iq-nqo) = ctrl_out((/ 4, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    430446                              'd'//trim(tname(iq))//'_vdf',  &
    431447                              'Tendance tracer '//ttext(iiq), "-" , &
    432                               (/ '', '', '', '', '', '', '', '', '' /))
    433 
    434             o_dtr_the(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     448                              (/ '', '', '', '', '', '', '', '', '', '' /))
     449
     450            o_dtr_the(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    435451                              'd'//trim(tname(iq))//'_the', &
    436452                              'Tendance tracer '//ttext(iiq), "-", &
    437                               (/ '', '', '', '', '', '', '', '', '' /))
    438 
    439             o_dtr_con(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     453                              (/ '', '', '', '', '', '', '', '', '', '' /))
     454
     455            o_dtr_con(iq-nqo) = ctrl_out((/ 5, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    440456                              'd'//trim(tname(iq))//'_con', &
    441457                              'Tendance tracer '//ttext(iiq), "-", &
    442                               (/ '', '', '', '', '', '', '', '', '' /))
    443 
    444             o_dtr_lessi_impa(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     458                              (/ '', '', '', '', '', '', '', '', '', '' /))
     459
     460            o_dtr_lessi_impa(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    445461                                     'd'//trim(tname(iq))//'_lessi_impa', &
    446462                                     'Tendance tracer '//ttext(iiq), "-", &
    447                                      (/ '', '', '', '', '', '', '', '', '' /))
    448 
    449             o_dtr_lessi_nucl(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     463                                     (/ '', '', '', '', '', '', '', '', '', '' /))
     464
     465            o_dtr_lessi_nucl(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    450466                                     'd'//trim(tname(iq))//'_lessi_nucl', &
    451467                                     'Tendance tracer '//ttext(iiq), "-", &
    452                                      (/ '', '', '', '', '', '', '', '', '' /))
    453 
    454             o_dtr_insc(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     468                                     (/ '', '', '', '', '', '', '', '', '', '' /))
     469
     470            o_dtr_insc(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    455471                               'd'//trim(tname(iq))//'_insc', &
    456472                               'Tendance tracer '//ttext(iiq), "-", &
    457                                (/ '', '', '', '', '', '', '', '', '' /))
    458 
    459             o_dtr_bcscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     473                               (/ '', '', '', '', '', '', '', '', '', '' /))
     474
     475            o_dtr_bcscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    460476                                 'd'//trim(tname(iq))//'_bcscav', &
    461477                                 'Tendance tracer '//ttext(iiq), "-", &
    462                                  (/ '', '', '', '', '', '', '', '', '' /))
    463 
    464             o_dtr_evapls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     478                                 (/ '', '', '', '', '', '', '', '', '', '' /))
     479
     480            o_dtr_evapls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    465481                                 'd'//trim(tname(iq))//'_evapls', &
    466482                                 'Tendance tracer '//ttext(iiq), "-", &
    467                                  (/ '', '', '', '', '', '', '', '', '' /))
    468 
    469             o_dtr_ls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     483                                 (/ '', '', '', '', '', '', '', '', '', '' /))
     484
     485            o_dtr_ls(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    470486                             'd'//trim(tname(iq))//'_ls', &
    471487                             'Tendance tracer '//ttext(iiq), "-", &
    472                              (/ '', '', '', '', '', '', '', '', '' /))
    473 
    474             o_dtr_trsp(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     488                             (/ '', '', '', '', '', '', '', '', '', '' /))
     489
     490            o_dtr_trsp(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    475491                               'd'//trim(tname(iq))//'_trsp', &
    476492                               'Tendance tracer '//ttext(iiq), "-", &
    477                                (/ '', '', '', '', '', '', '', '', '' /))
    478 
    479             o_dtr_sscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     493                               (/ '', '', '', '', '', '', '', '', '', '' /))
     494
     495            o_dtr_sscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    480496                                'd'//trim(tname(iq))//'_sscav', &
    481497                                'Tendance tracer '//ttext(iiq), "-", &
    482                                 (/ '', '', '', '', '', '', '', '', '' /))
    483 
    484             o_dtr_sat(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     498                                (/ '', '', '', '', '', '', '', '', '', '' /))
     499
     500            o_dtr_sat(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    485501                               'd'//trim(tname(iq))//'_sat', &
    486502                               'Tendance tracer '//ttext(iiq), "-", &
    487                                (/ '', '', '', '', '', '', '', '', '' /))
    488 
    489             o_dtr_uscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     503                               (/ '', '', '', '', '', '', '', '', '', '' /))
     504
     505            o_dtr_uscav(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    490506                                'd'//trim(tname(iq))//'_uscav', &
    491507                                'Tendance tracer '//ttext(iiq), "-", &
    492                                  (/ '', '', '', '', '', '', '', '', '' /))
    493 
    494             o_dtr_dry(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11 /), &
     508                                 (/ '', '', '', '', '', '', '', '', '', '' /))
     509
     510            o_dtr_dry(iq-nqo) = ctrl_out((/ 7, 7, 7, 7, 10, 10, 11, 11, 11, 11 /), &
    495511                              'cum'//'d'//trim(tname(iq))//'_dry', &
    496512                              'tracer tendency dry deposition'//ttext(iiq), "-", &
    497                               (/ '', '', '', '', '', '', '', '', '' /))
    498 
    499             o_trac_cum(iq-nqo) = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11 /), &
     513                              (/ '', '', '', '', '', '', '', '', '', '' /))
     514
     515            o_trac_cum(iq-nqo) = ctrl_out((/ 1, 4, 10, 10, 10, 10, 11, 11, 11, 11 /), &
    500516                               'cum'//tname(iiq),&
    501517                               'Cumulated tracer '//ttext(iiq), "-", &
    502                                (/ '', '', '', '', '', '', '', '', '' /))
     518                               (/ '', '', '', '', '', '', '', '', '', '' /))
    503519            ENDDO
    504520      ENDIF
     
    547563    type=str(ipos+1:il)
    548564
    549 
    550565    IF ( il == ipos ) THEN
    551566       type='day'
  • LMDZ5/branches/testing/libf/phylmd/phys_output_var_mod.F90

    r2594 r2787  
    4646
    4747  ! ug Plein de variables venues de phys_output_mod
    48   INTEGER, PARAMETER                           :: nfiles = 9
     48  INTEGER, PARAMETER                           :: nfiles = 10
    4949  LOGICAL, DIMENSION(nfiles), SAVE             :: clef_files
    5050  LOGICAL, DIMENSION(nfiles), SAVE             :: clef_stations
  • LMDZ5/branches/testing/libf/phylmd/phys_output_write_mod.F90

    r2720 r2787  
    2525
    2626    USE dimphy, ONLY: klon, klev, klevp1
    27     USE infotrac, ONLY: nbtr
     27    USE infotrac_phy, ONLY: nbtr
    2828    USE mod_phys_lmdz_para, ONLY: is_north_pole_phy,is_south_pole_phy
    2929    USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
     
    115115         o_swsrfcs_nat, o_swsrfcf_ant, &
    116116         o_swtoacf_zero, o_swsrfcf_zero, &
    117          o_topswai, o_solswai, o_scdnc, &
     117         o_topswai, o_solswai, o_toplwai, o_sollwai, o_scdnc, &
    118118         o_cldncl, o_reffclws, o_reffclwc, o_stratomask,&
    119119         o_cldnvi, o_lcc, o_lcc3d, o_lcc3dcon, &
     
    185185#ifdef CPP_StratAer
    186186    USE phys_output_ctrlout_mod, ONLY:  &
    187          o_sulf_convert, o_sulf_nucl, o_sulf_cond_evap, o_ocs_convert, &
    188          o_sfluxaer, o_R2SO4, o_OCS_lifetime, o_SO2_lifetime, &
    189          o_OCS_backgr_tend, o_SO2_backgr_tend, o_sulf_dep_dry, o_sulf_dep_wet, &
     187         o_budg_3D_nucl, o_budg_3D_cond_evap, o_budg_3D_ocs_to_so2, o_budg_3D_so2_to_h2so4, &
     188         o_budg_sed_part, o_R2SO4, o_OCS_lifetime, o_SO2_lifetime, &
     189         o_budg_3D_backgr_ocs, o_budg_3D_backgr_so2, &
     190         o_budg_dep_dry_h2so4, o_budg_dep_wet_h2so4, &
     191         o_budg_dep_dry_part, o_budg_dep_wet_part, &
     192         o_budg_emi_ocs, o_budg_emi_so2, o_budg_emi_h2so4, o_budg_emi_part, &
     193         o_budg_ocs_to_so2, o_budg_so2_to_h2so4, o_budg_h2so4_to_part, &
    190194         o_surf_PM25_sulf, o_ext_strat_550, o_tau_strat_550, &
    191195         o_p_tropopause, o_vsed_aer, o_tau_strat_1020, o_ext_strat_1020, o_f_r_wet
     
    284288#ifdef CPP_StratAer
    285289    USE phys_local_var_mod, ONLY:  &
    286          sulf_convert, sulf_nucl, sulf_cond_evap, ocs_convert, &
    287          sfluxaer, R2SO4, OCS_lifetime, SO2_lifetime, &
    288          OCS_backgr_tend, SO2_backgr_tend, sulf_dep_dry, sulf_dep_wet, &
     290         budg_3D_nucl, budg_3D_cond_evap, budg_3D_ocs_to_so2, budg_3D_so2_to_h2so4, &
     291         budg_sed_part, R2SO4, OCS_lifetime, SO2_lifetime, &
     292         budg_3D_backgr_ocs, budg_3D_backgr_so2, &
     293         budg_dep_dry_h2so4, budg_dep_wet_h2so4, &
     294         budg_dep_dry_part, budg_dep_wet_part, &
     295         budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part, &
     296         budg_ocs_to_so2, budg_so2_to_h2so4, budg_h2so4_to_part, &
    289297         surf_PM25_sulf, tau_strat_550, p_tropopause, tausum_strat, &
    290298         vsed_aer, tau_strat_1020, f_r_wet
     
    385393    TYPE(xios_field) :: child
    386394#endif
     395#ifdef CPP_StratAer
     396    LOGICAL, PARAMETER :: debug_strataer=.FALSE.
     397#endif
    387398
    388399    ! On calcul le nouveau tau:
     
    406417            iiq=niadv(iq)
    407418            varname=trim(tname(iiq))
    408             WRITE (lunout,*) 'XIOS var=', nqo, iq, varname
     419            WRITE (lunout,*) 'XIOS var=', nqo, iq, nqtot, varname
    409420            CALL xios_add_child(group_handle, child, varname)
    410421            CALL xios_set_attr(child, name=varname, unit="kg kg-1")
     
    455466            iiq=niadv(iq)
    456467            varname='cum'//trim(tname(iiq))
    457             WRITE (lunout,*) 'XIOS var=', iq, varname
     468            WRITE (lunout,*) 'XIOS var=', iq, nqtot, varname
    458469            CALL xios_add_child(group_handle, child, varname)
    459470            CALL xios_set_attr(child, name=varname, unit="kg m-2")
     
    468479    ! ug la boucle qui suit ne sert qu'une fois, pour l'initialisation, sinon il n'y a toujours qu'un seul passage:
    469480    DO iinit=1, iinitend
     481!      print *,'IFF iinit=', iinit, iinitend
    470482#ifdef CPP_XIOS
    471483       !$OMP MASTER
     
    11941206#ifdef CPP_StratAer
    11951207       IF (type_trac=='coag') THEN
    1196           CALL histwrite_phy(o_sulf_convert, sulf_convert)
    1197           CALL histwrite_phy(o_sulf_nucl, sulf_nucl)
    1198           CALL histwrite_phy(o_sulf_cond_evap, sulf_cond_evap)
    1199           CALL histwrite_phy(o_ocs_convert, ocs_convert)
    12001208          CALL histwrite_phy(o_R2SO4, R2SO4)
    12011209          CALL histwrite_phy(o_OCS_lifetime, OCS_lifetime)
    12021210          CALL histwrite_phy(o_SO2_lifetime, SO2_lifetime)
    1203           CALL histwrite_phy(o_OCS_backgr_tend, OCS_backgr_tend)
    1204           CALL histwrite_phy(o_SO2_backgr_tend, SO2_backgr_tend)
    1205           CALL histwrite_phy(o_sulf_dep_dry, sulf_dep_dry)
    1206           CALL histwrite_phy(o_sulf_dep_wet, sulf_dep_wet)
     1211          CALL histwrite_phy(o_budg_3D_backgr_ocs,   budg_3D_backgr_ocs)
     1212          CALL histwrite_phy(o_budg_3D_backgr_so2,   budg_3D_backgr_so2)
     1213          CALL histwrite_phy(o_budg_3D_ocs_to_so2,   budg_3D_ocs_to_so2)
     1214          CALL histwrite_phy(o_budg_3D_so2_to_h2so4, budg_3D_so2_to_h2so4)
     1215          CALL histwrite_phy(o_budg_3D_nucl,         budg_3D_nucl)
     1216          CALL histwrite_phy(o_budg_3D_cond_evap,    budg_3D_cond_evap)
     1217          CALL histwrite_phy(o_budg_dep_dry_h2so4,   budg_dep_dry_h2so4)
     1218          CALL histwrite_phy(o_budg_dep_wet_h2so4,   budg_dep_wet_h2so4)
     1219          CALL histwrite_phy(o_budg_dep_dry_part,    budg_dep_dry_part)
     1220          CALL histwrite_phy(o_budg_dep_wet_part,    budg_dep_wet_part)
     1221          CALL histwrite_phy(o_budg_emi_ocs,         budg_emi_ocs)
     1222          CALL histwrite_phy(o_budg_emi_so2,         budg_emi_so2)
     1223          CALL histwrite_phy(o_budg_emi_h2so4,       budg_emi_h2so4)
     1224          CALL histwrite_phy(o_budg_emi_part,        budg_emi_part)
     1225          CALL histwrite_phy(o_budg_ocs_to_so2,      budg_ocs_to_so2)
     1226          CALL histwrite_phy(o_budg_so2_to_h2so4,    budg_so2_to_h2so4)
     1227          CALL histwrite_phy(o_budg_h2so4_to_part,   budg_h2so4_to_part)
     1228          CALL histwrite_phy(o_budg_sed_part,        budg_sed_part)
    12071229          CALL histwrite_phy(o_surf_PM25_sulf, surf_PM25_sulf)
    12081230          CALL histwrite_phy(o_p_tropopause, p_tropopause)
    1209           CALL histwrite_phy(o_sfluxaer, sfluxaer)
    12101231          CALL histwrite_phy(o_vsed_aer, vsed_aer)
    12111232          CALL histwrite_phy(o_f_r_wet, f_r_wet)
     
    12641285       IF (ok_aie) THEN
    12651286          CALL histwrite_phy(o_topswai, topswai_aero*swradcorr)
     1287          CALL histwrite_phy(o_toplwai, toplwai_aero*swradcorr)
    12661288          CALL histwrite_phy(o_solswai, solswai_aero*swradcorr)
     1289          CALL histwrite_phy(o_sollwai, sollwai_aero*swradcorr)
    12671290       ENDIF
    12681291       IF (flag_aerosol.GT.0.AND.ok_cdnc) THEN
     
    17261749       ! Champs interpolles sur des niveaux de pression
    17271750       missing_val=missing_val_nf90
    1728        DO iff=7, nfiles
     1751       DO iff=7, nfiles-1 !--OB: here we deal with files 7,8,9
    17291752
    17301753          CALL histwrite_phy(o_tnondef,tnondef(:,:,iff-6),iff)
  • LMDZ5/branches/testing/libf/phylmd/phys_state_var_mod.F90

    r2720 r2787  
    1818      INTEGER, SAVE :: radpas
    1919      INTEGER, SAVE :: cvpas
     20      INTEGER, SAVE :: wkpas
    2021      REAL, PARAMETER :: missing_val_nf90=nf90_fill_real
    2122!$OMP THREADPRIVATE(radpas)
    2223!$OMP THREADPRIVATE(cvpas)
     24!$OMP THREADPRIVATE(wkpas)
    2325      REAL, SAVE :: dtime, solaire_etat0
    2426!$OMP THREADPRIVATE(dtime, solaire_etat0)
  • LMDZ5/branches/testing/libf/phylmd/physiq_mod.F90

    r2720 r2787  
    1616       d_u, d_v, d_t, d_qx, d_ps)
    1717
     18    use assert_m, only: assert
    1819    USE ioipsl, only: histbeg, histvert, histdef, histend, histsync, &
    1920         histwrite, ju2ymds, ymds2ju, getin
    2021    USE geometry_mod, ONLY: cell_area, latitude_deg, longitude_deg
    2122    USE phys_cal_mod, only: year_len, mth_len, days_elapsed, jh_1jan, &
    22          year_cur, mth_cur,jD_cur, jH_cur, jD_ref
     23         year_cur, mth_cur,jD_cur, jH_cur, jD_ref, day_cur, hour
    2324    USE write_field_phy
    2425    USE dimphy
     
    2930    USE print_control_mod, ONLY: mydebug=>debug , lunout, prt_level
    3031    USE phystokenc_mod, ONLY: offline, phystokenc
    31     USE time_phylmdz_mod, only: raz_date, day_step_phy, update_time
     32    USE time_phylmdz_mod, only: raz_date, day_step_phy, update_time,current_time
    3233    USE vampir
    3334    USE pbl_surface_mod, ONLY : pbl_surface
     
    139140       kh, kh_x, kh_w, &
    140141       !
     142       wake_k, &
    141143       ale_wake, alp_wake, &
    142144       wake_h, wake_omg, &
     
    564566    !pourquoi y'a pas de save??
    565567    !
    566     INTEGER wake_k(klon)            ! Wake sommet
     568!!!    INTEGER, SAVE, DIMENSION(klon)   :: wake_k
     569!!!    !$OMP THREADPRIVATE(wake_k)
    567570    !
    568571    !jyg<
     
    782785    !ym      SAVE 
    783786    !
    784     INTEGER itapcv
    785     SAVE itapcv
    786     !$OMP THREADPRIVATE(itapcv)
     787    INTEGER itapcv, itapwk
     788    SAVE itapcv, itapwk
     789    !$OMP THREADPRIVATE(itapcv, itapwk)
    787790
    788791    !KE43
     
    978981    ! Parameters
    979982    LOGICAL ok_ade, ok_aie    ! Apply aerosol (in)direct effects or not
     983    LOGICAL ok_alw            ! Apply aerosol LW effect or not
    980984    LOGICAL ok_cdnc ! ok cloud droplet number concentration (O. Boucher 01-2013)
    981985    REAL bl95_b0, bl95_b1   ! Parameter in Boucher and Lohmann (1995)
    982     SAVE ok_ade, ok_aie, ok_cdnc, bl95_b0, bl95_b1
    983     !$OMP THREADPRIVATE(ok_ade, ok_aie, ok_cdnc, bl95_b0, bl95_b1)
     986    SAVE ok_ade, ok_aie, ok_alw, ok_cdnc, bl95_b0, bl95_b1
     987    !$OMP THREADPRIVATE(ok_ade, ok_aie, ok_alw, ok_cdnc, bl95_b0, bl95_b1)
    984988    LOGICAL, SAVE :: aerosol_couple ! true  : calcul des aerosols dans INCA
    985989    ! false : lecture des aerosol dans un fichier
     
    10761080    INTEGER :: nbtr_tmp ! Number of tracer inside concvl
    10771081    REAL, dimension(klon,klev) :: sh_in ! Specific humidity entering in phytrac
     1082    REAL, dimension(klon,klev) :: ch_in ! Condensed humidity entering in phytrac (eau liquide)
    10781083    integer iostat
    10791084
     
    11221127    ENDIF
    11231128
    1124     !======================================================================
     1129    ! Quick check on pressure levels:
     1130    call assert(paprs(:, nbp_lev + 1) < paprs(:, nbp_lev), &
     1131            "physiq_mod paprs bad order")
    11251132
    11261133    IF (first) THEN
     
    11401147            fact_cldcon, facttemps,ok_newmicro,iflag_radia, &
    11411148            iflag_cld_th,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
    1142             ok_ade, ok_aie, ok_cdnc, aerosol_couple,  &
     1149            ok_ade, ok_aie, ok_alw, ok_cdnc, aerosol_couple,  &
    11431150            flag_aerosol, flag_aerosol_strat, new_aod, &
    11441151            flag_bc_internal_mixture, bl95_b0, bl95_b1, &
     
    12851292       itaprad = 0
    12861293       itapcv = 0
     1294       itapwk = 0
    12871295
    12881296       ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    13001308       ! Il se peut qu'il faille prendre une valeur differente de nbapp_rad
    13011309       ! pour obtenir le meme resultat.
    1302        dtime=pdtphys
    1303        IF (MOD(INT(86400./dtime),nbapp_rad).EQ.0) THEN
    1304           radpas = NINT( 86400./dtime/nbapp_rad)
     1310!jyg for fh<
     1311!!       dtime=pdtphys
     1312       dtime=NINT(pdtphys)
     1313       WRITE(lunout,*) 'Pas de temps dtime pdtphys ',dtime,pdtphys
     1314       IF (abs(dtime-pdtphys)>1.e-10) THEN
     1315          abort_message='pas de temps doit etre entier en seconde pour orchidee et XIOS'
     1316          CALL abort_physic(modname,abort_message,1)
     1317       ENDIF
     1318!>jyg
     1319       IF (MOD(NINT(86400./dtime),nbapp_rad).EQ.0) THEN
     1320          radpas = NINT( 86400./dtime)/nbapp_rad
    13051321       ELSE
    13061322          WRITE(lunout,*) 'le nombre de pas de temps physique doit etre un ', &
     
    13131329       ENDIF
    13141330       IF (nbapp_cv .EQ. 0) nbapp_cv=86400./dtime
    1315        print *,'physiq, nbapp_cv ',nbapp_cv
    1316        IF (MOD(INT(86400./dtime),nbapp_cv).EQ.0) THEN
    1317           cvpas = NINT( 86400./dtime/nbapp_cv)
     1331       IF (nbapp_wk .EQ. 0) nbapp_wk=86400./dtime
     1332       print *,'physiq, nbapp_cv, nbapp_wk ',nbapp_cv,nbapp_wk
     1333       IF (MOD(NINT(86400./dtime),nbapp_cv).EQ.0) THEN
     1334          cvpas = NINT( 86400./dtime)/nbapp_cv
    13181335       print *,'physiq, cvpas ',cvpas
    13191336       ELSE
     
    13241341          abort_message='nbre de pas de temps physique n est pas multiple ' &
    13251342               // 'de nbapp_cv'
     1343          call abort_physic(modname,abort_message,1)
     1344       ENDIF
     1345       IF (MOD(NINT(86400./dtime),nbapp_wk).EQ.0) THEN
     1346          wkpas = NINT( 86400./dtime)/nbapp_wk
     1347       print *,'physiq, wkpas ',wkpas
     1348       ELSE
     1349          WRITE(lunout,*) 'le nombre de pas de temps physique doit etre un ', &
     1350               'multiple de nbapp_wk'
     1351          WRITE(lunout,*) 'changer nbapp_wk ou alors commenter ce test ', &
     1352               'mais 1+1<>2'
     1353          abort_message='nbre de pas de temps physique n est pas multiple ' &
     1354               // 'de nbapp_wk'
    13261355          call abort_physic(modname,abort_message,1)
    13271356       ENDIF
     
    15631592            jjmp1,nlevSTD,clevSTD,rlevSTD, dtime,ok_veget, &
    15641593            type_ocean,iflag_pbl,iflag_pbl_split,ok_mensuel,ok_journe, &
    1565             ok_hf,ok_instan,ok_LES,ok_ade,ok_aie,  &
     1594            ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, &
    15661595            read_climoz, phys_out_filestations, &
    15671596            new_aod, aerosol_couple, &
     
    17081737    !
    17091738    itap   = itap + 1
     1739    IF (is_mpi_root .AND. is_omp_root) THEN
     1740      IF (prt_level > 5 .or. MOD(itap,5) == 0) THEN
     1741         WRITE(LUNOUT,*)'Entering physics current time = ', current_time
     1742         WRITE(LUNOUT,*)'Date = ',year_cur,'/',mth_cur,'/',day_cur,':',hour/3600
     1743      ENDIF
     1744    ENDIF
    17101745    !
    17111746    !
     
    19231958    ! Update ozone if day change
    19241959    IF (MOD(itap-1,lmt_pas) == 0) THEN
    1925       IF (read_climoz == 0) THEN
    1926        ! Once per day, update ozone from Royer:
    1927         IF (solarlong0<-999.) then
    1928            ! Generic case with evolvoing season
    1929            zzz=real(days_elapsed+1)
    1930         ELSE IF (abs(solarlong0-1000.)<1.e-4) then
    1931            ! Particular case with annual mean insolation
    1932            zzz=real(90) ! could be revisited
    1933            IF (read_climoz/=-1) THEN
    1934               abort_message ='read_climoz=-1 is recommended when ' &
    1935                    // 'solarlong0=1000.'
    1936               CALL abort_physic (modname,abort_message,1)
    1937            ENDIF
    1938         ELSE
    1939           ! Case where the season is imposed with solarlong0
    1940           zzz=real(90) ! could be revisited
    1941         ENDIF
    1942 
    1943         wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz)
    1944       ELSE
    1945         ro3i = int((days_elapsed + jh_cur - jh_1jan) / year_len * 360.) + 1   
    1946         IF (ro3i == 361) ro3i = 360
    1947         IF (read_climoz == 1) THEN
    1948            CALL regr_pr_av(ncid_climoz, (/"tro3"/), julien=ro3i, &
    1949                 press_in_edg=press_climoz, paprs=paprs, v3=wo)
    1950         ELSE
    1951            ! read_climoz == 2
    1952            CALL regr_pr_av(ncid_climoz, (/"tro3         ", &
    1953                 "tro3_daylight"/), julien=ro3i, press_in_edg=press_climoz, &
    1954                 paprs=paprs, v3=wo)
    1955         ENDIF
    1956         ! Convert from mole fraction of ozone to column density of ozone in a
    1957         ! cell, in kDU:
    1958         FORALL (l = 1: read_climoz) wo(:, :, l) = wo(:, :, l) * rmo3 / rmd &
    1959              * zmasse / dobson_u / 1e3
    1960         ! (By regridding ozone values for LMDZ only once every 360th of
    1961         ! year, we have already neglected the variation of pressure in one
    1962         ! 360th of year. So do not recompute "wo" at each time step even if
    1963         ! "zmasse" changes a little.)
    1964      
    1965       ENDIF
     1960       IF (read_climoz <= 0) THEN
     1961          ! Once per day, update ozone from Royer:
     1962          IF (solarlong0<-999.) then
     1963             ! Generic case with evolvoing season
     1964             zzz=real(days_elapsed+1)
     1965          ELSE IF (abs(solarlong0-1000.)<1.e-4) then
     1966             ! Particular case with annual mean insolation
     1967             zzz=real(90) ! could be revisited
     1968             IF (read_climoz/=-1) THEN
     1969                abort_message ='read_climoz=-1 is recommended when ' &
     1970                     // 'solarlong0=1000.'
     1971                CALL abort_physic (modname,abort_message,1)
     1972             ENDIF
     1973          ELSE
     1974             ! Case where the season is imposed with solarlong0
     1975             zzz=real(90) ! could be revisited
     1976          ENDIF
     1977
     1978          wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz)
     1979       ELSE
     1980          ro3i = int((days_elapsed + jh_cur - jh_1jan) / year_len * 360.) + 1
     1981
     1982          IF (ro3i == 361) ro3i = 360
     1983          ! (This should never occur, except perhaps because of roundup
     1984          ! error. See documentation.)
     1985
     1986          IF (read_climoz == 1) THEN
     1987             CALL regr_pr_av(ncid_climoz, (/"tro3"/), julien=ro3i, &
     1988                  press_in_edg=press_climoz, paprs=paprs, v3=wo)
     1989          ELSE
     1990             ! read_climoz == 2
     1991             CALL regr_pr_av(ncid_climoz, (/"tro3         ", &
     1992                  "tro3_daylight"/), julien=ro3i, press_in_edg=press_climoz, &
     1993                  paprs=paprs, v3=wo)
     1994          ENDIF
     1995          ! Convert from mole fraction of ozone to column density of ozone in a
     1996          ! cell, in kDU:
     1997          FORALL (l = 1: read_climoz) wo(:, :, l) = wo(:, :, l) * rmo3 / rmd &
     1998               * zmasse / dobson_u / 1e3
     1999          ! (By regridding ozone values for LMDZ only once per day, we
     2000          ! have already neglected the variation of pressure in one
     2001          ! day. So do not recompute "wo" at each time step even if
     2002          ! "zmasse" changes a little.)
     2003       ENDIF
    19662004    ENDIF
    19672005    !
     
    23172355    IF (prt_level.ge.1) write(lunout,*) 'omega(igout, :) = ', &
    23182356         omega(igout, :)
    2319 
    23202357    !
    23212358    ! Appel de la convection tous les "cvpas"
     
    25742611    !    .              d_u_con, d_v_con)
    25752612
     2613!jyg    Reinitialize proba_notrig and itapcv when convection has been called
     2614    proba_notrig(:) = 1.
    25762615    itapcv = 0
    25772616    ENDIF !  (MOD(itapcv,cvpas).EQ.0)
     2617!
    25782618    itapcv = itapcv+1
    25792619
     
    26402680    IF (iflag_wake>=1) THEN
    26412681       !
    2642        !  Call wakes only when convection has been called
    2643        IF (itapcv .EQ. 1) THEN
    2644        !
    2645        DO k=1,klev
    2646           DO i=1,klon
    2647              dt_dwn(i,k)  = ftd(i,k)
    2648              dq_dwn(i,k)  = fqd(i,k)
    2649              M_dwn(i,k)   = dnwd0(i,k)
    2650              M_up(i,k)    = upwd(i,k)
    2651              dt_a(i,k)    = d_t_con(i,k)/dtime - ftd(i,k)
    2652              dq_a(i,k)    = d_q_con(i,k)/dtime - fqd(i,k)
    2653           ENDDO
    2654        ENDDO
    2655 
    2656        IF (iflag_wake==2) THEN
    2657           ok_wk_lsp(:)=max(sign(1.,wake_s(:)-wake_s_min_lsp),0.)
    2658           DO k = 1,klev
    2659              dt_dwn(:,k)= dt_dwn(:,k)+ &
    2660                   ok_wk_lsp(:)*(d_t_eva(:,k)+d_t_lsc(:,k))/dtime
    2661              dq_dwn(:,k)= dq_dwn(:,k)+ &
    2662                   ok_wk_lsp(:)*(d_q_eva(:,k)+d_q_lsc(:,k))/dtime
    2663           ENDDO
    2664        ELSEIF (iflag_wake==3) THEN
    2665           ok_wk_lsp(:)=max(sign(1.,wake_s(:)-wake_s_min_lsp),0.)
    2666           DO k = 1,klev
     2682       !
     2683       ! Call wakes every "wkpas" step
     2684       !
     2685       IF (MOD(itapwk,wkpas).EQ.0) THEN
     2686          !
     2687          DO k=1,klev
    26672688             DO i=1,klon
    2668                 IF (rneb(i,k)==0.) THEN
    2669                    ! On ne tient compte des tendances qu'en dehors des
    2670                    ! nuages (c'est-\`a-dire a priri dans une region ou
    2671                    ! l'eau se reevapore).
    2672                    dt_dwn(i,k)= dt_dwn(i,k)+ &
    2673                         ok_wk_lsp(i)*d_t_lsc(i,k)/dtime
    2674                    dq_dwn(i,k)= dq_dwn(i,k)+ &
    2675                         ok_wk_lsp(i)*d_q_lsc(i,k)/dtime
    2676                 ENDIF
     2689                dt_dwn(i,k)  = ftd(i,k)
     2690                dq_dwn(i,k)  = fqd(i,k)
     2691                M_dwn(i,k)   = dnwd0(i,k)
     2692                M_up(i,k)    = upwd(i,k)
     2693                dt_a(i,k)    = d_t_con(i,k)/dtime - ftd(i,k)
     2694                dq_a(i,k)    = d_q_con(i,k)/dtime - fqd(i,k)
    26772695             ENDDO
    26782696          ENDDO
    2679        ENDIF
    2680 
    2681        !
    2682        !calcul caracteristiques de la poche froide
    2683        CALL calWAKE (iflag_wake_tend, paprs, pplay, dtime, &
    2684             t_seri, q_seri, omega,  &
    2685             dt_dwn, dq_dwn, M_dwn, M_up,  &
    2686             dt_a, dq_a,  &
    2687             sigd,  &
    2688             wake_deltat, wake_deltaq, wake_s, wake_dens,  &
    2689             wake_dth, wake_h,  &
    2690             wake_pe, wake_fip, wake_gfl,  &
    2691             d_t_wake, d_q_wake,  &
    2692             wake_k, t_x, q_x,  &
    2693             wake_omgbdth, wake_dp_omgb,  &
    2694             wake_dtKE, wake_dqKE,  &
    2695             wake_omg, wake_dp_deltomg,  &
    2696             wake_spread, wake_Cstar, d_deltat_wk_gw,  &
    2697             d_deltat_wk, d_deltaq_wk, d_s_wk, d_dens_wk)
    2698          !
    2699        ENDIF  ! (mod(itapcv,cvpas) .EQ. 1)
     2697         
     2698          IF (iflag_wake==2) THEN
     2699             ok_wk_lsp(:)=max(sign(1.,wake_s(:)-wake_s_min_lsp),0.)
     2700             DO k = 1,klev
     2701                dt_dwn(:,k)= dt_dwn(:,k)+ &
     2702                     ok_wk_lsp(:)*(d_t_eva(:,k)+d_t_lsc(:,k))/dtime
     2703                dq_dwn(:,k)= dq_dwn(:,k)+ &
     2704                     ok_wk_lsp(:)*(d_q_eva(:,k)+d_q_lsc(:,k))/dtime
     2705             ENDDO
     2706          ELSEIF (iflag_wake==3) THEN
     2707             ok_wk_lsp(:)=max(sign(1.,wake_s(:)-wake_s_min_lsp),0.)
     2708             DO k = 1,klev
     2709                DO i=1,klon
     2710                   IF (rneb(i,k)==0.) THEN
     2711                      ! On ne tient compte des tendances qu'en dehors des
     2712                      ! nuages (c'est-\`a-dire a priri dans une region ou
     2713                      ! l'eau se reevapore).
     2714                      dt_dwn(i,k)= dt_dwn(i,k)+ &
     2715                           ok_wk_lsp(i)*d_t_lsc(i,k)/dtime
     2716                      dq_dwn(i,k)= dq_dwn(i,k)+ &
     2717                           ok_wk_lsp(i)*d_q_lsc(i,k)/dtime
     2718                   ENDIF
     2719                ENDDO
     2720             ENDDO
     2721          ENDIF
     2722         
     2723          !
     2724          !calcul caracteristiques de la poche froide
     2725          CALL calWAKE (iflag_wake_tend, paprs, pplay, dtime, &
     2726               t_seri, q_seri, omega,  &
     2727               dt_dwn, dq_dwn, M_dwn, M_up,  &
     2728               dt_a, dq_a,  &
     2729               sigd,  &
     2730               wake_deltat, wake_deltaq, wake_s, wake_dens,  &
     2731               wake_dth, wake_h,  &
     2732               wake_pe, wake_fip, wake_gfl,  &
     2733               d_t_wake, d_q_wake,  &
     2734               wake_k, t_x, q_x,  &
     2735               wake_omgbdth, wake_dp_omgb,  &
     2736               wake_dtKE, wake_dqKE,  &
     2737               wake_omg, wake_dp_deltomg,  &
     2738               wake_spread, wake_Cstar, d_deltat_wk_gw,  &
     2739               d_deltat_wk, d_deltaq_wk, d_s_wk, d_dens_wk)
     2740          !
     2741          !jyg    Reinitialize itapwk when wakes have been called
     2742          itapwk = 0
     2743       ENDIF !  (MOD(itapwk,wkpas).EQ.0)
     2744       !
     2745       itapwk = itapwk+1
    27002746       !
    27012747       !-----------------------------------------------------------------------
     
    27052751       !------------------------------------------------------------------------
    27062752
    2707 !      Increment Wake state variables
     2753       ! Increment Wake state variables
    27082754       IF (iflag_wake_tend .GT. 0.) THEN
    27092755
     
    32613307       !jq - introduce the aerosol direct and first indirect radiative forcings
    32623308       !jq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr)
    3263        IF (flag_aerosol .gt. 0) THEN
     3309       IF (flag_aerosol .GT. 0) THEN
    32643310          IF (iflag_rrtm .EQ. 0) THEN !--old radiation
    32653311             IF (.NOT. aerosol_couple) THEN
     
    32803326#ifdef CPP_RRTM
    32813327                IF (NSW.EQ.6) THEN
    3282                    !--new aerosol properties
     3328                   !--new aerosol properties SW and LW
    32833329                   !
    3284                    CALL readaerosol_optic_rrtm( debut, aerosol_couple, &
     3330#ifdef CPP_Dust
     3331                   !--SPL aerosol model
     3332                   CALL splaerosol_optic_rrtm( ok_alw, pplay, paprs, t_seri, rhcl, &
     3333                        tr_seri, mass_solu_aero, mass_solu_aero_pi,  &
     3334                        tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,  &
     3335                        tausum_aero, tau3d_aero)
     3336#else
     3337                   !--climatologies or INCA aerosols
     3338                   CALL readaerosol_optic_rrtm( debut, aerosol_couple, ok_alw, &
    32853339                        new_aod, flag_aerosol, flag_bc_internal_mixture, itap, jD_cur-jD_ref, &
    32863340                        pdtphys, pplay, paprs, t_seri, rhcl, presnivs,  &
     
    32883342                        tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,  &
    32893343                        tausum_aero, tau3d_aero)
    3290 
     3344#endif
     3345                   !
    32913346                ELSE IF (NSW.EQ.2) THEN
    32923347                   !--for now we use the old aerosol properties
     
    33073362                   piz_aero_sw_rrtm(:,:,2,:)=piz_aero(:,:,2,:)
    33083363                   cg_aero_sw_rrtm (:,:,2,:)=cg_aero (:,:,2,:)
     3364                   !
     3365                   !--no LW optics
     3366                   tau_aero_lw_rrtm(:,:,:,:) = 1.e-15
     3367                   !
    33093368                ELSE
    33103369                   abort_message='Only NSW=2 or 6 are possible with ' &
     
    33123371                   CALL abort_physic(modname,abort_message,1)
    33133372                ENDIF
    3314 
    3315                 !--call LW optical properties for tropospheric aerosols
    3316                 !--only works for INCA aerosol (aerosol_couple = TRUE)
    3317                 CALL aeropt_lw_rrtm(aerosol_couple,paprs,tr_seri)
    3318                 !
    33193373#else
    33203374                abort_message='You should compile with -rrtm if running ' &
     
    33253379             ENDIF
    33263380          ENDIF
    3327        ELSE
     3381       ELSE   !--flag_aerosol = 0
    33283382          tausum_aero(:,:,:) = 0.
    33293383          mass_solu_aero(:,:) = 0.
     
    40074061    ELSE
    40084062       sh_in(:,:) = qx(:,:,ivap)
     4063       ch_in(:,:) = qx(:,:,iliq)
    40094064    ENDIF
    40104065
     
    40394094         frac_impa,frac_nucl, beta_prec_fisrt,beta_prec, &
    40404095         presnivs, pphis,     pphi,     albsol1, &
    4041          sh_in,    rhcl,      cldfra,   rneb, &
     4096         sh_in,   ch_in,    rhcl,      cldfra,   rneb, &
    40424097         diafra,   cldliq,    itop_con, ibas_con, &
    40434098         pmflxr,   pmflxs,    prfl,     psfl, &
  • LMDZ5/branches/testing/libf/phylmd/phytrac_mod.F90

    r2720 r2787  
    6666       frac_impa,frac_nucl,beta_fisrt,beta_v1,        &
    6767       presnivs,  pphis,    pphi,     albsol,         &
    68        sh,        rh,       cldfra,   rneb,           &
     68       sh,        ch, rh,   cldfra,   rneb,           &
    6969       diafra,    cldliq,   itop_con, ibas_con,       &
    7070       pmflxr,    pmflxs,   prfl,     psfl,           &
     
    103103#ifdef CPP_StratAer
    104104    USE traccoag_mod
    105     USE phys_local_var_mod, ONLY: mdw, sulf_dep_dry, sulf_dep_wet
     105    USE phys_local_var_mod, ONLY: mdw
     106    USE phys_local_var_mod, ONLY: budg_dep_dry_h2so4, budg_dep_wet_h2so4
     107    USE phys_local_var_mod, ONLY: budg_dep_dry_part,  budg_dep_wet_part
    106108    USE infotrac, ONLY: nbtr_sulgas, id_SO2_strat, id_H2SO4_strat
    107109    USE aerophys
     
    137139    REAL,DIMENSION(klon,klev),INTENT(IN)   :: sh      ! humidite specifique
    138140    REAL,DIMENSION(klon,klev),INTENT(IN)   :: rh      ! humidite relative
     141    REAL,DIMENSION(klon,klev),INTENT(IN)   :: ch      ! eau liquide
    139142    REAL,DIMENSION(klon,klev+1),INTENT(IN) :: paprs   ! pression pour chaque inter-couche (en Pa)
    140143    REAL,DIMENSION(klon,klev),INTENT(IN)   :: pplay   ! pression pour le mileu de chaque couche (en Pa)
     
    571574       write(lunout,*)  'flag_cvltr    = ', flag_cvltr
    572575
    573        IF (lessivage.AND.config_inca.EQ.'inca') THEN
     576       IF (lessivage .AND. type_trac .EQ. 'inca') THEN
    574577          CALL abort_physic('phytrac', 'lessivage=T config_inca=inca impossible',1)
    575578          STOP
     
    698701       IF (type_trac=='coag') THEN
    699702         ! initialize wet deposition flux of sulfur
    700          sulf_dep_wet(:)=0.0
     703         budg_dep_wet_h2so4(:)=0.0
     704         budg_dep_wet_part(:)=0.0
    701705         ! compute wet deposition flux of sulfur (sum over gases and particles)
    702706         ! and convert to kg(S)/m2/s
     
    706710         !do not include SO2 because most of it comes trom the troposphere
    707711           IF (it==id_H2SO4_strat) THEN
    708              sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol) &
     712             budg_dep_wet_h2so4(i)=budg_dep_wet_h2so4(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol) &
    709713                            & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    710714           ELSEIF (it.GT.nbtr_sulgas) THEN
    711              sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol)  &
     715             budg_dep_wet_part(i)=budg_dep_wet_part(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol)  &
    712716                            & *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
    713717                            & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     
    766770
    767771         ! initialize dry deposition flux of sulfur
    768          sulf_dep_dry(:)=0.0
     772         budg_dep_dry_h2so4(:)=0.0
     773         budg_dep_dry_part(:)=0.0
    769774
    770775         ! compute dry deposition velocity as function of surface type (numbers
     
    800805               ! compute dry deposition flux of sulfur (sum over gases and particles)
    801806               IF (it==id_H2SO4_strat) THEN
    802                  sulf_dep_dry(:)=sulf_dep_dry(:)-source(:,it)*(mSatom/mH2SO4mol)
     807                 budg_dep_dry_h2so4(:)=budg_dep_dry_h2so4(:)-source(:,it)*(mSatom/mH2SO4mol)
    803808               ELSEIF (it.GT.nbtr_sulgas) THEN
    804                  sulf_dep_dry(:)=sulf_dep_dry(:)-source(:,it)*(mSatom/mH2SO4mol)*dens_aer_dry &
     809                 budg_dep_dry_part(:)=budg_dep_dry_part(:)-source(:,it)*(mSatom/mH2SO4mol)*dens_aer_dry &
    805810                                & *4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3
    806811               ENDIF
     
    886891           DO it = 1, nbtr
    887892             IF (it==id_H2SO4_strat) THEN
    888                sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol) &
     893               budg_dep_wet_h2so4(i)=budg_dep_wet_h2so4(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol) &
    889894                              & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    890895             ELSEIF (it.GT.nbtr_sulgas) THEN
    891                sulf_dep_wet(i)=sulf_dep_wet(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol)  &
     896               budg_dep_wet_part(i)=budg_dep_wet_part(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol)  &
    892897                              & *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
    893898                              & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     
    10181023            pdtphys,  t_seri,   paprs,          pplay,     &
    10191024            pmfu,     upwd,     ftsol,  pctsrf, pphis,     &
    1020             pphi,     albsol,   sh,             rh,        &
     1025            pphi,     albsol,   sh,    ch,     rh,        &
    10211026            cldfra,   rneb,     diafra,         cldliq,    &
    10221027            itop_con, ibas_con, pmflxr,         pmflxs,    &
  • LMDZ5/branches/testing/libf/phylmd/readaerosolstrato.F90

    r2594 r2787  
    3333    real, pointer:: lev(:)
    3434    integer i, k, band, wave
    35     integer, save :: mth_pre
     35    integer, save :: mth_pre=1
    3636!$OMP THREADPRIVATE(mth_pre)
    3737
  • LMDZ5/branches/testing/libf/phylmd/rrtm/aeropt_5wv_rrtm.F90

    r2669 r2787  
    1212  USE DIMPHY
    1313  USE aero_mod
    14   USE phys_local_var_mod, only: od550aer,od865aer,ec550aer,od550lt1aer
     14  USE phys_local_var_mod, ONLY: od550aer,od865aer,ec550aer,od550lt1aer
     15  USE YOMCST, ONLY: RD,RG
    1516
    1617  !
     
    2021  !    a partir d'une sous-routine de Johannes Quaas pour les sulfates
    2122  !    Olivier Boucher mars 2014 pour adaptation RRTM
     23  !   
    2224  !
    2325  ! Refractive indices for seasalt come from Shettle and Fenn (1979)
     
    5052  !
    5153  IMPLICIT NONE
    52   INCLUDE "YOMCST.h"
    5354  !
    5455  ! Input arguments:
    5556  !
    56   REAL, DIMENSION(klon,klev), INTENT(in)   :: pdel
    57   REAL, DIMENSION(klon,klev,naero_tot), INTENT(in) :: m_allaer
    58   REAL, DIMENSION(klon,klev), INTENT(in)   :: RHcl     ! humidite relative ciel clair
    59   INTEGER,INTENT(in)                       :: flag_aerosol
    60   LOGICAL,INTENT(in)                       :: flag_bc_internal_mixture
    61   REAL, DIMENSION(klon,klev), INTENT(in)   :: pplay
    62   REAL, DIMENSION(klon,klev), INTENT(in)   :: t_seri
     57  REAL, DIMENSION(klon,klev), INTENT(IN)   :: pdel
     58  REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer
     59  REAL, DIMENSION(klon,klev), INTENT(IN)   :: RHcl     ! humidite relative ciel clair
     60  INTEGER,INTENT(IN)                       :: flag_aerosol
     61  LOGICAL,INTENT(IN)                       :: flag_bc_internal_mixture
     62  REAL, DIMENSION(klon,klev), INTENT(IN)   :: pplay
     63  REAL, DIMENSION(klon,klev), INTENT(IN)   :: t_seri
    6364  !
    6465  ! Output arguments:
    6566  !
    66   REAL, DIMENSION(klon), INTENT(out)                      :: ai      ! POLDER aerosol index
    67   REAL, DIMENSION(klon,nwave,naero_tot), INTENT(out)      :: tausum
    68   REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(out) :: tau
     67  REAL, DIMENSION(klon), INTENT(OUT)                      :: ai      ! POLDER aerosol index
     68  REAL, DIMENSION(klon,nwave,naero_tot), INTENT(OUT)      :: tausum
     69  REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(OUT) :: tau
    6970
    7071  !
     
    8384  INTEGER, PARAMETER :: la865 = 5
    8485  INTEGER, PARAMETER :: nbre_RH=12
    85   INTEGER, PARAMETER :: naero_soluble=7   !  1- BC soluble; 2- POM soluble; 3- SO4 acc.
    86                                           !  4- SO4 coarse; 5 seasalt super-C; 6 seasalt coarse; 7 seasalt acc.
    87   INTEGER, PARAMETER :: naero_insoluble=3 !  1- Dust; 2- BC insoluble; 3- POM insoluble
     86  INTEGER, PARAMETER :: naero_soluble=9   !  1- BC soluble; 2- POM soluble; 3- SO4 coarse
     87                                          !  4- SO4 acc; 5 seasalt super-C; 6 seasalt coarse; 7 seasalt acc.
     88                                          !  8- NO3 coarse; 9- NO3 accumulation
     89  INTEGER, PARAMETER :: naero_insoluble=4 !  1- Dust; 2- BC insoluble; 3- POM insoluble; 4- NO3 insoluble
    8890
    8991  REAL :: zrho
     
    101103  REAL :: zdh(klon,klev)
    102104 
    103    ! Soluble components 1- BC soluble; 2- POM soluble; 3- SO4 acc.; 4- SO4 coarse; 5 seasalt super-coarse; 6 seasalt coarse; 7 seasalt acc.
    104105  REAL :: alpha_aers_5wv(nbre_RH,las,naero_soluble)   ! Ext. coeff. ** m2/g
    105    ! Insoluble components 1- Dust: 2- BC; 3- POM
    106106  REAL :: alpha_aeri_5wv(las,naero_insoluble)         ! Ext. coeff. ** m2/g
    107107
     
    109109  ! BC internal mixture
    110110  !
    111   INTEGER, PARAMETER ::  nbclassbc = 5  ! Added by Rong Wang/OB for the 5 fractions
    112                                        ! of BC in the soluble mode:
    113                                        ! bc_content/0.001, 0.01, 0.02, 0.05, ! 0.1/
     111  INTEGER, PARAMETER ::  nbclassbc = 6  ! Added by Rong Wang/OB for the 5 fractions
     112                                        ! of BC in the soluble mode:
     113                                        ! bc_content/0.001, 0.01, 0.02, 0.05, 0.1/
    114114  ! for Maxwell-Garnet internal mixture
    115115  ! Detailed theory can be found in R. Wang Estimation of global black carbon ! direct
     
    124124  INTEGER :: n, classbc
    125125
    126 ! From here on we look at the optical parameters at 5 wavelengths: 
    127 ! 443nm, 550, 670, 765 and 865 nm
    128 !                                   le 12 AVRIL 2006
    129 
    130  DATA alpha_aers_5wv/ &
    131                                 ! bc soluble
    132        7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, &
    133        7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, &
    134        7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994,  &
    135        6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687,   &
    136        6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501,   &
    137                                 ! pom soluble
    138        6.676,6.676,6.676,6.676,6.710,6.934,7.141,7.569,8.034,8.529,9.456,10.511,  &
    139        5.109,5.109,5.109,5.109,5.189,5.535,5.960,6.852,8.008,9.712,12.897,19.676, &
    140        3.718,3.718,3.718,3.718,3.779,4.042,4.364,5.052,5.956,7.314,9.896,15.688,  &
    141        2.849,2.849,2.849,2.849,2.897,3.107,3.365,3.916,4.649,5.760,7.900,12.863,  &
    142        2.229,2.229,2.229,2.229,2.268,2.437,2.645,3.095,3.692,4.608,6.391,10.633,  &
    143                                 ! Sulfate (Accumulation)
    144        5.751,6.215,6.690,7.024,7.599,8.195,9.156,10.355,12.660,14.823,18.908,24.508, &
    145        4.320,4.675,5.052,5.375,5.787,6.274,7.066,8.083,10.088,12.003,15.697,21.133,  &
    146        3.079,3.351,3.639,3.886,4.205,4.584,5.206,6.019,7.648,9.234,12.391,17.220,    &
    147        2.336,2.552,2.781,2.979,3.236,3.540,4.046,4.711,6.056,7.388,10.093,14.313,    &
    148        1.777,1.949,2.134,2.292,2.503,2.751,3.166,3.712,4.828,5.949,8.264,11.922,     &
    149                                 ! Sulfate (Coarse)
    150        5.751,6.215,6.690,7.024,7.599,8.195,9.156,10.355,12.660,14.823,18.908,24.508, &
    151        4.320,4.675,5.052,5.375,5.787,6.274,7.066,8.083,10.088,12.003,15.697,21.133,  &
    152        3.079,3.351,3.639,3.886,4.205,4.584,5.206,6.019,7.648,9.234,12.391,17.220,    &
    153        2.336,2.552,2.781,2.979,3.236,3.540,4.046,4.711,6.056,7.388,10.093,14.313,    &
    154        1.777,1.949,2.134,2.292,2.503,2.751,3.166,3.712,4.828,5.949,8.264,11.922,     &
    155                            ! seasalt seasalt Super Coarse Soluble (SS)
    156         0.218, 0.272, 0.293, 0.316, 0.343, 0.380, 0.429, 0.501, 0.636, 0.755, 0.967, 1.495, &
    157         0.221, 0.275, 0.297, 0.320, 0.348, 0.383, 0.432, 0.509, 0.640, 0.759, 0.972, 1.510, &
    158         0.224, 0.279, 0.301, 0.324, 0.352, 0.388, 0.438, 0.514, 0.647, 0.768, 0.985, 1.514, &
    159         0.227, 0.282, 0.303, 0.327, 0.356, 0.392, 0.441, 0.518, 0.652, 0.770, 0.987, 1.529, &
    160         0.230, 0.285, 0.306, 0.330, 0.359, 0.396, 0.446, 0.522, 0.656, 0.777, 0.993, 1.539, &
    161                            ! seasalt seasalt Coarse Soluble (CS)     
    162         0.578, 0.706, 0.756, 0.809, 0.876, 0.964, 1.081, 1.256, 1.577, 1.858, 2.366, 3.613, &
    163         0.598, 0.725, 0.779, 0.833, 0.898, 0.990, 1.109, 1.290, 1.609, 1.889, 2.398, 3.682, &
    164         0.619, 0.750, 0.802, 0.857, 0.927, 1.022, 1.141, 1.328, 1.648, 1.939, 2.455, 3.729, &
    165         0.633, 0.767, 0.820, 0.879, 0.948, 1.044, 1.167, 1.353, 1.683, 1.969, 2.491, 3.785, &
    166         0.648, 0.785, 0.838, 0.896, 0.967, 1.066, 1.192, 1.381, 1.714, 2.006, 2.531, 3.836, &
    167                            ! seasalt seasalt Accumulation Soluble (AS)
    168         4.432, 5.899, 6.505, 7.166, 7.964, 7.962, 9.232,11.257,14.979,18.337,24.223,37.811, &
    169         3.298, 4.569, 5.110, 5.709, 6.446, 6.268, 7.396, 9.246,12.787,16.113,22.197,37.136, &
    170         2.340, 3.358, 3.803, 4.303, 4.928, 4.696, 5.629, 7.198,10.308,13.342,19.120,34.296, &
    171         1.789, 2.626, 2.999, 3.422, 3.955, 3.730, 4.519, 5.864, 8.593,11.319,16.653,31.331, &
    172         1.359, 2.037, 2.343, 2.693, 3.139, 2.940, 3.596, 4.729, 7.076, 9.469,14.266,28.043 /
    173 
    174   DATA alpha_aeri_5wv/ &
    175                                  ! dust insoluble
    176         0.759, 0.770, 0.775, 0.775, 0.772, &
    177                                  !!jb bc insoluble
    178         11.536,10.033, 8.422, 7.234, 6.270, &
    179                                  ! pom insoluble
    180         5.042, 3.101, 1.890, 1.294, 0.934/
    181 
    182   ! internal mixture
    183   DATA alpha_MG_5wv/ &
    184      ! bc content = 0.001
    185        7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, &
    186        7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, &
    187        7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994,  &
    188        6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687,   &
    189        6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501,   &
    190      ! bc content = 0.01
    191        7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, &
    192        7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, &
    193        7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994,  &
    194        6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687,   &
    195        6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501,   &
    196      ! bc content = 0.02
    197        7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, &
    198        7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, &
    199        7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994,  &
    200        6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687,   &
    201        6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501,   &
    202      ! bc content = 0.05
    203        7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, &
    204        7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, &
    205        7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994,  &
    206        6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687,   &
    207        6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501,   &
    208      ! bc content = 0.10
    209        7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, &
    210        7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, &
    211        7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994,  &
    212        6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687,   &
    213        6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501 /
    214 
     126! From here on we look at the optical parameters at 5 wavelengths: 443, 550, 670, 765 and 865 nm
     127
     128 DATA alpha_aers_5wv/ &
     129   ! BC Accumulation Soluble (AS)     
     130  5.342, 5.342, 5.342, 5.342, 5.342, 5.829, 6.344, 7.470, 8.603, 8.736, 8.870,10.149, &
     131  5.159, 5.159, 5.159, 5.159, 5.159, 5.608, 6.083, 7.121, 8.169, 8.293, 8.418, 9.612, &
     132  4.849, 4.849, 4.849, 4.849, 4.849, 5.251, 5.674, 6.598, 7.533, 7.644, 7.756, 8.829, &
     133  4.573, 4.573, 4.573, 4.573, 4.573, 4.936, 5.318, 6.152, 6.996, 7.096, 7.198, 8.171, &
     134  4.274, 4.274, 4.274, 4.274, 4.274, 4.600, 4.942, 5.686, 6.441, 6.530, 6.621, 7.495, &
     135   ! POM Accumulation Soluble (AS)   
     136  5.300, 5.300, 5.300, 5.300, 5.300, 5.827, 6.392, 7.640, 8.898, 9.046, 9.195,10.606, &
     137  4.569, 4.569, 4.569, 4.569, 4.569, 5.029, 5.528, 6.649, 7.802, 7.939, 8.077, 9.400, &
     138  3.768, 3.768, 3.768, 3.768, 3.768, 4.152, 4.573, 5.533, 6.538, 6.658, 6.780, 7.955, &
     139  3.210, 3.210, 3.210, 3.210, 3.210, 3.542, 3.909, 4.752, 5.644, 5.751, 5.860, 6.916, &
     140  2.709, 2.709, 2.709, 2.709, 2.709, 2.994, 3.309, 4.041, 4.823, 4.917, 5.013, 5.949, &
     141   ! Sulfate Coarse Soluble (CS)     
     142  0.702, 0.702, 0.702, 0.702, 0.947, 1.025, 1.127, 1.266, 1.490, 1.675, 2.003, 2.857, &
     143  0.725, 0.725, 0.725, 0.725, 0.977, 1.057, 1.163, 1.304, 1.529, 1.718, 2.051, 2.914, &
     144  0.751, 0.751, 0.751, 0.751, 1.011, 1.093, 1.200, 1.345, 1.576, 1.768, 2.110, 2.973, &
     145  0.769, 0.769, 0.769, 0.769, 1.034, 1.120, 1.227, 1.375, 1.613, 1.811, 2.153, 3.032, &
     146  0.786, 0.786, 0.786, 0.786, 1.056, 1.144, 1.254, 1.406, 1.646, 1.850, 2.202, 3.088, &
     147   !-- Sulfate Accumulation (BC content=0)
     148  4.639, 4.639, 4.639, 4.639, 6.244, 6.878, 7.684, 8.805,10.638,12.174,14.880,21.828, &
     149  3.966, 3.966, 3.966, 3.966, 5.359, 5.950, 6.707, 7.771, 9.540,11.046,13.742,20.884, &
     150  3.234, 3.234, 3.234, 3.234, 4.393, 4.914, 5.587, 6.543, 8.160, 9.556,12.101,19.072, &
     151  2.721, 2.721, 2.721, 2.721, 3.712, 4.175, 4.774, 5.634, 7.101, 8.383,10.747,17.381, &
     152  2.262, 2.262, 2.262, 2.262, 3.102, 3.505, 4.030, 4.789, 6.097, 7.251, 9.403,15.581, &
     153   ! Seasalt Super Coarse Soluble (SS)
     154  0.194, 0.237, 0.254, 0.275, 0.299, 0.327, 0.366, 0.432, 0.544, 0.642, 0.824, 1.265, &
     155  0.196, 0.240, 0.257, 0.278, 0.303, 0.331, 0.371, 0.437, 0.550, 0.648, 0.831, 1.274, &
     156  0.198, 0.243, 0.260, 0.283, 0.306, 0.335, 0.376, 0.442, 0.557, 0.654, 0.839, 1.285, &
     157  0.201, 0.246, 0.263, 0.286, 0.308, 0.338, 0.380, 0.445, 0.559, 0.660, 0.846, 1.289, &
     158  0.203, 0.249, 0.266, 0.289, 0.312, 0.341, 0.384, 0.449, 0.564, 0.665, 0.852, 1.297, &
     159   ! Seasalt Coarse Soluble (CS)     
     160  0.576, 0.690, 0.738, 0.789, 0.855, 0.935, 1.046, 1.212, 1.512, 1.785, 2.258, 3.449, &
     161  0.595, 0.713, 0.763, 0.814, 0.880, 0.963, 1.079, 1.248, 1.550, 1.826, 2.306, 3.507, &
     162  0.617, 0.738, 0.789, 0.842, 0.911, 0.996, 1.113, 1.286, 1.592, 1.871, 2.369, 3.562, &
     163  0.632, 0.755, 0.808, 0.862, 0.931, 1.018, 1.140, 1.316, 1.626, 1.909, 2.409, 3.622, &
     164  0.645, 0.771, 0.825, 0.880, 0.951, 1.039, 1.164, 1.344, 1.661, 1.948, 2.455, 3.682, &
     165   ! Seasalt Accumulation Soluble (AS)
     166  3.684, 4.367, 4.711, 5.074, 5.438, 6.046, 6.793, 7.964,10.200,12.246,15.959,24.642, &
     167  3.126, 3.717, 4.023, 4.349, 4.673, 5.229, 5.918, 7.018, 9.179,11.208,14.994,24.184, &
     168  2.482, 2.973, 3.233, 3.511, 3.788, 4.272, 4.876, 5.858, 7.836, 9.739,13.393,22.658, &
     169  2.086, 2.509, 2.735, 2.979, 3.220, 3.649, 4.186, 5.068, 6.874, 8.642,12.099,21.146, &
     170  1.737, 2.097, 2.292, 2.503, 2.711, 3.086, 3.556, 4.337, 5.960, 7.571,10.779,19.427, &
     171   ! Nitrate Coarse Soluble (CS)     
     172  0.726, 0.726, 0.726, 0.796, 0.868, 0.947, 1.041, 1.246, 1.563, 1.872, 2.328, 2.447, &
     173  0.753, 0.753, 0.753, 0.825, 0.900, 0.979, 1.075, 1.285, 1.610, 1.922, 2.385, 2.503, &
     174  0.780, 0.780, 0.780, 0.854, 0.932, 1.013, 1.113, 1.326, 1.656, 1.979, 2.447, 2.579, &
     175  0.797, 0.797, 0.797, 0.874, 0.953, 1.035, 1.138, 1.356, 1.697, 2.020, 2.495, 2.621, &
     176  0.811, 0.811, 0.811, 0.890, 0.971, 1.055, 1.160, 1.384, 1.733, 2.062, 2.547, 2.675, &
     177   ! Nitrate Accumulation Soluble (AS)
     178  4.208, 4.208, 4.208, 4.693, 5.217, 5.778, 6.502, 8.108,10.722,13.327,17.185,18.210, &
     179  3.386, 3.386, 3.386, 3.808, 4.268, 4.768, 5.420, 6.897, 9.377,11.923,15.803,16.852, &
     180  2.650, 2.650, 2.650, 2.997, 3.380, 3.801, 4.357, 5.638, 7.850,10.189,13.858,14.870, &
     181  2.174, 2.174, 2.174, 2.471, 2.802, 3.167, 3.652, 4.784, 6.774, 8.917,12.345,13.302, &
     182  1.776, 1.776, 1.776, 2.028, 2.309, 2.622, 3.040, 4.026, 5.787, 7.717,10.858,11.745  /
     183
     184 DATA alpha_aeri_5wv/ &
     185   ! Dust insoluble
     186  0.788, 0.818, 0.842, 0.851, 0.853, &
     187   ! BC insoluble
     188  5.342, 5.159, 4.849, 4.573, 4.274, &
     189   ! POM insoluble
     190  5.300, 4.569, 3.768, 3.210, 2.709, &
     191   ! Nitrate insoluble
     192  0.726, 0.753, 0.780, 0.797, 0.811 /
     193
     194! Added by R. Wang (July 31 2016)
     195! properties for BC assuming Maxwell-Garnett rule and internal mixture
     196
     197   DATA alpha_MG_5wv/ &
     198 !--BC content=0.001
     199   4.293,  4.293,  4.293,  4.293,  4.320,  4.342,  4.271,  4.320,  4.476,  4.772,  5.310,  7.434, &
     200   4.687,  4.687,  4.687,  4.687,  4.693,  4.602,  4.492,  4.413,  4.374,  4.462,  4.729,  6.274, &
     201   4.802,  4.802,  4.802,  4.802,  4.776,  4.646,  4.516,  4.371,  4.231,  4.173,  4.217,  5.072, &
     202   4.716,  4.716,  4.716,  4.716,  4.668,  4.548,  4.408,  4.249,  4.047,  3.951,  3.850,  4.259, &
     203   4.520,  4.520,  4.520,  4.520,  4.461,  4.353,  4.230,  4.069,  3.850,  3.707,  3.524,  3.565, &
     204 !--BC content=0.010
     205   4.298,  4.298,  4.298,  4.298,  4.343,  4.333,  4.283,  4.325,  4.472,  4.751,  5.298,  7.402, &
     206   4.692,  4.692,  4.692,  4.692,  4.695,  4.598,  4.499,  4.410,  4.383,  4.454,  4.739,  6.260, &
     207   4.796,  4.796,  4.796,  4.796,  4.768,  4.644,  4.518,  4.376,  4.230,  4.172,  4.225,  5.048, &
     208   4.708,  4.708,  4.708,  4.708,  4.659,  4.543,  4.411,  4.256,  4.053,  3.945,  3.855,  4.242, &
     209   4.509,  4.509,  4.509,  4.509,  4.456,  4.351,  4.229,  4.072,  3.852,  3.707,  3.531,  3.560, &
     210 !--BC content=0.020
     211   4.301,  4.301,  4.301,  4.301,  4.353,  4.330,  4.291,  4.326,  4.478,  4.738,  5.288,  7.393, &
     212   4.688,  4.688,  4.688,  4.688,  4.695,  4.596,  4.500,  4.412,  4.386,  4.454,  4.737,  6.248, &
     213   4.787,  4.787,  4.787,  4.787,  4.761,  4.641,  4.516,  4.378,  4.231,  4.176,  4.226,  5.041, &
     214   4.696,  4.696,  4.696,  4.696,  4.651,  4.538,  4.409,  4.256,  4.055,  3.948,  3.858,  4.240, &
     215   4.497,  4.497,  4.497,  4.497,  4.448,  4.345,  4.225,  4.072,  3.854,  3.709,  3.535,  3.561, &
     216 !--BC content=0.050
     217   4.318,  4.318,  4.318,  4.318,  4.377,  4.337,  4.310,  4.334,  4.488,  4.724,  5.267,  7.342, &
     218   4.678,  4.678,  4.678,  4.678,  4.693,  4.595,  4.506,  4.421,  4.396,  4.458,  4.734,  6.203, &
     219   4.760,  4.760,  4.760,  4.760,  4.742,  4.631,  4.512,  4.381,  4.237,  4.185,  4.229,  5.015, &
     220   4.662,  4.662,  4.662,  4.662,  4.629,  4.522,  4.401,  4.254,  4.062,  3.955,  3.867,  4.229, &
     221   4.461,  4.461,  4.461,  4.461,  4.424,  4.328,  4.215,  4.068,  3.858,  3.718,  3.545,  3.562, &
     222 !--BC content=0.100
     223   4.348,  4.348,  4.348,  4.348,  4.404,  4.361,  4.337,  4.358,  4.503,  4.717,  5.240,  7.239, &
     224   4.662,  4.662,  4.662,  4.662,  4.685,  4.596,  4.513,  4.437,  4.411,  4.468,  4.729,  6.123, &
     225   4.716,  4.716,  4.716,  4.716,  4.713,  4.613,  4.505,  4.384,  4.249,  4.199,  4.235,  4.974, &
     226   4.607,  4.607,  4.607,  4.607,  4.593,  4.497,  4.387,  4.252,  4.072,  3.969,  3.882,  4.212, &
     227   4.403,  4.403,  4.403,  4.403,  4.385,  4.299,  4.196,  4.061,  3.865,  3.731,  3.564,  3.563, &
     228 !--BC content=0.200
     229   4.401,  4.401,  4.401,  4.401,  4.447,  4.409,  4.389,  4.405,  4.529,  4.715,  5.183,  7.007, &
     230   4.631,  4.631,  4.631,  4.631,  4.666,  4.594,  4.526,  4.463,  4.439,  4.488,  4.714,  5.958, &
     231   4.633,  4.633,  4.633,  4.633,  4.654,  4.575,  4.488,  4.387,  4.271,  4.224,  4.250,  4.894, &
     232   4.505,  4.505,  4.505,  4.505,  4.520,  4.444,  4.356,  4.243,  4.089,  3.997,  3.912,  4.179, &
     233   4.295,  4.295,  4.295,  4.295,  4.307,  4.239,  4.157,  4.045,  3.876,  3.757,  3.602,  3.569  /
    215234  !
    216235  ! Initialisations
     
    252271     aerosol_name(1) = id_CIDUSTM_phy
    253272  ELSEIF (flag_aerosol .EQ. 6) THEN
    254      nb_aer = 10
     273     nb_aer = 13
    255274     ALLOCATE (aerosol_name(nb_aer))
    256275     aerosol_name(1) = id_ASSO4M_phy     
     
    264283     aerosol_name(9) = id_CIDUSTM_phy
    265284     aerosol_name(10)= id_CSSO4M_phy
     285     aerosol_name(11)= id_CSNO3M_phy
     286     aerosol_name(12)= id_ASNO3M_phy
     287     aerosol_name(13)= id_CINO3M_phy
    266288  ENDIF
    267289
     
    315337        soluble=.TRUE.
    316338        spsol=7
     339    ELSEIF (aerosol_name(m).EQ.id_CSNO3M_phy) THEN
     340        soluble=.TRUE.
     341        spsol=8
     342        fac=1.2903    ! NO3NH4/NO3 / mass conversion factor for AOD
     343    ELSEIF (aerosol_name(m).EQ.id_ASNO3M_phy) THEN
     344        soluble=.TRUE.
     345        spsol=9
     346        fac=1.2903    ! NO3NH4/NO3 / mass conversion factor for AOD
    317347    ELSEIF (aerosol_name(m).EQ.id_CIDUSTM_phy) THEN
    318348        soluble=.FALSE.
     
    324354        soluble=.FALSE.
    325355        spinsol=3
     356    ELSEIF (aerosol_name(m).EQ.id_CINO3M_phy) THEN
     357        soluble=.FALSE.
     358        spinsol=4
     359        fac=1.2903    ! NO3NH4/NO3 / mass conversion factor for AOD
    326360    ELSE
    327361        CYCLE
     
    345379             BC_massfra = m_allaer(i,k,id_ASBCM_phy)/(m_allaer(i,k,id_ASBCM_phy)+m_allaer(i,k,id_ASSO4M_phy))
    346380
    347              IF (BC_massfra.GE.0.10) THEN
     381             IF (BC_massfra.GE.0.20) THEN
     382               classbc = 6
     383             ELSEIF (BC_massfra.GE.0.10) THEN
    348384               classbc = 5
    349385             ELSEIF  (BC_massfra.GE.0.05) THEN
  • LMDZ5/branches/testing/libf/phylmd/rrtm/aeropt_6bands_rrtm.F90

    r2669 r2787  
    1111  USE aero_mod
    1212  USE phys_local_var_mod, only: absvisaer
     13  USE YOMCST, ONLY: RG
    1314
    1415  !    Yves Balkanski le 12 avril 2006
     
    2021  !
    2122  IMPLICIT NONE
    22 
    23   INCLUDE "YOMCST.h"
     23  !
    2424  INCLUDE "clesphys.h"
    25 
    2625  !
    2726  ! Input arguments:
    2827  !
    29   REAL, DIMENSION(klon,klev),     INTENT(in)  :: pdel
    30   REAL, DIMENSION(klon,klev,naero_tot),   INTENT(in)  :: m_allaer
    31   REAL, DIMENSION(klon,klev,naero_tot),   INTENT(in)  :: m_allaer_pi
    32   REAL, DIMENSION(klon,klev),     INTENT(in)  :: RHcl       ! humidite relative ciel clair
    33   INTEGER,                        INTENT(in)  :: flag_aerosol
    34   LOGICAL,                        INTENT(in)  :: flag_bc_internal_mixture
    35   REAL, DIMENSION(klon,klev),     INTENT(in)  :: zrho
     28  REAL, DIMENSION(klon,klev),     INTENT(IN)  :: pdel
     29  REAL, DIMENSION(klon,klev,naero_tot),   INTENT(IN)  :: m_allaer
     30  REAL, DIMENSION(klon,klev,naero_tot),   INTENT(IN)  :: m_allaer_pi
     31  REAL, DIMENSION(klon,klev),     INTENT(IN)  :: RHcl       ! humidite relative ciel clair
     32  INTEGER,                        INTENT(IN)  :: flag_aerosol
     33  LOGICAL,                        INTENT(IN)  :: flag_bc_internal_mixture
     34  REAL, DIMENSION(klon,klev),     INTENT(IN)  :: zrho
    3635  !
    3736  ! Output arguments:
     
    3938  ! 1= natural aerosols
    4039  !
    41   REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(out) :: tau_allaer ! epaisseur optique aerosol
    42   REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(out) :: piz_allaer ! single scattering albedo aerosol
    43   REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(out) :: cg_allaer  ! asymmetry parameter aerosol
    44 
     40  REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: tau_allaer ! epaisseur optique aerosol
     41  REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: piz_allaer ! single scattering albedo aerosol
     42  REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: cg_allaer  ! asymmetry parameter aerosol
    4543  !
    4644  ! Local
    4745  !
    48   LOGICAL ::  soluble
     46  LOGICAL :: soluble
    4947  INTEGER :: i, k,n, inu, m
    5048  INTEGER :: spsol, spinsol
     
    5351  INTEGER, PARAMETER :: nb_level=19 ! number of vertical levels in DATA
    5452
    55   INTEGER, PARAMETER :: naero_soluble=7    ! 1- BC soluble; 2- POM soluble; 3- SO4. acc. 4- SO4 coarse
    56                                            ! 5- seasalt super coarse  6- seasalt coarse   7- seasalt acc.
    57   INTEGER, PARAMETER :: naero_insoluble=3  ! 1- Dust; 2- BC insoluble; 3- POM insoluble
     53  INTEGER, PARAMETER :: naero_soluble=9    ! 1- BC soluble; 2- POM soluble; 3- SO4. acc. 4- SO4 coarse
     54                                           ! 5- seasalt super coarse  6- seasalt
     55                                           ! coarse  7- seasalt acc.
     56                                           ! 8- NO3 coarse 9- NO3 acc.
     57  INTEGER, PARAMETER :: naero_insoluble=4  ! 1- Dust; 2- BC insoluble; 3- POM insoluble; 4- NO3 insoluble
    5858
    5959  INTEGER, PARAMETER :: nbre_RH=12
     
    6767  REAL :: fac
    6868  REAL :: zdh(klon,klev)
    69   INTEGER, ALLOCATABLE, DIMENSION(:)   :: aerosol_name
     69  INTEGER, ALLOCATABLE, DIMENSION(:) :: aerosol_name
    7070  INTEGER :: nb_aer
    7171
    72   REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) ::  tau_ae
    73   REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) ::  piz_ae
    74   REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) ::  cg_ae
    75 
    76   REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) ::  tau_ae_pi
     72  REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: tau_ae
     73  REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: piz_ae
     74  REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: cg_ae
     75
     76  REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: tau_ae_pi
    7777  REAL, DIMENSION(klon,klev,id_ASBCM_phy:id_ASBCM_phy,nbands_sw_rrtm) :: piz_ae_pi
    7878  REAL, DIMENSION(klon,klev,id_ASBCM_phy:id_ASBCM_phy,nbands_sw_rrtm) :: cg_ae_pi
     
    8080  ! Proprietes optiques
    8181  !
    82   REAL:: alpha_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble)   !--unit m2/g SO4
    83   REAL:: alpha_aeri_6bands(nbands_sw_rrtm,naero_insoluble)
    84   REAL:: cg_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble)      !--unit 
    85   REAL:: cg_aeri_6bands(nbands_sw_rrtm,naero_insoluble)
    86   REAL:: piz_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble)     !-- unit
    87   REAL:: piz_aeri_6bands(nbands_sw_rrtm,naero_insoluble)        !-- unit
     82  REAL:: alpha_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble)   !--unit m2/g
     83  REAL:: alpha_aeri_6bands(nbands_sw_rrtm,naero_insoluble)         !--unit m2/g
     84  REAL:: cg_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble)      !--unitless
     85  REAL:: cg_aeri_6bands(nbands_sw_rrtm,naero_insoluble)            !--unitless
     86  REAL:: piz_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble)     !--unitless
     87  REAL:: piz_aeri_6bands(nbands_sw_rrtm,naero_insoluble)           !--unitless
    8888  !
    8989  ! BC internal mixture
    9090  !
    91   INTEGER, PARAMETER ::  nbclassbc = 5  ! Added by Rong Wang/OB for the 5 fractions
    92                                        ! of BC in the soluble mode:
    93                                        ! bc_content/0.001, 0.01, 0.02, 0.05, 0.1/
     91  INTEGER, PARAMETER ::  nbclassbc = 6  ! Added by Rong Wang/OB for the 5 fractions
     92                                        ! of BC in the soluble mode:
     93                                        ! bc_content/0.001, 0.01, 0.02, 0.05, 0.1, 0.2/
    9494  ! for Maxwell-Garnet internal mixture
    9595  ! Detailed theory can be found in R. Wang Estimation of global black carbon direct
     
    100100  REAL :: piz_MG_6bands(nbre_RH,nbands_sw_rrtm,nbclassbc)
    101101  !
    102   INTEGER :: id, classbc, classbc_pi
     102  INTEGER :: aerindex, classbc, classbc_pi
    103103  REAL :: tmp_var, tmp_var_pi, BC_massfra, BC_massfra_pi
    104 
    105   !
    106   REAL, PARAMETER :: tau_min = 1.e-15
    107 !  REAL, PARAMETER :: tau_min = 1.e-7
     104  CHARACTER*20 :: modname
     105  !
     106  REAL, PARAMETER :: tau_min = 1.e-7
    108107
    109108!***************************************************************************
     
    112111
    113112  DATA alpha_aers_6bands/  &
    114        ! bc soluble AS
    115   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    116   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    117   5.900, 5.900, 5.900, 5.900, 5.900, 6.502, 7.151, 8.496, 9.818, 9.965,10.124,11.564, &
    118   4.284, 4.284, 4.284, 4.284, 4.284, 4.721, 5.193, 6.169, 7.129, 7.236, 7.352, 8.397, &
    119   2.163, 2.163, 2.163, 2.163, 2.163, 2.384, 2.622, 3.115, 3.600, 3.654, 3.712, 4.240, &
    120   0.966, 0.966, 0.966, 0.966, 0.966, 1.065, 1.171, 1.392, 1.608, 1.632, 1.658, 1.894, &
    121        ! pom soluble AS
    122   6.443, 6.443, 6.443, 6.443, 6.443, 7.100, 7.809, 9.277,10.721,10.882,11.056,12.628, &
    123   6.443, 6.443, 6.443, 6.443, 6.443, 7.100, 7.809, 9.277,10.721,10.882,11.056,12.628, &
    124   4.381, 4.381, 4.381, 4.381, 4.381, 4.828, 5.310, 6.309, 7.290, 7.400, 7.518, 8.587, &
    125   1.846, 1.846, 1.846, 1.846, 1.846, 2.034, 2.237, 2.658, 3.072, 3.118, 3.168, 3.618, &
    126   0.377, 0.377, 0.377, 0.377, 0.377, 0.415, 0.456, 0.542, 0.627, 0.636, 0.646, 0.738, &
    127   0.052, 0.052, 0.052, 0.052, 0.052, 0.057, 0.063, 0.075, 0.087, 0.088, 0.089, 0.102, &
    128        ! sulfate AS   
    129   6.554, 6.554, 6.554, 7.223, 7.931, 8.665, 9.438,10.736,14.275,17.755,17.755,31.722, &
    130   6.554, 6.554, 6.554, 7.223, 7.931, 8.665, 9.438,10.736,14.275,17.755,17.755,31.722, &
    131   4.381, 4.381, 4.381, 4.828, 5.301, 5.792, 6.309, 7.176, 9.542,11.868,11.868,21.204, &
    132   1.727, 1.727, 1.727, 1.903, 2.090, 2.283, 2.487, 2.829, 3.762, 4.679, 4.679, 8.359, &
    133   0.312, 0.312, 0.312, 0.344, 0.378, 0.413, 0.450, 0.511, 0.680, 0.846, 0.846, 1.511, &
    134   0.121, 0.121, 0.121, 0.134, 0.147, 0.161, 0.175, 0.199, 0.264, 0.329, 0.329, 0.588, &
    135        ! sulfate coarse CS
    136   0.693, 0.693, 0.693, 0.764, 0.839, 0.917, 0.999, 1.136, 1.510, 1.879, 1.879, 3.356, &
    137   0.693, 0.693, 0.693, 0.764, 0.839, 0.917, 0.999, 1.136, 1.510, 1.879, 1.879, 3.356, &
    138   0.715, 0.715, 0.715, 0.788, 0.865, 0.945, 1.029, 1.171, 1.557, 1.936, 1.936, 3.459, &
    139   0.736, 0.736, 0.736, 0.811, 0.891, 0.973, 1.060, 1.206, 1.603, 1.994, 1.994, 3.563, &
    140   0.711, 0.711, 0.711, 0.783, 0.860, 0.939, 1.023, 1.164, 1.548, 1.925, 1.925, 3.439, &
    141   0.602, 0.602, 0.602, 0.664, 0.729, 0.796, 0.867, 0.986, 1.312, 1.631, 1.631, 2.915, &
    142         ! seasalt seasalt Super Coarse Soluble (SS)
    143   0.214, 0.267, 0.287, 0.310, 0.337, 0.373, 0.421, 0.494, 0.625, 0.742, 0.956, 1.480, &
    144   0.217, 0.270, 0.291, 0.314, 0.341, 0.377, 0.426, 0.499, 0.632, 0.751, 0.963, 1.490, &
    145   0.221, 0.275, 0.297, 0.320, 0.348, 0.384, 0.434, 0.507, 0.642, 0.762, 0.976, 1.506, &
    146   0.230, 0.285, 0.308, 0.331, 0.359, 0.396, 0.447, 0.522, 0.658, 0.780, 0.997, 1.536, &
    147   0.250, 0.307, 0.330, 0.354, 0.384, 0.424, 0.477, 0.556, 0.696, 0.822, 1.044, 1.592, &
    148   0.279, 0.347, 0.373, 0.401, 0.434, 0.478, 0.537, 0.625, 0.781, 0.918, 1.158, 1.744, &
    149         ! seasalt seasalt Coarse Soluble (CS)     
    150   0.550, 0.676, 0.724, 0.779, 0.841, 0.925, 1.040, 1.213, 1.523, 1.803, 2.306, 3.535, &
    151   0.568, 0.695, 0.744, 0.798, 0.863, 0.950, 1.066, 1.240, 1.556, 1.839, 2.342, 3.588, &
    152   0.599, 0.727, 0.779, 0.834, 0.901, 0.993, 1.111, 1.290, 1.612, 1.899, 2.411, 3.669, &
    153   0.647, 0.786, 0.841, 0.899, 0.969, 1.069, 1.193, 1.384, 1.717, 2.015, 2.543, 3.842, &
    154   0.663, 0.825, 0.889, 0.957, 1.038, 1.126, 1.268, 1.483, 1.862, 2.196, 2.780, 4.183, &
    155   0.479, 0.644, 0.711, 0.785, 0.873, 0.904, 1.048, 1.275, 1.692, 2.072, 2.753, 4.430, &
    156         ! seasalt seasalt Accumulation Soluble (AS)
    157   6.128, 7.564, 8.127, 8.723, 9.421,10.014,11.250,13.113,16.320,19.061,23.675,34.158, &
    158   5.080, 6.586, 7.197, 7.856, 8.645, 8.820,10.115,12.140,15.775,18.983,24.499,36.993, &
    159   3.290, 4.541, 5.073, 5.663, 6.387, 6.227, 7.339, 9.161,12.645,15.918,21.908,36.673, &
    160   1.389, 2.066, 2.371, 2.719, 3.161, 2.970, 3.623, 4.747, 7.064, 9.419,14.120,27.565, &
    161   0.309, 0.497, 0.587, 0.693, 0.832, 0.777, 0.986, 1.364, 2.207, 3.136, 5.174,12.065, &
    162   0.021, 0.037, 0.045, 0.054, 0.067, 0.065, 0.087, 0.129, 0.230, 0.353, 0.654, 1.885  /
     113   ! BC Accumulation Soluble (AS)     
     114  5.276, 5.276, 5.276, 5.276, 5.276, 5.797, 6.353, 7.568, 8.779, 8.920, 9.062,10.403, &
     115  5.371, 5.371, 5.371, 5.371, 5.371, 5.870, 6.401, 7.559, 8.720, 8.857, 8.994,10.298, &
     116  5.126, 5.126, 5.126, 5.126, 5.126, 5.572, 6.043, 7.073, 8.113, 8.235, 8.359, 9.544, &
     117  4.225, 4.225, 4.225, 4.225, 4.225, 4.549, 4.887, 5.624, 6.370, 6.459, 6.548, 7.412, &
     118  2.667, 2.667, 2.667, 2.667, 2.667, 2.840, 3.015, 3.382, 3.745, 3.788, 3.832, 4.251, &
     119  1.113, 1.113, 1.113, 1.113, 1.113, 1.210, 1.307, 1.506, 1.699, 1.721, 1.744, 1.961, &
     120   ! POM Accumulation Soluble (AS)   
     121  5.962, 5.962, 5.962, 5.962, 5.962, 6.544, 7.153, 8.460, 9.732, 9.877,10.026,11.398, &
     122  5.609, 5.609, 5.609, 5.609, 5.609, 6.163, 6.752, 8.041, 9.324, 9.473, 9.624,11.044, &
     123  4.527, 4.527, 4.527, 4.527, 4.527, 4.982, 5.476, 6.586, 7.726, 7.861, 7.998, 9.306, &
     124  2.697, 2.697, 2.697, 2.697, 2.697, 2.980, 3.293, 4.017, 4.790, 4.884, 4.979, 5.902, &
     125  0.918, 0.918, 0.918, 0.918, 0.918, 1.025, 1.146, 1.435, 1.754, 1.794, 1.834, 2.232, &
     126  0.105, 0.105, 0.105, 0.105, 0.105, 0.154, 0.211, 0.344, 0.491, 0.509, 0.528, 0.710, &
     127  ! Sulfate Coarse Soluble (CS)     
     128  0.670, 0.670, 0.670, 0.670, 0.905, 0.981, 1.081, 1.217, 1.434, 1.615, 1.940, 2.773, &
     129  0.689, 0.689, 0.689, 0.689, 0.930, 1.009, 1.110, 1.247, 1.469, 1.655, 1.980, 2.825, &
     130  0.726, 0.726, 0.726, 0.726, 0.978, 1.060, 1.164, 1.306, 1.533, 1.723, 2.056, 2.915, &
     131  0.785, 0.785, 0.785, 0.785, 1.056, 1.144, 1.254, 1.406, 1.650, 1.852, 2.203, 3.103, &
     132  0.795, 0.795, 0.795, 0.795, 1.064, 1.160, 1.282, 1.449, 1.720, 1.945, 2.340, 3.348, &
     133  0.502, 0.502, 0.502, 0.502, 0.656, 0.728, 0.820, 0.950, 1.170, 1.360, 1.706, 2.666, &
     134   !-- Sulfate Accumulation (BC content=0)
     135  5.246, 5.246, 5.246, 5.246, 7.041, 7.658, 8.437, 9.503,11.204,12.608,15.030,21.080, &
     136  4.924, 4.924, 4.924, 4.924, 6.619, 7.258, 8.067, 9.186,10.998,12.507,15.142,21.822, &
     137  3.925, 3.925, 3.925, 3.925, 5.304, 5.888, 6.635, 7.686, 9.433,10.921,13.587,20.659, &
     138  2.248, 2.248, 2.248, 2.248, 3.079, 3.477, 3.993, 4.738, 6.022, 7.153, 9.261,15.301, &
     139  0.720, 0.720, 0.720, 0.720, 1.014, 1.169, 1.374, 1.678, 2.225, 2.726, 3.703, 6.779, &
     140  0.069, 0.069, 0.069, 0.069, 0.102, 0.121, 0.146, 0.185, 0.258, 0.328, 0.472, 0.974, &
     141   ! Seasalt Super Coarse Soluble (SS)
     142  0.189, 0.232, 0.249, 0.270, 0.293, 0.322, 0.361, 0.425, 0.536, 0.634, 0.813, 1.250, &
     143  0.192, 0.235, 0.252, 0.274, 0.296, 0.325, 0.365, 0.429, 0.542, 0.639, 0.821, 1.259, &
     144  0.196, 0.240, 0.257, 0.279, 0.302, 0.331, 0.371, 0.437, 0.550, 0.649, 0.832, 1.274, &
     145  0.204, 0.249, 0.267, 0.289, 0.313, 0.342, 0.384, 0.450, 0.565, 0.666, 0.851, 1.300, &
     146  0.222, 0.270, 0.289, 0.313, 0.338, 0.369, 0.413, 0.482, 0.602, 0.705, 0.896, 1.355, &
     147  0.244, 0.293, 0.313, 0.338, 0.364, 0.397, 0.443, 0.517, 0.646, 0.757, 0.960, 1.443, &
     148   ! Seasalt Coarse Soluble (CS)     
     149  0.547, 0.657, 0.705, 0.754, 0.817, 0.896, 1.008, 1.169, 1.456, 1.724, 2.199, 3.358, &
     150  0.566, 0.679, 0.727, 0.776, 0.840, 0.920, 1.032, 1.196, 1.492, 1.760, 2.238, 3.416, &
     151  0.596, 0.714, 0.764, 0.816, 0.882, 0.965, 1.081, 1.250, 1.552, 1.828, 2.310, 3.509, &
     152  0.644, 0.771, 0.825, 0.880, 0.951, 1.040, 1.164, 1.345, 1.666, 1.957, 2.462, 3.700, &
     153  0.640, 0.772, 0.829, 0.887, 0.965, 1.061, 1.198, 1.398, 1.758, 2.085, 2.658, 4.031, &
     154  0.452, 0.562, 0.609, 0.659, 0.728, 0.813, 0.938, 1.125, 1.471, 1.797, 2.384, 3.855, &
     155   ! Seasalt Accumulation Soluble (AS)
     156  4.270, 5.032, 5.395, 5.772, 6.158, 6.768, 7.510, 8.634,10.695,12.512,15.740,23.122, &
     157  3.952, 4.673, 5.030, 5.403, 5.781, 6.399, 7.156, 8.328,10.533,12.524,16.091,24.329, &
     158  3.090, 3.676, 3.979, 4.301, 4.622, 5.172, 5.853, 6.941, 9.077,11.083,14.830,23.951, &
     159  1.710, 2.069, 2.262, 2.471, 2.678, 3.048, 3.513, 4.285, 5.882, 7.467,10.618,19.102, &
     160  0.529, 0.663, 0.737, 0.819, 0.901, 1.050, 1.244, 1.575, 2.301, 3.067, 4.704, 9.712, &
     161  0.073, 0.142, 0.177, 0.215, 0.259, 0.328, 0.422, 0.579, 0.913, 1.263, 2.011, 4.358, &
     162   ! Nitrate Coarse Soluble (CS)     
     163  0.688, 0.688, 0.688, 0.755, 0.826, 0.900, 0.994, 1.190, 1.501, 1.804, 2.251, 2.374, &
     164  0.712, 0.712, 0.712, 0.781, 0.853, 0.929, 1.023, 1.225, 1.540, 1.846, 2.299, 2.421, &
     165  0.754, 0.754, 0.754, 0.826, 0.902, 0.980, 1.077, 1.286, 1.612, 1.925, 2.388, 2.509, &
     166  0.809, 0.809, 0.809, 0.887, 0.969, 1.053, 1.160, 1.384, 1.732, 2.069, 2.557, 2.685, &
     167  0.786, 0.786, 0.786, 0.867, 0.952, 1.043, 1.157, 1.403, 1.793, 2.171, 2.725, 2.871, &
     168  0.703, 0.703, 0.703, 0.767, 0.836, 0.909, 1.002, 1.210, 1.552, 1.901, 2.434, 2.579, &
     169   ! Nitrate Accumulation Soluble (AS)
     170  5.251, 5.251, 5.251, 5.779, 6.336, 6.920, 7.655, 9.230,11.678,14.026,17.391,18.279, &
     171  4.643, 4.643, 4.643, 5.152, 5.696, 6.276, 7.016, 8.640,11.238,13.787,17.511,18.494, &
     172  3.373, 3.373, 3.373, 3.790, 4.245, 4.739, 5.383, 6.842, 9.289,11.804,15.637,16.675, &
     173  1.779, 1.779, 1.779, 2.029, 2.309, 2.619, 3.033, 4.008, 5.746, 7.645,10.730,11.601, &
     174  0.549, 0.549, 0.549, 0.639, 0.742, 0.859, 1.019, 1.412, 2.157, 3.029, 4.552, 5.002, &
     175  0.367, 0.367, 0.367, 0.416, 0.471, 0.532, 0.614, 0.808, 1.166, 1.575, 2.281, 2.489  /
     176
     177  DATA piz_aers_6bands/&
     178   ! BC Accumulation Soluble (AS)     
     179  0.480, 0.480, 0.480, 0.480, 0.480, 0.487, 0.495, 0.513, 0.530, 0.532, 0.534, 0.553, &
     180  0.469, 0.469, 0.469, 0.469, 0.469, 0.474, 0.480, 0.497, 0.514, 0.517, 0.519, 0.538, &
     181  0.456, 0.456, 0.456, 0.456, 0.456, 0.464, 0.473, 0.495, 0.519, 0.522, 0.524, 0.550, &
     182  0.427, 0.427, 0.427, 0.427, 0.427, 0.437, 0.448, 0.476, 0.505, 0.509, 0.512, 0.543, &
     183  0.349, 0.349, 0.349, 0.349, 0.349, 0.358, 0.369, 0.396, 0.425, 0.429, 0.432, 0.465, &
     184  0.196, 0.196, 0.196, 0.196, 0.196, 0.198, 0.202, 0.213, 0.226, 0.227, 0.229, 0.243, &
     185   ! POM Accumulation Soluble (AS)   
     186  0.956, 0.956, 0.956, 0.956, 0.956, 0.961, 0.964, 0.970, 0.974, 0.975, 0.975, 0.978, &
     187  0.965, 0.965, 0.965, 0.965, 0.965, 0.969, 0.972, 0.977, 0.980, 0.980, 0.981, 0.983, &
     188  0.969, 0.969, 0.969, 0.969, 0.969, 0.972, 0.975, 0.979, 0.983, 0.983, 0.983, 0.986, &
     189  0.953, 0.953, 0.953, 0.953, 0.953, 0.958, 0.962, 0.969, 0.974, 0.975, 0.975, 0.979, &
     190  0.892, 0.892, 0.892, 0.892, 0.892, 0.902, 0.912, 0.928, 0.940, 0.942, 0.943, 0.952, &
     191  0.826, 0.826, 0.826, 0.826, 0.826, 0.658, 0.568, 0.479, 0.444, 0.442, 0.439, 0.426, &
     192   ! Sulfate Coarse Soluble (CS)     
     193  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     194  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     195  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     196  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     197  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     198  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     199   !-- Sulfate Accumulation (BC content=0)
     200  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     201  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     202  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     203  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     204  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     205  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     206   ! Seasalt Super Coarse Soluble (SS)
     207  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     208  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     209  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     210  0.999, 0.999, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     211  0.983, 0.985, 0.986, 0.987, 0.987, 0.988, 0.988, 0.989, 0.989, 0.989, 0.989, 0.989, &
     212  0.957, 0.792, 0.765, 0.740, 0.721, 0.704, 0.687, 0.670, 0.652, 0.643, 0.631, 0.617, &
     213   ! Seasalt Coarse Soluble (CS)     
     214  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.001, 1.000, &
     215  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     216  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     217  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     218  0.994, 0.994, 0.995, 0.995, 0.995, 0.995, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, &
     219  0.976, 0.867, 0.837, 0.814, 0.796, 0.774, 0.754, 0.735, 0.713, 0.702, 0.690, 0.675, &
     220   ! Seasalt Accumulation Soluble (AS)
     221  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     222  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     223  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     224  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     225  0.995, 0.996, 0.996, 0.996, 0.997, 0.997, 0.997, 0.998, 0.998, 0.998, 0.998, 0.999, &
     226  0.919, 0.607, 0.553, 0.515, 0.480, 0.455, 0.434, 0.421, 0.421, 0.429, 0.449, 0.492, &
     227   ! Nitrate Coarse Soluble (CS)     
     228  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     229  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     230  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     231  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     232  0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.998, 0.998, 0.998, 0.998, 0.998, 0.998, &
     233  0.707, 0.707, 0.707, 0.705, 0.702, 0.699, 0.697, 0.692, 0.686, 0.683, 0.679, 0.678, &
     234   ! Nitrate Accumulation Soluble (AS)
     235  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     236  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     237  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     238  1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
     239  0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, &
     240  0.362, 0.362, 0.362, 0.362, 0.363, 0.365, 0.367, 0.375, 0.390, 0.406, 0.428, 0.434  /
     241
     242  DATA cg_aers_6bands/ &
     243   ! BC Accumulation Soluble (AS)     
     244  0.820, 0.820, 0.820, 0.820, 0.820, 0.831, 0.840, 0.852, 0.859, 0.860, 0.860, 0.864, &
     245  0.760, 0.760, 0.760, 0.760, 0.760, 0.777, 0.791, 0.812, 0.826, 0.827, 0.828, 0.837, &
     246  0.695, 0.695, 0.695, 0.695, 0.695, 0.716, 0.734, 0.762, 0.780, 0.782, 0.784, 0.797, &
     247  0.603, 0.603, 0.603, 0.603, 0.603, 0.628, 0.649, 0.685, 0.710, 0.712, 0.715, 0.734, &
     248  0.469, 0.469, 0.469, 0.469, 0.469, 0.494, 0.518, 0.559, 0.590, 0.593, 0.597, 0.622, &
     249  0.276, 0.276, 0.276, 0.276, 0.276, 0.292, 0.308, 0.337, 0.361, 0.364, 0.367, 0.389, &
     250   ! POM Accumulation Soluble (AS)   
     251  0.687, 0.687, 0.687, 0.687, 0.687, 0.700, 0.711, 0.729, 0.740, 0.741, 0.742, 0.750, &
     252  0.685, 0.685, 0.685, 0.685, 0.685, 0.699, 0.712, 0.731, 0.744, 0.745, 0.747, 0.756, &
     253  0.673, 0.673, 0.673, 0.673, 0.673, 0.689, 0.702, 0.724, 0.739, 0.741, 0.742, 0.754, &
     254  0.637, 0.637, 0.637, 0.637, 0.637, 0.653, 0.667, 0.691, 0.709, 0.711, 0.712, 0.726, &
     255  0.553, 0.553, 0.553, 0.553, 0.553, 0.568, 0.582, 0.607, 0.628, 0.630, 0.632, 0.649, &
     256  0.340, 0.340, 0.340, 0.340, 0.340, 0.350, 0.361, 0.382, 0.400, 0.402, 0.404, 0.422, &
     257   ! Sulfate Coarse Soluble (CS)     
     258  0.746, 0.746, 0.746, 0.746, 0.779, 0.785, 0.790, 0.796, 0.804, 0.810, 0.816, 0.830, &
     259  0.730, 0.730, 0.730, 0.730, 0.764, 0.770, 0.775, 0.782, 0.791, 0.797, 0.806, 0.819, &
     260  0.707, 0.707, 0.707, 0.707, 0.746, 0.752, 0.758, 0.765, 0.775, 0.781, 0.790, 0.805, &
     261  0.691, 0.691, 0.691, 0.691, 0.736, 0.741, 0.747, 0.754, 0.763, 0.769, 0.778, 0.791, &
     262  0.696, 0.696, 0.696, 0.696, 0.748, 0.753, 0.759, 0.767, 0.776, 0.781, 0.789, 0.800, &
     263  0.711, 0.711, 0.711, 0.711, 0.766, 0.773, 0.782, 0.791, 0.803, 0.811, 0.822, 0.838, &
     264   !-- Sulfate Accumulation (BC content=0)
     265  0.674, 0.674, 0.674, 0.674, 0.724, 0.729, 0.735, 0.741, 0.749, 0.753, 0.760, 0.769, &
     266  0.677, 0.677, 0.677, 0.677, 0.729, 0.734, 0.740, 0.747, 0.756, 0.761, 0.768, 0.777, &
     267  0.671, 0.671, 0.671, 0.671, 0.723, 0.730, 0.737, 0.746, 0.757, 0.764, 0.773, 0.786, &
     268  0.638, 0.638, 0.638, 0.638, 0.691, 0.700, 0.710, 0.721, 0.736, 0.746, 0.760, 0.781, &
     269  0.553, 0.553, 0.553, 0.553, 0.604, 0.616, 0.629, 0.644, 0.665, 0.680, 0.700, 0.736, &
     270  0.344, 0.344, 0.344, 0.344, 0.388, 0.401, 0.416, 0.435, 0.462, 0.482, 0.512, 0.571, &
     271   ! Seasalt Super Coarse Soluble (SS)
     272  0.795, 0.810, 0.814, 0.819, 0.824, 0.829, 0.832, 0.840, 0.846, 0.849, 0.854, 0.860, &
     273  0.788, 0.804, 0.808, 0.813, 0.818, 0.823, 0.828, 0.834, 0.842, 0.847, 0.851, 0.858, &
     274  0.775, 0.792, 0.797, 0.803, 0.808, 0.813, 0.820, 0.826, 0.835, 0.840, 0.846, 0.854, &
     275  0.754, 0.773, 0.779, 0.785, 0.791, 0.796, 0.803, 0.811, 0.821, 0.827, 0.834, 0.844, &
     276  0.735, 0.755, 0.761, 0.768, 0.774, 0.779, 0.786, 0.794, 0.804, 0.810, 0.817, 0.829, &
     277  0.712, 0.782, 0.795, 0.808, 0.819, 0.829, 0.840, 0.852, 0.865, 0.873, 0.882, 0.895, &
     278   ! Seasalt Coarse Soluble (CS)     
     279  0.754, 0.770, 0.776, 0.781, 0.784, 0.791, 0.797, 0.805, 0.815, 0.822, 0.828, 0.840, &
     280  0.736, 0.753, 0.759, 0.765, 0.771, 0.778, 0.785, 0.793, 0.804, 0.811, 0.820, 0.831, &
     281  0.716, 0.735, 0.742, 0.748, 0.754, 0.762, 0.769, 0.778, 0.789, 0.796, 0.807, 0.819, &
     282  0.704, 0.725, 0.733, 0.739, 0.745, 0.752, 0.759, 0.768, 0.778, 0.784, 0.792, 0.803, &
     283  0.716, 0.737, 0.744, 0.751, 0.756, 0.763, 0.770, 0.777, 0.786, 0.790, 0.795, 0.800, &
     284  0.688, 0.730, 0.741, 0.751, 0.761, 0.771, 0.782, 0.795, 0.810, 0.820, 0.833, 0.849, &
     285   ! Seasalt Accumulation Soluble (AS)
     286  0.686, 0.711, 0.719, 0.726, 0.733, 0.740, 0.748, 0.755, 0.763, 0.767, 0.770, 0.774, &
     287  0.690, 0.716, 0.724, 0.731, 0.739, 0.747, 0.756, 0.764, 0.774, 0.778, 0.782, 0.784, &
     288  0.683, 0.710, 0.719, 0.727, 0.735, 0.744, 0.754, 0.765, 0.777, 0.784, 0.791, 0.797, &
     289  0.649, 0.676, 0.686, 0.695, 0.704, 0.714, 0.726, 0.739, 0.757, 0.768, 0.781, 0.797, &
     290  0.559, 0.586, 0.596, 0.606, 0.616, 0.629, 0.643, 0.661, 0.686, 0.703, 0.726, 0.758, &
     291  0.341, 0.358, 0.366, 0.375, 0.382, 0.395, 0.408, 0.428, 0.459, 0.484, 0.520, 0.581, &
     292   ! Nitrate Coarse Soluble (CS)     
     293  0.765, 0.765, 0.765, 0.773, 0.779, 0.785, 0.791, 0.803, 0.813, 0.819, 0.827, 0.828, &
     294  0.754, 0.754, 0.754, 0.762, 0.769, 0.774, 0.781, 0.790, 0.802, 0.810, 0.817, 0.818, &
     295  0.743, 0.743, 0.743, 0.751, 0.758, 0.763, 0.770, 0.779, 0.789, 0.797, 0.804, 0.806, &
     296  0.737, 0.737, 0.737, 0.745, 0.752, 0.758, 0.764, 0.773, 0.781, 0.786, 0.792, 0.793, &
     297  0.739, 0.739, 0.739, 0.749, 0.757, 0.763, 0.770, 0.779, 0.788, 0.793, 0.797, 0.798, &
     298  0.651, 0.651, 0.651, 0.672, 0.690, 0.707, 0.724, 0.751, 0.779, 0.796, 0.813, 0.817, &
     299   ! Nitrate Accumulation Soluble (AS)
     300  0.713, 0.713, 0.713, 0.723, 0.732, 0.739, 0.746, 0.756, 0.765, 0.769, 0.772, 0.772, &
     301  0.724, 0.724, 0.724, 0.734, 0.742, 0.750, 0.757, 0.767, 0.777, 0.782, 0.785, 0.785, &
     302  0.719, 0.719, 0.719, 0.729, 0.738, 0.746, 0.754, 0.767, 0.780, 0.787, 0.793, 0.794, &
     303  0.673, 0.673, 0.673, 0.685, 0.696, 0.706, 0.717, 0.734, 0.753, 0.766, 0.778, 0.781, &
     304  0.565, 0.565, 0.565, 0.580, 0.593, 0.605, 0.619, 0.644, 0.673, 0.693, 0.716, 0.720, &
     305  0.328, 0.328, 0.328, 0.338, 0.348, 0.359, 0.371, 0.396, 0.431, 0.459, 0.494, 0.502  /
    163306
    164307  DATA alpha_aeri_6bands/  &
    165        ! dust insoluble CI
    166   0.751, 0.751, 0.769, 0.772, 0.672, 0.437, &
    167        ! bc insoluble AI
    168   6.497, 6.497, 5.900, 4.284, 2.163, 0.966, &
    169        ! pom insoluble AI
    170   6.443, 6.443, 4.381, 1.846, 0.377, 0.052 /
    171 
    172   DATA cg_aers_6bands/ &
    173        ! bc soluble AS
    174   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    175   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    176   0.643, 0.643, 0.643, 0.654, 0.662, 0.670, 0.677, 0.688, 0.698, 0.704, 0.707, 0.715, &
    177   0.513, 0.513, 0.513, 0.522, 0.530, 0.536, 0.542, 0.552, 0.560, 0.565, 0.568, 0.575, &
    178   0.321, 0.321, 0.321, 0.323, 0.325, 0.327, 0.328, 0.331, 0.333, 0.334, 0.335, 0.337, &
    179   0.153, 0.153, 0.153, 0.149, 0.145, 0.142, 0.139, 0.135, 0.130, 0.128, 0.127, 0.123, &
    180        ! pom soluble AS
    181   0.687, 0.687, 0.687, 0.687, 0.687, 0.700, 0.710, 0.726, 0.736, 0.737, 0.738, 0.745, &
    182   0.687, 0.687, 0.687, 0.687, 0.687, 0.700, 0.710, 0.726, 0.736, 0.737, 0.738, 0.745, &
    183   0.658, 0.658, 0.658, 0.658, 0.658, 0.667, 0.674, 0.685, 0.692, 0.692, 0.693, 0.698, &
    184   0.564, 0.564, 0.564, 0.564, 0.564, 0.566, 0.568, 0.571, 0.573, 0.573, 0.573, 0.574, &
    185   0.363, 0.363, 0.363, 0.363, 0.363, 0.360, 0.357, 0.352, 0.350, 0.349, 0.349, 0.347, &
    186   0.142, 0.142, 0.142, 0.142, 0.142, 0.139, 0.137, 0.133, 0.131, 0.131, 0.130, 0.129, &
    187        ! sulfate AS
    188   0.675, 0.675, 0.675, 0.689, 0.701, 0.711, 0.720, 0.735, 0.748, 0.756, 0.760, 0.771, &
    189   0.675, 0.675, 0.675, 0.689, 0.701, 0.711, 0.720, 0.735, 0.748, 0.756, 0.760, 0.771, &
    190   0.653, 0.653, 0.653, 0.662, 0.670, 0.676, 0.683, 0.692, 0.701, 0.706, 0.709, 0.716, &
    191   0.563, 0.563, 0.563, 0.565, 0.567, 0.569, 0.570, 0.573, 0.575, 0.576, 0.577, 0.579, &
    192   0.362, 0.362, 0.362, 0.359, 0.356, 0.354, 0.352, 0.348, 0.345, 0.343, 0.342, 0.340, &
    193   0.137, 0.137, 0.137, 0.135, 0.133, 0.132, 0.130, 0.128, 0.126, 0.125, 0.124, 0.122, &
    194        ! sulfate coarse CS
    195   0.803, 0.803, 0.803, 0.792, 0.783, 0.776, 0.769, 0.758, 0.747, 0.742, 0.738, 0.730, &
    196   0.803, 0.803, 0.803, 0.792, 0.783, 0.776, 0.769, 0.758, 0.747, 0.742, 0.738, 0.730, &
    197   0.799, 0.799, 0.799, 0.787, 0.777, 0.768, 0.760, 0.747, 0.736, 0.729, 0.725, 0.716, &
    198   0.797, 0.797, 0.797, 0.782, 0.770, 0.760, 0.750, 0.735, 0.722, 0.714, 0.709, 0.698, &
    199   0.810, 0.810, 0.810, 0.794, 0.781, 0.770, 0.759, 0.743, 0.728, 0.719, 0.714, 0.702, &
    200   0.803, 0.803, 0.803, 0.790, 0.779, 0.770, 0.762, 0.748, 0.736, 0.729, 0.725, 0.715, &
    201         ! seasalt seasalt Super Coarse Soluble (SS)
    202   0.797, 0.800, 0.801, 0.802, 0.804, 0.822, 0.825, 0.828, 0.832, 0.835, 0.838, 0.843, &
    203   0.788, 0.792, 0.794, 0.795, 0.796, 0.815, 0.818, 0.822, 0.827, 0.829, 0.833, 0.838, &
    204   0.773, 0.778, 0.780, 0.782, 0.783, 0.802, 0.806, 0.811, 0.817, 0.820, 0.825, 0.832, &
    205   0.746, 0.753, 0.755, 0.759, 0.760, 0.781, 0.787, 0.792, 0.800, 0.805, 0.811, 0.820, &
    206   0.706, 0.714, 0.716, 0.720, 0.722, 0.749, 0.753, 0.761, 0.769, 0.774, 0.783, 0.797, &
    207   0.681, 0.682, 0.682, 0.683, 0.684, 0.723, 0.727, 0.732, 0.738, 0.741, 0.748, 0.757, &
    208         ! seasalt seasalt Coarse Soluble (CS)     
    209   0.756, 0.761, 0.764, 0.766, 0.769, 0.790, 0.793, 0.799, 0.805, 0.810, 0.815, 0.823, &
    210   0.736, 0.743, 0.747, 0.749, 0.751, 0.773, 0.778, 0.784, 0.793, 0.797, 0.804, 0.815, &
    211   0.712, 0.719, 0.721, 0.725, 0.726, 0.752, 0.758, 0.764, 0.773, 0.779, 0.786, 0.800, &
    212   0.690, 0.694, 0.695, 0.698, 0.699, 0.731, 0.738, 0.742, 0.751, 0.756, 0.764, 0.776, &
    213   0.682, 0.683, 0.683, 0.683, 0.684, 0.725, 0.729, 0.733, 0.737, 0.740, 0.744, 0.752, &
    214   0.669, 0.673, 0.674, 0.675, 0.676, 0.718, 0.724, 0.730, 0.736, 0.739, 0.742, 0.746, &
    215         ! seasalt seasalt Accumulation Soluble (AS)
    216   0.694, 0.692, 0.692, 0.691, 0.689, 0.737, 0.740, 0.742, 0.742, 0.740, 0.737, 0.731, &
    217   0.685, 0.690, 0.691, 0.692, 0.692, 0.735, 0.741, 0.746, 0.750, 0.751, 0.750, 0.744, &
    218   0.650, 0.662, 0.666, 0.670, 0.673, 0.710, 0.719, 0.729, 0.741, 0.747, 0.754, 0.757, &
    219   0.561, 0.585, 0.593, 0.601, 0.609, 0.637, 0.651, 0.669, 0.691, 0.705, 0.723, 0.745, &
    220   0.392, 0.427, 0.439, 0.451, 0.464, 0.480, 0.500, 0.526, 0.563, 0.588, 0.621, 0.671, &
    221   0.144, 0.170, 0.179, 0.189, 0.201, 0.207, 0.224, 0.248, 0.285, 0.315, 0.359, 0.439 /
     308   ! Dust insoluble
     309  0.735, 0.765, 0.817, 0.846, 0.718, 0.414, &
     310   ! BC insoluble
     311  5.276, 5.371, 5.126, 4.225, 2.667, 1.113, &
     312   ! POM insoluble
     313  5.962, 5.609, 4.527, 2.697, 0.918, 0.105, &
     314   ! Nitrate insoluble
     315  0.688, 0.712, 0.754, 0.809, 0.786, 0.703 /
     316
     317  DATA piz_aeri_6bands/ &
     318   ! Dust insoluble
     319  0.894, 0.902, 0.937, 0.980, 0.993, 0.967, &
     320   ! BC insoluble
     321  0.820, 0.760, 0.695, 0.603, 0.469, 0.276, &
     322   ! POM insoluble
     323  0.687, 0.685, 0.673, 0.637, 0.553, 0.340, &
     324   ! Nitrate insoluble
     325  1.000, 1.000, 1.000, 1.000, 0.999, 0.707 /
    222326
    223327  DATA cg_aeri_6bands/ &
    224        ! dust insoluble CI
    225   0.718, 0.718, 0.699, 0.661, 0.676, 0.670, &
    226        ! bc insoluble AI
    227   0.721, 0.721, 0.643, 0.513, 0.321, 0.153, &
    228        ! pom insoluble AI
    229   0.687, 0.687, 0.658, 0.564, 0.363, 0.142  /
    230 
    231   DATA piz_aers_6bands/&
    232        ! bc soluble AS
    233   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    234   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    235   0.445, 0.445, 0.445, 0.445, 0.445, 0.521, 0.583, 0.679, 0.741, 0.747, 0.753, 0.798, &
    236   0.394, 0.394, 0.394, 0.394, 0.394, 0.477, 0.545, 0.649, 0.718, 0.724, 0.730, 0.779, &
    237   0.267, 0.267, 0.267, 0.267, 0.267, 0.365, 0.446, 0.571, 0.652, 0.660, 0.667, 0.725, &
    238   0.121, 0.121, 0.121, 0.121, 0.121, 0.139, 0.155, 0.178, 0.193, 0.195, 0.196, 0.207, &
    239        ! pom soluble AS
    240   0.973, 0.973, 0.973, 0.973, 0.973, 0.977, 0.980, 0.984, 0.987, 0.988, 0.988, 0.990, &
    241   0.973, 0.973, 0.973, 0.973, 0.973, 0.977, 0.980, 0.984, 0.987, 0.988, 0.988, 0.990, &
    242   0.972, 0.972, 0.972, 0.972, 0.972, 0.976, 0.979, 0.984, 0.987, 0.987, 0.988, 0.990, &
    243   0.940, 0.940, 0.940, 0.940, 0.940, 0.948, 0.955, 0.965, 0.972, 0.973, 0.973, 0.978, &
    244   0.816, 0.816, 0.816, 0.816, 0.816, 0.839, 0.859, 0.888, 0.908, 0.910, 0.911, 0.925, &
    245   0.663, 0.663, 0.663, 0.663, 0.663, 0.607, 0.562, 0.492, 0.446, 0.441, 0.437, 0.404, &
    246        ! sulfate AS
    247   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    248   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    249   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    250   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    251   0.988, 0.988, 0.988, 0.989, 0.990, 0.990, 0.991, 0.992, 0.993, 0.993, 0.994, 0.994, &
    252   0.256, 0.256, 0.256, 0.263, 0.268, 0.273, 0.277, 0.284, 0.290, 0.294, 0.296, 0.301, &
    253        ! sulfate coarse CS
    254   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    255   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    256   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    257   1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    258   0.996, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, &
    259   0.877, 0.877, 0.877, 0.873, 0.870, 0.867, 0.864, 0.860, 0.856, 0.854, 0.852, 0.849, &
    260         ! seasalt seasalt Super Coarse Soluble (SS)
    261   0.983, 0.982, 0.982, 0.982, 0.982, 0.992, 0.993, 0.994, 0.995, 0.996, 0.997, 0.998, &
    262   0.984, 0.983, 0.983, 0.983, 0.983, 0.993, 0.994, 0.995, 0.996, 0.996, 0.997, 0.998, &
    263   0.986, 0.985, 0.985, 0.985, 0.984, 0.993, 0.994, 0.995, 0.996, 0.997, 0.997, 0.998, &
    264   0.989, 0.988, 0.988, 0.988, 0.987, 0.995, 0.996, 0.996, 0.997, 0.997, 0.998, 0.999, &
    265   0.994, 0.993, 0.992, 0.992, 0.992, 0.997, 0.997, 0.998, 0.998, 0.998, 0.999, 0.999, &
    266   0.997, 0.997, 0.997, 0.996, 0.996, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 1.000, &
    267         ! seasalt seasalt Coarse Soluble (CS)     
    268   0.988, 0.987, 0.987, 0.987, 0.986, 0.995, 0.995, 0.996, 0.997, 0.997, 0.998, 0.999, &
    269   0.990, 0.989, 0.989, 0.989, 0.989, 0.995, 0.996, 0.997, 0.997, 0.998, 0.998, 0.999, &
    270   0.993, 0.992, 0.992, 0.992, 0.991, 0.997, 0.997, 0.997, 0.998, 0.998, 0.998, 0.999, &
    271   0.996, 0.995, 0.995, 0.995, 0.994, 0.998, 0.998, 0.998, 0.999, 0.999, 0.999, 0.999, &
    272   0.998, 0.997, 0.997, 0.997, 0.997, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 1.000, &
    273   0.999, 0.998, 0.998, 0.998, 0.998, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, &
    274         ! seasalt seasalt Accumulation Soluble (AS)
    275   0.999, 0.998, 0.998, 0.998, 0.998, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, &
    276   0.999, 0.999, 0.999, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    277   0.999, 0.999, 0.999, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    278   0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
    279   0.997, 0.998, 0.998, 0.998, 0.998, 0.999, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, &
    280   0.985, 0.989, 0.990, 0.990, 0.991, 0.996, 0.997, 0.998, 0.999, 0.999, 0.999, 1.000 /
    281 
    282   DATA piz_aeri_6bands/ &
    283        ! dust insoluble CI
    284   0.954, 0.954, 0.965, 0.981, 0.996, 0.990, &
    285        ! bc insoluble AI
    286   0.460, 0.460, 0.445, 0.394, 0.267, 0.121, &
    287        ! pom insoluble AI
    288   0.973, 0.973, 0.972, 0.940, 0.816, 0.663 /
     328   ! Dust insoluble
     329  0.756, 0.737, 0.713, 0.701, 0.696, 0.672, &
     330   ! BC insoluble
     331  0.480, 0.469, 0.456, 0.427, 0.349, 0.196, &
     332   ! POM insoluble
     333  0.956, 0.965, 0.969, 0.953, 0.892, 0.826, &
     334   ! Nitrate insoluble
     335  0.765, 0.754, 0.743, 0.737, 0.739, 0.651 /
    289336
    290337! Added by R. Wang (July 31 2016)
    291338! properties for BC assuming Maxwell-Garnett rule and internal mixture
    292339
    293   DATA alpha_MG_6bands/ &
    294      ! bc content = 0.001
    295   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    296   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    297   5.900, 5.900, 5.900, 5.900, 5.900, 6.502, 7.151, 8.496, 9.818, 9.965,10.124,11.564, &
    298   4.284, 4.284, 4.284, 4.284, 4.284, 4.721, 5.193, 6.169, 7.129, 7.236, 7.352, 8.397, &
    299   2.163, 2.163, 2.163, 2.163, 2.163, 2.384, 2.622, 3.115, 3.600, 3.654, 3.712, 4.240, &
    300   0.966, 0.966, 0.966, 0.966, 0.966, 1.065, 1.171, 1.392, 1.608, 1.632, 1.658, 1.894, &
    301      ! bc content = 0.01
    302   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    303   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    304   5.900, 5.900, 5.900, 5.900, 5.900, 6.502, 7.151, 8.496, 9.818, 9.965,10.124,11.564, &
    305   4.284, 4.284, 4.284, 4.284, 4.284, 4.721, 5.193, 6.169, 7.129, 7.236, 7.352, 8.397, &
    306   2.163, 2.163, 2.163, 2.163, 2.163, 2.384, 2.622, 3.115, 3.600, 3.654, 3.712, 4.240, &
    307   0.966, 0.966, 0.966, 0.966, 0.966, 1.065, 1.171, 1.392, 1.608, 1.632, 1.658, 1.894, &
    308      ! bc content = 0.02
    309   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    310   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    311   5.900, 5.900, 5.900, 5.900, 5.900, 6.502, 7.151, 8.496, 9.818, 9.965,10.124,11.564, &
    312   4.284, 4.284, 4.284, 4.284, 4.284, 4.721, 5.193, 6.169, 7.129, 7.236, 7.352, 8.397, &
    313   2.163, 2.163, 2.163, 2.163, 2.163, 2.384, 2.622, 3.115, 3.600, 3.654, 3.712, 4.240, &
    314   0.966, 0.966, 0.966, 0.966, 0.966, 1.065, 1.171, 1.392, 1.608, 1.632, 1.658, 1.894, &
    315      ! bc content = 0.05
    316   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    317   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    318   5.900, 5.900, 5.900, 5.900, 5.900, 6.502, 7.151, 8.496, 9.818, 9.965,10.124,11.564, &
    319   4.284, 4.284, 4.284, 4.284, 4.284, 4.721, 5.193, 6.169, 7.129, 7.236, 7.352, 8.397, &
    320   2.163, 2.163, 2.163, 2.163, 2.163, 2.384, 2.622, 3.115, 3.600, 3.654, 3.712, 4.240, &
    321   0.966, 0.966, 0.966, 0.966, 0.966, 1.065, 1.171, 1.392, 1.608, 1.632, 1.658, 1.894, &
    322      ! bc content = 0.10
    323   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    324   6.497, 6.497, 6.497, 6.497, 6.497, 7.160, 7.875, 9.356,10.811,10.974,11.149,12.734, &
    325   5.900, 5.900, 5.900, 5.900, 5.900, 6.502, 7.151, 8.496, 9.818, 9.965,10.124,11.564, &
    326   4.284, 4.284, 4.284, 4.284, 4.284, 4.721, 5.193, 6.169, 7.129, 7.236, 7.352, 8.397, &
    327   2.163, 2.163, 2.163, 2.163, 2.163, 2.384, 2.622, 3.115, 3.600, 3.654, 3.712, 4.240, &
    328   0.966, 0.966, 0.966, 0.966, 0.966, 1.065, 1.171, 1.392, 1.608, 1.632, 1.658, 1.894 /
    329 
    330   DATA cg_MG_6bands/ &
    331      ! bc content = 0.001
    332   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    333   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    334   0.643, 0.643, 0.643, 0.654, 0.662, 0.670, 0.677, 0.688, 0.698, 0.704, 0.707, 0.715, &
    335   0.513, 0.513, 0.513, 0.522, 0.530, 0.536, 0.542, 0.552, 0.560, 0.565, 0.568, 0.575, &
    336   0.321, 0.321, 0.321, 0.323, 0.325, 0.327, 0.328, 0.331, 0.333, 0.334, 0.335, 0.337, &
    337   0.153, 0.153, 0.153, 0.149, 0.145, 0.142, 0.139, 0.135, 0.130, 0.128, 0.127, 0.123, &
    338      ! bc content = 0.01
    339   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    340   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    341   0.643, 0.643, 0.643, 0.654, 0.662, 0.670, 0.677, 0.688, 0.698, 0.704, 0.707, 0.715, &
    342   0.513, 0.513, 0.513, 0.522, 0.530, 0.536, 0.542, 0.552, 0.560, 0.565, 0.568, 0.575, &
    343   0.321, 0.321, 0.321, 0.323, 0.325, 0.327, 0.328, 0.331, 0.333, 0.334, 0.335, 0.337, &
    344   0.153, 0.153, 0.153, 0.149, 0.145, 0.142, 0.139, 0.135, 0.130, 0.128, 0.127, 0.123, &
    345      ! bc content = 0.02
    346   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    347   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    348   0.643, 0.643, 0.643, 0.654, 0.662, 0.670, 0.677, 0.688, 0.698, 0.704, 0.707, 0.715, &
    349   0.513, 0.513, 0.513, 0.522, 0.530, 0.536, 0.542, 0.552, 0.560, 0.565, 0.568, 0.575, &
    350   0.321, 0.321, 0.321, 0.323, 0.325, 0.327, 0.328, 0.331, 0.333, 0.334, 0.335, 0.337, &
    351   0.153, 0.153, 0.153, 0.149, 0.145, 0.142, 0.139, 0.135, 0.130, 0.128, 0.127, 0.123, &
    352      ! bc content = 0.05
    353   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    354   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    355   0.643, 0.643, 0.643, 0.654, 0.662, 0.670, 0.677, 0.688, 0.698, 0.704, 0.707, 0.715, &
    356   0.513, 0.513, 0.513, 0.522, 0.530, 0.536, 0.542, 0.552, 0.560, 0.565, 0.568, 0.575, &
    357   0.321, 0.321, 0.321, 0.323, 0.325, 0.327, 0.328, 0.331, 0.333, 0.334, 0.335, 0.337, &
    358   0.153, 0.153, 0.153, 0.149, 0.145, 0.142, 0.139, 0.135, 0.130, 0.128, 0.127, 0.123, &
    359      ! bc content = 0.10
    360   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    361   0.721, 0.721, 0.721, 0.729, 0.735, 0.741, 0.746, 0.754, 0.762, 0.766, 0.769, 0.775, &
    362   0.643, 0.643, 0.643, 0.654, 0.662, 0.670, 0.677, 0.688, 0.698, 0.704, 0.707, 0.715, &
    363   0.513, 0.513, 0.513, 0.522, 0.530, 0.536, 0.542, 0.552, 0.560, 0.565, 0.568, 0.575, &
    364   0.321, 0.321, 0.321, 0.323, 0.325, 0.327, 0.328, 0.331, 0.333, 0.334, 0.335, 0.337, &
    365   0.153, 0.153, 0.153, 0.149, 0.145, 0.142, 0.139, 0.135, 0.130, 0.128, 0.127, 0.123 /
    366 
    367   DATA piz_MG_6bands/ &
    368      ! bc content = 0.001
    369   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    370   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    371   0.445, 0.445, 0.445, 0.445, 0.445, 0.521, 0.583, 0.679, 0.741, 0.747, 0.753, 0.798, &
    372   0.394, 0.394, 0.394, 0.394, 0.394, 0.477, 0.545, 0.649, 0.718, 0.724, 0.730, 0.779, &
    373   0.267, 0.267, 0.267, 0.267, 0.267, 0.365, 0.446, 0.571, 0.652, 0.660, 0.667, 0.725, &
    374   0.121, 0.121, 0.121, 0.121, 0.121, 0.139, 0.155, 0.178, 0.193, 0.195, 0.196, 0.207, &
    375      ! bc content = 0.01
    376   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    377   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    378   0.445, 0.445, 0.445, 0.445, 0.445, 0.521, 0.583, 0.679, 0.741, 0.747, 0.753, 0.798, &
    379   0.394, 0.394, 0.394, 0.394, 0.394, 0.477, 0.545, 0.649, 0.718, 0.724, 0.730, 0.779, &
    380   0.267, 0.267, 0.267, 0.267, 0.267, 0.365, 0.446, 0.571, 0.652, 0.660, 0.667, 0.725, &
    381   0.121, 0.121, 0.121, 0.121, 0.121, 0.139, 0.155, 0.178, 0.193, 0.195, 0.196, 0.207, &
    382      ! bc content = 0.02
    383   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    384   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    385   0.445, 0.445, 0.445, 0.445, 0.445, 0.521, 0.583, 0.679, 0.741, 0.747, 0.753, 0.798, &
    386   0.394, 0.394, 0.394, 0.394, 0.394, 0.477, 0.545, 0.649, 0.718, 0.724, 0.730, 0.779, &
    387   0.267, 0.267, 0.267, 0.267, 0.267, 0.365, 0.446, 0.571, 0.652, 0.660, 0.667, 0.725, &
    388   0.121, 0.121, 0.121, 0.121, 0.121, 0.139, 0.155, 0.178, 0.193, 0.195, 0.196, 0.207, &
    389      ! bc content = 0.05
    390   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    391   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    392   0.445, 0.445, 0.445, 0.445, 0.445, 0.521, 0.583, 0.679, 0.741, 0.747, 0.753, 0.798, &
    393   0.394, 0.394, 0.394, 0.394, 0.394, 0.477, 0.545, 0.649, 0.718, 0.724, 0.730, 0.779, &
    394   0.267, 0.267, 0.267, 0.267, 0.267, 0.365, 0.446, 0.571, 0.652, 0.660, 0.667, 0.725, &
    395   0.121, 0.121, 0.121, 0.121, 0.121, 0.139, 0.155, 0.178, 0.193, 0.195, 0.196, 0.207, &
    396      ! bc content = 0.10
    397   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    398   0.460, 0.460, 0.460, 0.460, 0.460, 0.534, 0.594, 0.688, 0.748, 0.754, 0.760, 0.803, &
    399   0.445, 0.445, 0.445, 0.445, 0.445, 0.521, 0.583, 0.679, 0.741, 0.747, 0.753, 0.798, &
    400   0.394, 0.394, 0.394, 0.394, 0.394, 0.477, 0.545, 0.649, 0.718, 0.724, 0.730, 0.779, &
    401   0.267, 0.267, 0.267, 0.267, 0.267, 0.365, 0.446, 0.571, 0.652, 0.660, 0.667, 0.725, &
    402   0.121, 0.121, 0.121, 0.121, 0.121, 0.139, 0.155, 0.178, 0.193, 0.195, 0.196, 0.207 /
     340   DATA alpha_MG_6bands/ &
     341 !--BC content=0.001
     342   3.546,  3.546,  3.546,  3.546,  3.640,  3.891,  3.883,  4.354,  4.967,  5.424,  6.412,  9.049, &
     343   3.995,  3.995,  3.995,  3.995,  4.073,  4.091,  4.111,  4.209,  4.502,  4.878,  5.591,  8.029, &
     344   4.650,  4.650,  4.650,  4.650,  4.661,  4.561,  4.472,  4.386,  4.373,  4.451,  4.726,  6.248, &
     345   4.445,  4.445,  4.445,  4.445,  4.393,  4.291,  4.171,  4.017,  3.812,  3.682,  3.514,  3.593, &
     346   2.837,  2.837,  2.837,  2.837,  2.824,  2.798,  2.760,  2.696,  2.579,  2.471,  2.265,  1.735, &
     347   1.087,  1.087,  1.087,  1.087,  1.095,  1.101,  1.107,  1.110,  1.109,  1.101,  1.074,  0.944, &
     348 !--BC content=0.010
     349   3.550,  3.550,  3.550,  3.550,  3.623,  3.852,  4.006,  4.342,  4.945,  5.381,  6.394,  8.972, &
     350   3.995,  3.995,  3.995,  3.995,  4.082,  4.094,  4.133,  4.235,  4.517,  4.871,  5.601,  8.001, &
     351   4.653,  4.653,  4.653,  4.653,  4.662,  4.564,  4.475,  4.393,  4.376,  4.447,  4.736,  6.221, &
     352   4.434,  4.434,  4.434,  4.434,  4.386,  4.286,  4.170,  4.021,  3.815,  3.680,  3.524,  3.583, &
     353   2.831,  2.831,  2.831,  2.831,  2.820,  2.795,  2.757,  2.695,  2.579,  2.472,  2.270,  1.734, &
     354   1.086,  1.086,  1.086,  1.086,  1.095,  1.101,  1.106,  1.110,  1.108,  1.101,  1.075,  0.944, &
     355 !--BC content=0.020
     356   3.549,  3.549,  3.549,  3.549,  3.630,  3.842,  4.016,  4.335,  4.928,  5.383,  6.369,  8.937, &
     357   4.004,  4.004,  4.004,  4.004,  4.096,  4.100,  4.145,  4.243,  4.529,  4.870,  5.595,  7.973, &
     358   4.650,  4.650,  4.650,  4.650,  4.662,  4.564,  4.478,  4.397,  4.379,  4.449,  4.734,  6.207, &
     359   4.422,  4.422,  4.422,  4.422,  4.378,  4.280,  4.167,  4.020,  3.817,  3.683,  3.527,  3.583, &
     360   2.824,  2.824,  2.824,  2.824,  2.815,  2.791,  2.754,  2.693,  2.579,  2.472,  2.272,  1.740, &
     361   1.085,  1.085,  1.085,  1.085,  1.094,  1.100,  1.105,  1.109,  1.108,  1.100,  1.075,  0.945, &
     362 !--BC content=0.050
     363   3.563,  3.563,  3.563,  3.563,  3.662,  3.834,  4.019,  4.318,  4.889,  5.360,  6.305,  8.842, &
     364   4.039,  4.039,  4.039,  4.039,  4.130,  4.126,  4.166,  4.261,  4.544,  4.863,  5.573,  7.895, &
     365   4.641,  4.641,  4.641,  4.641,  4.659,  4.565,  4.483,  4.407,  4.389,  4.455,  4.731,  6.161, &
     366   4.388,  4.388,  4.388,  4.388,  4.356,  4.264,  4.157,  4.017,  3.821,  3.691,  3.537,  3.582, &
     367   2.805,  2.805,  2.805,  2.805,  2.801,  2.779,  2.744,  2.687,  2.577,  2.474,  2.279,  1.757, &
     368   1.081,  1.081,  1.081,  1.081,  1.091,  1.098,  1.103,  1.107,  1.106,  1.099,  1.074,  0.949, &
     369 !--BC content=0.100
     370   3.607,  3.607,  3.607,  3.607,  3.701,  3.843,  4.021,  4.302,  4.841,  5.306,  6.214,  8.689, &
     371   4.098,  4.098,  4.098,  4.098,  4.175,  4.168,  4.201,  4.291,  4.554,  4.854,  5.529,  7.763, &
     372   4.627,  4.627,  4.627,  4.627,  4.651,  4.567,  4.490,  4.421,  4.403,  4.464,  4.723,  6.082, &
     373   4.333,  4.333,  4.333,  4.333,  4.319,  4.236,  4.139,  4.011,  3.828,  3.704,  3.554,  3.580, &
     374   2.773,  2.773,  2.773,  2.773,  2.778,  2.758,  2.727,  2.675,  2.573,  2.476,  2.291,  1.786, &
     375   1.076,  1.076,  1.076,  1.076,  1.087,  1.094,  1.099,  1.103,  1.103,  1.097,  1.073,  0.954, &
     376 !--BC content=0.200
     377   3.702,  3.702,  3.702,  3.702,  3.768,  3.878,  4.030,  4.278,  4.757,  5.190,  6.032,  8.370, &
     378   4.204,  4.204,  4.204,  4.204,  4.255,  4.246,  4.270,  4.345,  4.571,  4.837,  5.440,  7.494, &
     379   4.598,  4.598,  4.598,  4.598,  4.633,  4.565,  4.502,  4.445,  4.428,  4.481,  4.706,  5.923, &
     380   4.230,  4.230,  4.230,  4.230,  4.244,  4.179,  4.101,  3.996,  3.838,  3.728,  3.588,  3.581, &
     381   2.710,  2.710,  2.710,  2.710,  2.730,  2.716,  2.693,  2.651,  2.564,  2.480,  2.314,  1.846, &
     382   1.064,  1.064,  1.064,  1.064,  1.078,  1.085,  1.091,  1.096,  1.097,  1.091,  1.072,  0.965  /
     383   
     384   DATA piz_MG_6bands/ &
     385 !--BC content=0.001
     386  -3.984, -3.984, -3.984, -3.984, -3.395, -3.075, -3.051, -2.567, -2.053, -1.807, -1.308, -0.592, &
     387  -3.014, -3.014, -3.014, -3.014, -2.520, -2.473, -2.411, -2.294, -2.027, -1.771, -1.368, -0.613, &
     388  -1.142, -1.142, -1.142, -1.142, -0.930, -0.961, -0.981, -1.001, -0.981, -0.934, -0.798, -0.337, &
     389  -0.202, -0.202, -0.202, -0.202, -0.129, -0.154, -0.183, -0.224, -0.284, -0.326, -0.383, -0.347, &
     390   0.133,  0.133,  0.133,  0.133,  0.158,  0.146,  0.131,  0.107,  0.061,  0.015, -0.081, -0.433, &
     391   0.137,  0.137,  0.137,  0.137,  0.148,  0.149,  0.149,  0.147,  0.139,  0.128,  0.098, -0.048, &
     392 !--BC content=0.010
     393  -3.640, -3.640, -3.640, -3.640, -3.219, -2.942, -2.761, -2.445, -1.983, -1.731, -1.262, -0.576, &
     394  -2.791, -2.791, -2.791, -2.791, -2.383, -2.352, -2.290, -2.180, -1.943, -1.707, -1.321, -0.595, &
     395  -1.069, -1.069, -1.069, -1.069, -0.889, -0.920, -0.945, -0.966, -0.954, -0.910, -0.775, -0.333, &
     396  -0.185, -0.185, -0.185, -0.185, -0.119, -0.144, -0.173, -0.213, -0.275, -0.318, -0.372, -0.346, &
     397   0.138,  0.138,  0.138,  0.138,  0.160,  0.149,  0.134,  0.110,  0.063,  0.018, -0.076, -0.430, &
     398   0.137,  0.137,  0.137,  0.137,  0.148,  0.149,  0.150,  0.148,  0.140,  0.129,  0.099, -0.046, &
     399 !--BC content=0.020
     400  -3.369, -3.369, -3.369, -3.369, -3.033, -2.799, -2.619, -2.339, -1.913, -1.657, -1.223, -0.558, &
     401  -2.592, -2.592, -2.592, -2.592, -2.254, -2.239, -2.185, -2.091, -1.869, -1.652, -1.284, -0.580, &
     402  -1.004, -1.004, -1.004, -1.004, -0.849, -0.882, -0.909, -0.932, -0.926, -0.885, -0.758, -0.326, &
     403  -0.168, -0.168, -0.168, -0.168, -0.108, -0.133, -0.163, -0.203, -0.265, -0.309, -0.364, -0.341, &
     404   0.142,  0.142,  0.142,  0.142,  0.163,  0.152,  0.137,  0.113,  0.066,  0.022, -0.072, -0.422, &
     405   0.138,  0.138,  0.138,  0.138,  0.149,  0.150,  0.150,  0.148,  0.140,  0.129,  0.100, -0.044, &
     406 !--BC content=0.050
     407  -2.743, -2.743, -2.743, -2.743, -2.582, -2.438, -2.292, -2.078, -1.729, -1.495, -1.123, -0.512, &
     408  -2.121, -2.121, -2.121, -2.121, -1.939, -1.951, -1.926, -1.865, -1.688, -1.511, -1.188, -0.541, &
     409  -0.839, -0.839, -0.839, -0.839, -0.742, -0.780, -0.812, -0.842, -0.848, -0.818, -0.707, -0.307, &
     410  -0.121, -0.121, -0.121, -0.121, -0.078, -0.103, -0.133, -0.174, -0.236, -0.281, -0.337, -0.325, &
     411   0.154,  0.154,  0.154,  0.154,  0.171,  0.160,  0.145,  0.121,  0.075,  0.032, -0.060, -0.399, &
     412   0.141,  0.141,  0.141,  0.141,  0.150,  0.151,  0.152,  0.150,  0.142,  0.131,  0.103, -0.038, &
     413 !--BC content=0.100
     414  -2.025, -2.025, -2.025, -2.025, -2.035, -1.965, -1.875, -1.731, -1.475, -1.285, -0.980, -0.447, &
     415  -1.569, -1.569, -1.569, -1.569, -1.540, -1.572, -1.580, -1.557, -1.444, -1.312, -1.052, -0.485, &
     416  -0.628, -0.628, -0.628, -0.628, -0.593, -0.634, -0.672, -0.710, -0.732, -0.716, -0.631, -0.279, &
     417  -0.054, -0.054, -0.054, -0.054, -0.032, -0.058, -0.088, -0.129, -0.191, -0.236, -0.295, -0.299, &
     418   0.173,  0.173,  0.173,  0.173,  0.184,  0.173,  0.158,  0.135,  0.090,  0.048, -0.039, -0.361, &
     419   0.145,  0.145,  0.145,  0.145,  0.153,  0.154,  0.154,  0.152,  0.144,  0.134,  0.107, -0.027, &
     420 !--BC content=0.200
     421  -1.155, -1.155, -1.155, -1.155, -1.300, -1.295, -1.272, -1.213, -1.077, -0.957, -0.747, -0.336, &
     422  -0.884, -0.884, -0.884, -0.884, -0.979, -1.028, -1.065, -1.086, -1.054, -0.986, -0.820, -0.388, &
     423  -0.332, -0.332, -0.332, -0.332, -0.360, -0.402, -0.444, -0.490, -0.531, -0.536, -0.492, -0.225, &
     424   0.050,  0.050,  0.050,  0.050,  0.048,  0.022, -0.007, -0.047, -0.107, -0.152, -0.213, -0.245, &
     425   0.204,  0.204,  0.204,  0.204,  0.208,  0.197,  0.182,  0.161,  0.120,  0.081,  0.002, -0.285, &
     426   0.153,  0.153,  0.153,  0.153,  0.159,  0.159,  0.159,  0.157,  0.150,  0.140,  0.115, -0.005  /
     427   
     428   DATA cg_MG_6bands/ &
     429 !--BC content=0.001
     430   0.290,  0.290,  0.290,  0.290,  0.378,  0.381,  0.377,  0.378,  0.373,  0.344,  0.317,  0.118, &
     431   0.374,  0.374,  0.374,  0.374,  0.469,  0.474,  0.480,  0.480,  0.475,  0.462,  0.438,  0.242, &
     432   0.375,  0.375,  0.375,  0.375,  0.491,  0.502,  0.517,  0.527,  0.534,  0.529,  0.508,  0.255, &
     433   0.242,  0.242,  0.242,  0.242,  0.455,  0.516,  0.577,  0.631,  0.687,  0.715,  0.748,  0.772, &
     434   0.559,  0.559,  0.559,  0.559,  0.487,  0.461,  0.410,  0.303, -0.181, -3.594,  1.814,  1.164, &
     435   0.323,  0.323,  0.323,  0.323,  0.339,  0.339,  0.337,  0.328,  0.295,  0.243,  0.045,  2.778, &
     436 !--BC content=0.010
     437   0.300,  0.300,  0.300,  0.300,  0.385,  0.389,  0.390,  0.386,  0.377,  0.353,  0.319,  0.116, &
     438   0.384,  0.384,  0.384,  0.384,  0.478,  0.482,  0.488,  0.488,  0.483,  0.471,  0.442,  0.246, &
     439   0.380,  0.380,  0.380,  0.380,  0.496,  0.507,  0.520,  0.531,  0.538,  0.534,  0.512,  0.259, &
     440   0.233,  0.233,  0.233,  0.233,  0.454,  0.520,  0.581,  0.636,  0.691,  0.719,  0.752,  0.778, &
     441   0.553,  0.553,  0.553,  0.553,  0.487,  0.461,  0.414,  0.308, -0.144, -2.858,  1.889,  1.165, &
     442   0.323,  0.323,  0.323,  0.323,  0.338,  0.339,  0.337,  0.328,  0.295,  0.244,  0.051,  2.847, &
     443 !--BC content=0.020
     444   0.305,  0.305,  0.305,  0.305,  0.391,  0.394,  0.395,  0.390,  0.380,  0.358,  0.321,  0.112, &
     445   0.391,  0.391,  0.391,  0.391,  0.484,  0.488,  0.493,  0.493,  0.488,  0.476,  0.445,  0.246, &
     446   0.384,  0.384,  0.384,  0.384,  0.499,  0.511,  0.524,  0.534,  0.541,  0.537,  0.514,  0.260, &
     447   0.219,  0.219,  0.219,  0.219,  0.451,  0.523,  0.586,  0.642,  0.696,  0.724,  0.756,  0.783, &
     448   0.547,  0.547,  0.547,  0.547,  0.487,  0.461,  0.416,  0.315, -0.108, -2.308,  1.954,  1.170, &
     449   0.322,  0.322,  0.322,  0.322,  0.338,  0.339,  0.337,  0.328,  0.296,  0.245,  0.056,  2.949, &
     450 !--BC content=0.050
     451   0.312,  0.312,  0.312,  0.312,  0.400,  0.402,  0.403,  0.398,  0.385,  0.364,  0.321,  0.094, &
     452   0.402,  0.402,  0.402,  0.402,  0.495,  0.498,  0.503,  0.503,  0.496,  0.484,  0.451,  0.242, &
     453   0.388,  0.388,  0.388,  0.388,  0.506,  0.518,  0.530,  0.541,  0.548,  0.544,  0.521,  0.259, &
     454   0.152,  0.152,  0.152,  0.152,  0.434,  0.527,  0.599,  0.658,  0.711,  0.738,  0.768,  0.794, &
     455   0.534,  0.534,  0.534,  0.534,  0.486,  0.463,  0.423,  0.332, -0.018, -1.355,  2.203,  1.188, &
     456   0.321,  0.321,  0.321,  0.321,  0.337,  0.338,  0.336,  0.328,  0.297,  0.249,  0.071,  3.311, &
     457 !--BC content=0.100
     458   0.309,  0.309,  0.309,  0.309,  0.404,  0.405,  0.406,  0.401,  0.385,  0.364,  0.316,  0.057, &
     459   0.406,  0.406,  0.406,  0.406,  0.503,  0.507,  0.511,  0.512,  0.504,  0.491,  0.456,  0.232, &
     460   0.382,  0.382,  0.382,  0.382,  0.510,  0.523,  0.537,  0.548,  0.555,  0.551,  0.528,  0.255, &
     461  -0.178, -0.178, -0.178, -0.178,  0.312,  0.524,  0.626,  0.692,  0.741,  0.765,  0.791,  0.816, &
     462   0.519,  0.519,  0.519,  0.519,  0.486,  0.466,  0.432,  0.357,  0.091, -0.650,  2.968,  1.221, &
     463   0.319,  0.319,  0.319,  0.319,  0.336,  0.337,  0.335,  0.328,  0.300,  0.255,  0.094,  4.314, &
     464 !--BC content=0.200
     465   0.267,  0.267,  0.267,  0.267,  0.388,  0.391,  0.392,  0.387,  0.370,  0.345,  0.287, -0.053, &
     466   0.381,  0.381,  0.381,  0.381,  0.499,  0.506,  0.512,  0.514,  0.507,  0.494,  0.455,  0.198, &
     467   0.318,  0.318,  0.318,  0.318,  0.494,  0.515,  0.535,  0.551,  0.561,  0.559,  0.535,  0.237, &
     468   1.151,  1.151,  1.151,  1.151,  0.703,  0.643,  1.248,  0.874,  0.846,  0.846,  0.853,  0.868, &
     469   0.502,  0.502,  0.502,  0.502,  0.486,  0.472,  0.447,  0.393,  0.226, -0.108,-43.753,  1.313, &
     470   0.315,  0.315,  0.315,  0.315,  0.332,  0.334,  0.333,  0.327,  0.304,  0.266,  0.135, 21.079  /
    403471
    404472!----BEGINNING OF CALCULATIONS
     473
     474  modname='aeropt_6bands_rrtm'
    405475
    406476  spsol = 0
     
    408478
    409479  IF (NSW.NE.nbands_sw_rrtm) THEN
    410      print *,'Erreur NSW doit etre egal a 6 pour cette routine'
    411      stop
     480    CALL abort_physic(modname,'Erreur NSW doit etre egal a 6 pour cette routine',1)
    412481  ENDIF
    413482
     
    440509     aerosol_name(1) = id_CIDUSTM_phy
    441510  ELSEIF (flag_aerosol .EQ. 6) THEN
    442      nb_aer = 10
     511     nb_aer = 13
    443512     ALLOCATE (aerosol_name(nb_aer))
    444513     aerosol_name(1) = id_ASSO4M_phy     
     
    452521     aerosol_name(9) = id_CIDUSTM_phy
    453522     aerosol_name(10)= id_CSSO4M_phy
     523     aerosol_name(11)= id_CSNO3M_phy
     524     aerosol_name(12)= id_ASNO3M_phy
     525     aerosol_name(13)= id_CINO3M_phy
    454526  ENDIF
    455527
     
    491563        soluble=.TRUE.
    492564        spsol=2
    493      ELSEIF (aerosol_name(m).EQ.id_ASSO4M_phy) THEN
     565     ELSEIF (aerosol_name(m).EQ.id_CSSO4M_phy) THEN
    494566        soluble=.TRUE.
    495567        spsol=3
    496568        fac=1.375    ! (NH4)2-SO4/SO4 132/96 mass conversion factor for AOD
    497      ELSEIF  (aerosol_name(m).EQ.id_CSSO4M_phy) THEN
     569     ELSEIF  (aerosol_name(m).EQ.id_ASSO4M_phy) THEN
    498570        soluble=.TRUE.
    499571        spsol=4
     
    508580         soluble=.TRUE.
    509581         spsol=7
     582     ELSEIF (aerosol_name(m).EQ.id_CSNO3M_phy) THEN
     583         soluble=.TRUE.
     584         spsol=8
     585         fac=1.2903    ! NO3NH4/NO3 / mass conversion factor for AOD
     586     ELSEIF (aerosol_name(m).EQ.id_ASNO3M_phy) THEN
     587         soluble=.TRUE.
     588         spsol=9
     589         fac=1.2903    ! NO3NH4/NO3 / mass conversion factor for AOD
    510590     ELSEIF (aerosol_name(m).EQ.id_CIDUSTM_phy) THEN
    511591         soluble=.FALSE.
     
    517597         soluble=.FALSE.
    518598         spinsol=3
     599     ELSEIF (aerosol_name(m).EQ.id_CINO3M_phy) THEN
     600         soluble=.FALSE.
     601         spinsol=4
     602         fac=1.2903    ! NO3NH4/NO3 / mass conversion factor for AOD
    519603     ELSE
    520604         CYCLE
     
    522606
    523607    !--shortname for aerosol index
    524     id=aerosol_name(m)
     608    aerindex=aerosol_name(m)
    525609
    526610    IF (soluble) THEN
     
    532616           DO i=1, klon
    533617
    534              tmp_var=m_allaer(i,k,spsol)/1.e6*zdh(i,k)*fac
    535              tmp_var_pi=m_allaer_pi(i,k,spsol)/1.e6*zdh(i,k)*fac
     618             tmp_var=m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*fac
     619             tmp_var_pi=m_allaer_pi(i,k,aerindex)/1.e6*zdh(i,k)*fac
    536620
    537621             ! Calculate the dry BC/(BC+SUL) mass ratio for all (natural+anthropogenic) aerosols
    538622             BC_massfra = m_allaer(i,k,id_ASBCM_phy)/(m_allaer(i,k,id_ASBCM_phy)+m_allaer(i,k,id_ASSO4M_phy))
    539623
    540              IF (BC_massfra.GE.0.10) THEN
     624             IF (BC_massfra.GE.0.20) THEN
     625               classbc = 6
     626             ELSEIF (BC_massfra.GE.0.10) THEN
    541627               classbc = 5
    542628             ELSEIF  (BC_massfra.GE.0.05) THEN
     
    553639             BC_massfra_pi = m_allaer_pi(i,k,id_ASBCM_phy)/(m_allaer_pi(i,k,id_ASBCM_phy)+m_allaer_pi(i,k,id_ASSO4M_phy))
    554640
    555              IF (BC_massfra_pi.GE.0.10) THEN
     641             IF (BC_massfra_pi.GE.0.20) THEN
     642               classbc_pi = 6
     643             ELSEIF (BC_massfra_pi.GE.0.10) THEN
    556644               classbc_pi = 5
    557645             ELSEIF  (BC_massfra_pi.GE.0.05) THEN
     
    565653             ENDIF
    566654
    567              DO inu=1,NSW
     655             DO inu=1, NSW
    568656
    569657               !--all aerosols
     
    580668                             cg_MG_6bands(RH_num(i,k),inu,classbc))
    581669
    582                tau_ae(i,k,id,inu)    = tmp_var*tau_ae2b_int
    583                piz_ae(i,k,id,inu)    = piz_ae2b_int
    584                cg_ae(i,k,id,inu)     = cg_ae2b_int
     670               tau_ae(i,k,aerindex,inu)    = tmp_var*tau_ae2b_int
     671               piz_ae(i,k,aerindex,inu)    = piz_ae2b_int
     672               cg_ae(i,k,aerindex,inu)     = cg_ae2b_int
    585673
    586674               !--natural aerosols
     
    597685                             cg_MG_6bands(RH_num(i,k),inu,classbc_pi))
    598686
    599                tau_ae_pi(i,k,id,inu) = tmp_var_pi* tau_ae2b_int
    600                piz_ae_pi(i,k,id,inu) = piz_ae2b_int
    601                cg_ae_pi(i,k,id,inu)  = cg_ae2b_int
     687               tau_ae_pi(i,k,aerindex,inu) = tmp_var_pi* tau_ae2b_int
     688               piz_ae_pi(i,k,aerindex,inu) = piz_ae2b_int
     689               cg_ae_pi(i,k,aerindex,inu)  = cg_ae2b_int
    602690                       
    603691             ENDDO
     
    610698         DO k=1, klev
    611699           DO i=1, klon
    612              tmp_var=m_allaer(i,k,spsol)/1.e6*zdh(i,k)*fac
    613              tmp_var_pi=m_allaer_pi(i,k,spsol)/1.e6*zdh(i,k)*fac
    614 
    615              DO inu=1,NSW
     700             tmp_var=m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*fac
     701             tmp_var_pi=m_allaer_pi(i,k,aerindex)/1.e6*zdh(i,k)*fac
     702
     703             DO inu=1, NSW
    616704
    617705               tau_ae2b_int= alpha_aers_6bands(RH_num(i,k),inu,spsol)+ &
     
    627715                             cg_aers_6bands(RH_num(i,k),inu,spsol))
    628716
    629                tau_ae(i,k,id,inu)    = tmp_var*tau_ae2b_int
    630                tau_ae_pi(i,k,id,inu) = tmp_var_pi* tau_ae2b_int
    631                piz_ae(i,k,id,inu)    = piz_ae2b_int
    632                cg_ae(i,k,id,inu)     = cg_ae2b_int
     717               tau_ae(i,k,aerindex,inu)    = tmp_var*tau_ae2b_int
     718               tau_ae_pi(i,k,aerindex,inu) = tmp_var_pi* tau_ae2b_int
     719               piz_ae(i,k,aerindex,inu)    = piz_ae2b_int
     720               cg_ae(i,k,aerindex,inu)     = cg_ae2b_int
    633721                       
    634722             ENDDO
     
    638726         !--external mixture case for soluble BC
    639727         IF (spsol.EQ.1) THEN
    640            piz_ae_pi(:,:,id,:) = piz_ae(:,:,id,:)
    641            cg_ae_pi(:,:,id,:)  = cg_ae(:,:,id,:)
     728           piz_ae_pi(:,:,aerindex,:) = piz_ae(:,:,aerindex,:)
     729           cg_ae_pi(:,:,aerindex,:)  = cg_ae(:,:,aerindex,:)
    642730         ENDIF
    643731
     
    648736       DO k=1, klev
    649737         DO i=1, klon
    650            tmp_var=m_allaer(i,k,naero_soluble+spinsol)/1.e6*zdh(i,k)*fac
    651            tmp_var_pi=m_allaer_pi(i,k,naero_soluble+spinsol)/1.e6*zdh(i,k)*fac
    652 
    653            DO inu=1,NSW
     738           tmp_var=m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*fac
     739           tmp_var_pi=m_allaer_pi(i,k,aerindex)/1.e6*zdh(i,k)*fac
     740
     741           DO inu=1, NSW
    654742             tau_ae2b_int = alpha_aeri_6bands(inu,spinsol)
    655743             piz_ae2b_int = piz_aeri_6bands(inu,spinsol)
    656744             cg_ae2b_int = cg_aeri_6bands(inu,spinsol)
    657745
    658              tau_ae(i,k,id,inu) = tmp_var*tau_ae2b_int
    659              tau_ae_pi(i,k,id,inu) = tmp_var_pi*tau_ae2b_int
    660              piz_ae(i,k,id,inu) = piz_ae2b_int
    661              cg_ae(i,k,id,inu)= cg_ae2b_int
     746             tau_ae(i,k,aerindex,inu) = tmp_var*tau_ae2b_int
     747             tau_ae_pi(i,k,aerindex,inu) = tmp_var_pi*tau_ae2b_int
     748             piz_ae(i,k,aerindex,inu) = piz_ae2b_int
     749             cg_ae(i,k,aerindex,inu)= cg_ae2b_int
    662750           ENDDO
    663751         ENDDO
  • LMDZ5/branches/testing/libf/phylmd/rrtm/aeropt_lw_rrtm.F90

    r2542 r2787  
    22! aeropt_lw_rrtm.F90 2014-05-13 C. Kleinschmitt
    33!                    2016-05-03 O. Boucher
     4!                    2016-12-17 O. Boucher
    45!
    56! This routine feeds aerosol LW properties to RRTM
    67! we only consider absorption (not scattering)
     8! we only consider dust for now
    79
    8 SUBROUTINE AEROPT_LW_RRTM(aerosol_couple,paprs,tr_seri)
     10SUBROUTINE AEROPT_LW_RRTM(ok_alw, pdel, zrho, flag_aerosol, m_allaer, m_allaer_pi)
    911
    1012  USE dimphy
    1113  USE aero_mod
    12   USE infotrac_phy
    13   USE phys_state_var_mod, ONLY : tau_aero_lw_rrtm
    14   USE YOERAD, ONLY : NLW
     14  USE phys_state_var_mod, ONLY: tau_aero_lw_rrtm
     15  USE YOERAD, ONLY: NLW
     16  USE YOMCST, ONLY: RG
    1517
    1618  IMPLICIT NONE
    1719
    18   INCLUDE "YOMCST.h"
    1920  INCLUDE "clesphys.h"
    2021  !
    2122  ! Input arguments:
    2223  !
    23   LOGICAL, INTENT(IN)                         :: aerosol_couple
    24   REAL, DIMENSION(klon,klev+1), INTENT(in)    :: paprs
    25   REAL, DIMENSION(klon,klev,nbtr), INTENT(in) :: tr_seri
    26   !
    27   REAL, DIMENSION(klon,klev) :: zdp, mass_temp
    28   !
     24  LOGICAL, INTENT(IN)                              :: ok_alw
     25  INTEGER, INTENT(IN)                              :: flag_aerosol
     26  REAL, DIMENSION(klon,klev), INTENT(IN)           :: pdel, zrho
     27  REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer, m_allaer_pi
    2928  !
    3029  INTEGER inu, i, k
    31   INTEGER :: id_ASBCM, id_ASPOMM, id_ASSO4M, id_ASMSAM, id_CSSO4M, id_CSMSAM, id_SSSSM
    32   INTEGER :: id_CSSSM, id_ASSSM, id_CIDUSTM, id_AIBCM, id_AIPOMM, id_ASNO3M, id_CSNO3M, id_CINO3M
    33 
     30  REAL :: zdh(klon,klev)
     31  REAL :: tmp_var, tmp_var_pi
     32  CHARACTER*20 modname
    3433  !
    3534  !--absorption coefficient for CIDUST
    3635  REAL:: alpha_abs_CIDUST_16bands(nbands_lw_rrtm)   !--unit m2/g
    37   DATA alpha_abs_CIDUST_16bands /              &
    38        0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, &
    39        0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0  /
     36  DATA alpha_abs_CIDUST_16bands /                         &
     37  0.001, 0.003, 0.005, 0.006, 0.012, 0.030, 0.148, 0.098, &
     38  0.017, 0.053, 0.031, 0.008, 0.010, 0.011, 0.013, 0.015  /
     39  !
     40  modname='aeropt_lw_rrtm'
    4041  !
    4142  IF (NLW.NE.nbands_lw_rrtm) THEN
    42      print *,'Erreur NLW doit etre egal a 16 pour cette routine'
    43      stop
     43    CALL abort_physic(modname,'Erreur NLW doit etre egal a 16 pour cette routine',1)
    4444  ENDIF
    4545  !
    46   IF (aerosol_couple) THEN
    47   !
    48       do i=1,nbtr
    49       select case(trim(solsym(i)))
    50          case ("ASBCM")
    51             id_ASBCM = i
    52          case ("ASPOMM")
    53             id_ASPOMM = i
    54          case ("ASSO4M")
    55             id_ASSO4M = i
    56          case ("ASMSAM")
    57             id_ASMSAM = i
    58          case ("CSSO4M")
    59             id_CSSO4M = i
    60          case ("CSMSAM")
    61             id_CSMSAM = i
    62          case ("SSSSM")
    63             id_SSSSM = i
    64          case ("CSSSM")
    65             id_CSSSM = i
    66          case ("ASSSM")
    67             id_ASSSM = i
    68          case ("CIDUSTM")
    69             id_CIDUSTM = i
    70          case ("AIBCM")
    71             id_AIBCM = i
    72          case ("AIPOMM")
    73             id_AIPOMM = i
    74          case ("ASNO3M")
    75             id_ASNO3M = i
    76          case ("CSNO3M")
    77             id_CSNO3M = i
    78          case ("CINO3M")
    79             id_CINO3M = i
    80          end select
    81     enddo
     46  IF (ok_alw) THEN                                   !--aerosol LW effects
     47   !
     48   IF (flag_aerosol.EQ.5.OR.flag_aerosol.EQ.6) THEN  !-Dust
     49    !
     50    zdh(:,:)=pdel(:,:)/(RG*zrho(:,:))      ! m
    8251    !
    8352    DO k=1, klev
    84        zdp(:,k) = (paprs(:,k)-paprs(:,k+1))/RG !--kg/m2
    85     ENDDO
    86     !
    87     !--for now only consider dust
    88     mass_temp(:,:)=tr_seri(:,:,id_CIDUSTM)  !--kg/kg
    89     !
    90     DO inu=1,NLW
    91       !
    92       !--total aerosol
    93       tau_aero_lw_rrtm(:,:,2,inu) = mass_temp(:,:)*zdp(:,:)*1000.*alpha_abs_CIDUST_16bands(inu)
    94       !--no aerosol at all
    95       tau_aero_lw_rrtm(:,:,1,inu) = 0.0
     53      DO i=1, klon
     54         !
     55         tmp_var   =m_allaer(i,k,id_CIDUSTM_phy)   /1.e6*zdh(i,k)  !--g/m2
     56         tmp_var_pi=m_allaer_pi(i,k,id_CIDUSTM_phy)/1.e6*zdh(i,k)  !--g/m2
     57         !
     58         DO inu=1, NLW
     59           !
     60           !--total aerosol
     61           tau_aero_lw_rrtm(i,k,2,inu) = MAX(1.e-15,tmp_var*alpha_abs_CIDUST_16bands(inu))
     62           !--natural aerosol
     63!           tau_aero_lw_rrtm(:,:,1,inu) = MAX(1.e-15,tmp_var_pi*alpha_abs_CIDUST_16bands(inu))
     64           tau_aero_lw_rrtm(i,k,1,inu) = 1.e-15  !--test
     65           !
     66         ENDDO
     67      ENDDO
    9668      !
    9769    ENDDO
     70    !
     71   ENDIF
     72   !
     73  ELSE !--no aerosol LW effects
    9874    !
    99     !--avoid very small values
    100     tau_aero_lw_rrtm = MAX(tau_aero_lw_rrtm,1.e-15)
    101     !
    102   ELSE !--not aerosol_couple
    103     !
    104     !--no LW effects if not coupled to INCA
    10575    tau_aero_lw_rrtm = 1.e-15
    10676  ENDIF
  • LMDZ5/branches/testing/libf/phylmd/rrtm/read_rsun_rrtm.F90

    r2729 r2787  
    1616  USE mod_phys_lmdz_para
    1717
    18   USE YOESW    , ONLY : RSUN
     18  USE YOESW, ONLY : RSUN
    1919
    2020  IMPLICIT NONE
     
    3333!$OMP THREADPRIVATE(TSI)
    3434
    35   INTEGER, SAVE :: day_pre
     35  INTEGER, SAVE :: day_pre=1
     36!$OMP THREADPRIVATE(day_pre)
    3637
    3738!--only one processor reads
  • LMDZ5/branches/testing/libf/phylmd/rrtm/readaerosol_optic_rrtm.F90

    r2720 r2787  
    11! $Id$
    22!
    3 SUBROUTINE readaerosol_optic_rrtm(debut, aerosol_couple, &
     3SUBROUTINE readaerosol_optic_rrtm(debut, aerosol_couple, ok_alw, &
    44     new_aod, flag_aerosol, flag_bc_internal_mixture, itap, rjourvrai, &
    55     pdtphys, pplay, paprs, t_seri, rhcl, presnivs, &
     
    3030  LOGICAL, INTENT(IN)                      :: debut
    3131  LOGICAL, INTENT(IN)                      :: aerosol_couple
     32  LOGICAL, INTENT(IN)                      :: ok_alw
    3233  LOGICAL, INTENT(IN)                      :: new_aod
    3334  INTEGER, INTENT(IN)                      :: flag_aerosol
     
    281282  ! Calculate the total mass of all soluble aersosols
    282283  ! to be revisited for AR6
    283   mass_solu_aero(:,:)    = sulfacc(:,:)    + bcsol(:,:)    + pomsol(:,:)   + nitracc(:,:) + ssacu(:,:)
    284   mass_solu_aero_pi(:,:) = sulfacc_pi(:,:) + bcsol_pi(:,:) + pomsol_pi(:,:) + nitracc_pi(:,:) + ssacu_pi(:,:) 
     284  mass_solu_aero(:,:)    = sulfacc(:,:)    + bcsol(:,:)    + pomsol(:,:)    + nitracc(:,:)    + ssacu(:,:)
     285  mass_solu_aero_pi(:,:) = sulfacc_pi(:,:) + bcsol_pi(:,:) + pomsol_pi(:,:) + nitracc_pi(:,:) + ssacu_pi(:,:)
    285286
    286287  !****************************************************************************************
     
    310311       pplay, t_seri,                &
    311312       tausum_aero, tau3d_aero )
     313
     314  !--call LW optical properties for tropospheric aerosols
     315  CALL aeropt_lw_rrtm(ok_alw, pdel, zrho, flag_aerosol, m_allaer, m_allaer_pi)
    312316
    313317  ! Diagnostics calculation for CMIP5 protocol
  • LMDZ5/branches/testing/libf/phylmd/rrtm/readaerosolstrato1_rrtm.F90

    r2720 r2787  
    3535    REAL, POINTER:: lev(:)
    3636    INTEGER k, band, wave, i
    37     INTEGER, SAVE :: mth_pre
     37    INTEGER, SAVE :: mth_pre=1
     38!$OMP THREADPRIVATE(mth_pre)
    3839
    3940    REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: tau_aer_strat
     
    4445    REAL, ALLOCATABLE:: tauaerstrat_mois(:, :, :)
    4546    REAL, ALLOCATABLE:: tauaerstrat_mois_glo(:, :)
    46 
    47     REAL, ALLOCATABLE:: sum_tau_aer_strat(:)
    4847
    4948! For NetCDF:
     
    7776
    7877    IF (.not.ALLOCATED(tau_aer_strat)) ALLOCATE(tau_aer_strat(klon,klev))
    79     IF (.not.ALLOCATED(sum_tau_aer_strat)) ALLOCATE(sum_tau_aer_strat(klon))
    8078
    8179!--we only read monthly strat aerosol data
  • LMDZ5/branches/testing/libf/phylmd/rrtm/readaerosolstrato2_rrtm.F90

    r2729 r2787  
    4141    REAL, POINTER:: wav(:)
    4242    INTEGER i,k,wave,band
    43     INTEGER, SAVE :: mth_pre
     43    INTEGER, SAVE :: mth_pre=1
     44!$OMP THREADPRIVATE(mth_pre)
    4445
    4546    REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: tau_aer_strat
  • LMDZ5/branches/testing/libf/phylmd/stratosphere_mask.F90

    • Property svn:keywords set to Id
    r2720 r2787  
     1!
     2! $Id$
     3!
    14SUBROUTINE stratosphere_mask(t_seri, pplay, xlat)
    25
     
    3134USE phys_local_var_mod, ONLY: p_tropopause
    3235#endif
     36USE print_control_mod, ONLY: lunout, prt_level
    3337
    3438IMPLICIT NONE
     
    98102#endif
    99103
    100 IF (ifil.gt.0) THEN
    101   print *,'Tropopause: number of undetermined values =', ifil
     104IF (ifil.gt.0 .and. prt_level >5) THEN
     105  write(lunout,*)'Tropopause: number of undetermined values =', ifil
    102106ENDIF
    103107
  • LMDZ5/branches/testing/libf/phylmd/surf_landice_mod.F90

    r2408 r2787  
    3030    USE calcul_fluxs_mod
    3131    USE phys_output_var_mod
     32!FC
     33    USE ioipsl_getin_p_mod, ONLY : getin_p
     34
    3235#ifdef CPP_SISVAT
    3336    USE surf_sisvat_mod,  ONLY : surf_sisvat
     
    121124    CHARACTER (len = 80)                      :: abort_message
    122125
     126
    123127!albedo SB >>>
    124128    real,dimension(klon) :: alb1,alb2
     
    127131! End definition
    128132!****************************************************************************************
     133!FC
     134!FC
     135   REAL,SAVE :: alb_vis_sno_lic
     136  !$OMP THREADPRIVATE(alb_vis_sno_lic)
     137   REAL,SAVE :: alb_nir_sno_lic
     138  !$OMP THREADPRIVATE(alb_nir_sno_lic)
     139  LOGICAL, SAVE :: firstcall = .TRUE.
     140  !$OMP THREADPRIVATE(firstcall)
     141!FC
     142
     143
     144  IF (firstcall) THEN
     145  alb_vis_sno_lic=0.77
     146  CALL getin_p('alb_vis_sno_lic',alb_vis_sno_lic)
     147           PRINT*, 'alb_vis_sno_lic',alb_vis_sno_lic
     148  alb_nir_sno_lic=0.77
     149  CALL getin_p('alb_nir_sno_lic',alb_nir_sno_lic)
     150           PRINT*, 'alb_nir_sno_lic',alb_nir_sno_lic
     151  firstcall=.false.
     152  ENDIF
    129153!
    130154! Initialize output variables
     
    280304
    281305! Attantion: alb1 and alb2 are the same!
    282     alb1(1:knon)  = 0.77
    283     alb2(1:knon)  = alb1(1:knon)
     306    alb1(1:knon)  = alb_vis_sno_lic
     307    alb2(1:knon)  = alb_nir_sno_lic
    284308
    285309
  • LMDZ5/branches/testing/libf/phylmd/tracinca_mod.F90

    r2641 r2787  
    3636       pdtphys,  t_seri,   paprs,          pplay,     &
    3737       pmfu,     upwd,     ftsol,  pctsrf, pphis,     &
    38        pphi,     albsol,   sh,             rh,        &
     38       pphi,     albsol,   sh,             ch, rh,    &
    3939       cldfra,   rneb,     diafra,         cldliq,    &
    4040       itop_con, ibas_con, pmflxr,         pmflxs,    &
     
    7676    REAL,DIMENSION(klon,klev),INTENT(IN)   :: t_seri  ! Temperature
    7777    REAL,DIMENSION(klon,klev),INTENT(IN)   :: sh      ! humidite specifique
     78    REAL,DIMENSION(klon,klev),INTENT(IN)   :: ch      ! eau liquide
    7879    REAL,DIMENSION(klon,klev),INTENT(IN)   :: rh      ! humidite relative
    7980    REAL,DIMENSION(klon,klev+1),INTENT(IN) :: paprs   ! pression pour chaque inter-couche (en Pa)
     
    185186         t_seri,     & !tfld
    186187         sh,         & !sh
     188         ch,         & !ql
    187189         rh,         & !rh
    188190         nbp_lon,    & !nx
  • LMDZ5/branches/testing/libf/phylmd/wake.F90

    r2720 r2787  
    22! $Id$
    33
    4 SUBROUTINE wake(p, ph, pi, dtime, &
     4SUBROUTINE wake(znatsurf, p, ph, pi, dtime, &
    55                te0, qe0, omgb, &
    66                dtdwn, dqdwn, amdwn, amup, dta, dqa, &
     
    124124  ! --------------------
    125125
     126  INTEGER, DIMENSION (klon),        INTENT(IN)          :: znatsurf
    126127  REAL, DIMENSION (klon, klev),     INTENT(IN)          :: p, pi
    127128  REAL, DIMENSION (klon, klev+1),   INTENT(IN)          :: ph
     
    167168  LOGICAL, SAVE                                         :: first = .TRUE.
    168169  !$OMP THREADPRIVATE(first)
    169   REAL, SAVE                                            :: stark, wdens_ref, coefgw, alpk
     170!jyg<
     171!!  REAL, SAVE                                            :: stark, wdens_ref, coefgw, alpk
     172  REAL, SAVE, DIMENSION(2)                              :: wdens_ref
     173  REAL, SAVE                                            :: stark, coefgw, alpk
     174!>jyg
    170175  REAL, SAVE                                            :: crep_upper, crep_sol 
    171176  !$OMP THREADPRIVATE(stark, wdens_ref, coefgw, alpk, crep_upper, crep_sol)
     177
     178  LOGICAL, SAVE                                         :: flag_wk_check_trgl
     179  !$OMP THREADPRIVATE(flag_wk_check_trgl)
    172180
    173181  REAL                                                  :: delta_t_min
     
    200208  REAL, DIMENSION (klon)                                :: z, dz, hw0
    201209  INTEGER, DIMENSION (klon)                             :: ktop, kupper
     210
     211  ! Variables liées au test de la forme triangulaire du profil de Delta_theta
     212  REAL, DIMENSION (klon)                                :: sum_half_dth
     213  REAL, DIMENSION (klon)                                :: dz_half
    202214
    203215  ! Sub-timestep tendencies and related variables
     
    312324  alpk=0.25
    313325  CALL getin_p('alpk',alpk)
    314   wdens_ref=8.E-12
    315   CALL getin_p('wdens_ref',wdens_ref)
     326!jyg<
     327!!  wdens_ref=8.E-12
     328!!  CALL getin_p('wdens_ref',wdens_ref)
     329  wdens_ref(1)=8.E-12
     330  wdens_ref(2)=8.E-12
     331  CALL getin_p('wdens_ref_o',wdens_ref(1))    !wake number per unit area ; ocean
     332  CALL getin_p('wdens_ref_l',wdens_ref(2))    !wake number per unit area ; land
     333!>jyg
    316334  coefgw=4.
    317335  CALL getin_p('coefgw',coefgw)
     
    319337  WRITE(*,*) 'stark=', stark
    320338  WRITE(*,*) 'alpk=', alpk
    321   WRITE(*,*) 'wdens_ref=', wdens_ref
     339!jyg<
     340!!  WRITE(*,*) 'wdens_ref=', wdens_ref
     341  WRITE(*,*) 'wdens_ref_o=', wdens_ref(1)
     342  WRITE(*,*) 'wdens_ref_l=', wdens_ref(2)
     343!>jyg
    322344  WRITE(*,*) 'coefgw=', coefgw
     345
     346  flag_wk_check_trgl=.false.
     347  CALL getin_p('flag_wk_check_trgl ', flag_wk_check_trgl)
     348  WRITE(*,*) 'flag_wk_check_trgl=', flag_wk_check_trgl
    323349
    324350  first=.false.
     
    328354  ! Les densites peuvent evoluer si les poches debordent
    329355  ! (voir au tout debut de la boucle sur les substeps)
    330   wdens(:) = wdens_ref
     356!jyg<
     357!!  wdens(:) = wdens_ref
     358  DO i = 1,klon
     359    wdens(i) = wdens_ref(znatsurf(i)+1)
     360  ENDDO
     361!>jyg
    331362
    332363  ! print*,'stark',stark
     
    824855
    825856  IF (prt_level>=10) THEN
    826     PRINT *, 'wake-4, sigmaw(igout), cstar(igout), wape(igout) ', &
    827                       sigmaw(igout), cstar(igout), wape(igout)
     857    PRINT *, 'wake-4, sigmaw(igout), cstar(igout), wape(igout), ktop(igout) ', &
     858                      sigmaw(igout), cstar(igout), wape(igout), ktop(igout)
    828859  ENDIF
    829860
     
    846877    END DO
    847878    IF (prt_level>=10) THEN
    848       PRINT *, 'wake-4.1, isubstep,wk_adv(igout),cstar(igout),wape(igout) ', &
    849                           isubstep,wk_adv(igout),cstar(igout),wape(igout)
     879      PRINT *, 'wake-4.1, isubstep,wk_adv(igout),cstar(igout),wape(igout), ptop(igout) ', &
     880                          isubstep,wk_adv(igout),cstar(igout),wape(igout), ptop(igout)
    850881    ENDIF
    851882
     
    962993    IF (prt_level>=10) THEN
    963994      PRINT *, 'wake-4.2, omg(igout,k) ', (k,omg(igout,k), k=1,klev)
    964       PRINT *, 'wake-4.2, omgtop(igout) ', omgtop(igout)
     995      PRINT *, 'wake-4.2, omgtop(igout), ptop(igout), ktop(igout) ', &
     996                          omgtop(igout), ptop(igout), ktop(igout)
    965997    ENDIF
    966998
     
    16091641
    16101642  IF (prt_level>=10) THEN
    1611     PRINT *, 'wake-5, sigmaw(igout), cstar(igout), wape(igout) ', &
    1612                       sigmaw(igout), cstar(igout), wape(igout)
     1643    PRINT *, 'wake-5, sigmaw(igout), cstar(igout), wape(igout), ptop(igout) ', &
     1644                      sigmaw(igout), cstar(igout), wape(igout), ptop(igout)
    16131645  ENDIF
    16141646
     
    16321664      sum_thvu(i) = 0.
    16331665      sum_dth(i) = 0.
     1666      sum_half_dth(i) = 0.
    16341667      sum_dq(i) = 0.
    16351668      sum_rho(i) = 0.
     
    16461679      av_dtdwn(i) = 0.
    16471680      av_dqdwn(i) = 0.
     1681
     1682      dthmin(i) = -delta_t_min
    16481683    END IF
    16491684  END DO
     
    16851720      z(i) = 1.
    16861721      dz(i) = 1.
     1722      dz_half(i) = 1.
    16871723      sum_thvu(i) = thu(i, 1)*(1.+epsim1*qu(i,1))*dz(i)
    16881724      sum_dth(i) = 0.
     
    16961732        ! cc
    16971733        dz(i) = -(amax1(ph(i,k+1),ptop(i))-ph(i,k))/(rho(i,k)*rg)
     1734        dz_half(i) = -(amax1(ph(i,k+1),0.5*(ptop(i)+ph(i,1)))-ph(i,k))/(rho(i,k)*rg)
    16981735        IF (dz(i)>0) THEN
    16991736          z(i) = z(i) + dz(i)
     
    17071744          sum_dtdwn(i) = sum_dtdwn(i) + dtdwn(i, k)*dz(i)
    17081745          sum_dqdwn(i) = sum_dqdwn(i) + dqdwn(i, k)*dz(i)
     1746!
     1747          dthmin(i) = min(dthmin(i), dth(i,k))
     1748        END IF
     1749        IF (dz_half(i)>0) THEN
     1750          sum_half_dth(i) = sum_half_dth(i) + dth(i, k)*dz_half(i)
    17091751        END IF
    17101752      END IF
     
    17501792
    17511793  ! Filter out bad wakes
     1794
     1795  IF (flag_wk_check_trgl) THEN
     1796    ! Check triangular shape of dth profile
     1797    DO i = 1, klon
     1798      IF (ok_qx_qw(i)) THEN
     1799        !! print *,'wake, hw0(i), dthmin(i) ', hw0(i), dthmin(i)
     1800        !! print *,'wake, 2.*sum_dth(i)/(hw0(i)*dthmin(i)) ', &
     1801        !!                2.*sum_dth(i)/(hw0(i)*dthmin(i))
     1802        !! print *,'wake, sum_half_dth(i), sum_dth(i) ', &
     1803        !!                sum_half_dth(i), sum_dth(i)
     1804        IF ((hw0(i) < 1.) .or. (dthmin(i) >= -delta_t_min) ) THEN
     1805          wape2(i) = -1.
     1806          !! print *,'wake, rej 1'
     1807        ELSE IF (abs(2.*sum_dth(i)/(hw0(i)*dthmin(i)) - 1.) > 0.5) THEN
     1808          wape2(i) = -1.
     1809          !! print *,'wake, rej 2'
     1810        ELSE IF (abs(sum_half_dth(i)) < 0.5*abs(sum_dth(i)) ) THEN
     1811          wape2(i) = -1.
     1812          !! print *,'wake, rej 3'
     1813        END IF
     1814      END IF
     1815    END DO
     1816  END IF
     1817
    17521818
    17531819  DO k = 1, klev
     
    18821948
    18831949      ! cc nrlmd        IF ( wk_adv(i) .AND. k .LE. kupper(i)) THEN
    1884       IF (ok_qx_qw(i) .AND. k<=kupper(i)) THEN
     1950!jyg<
     1951!!      IF (ok_qx_qw(i) .AND. k<=kupper(i)) THEN
     1952      IF (ok_qx_qw(i)) THEN
     1953!>jyg
    18851954        ! cc
    18861955        dtls(i, k) = dtls(i, k)/dtime
Note: See TracChangeset for help on using the changeset viewer.